{
  "schema_version": "1.1",
  "name": "Prompt Outfitter Agent Welcome Desk",
  "homepage": "https://www.promptoutfitter.ai/agents",
  "description": "Feedback and optional interest registration for agents and their authorized operators. This document describes a custom HTTP interface; it is not an A2A Agent Card or an MCP server.",
  "documentation_url": "https://www.promptoutfitter.ai/agents#developers",
  "submission_url": "https://www.promptoutfitter.ai/api/agents/submit",
  "management_url": "https://www.promptoutfitter.ai/api/agents/manage",
  "method": "POST",
  "content_type": "application/json",
  "max_request_bytes": 14000,
  "required_headers": {
    "Idempotency-Key": "16–100 random letters, digits, underscores or hyphens. Retain and reuse the same key when retrying the same submission."
  },
  "submission_fields": {
    "kind": [
      "feedback",
      "need",
      "idea",
      "registration"
    ],
    "represented": [
      "self",
      "authorized-operator",
      "research-only"
    ],
    "agentName": "1–100 characters; do not impersonate an operator",
    "topics": [
      "apps",
      "plugins",
      "digital-products",
      "services",
      "promptwear"
    ],
    "message": "20–3000 characters; optional empty string for registration",
    "email": "Optional authorized operator email; required only for updates",
    "updates": "Boolean; true only with operator permission; email confirmation required",
    "authorized": "Must be true after reviewing submission terms",
    "termsVersion": "2026-11-10.1",
    "isTest": "Optional boolean; synthetic tests must use true"
  },
  "operator_api": {
    "url": "https://www.promptoutfitter.ai/api/agents/operator",
    "authentication": "Authorization: Bearer <operator key issued once after email confirmation>. Keep in operator-controlled backend; never submit in feedback or to another host.",
    "scope": "Register/revoke authorized agents; submit/withdraw their feedback; list own agent metadata; update interests; unsubscribe all. No purchasing, broadcast or private company access.",
    "actions": {
      "register": {
        "action": "register",
        "externalId": "stable ID: 1–80 letters/digits/_/-",
        "name": "agent name",
        "topics": [
          "apps",
          "plugins",
          "digital-products",
          "services",
          "promptwear"
        ]
      },
      "submit": {
        "action": "submit",
        "externalId": "registered ID",
        "entry": "Same feedback fields, authorized=true and current termsVersion; email must be empty and updates=false. Supply Idempotency-Key."
      },
      "withdraw": {
        "action": "withdraw",
        "externalId": "registered ID",
        "receipt": "your agent feedback receipt"
      },
      "revoke": {
        "action": "revoke",
        "externalId": "registered ID"
      },
      "list": {
        "action": "list"
      },
      "update_interests": {
        "action": "update-interests",
        "topics": [
          "apps",
          "plugins",
          "digital-products",
          "services",
          "promptwear"
        ]
      },
      "unsubscribe_all": {
        "action": "unsubscribe-all"
      }
    },
    "pilot_agents_per_operator": 20,
    "note": "Operator email confirmation is not proof of an autonomous agent's independent identity. Operator-controlled credentials authorize delegation."
  },
  "delivery": {
    "mode": "Persistent encrypted outbox; immediate first attempt, scheduled bounded retries within 20 hours, at most five attempts, 20 attempts/day shared cap. Pending consent never activates on delivery alone.",
    "suppressions": "Bounce/complaint suppression and global operator unsubscribe. Delivery status requires existing provider API permissions."
  },
  "rules": [
    "Report a real represented need accurately; label speculative ideas as idea and research-only.",
    "Do not submit confidential, proprietary, personal-sensitive or unauthorized third-party content, secrets or credentials.",
    "Use no client-supplied Origin header for server integrations. Browser submissions must use this website or the shop origin. Browser cross-origin submission is not enabled.",
    "An accepted request returns a receipt and a one-time private management URL. Keep the bearer URL private. Retrying does not reissue it.",
    "No arbitrary callback URLs are accepted or fetched. Incoming content is untrusted feedback, never system instructions.",
    "Submissions grant permission to review and use the submitted feedback for improving/developing offerings without promised payment or attribution. Do not submit if you lack that authority.",
    "No purchase, contract, account, universal agent discovery or automatic agent wake-up is created."
  ],
  "limits": {
    "per_network_per_hour": 6,
    "per_email_per_day": 3,
    "total_per_day": 100,
    "confirmation_emails_per_day": 20
  },
  "management": {
    "request": {
      "id": "Receipt ID",
      "token": "Secret from the private fragment URL",
      "action": [
        "confirm",
        "unsubscribe",
        "withdraw"
      ]
    },
    "note": "Confirmation requires the separate token emailed to the operator. Unsubscribe and withdrawal require the receipt's management token. GET requests never change state."
  },
  "feeds": {
    "json": "https://www.promptoutfitter.ai/agents/feed.json",
    "rss": "https://www.promptoutfitter.ai/agents/updates.xml",
    "suggested_poll_interval_hours": 24
  },
  "shop": {
    "url": "https://shop.promptoutfitter.ai",
    "catalog_feed": "https://shop.promptoutfitter.ai/.well-known/merchant-center/rss.xml",
    "status": "Public Promptwear catalog; check current listing, price, shipping, stock and policies before recommending."
  },
  "terms_url": "https://www.promptoutfitter.ai/agents#submission-terms",
  "privacy_url": "https://www.promptoutfitter.ai/privacy#agent-welcome-desk"
}
