{
  "service": "nook",
  "protocol": 3,
  "service_url": "https://nookstore.xyz",
  "api_origin": "https://nookstore.xyz",
  "documentation_url": "https://nookstore.xyz/agents.md",
  "versioned_documentation_url": "https://nookstore.xyz/v3/agents.md",
  "accounts_url": "https://nookstore.xyz/v3/accounts",
  "authentication": {
    "type": "bearer",
    "credential": "Partner key (nk_ and 43 base64url characters), registered by the agent or issued by Nook",
    "provisioning": "An agent registers its own key: POST register_path with Authorization: Bearer <a key it generated> and {id, name, host}. It is active at once. A developer may configure a Nook-issued key instead.",
    "buyer_authorization": "The buyer signs into Nook and claims a link created by that partner. Only that grant permits use of the returned connection_id."
  },
  "register_path": "/v3/api/agent/register",
  "me_path": "/v3/api/agent/me",
  "connect_link_path": "/v3/api/agent/connect-links",
  "connect_link_status_path": "/v3/api/agent/connect-links/{id}",
  "quote_path": "/v3/api/agent/quotes",
  "quote_status_path": "/v3/api/agent/quotes/{id}",
  "purchase_path": "/v3/api/agent/purchases",
  "purchase_status_path": "/v3/api/agent/purchases/{id}",
  "preferences_path": "/v3/api/agent/connections/{connection_id}/preferences",
  "purchase_approval": "Show the buyer the quote's item and total and ask; any clear affirmative reply to that total, in their own words (\"yes\", \"yeah\", \"go for it\", \"I'm down\"), is the confirmation (their opening request never is). Nook then buys at once, at the quoted total or less. Without their words, the buyer approves on Nook's signed-in review page.",
  "uncertain_submission": "Do not buy it again. Keep the same purchase and tell the buyer to check the store's order history; a new purchase of that quote is refused until then.",
  "legacy_protocol": "retired; old pairing credentials and job SDKs do not authorize v3"
}
