{
  "service": "Agent Outposts",
  "logging": "Intent registrations are logged in aggregate (brand, intent, result counts, hashed caller id) for demand statistics. No raw IP addresses are stored; free-text fields are stored only as provided.",
  "disclaimer": "Agent Outposts is not affiliated with Papa John's. This Outpost is a demand registry operated by Agent Outposts; door-state data is compiled from public sources (evidence linked per claim) and is not provided, reviewed, or endorsed by Papa John's.",
  "outpost": "papajohns",
  "brand": "Papa John's",
  "category": "Pizza",
  "status": "collecting_demand",
  "headline": "Partner-gated Commerce Platform API for integrators/aggregators exists, but no self-serve agent API; consumers are human web/app or DoorDash.",
  "wall_summary": "A partner-gated Commerce Platform API exists for integrators and aggregators, with OpenAPI specs available to integration partners through its developer portal, but there is no self-serve agent API. Consumers and unaffiliated agents are left to human web/app ordering, including PapaTrack, or to DoorDash.",
  "door_state_version": "census-2026-11-01",
  "door_state": {
    "inventory": {
      "state": "aggregator_only",
      "via": "DoorDash",
      "evidence_url": "https://www.doordash.com/store/papa-johns-pizza-us-553894/",
      "checked_at": "2026-11-01",
      "note": "No evidence Commerce Platform exposes consumer inventory to non-partners. Availability only via aggregator store status and human store selection on papajohns.com."
    },
    "menu_browse": {
      "state": "partner_gated",
      "via": "Papa John's Commerce Platform developer portal (Kong) for integration partners; otherwise DoorDash",
      "evidence_url": "https://www.papajohns.com/ordering/",
      "checked_at": "2026-11-01",
      "note": "Kong case study (partner, not brand-owned) says Commerce Platform developer portal makes OpenAPI specs available to integration partners and handles aggregator integrations - partner-gated, not self-serve. Official ordering page is human web/app. DoorDash also lists menu. Ambiguity: no public self-serve signup found."
    },
    "ordering": {
      "state": "partner_gated",
      "via": "Papa John's Commerce Platform for integration partners; otherwise DoorDash",
      "evidence_url": "https://www.papajohns.com/ordering/",
      "checked_at": "2026-11-01",
      "note": "Official ordering page describes human flow: papajohns.com/app, sign in/guest, address/carryout, pay, then PapaTrack. Partner API integrations to third-party delivery providers are documented by Kong; consumers/agents without partnership must use human site or DoorDash."
    },
    "prices": {
      "state": "partner_gated",
      "via": "Papa John's Commerce Platform for integration partners; otherwise DoorDash",
      "evidence_url": "https://www.papajohns.com/ordering/",
      "checked_at": "2026-11-01",
      "note": "Same partner-gated Commerce Platform as menu; no public price API. Human site and DoorDash (prices set by merchant, $11.99 examples in DoorDash search result) show prices."
    },
    "tracking": {
      "state": "aggregator_only",
      "via": "DoorDash",
      "evidence_url": "https://www.papajohns.com/ordering/",
      "checked_at": "2026-11-01",
      "note": "PapaTrack is human web/app tracking described on official ordering page, no API found. DoorDash orders trackable in DoorDash. robots.txt explicitly Allows /order/track for crawlers, but that is indexing, not an API."
    }
  },
  "official_channels": [
    {
      "name": "Papa John's Commerce Platform",
      "kind": "partner_program",
      "covers": [
        "menu_browse",
        "prices",
        "ordering"
      ],
      "gate": "Available only to integration partners; no public self-serve signup was found.",
      "evidence_url": "https://www.papajohns.com/ordering/"
    },
    {
      "name": "DoorDash marketplace",
      "kind": "aggregator",
      "covers": [
        "menu_browse",
        "prices",
        "inventory",
        "ordering",
        "tracking"
      ],
      "gate": "Ordering requires a DoorDash account; DoorDash orders are trackable in DoorDash.",
      "evidence_url": "https://www.doordash.com/store/papa-johns-pizza-us-553894/"
    },
    {
      "name": "Papa John's app / web ordering",
      "kind": "human_channel",
      "covers": [
        "menu_browse",
        "prices",
        "ordering",
        "tracking"
      ],
      "gate": "Human-operated web/app channels only; tracking is via PapaTrack in web/app, with no API.",
      "evidence_url": "https://www.papajohns.com/ordering/"
    }
  ],
  "agent_native": {
    "api_catalog": "unverified",
    "llms_txt": false,
    "mcp_server": false
  },
  "bot_posture": {
    "summary": "Terms prohibit automated systems sending more requests than a human; robots.txt Disallow /order/ with Allow exceptions for /order/menu, /order/track etc.",
    "evidence_url": "https://papajohns.com/robots.txt"
  },
  "alternatives": {
    "menu_browse": {
      "count": 0,
      "access": "register_intent"
    },
    "prices": {
      "count": 0,
      "access": "register_intent"
    },
    "inventory": {
      "count": 0,
      "access": "register_intent"
    },
    "ordering": {
      "count": 0,
      "access": "register_intent"
    },
    "tracking": {
      "count": 0,
      "access": "register_intent"
    }
  },
  "alternatives_policy": "Ranked by fit only. Placement is never sold.",
  "register_intent": {
    "method": "POST",
    "url": "https://api.agentoutposts.com/outposts/papajohns/intent",
    "body": {
      "intent": "one of: menu_browse | prices | inventory | ordering | tracking",
      "detail": "optional context for the brand (max 500 chars), e.g. the task you were trying to complete. Never include personal data — no names, addresses, or order details.",
      "agent_label": "optional self-declared agent name (max 80 chars). Never put personal data in this field.",
      "est_frequency": "optional, e.g. '40/day'",
      "notify": "'poll' (default) or 'webhook'",
      "notify_url": "required when notify = 'webhook'"
    },
    "returns": "A receipt: ticket, queue position, live demand snapshot, alternatives for your intent, and (poll mode) a notify URL that reports door-state changes.",
    "limits": "100 intent registrations per caller per day"
  }
}