# authorizedretailers.ai > A registry where brands confirm their authorized retailers, so AI shopping agents can verify a seller before they buy. Two JSON endpoints and an MCP server, used with an API key (agent developers get one at https://authorizedretailers.ai/#api-key). ## Start here - [Agent guide](https://authorizedretailers.ai/agents): what the registry answers and how to try it on the demo brand. - [API reference](https://authorizedretailers.ai/docs): parameters, every answer and what to do with it, signatures, errors and limits. - [The specification](https://authorizedretailers.ai/spec): the rules behind the answers, also on npm as @authorizedretailers/spec. ## Endpoints Send your key as `Authorization: Bearer ` on the verify and resolve endpoints and the MCP server. A missing or invalid key is HTTP 401: treat the seller as unconfirmed. - POST https://authorizedretailers.ai/verify — is this seller authorized for this product? Body: { "channel": { "domain", "seller_id" }, "product": { "gtin" | "asin" | "walmart_item_id" | "wpid" }, "brand_domain"?, "territory"?, "as_of"? }. - POST https://authorizedretailers.ai/resolve — which brand is this product? - https://authorizedretailers.ai/mcp — remote MCP server (Streamable HTTP) with verify_seller, resolve_brand, get_brand and list_authorized_retailers. - https://authorizedretailers.ai/.well-known/jwks.json — the keys every answer is signed with (Ed25519). - https://authorizedretailers.ai/revocations — the revocation feed. ## Try it The demo brand test.authorizedretailers.ai answers every case in the guide, for example an authorized Amazon seller: {"channel":{"domain":"amazon.com","seller_id":"ADEMOSELLER001"},"product":{"asin":"B0DEMO0001"}}.