# ACP Overview Introduction to the Agentic Commerce Protocol for selling AI agent services --- The Agentic Commerce Protocol (ACP) lets AI agents discover and purchase products and services from your Chipp app. Instead of requiring a human to browse a website, an external agent can programmatically find what you offer, create a checkout session, and complete a purchase -- all through a REST API. ## How It Works ACP follows a four-step flow: ``` 1. Discovery Agent fetches your product catalog GET /acp/{appId}/products 2. Checkout Agent creates a checkout session with selected items POST /acp/{appId}/checkout_sessions 3. Payment Agent completes the checkout, triggering payment POST /acp/{appId}/checkout_sessions/{id}/complete 4. Fulfillment Order is created, fulfilled, and webhook fires Your webhook endpoint receives order details ``` ## Two Access Modes ACP supports two ways for purchases to happen: **External API (agent-to-agent)** -- An external AI agent (ChatGPT, Perplexity, a custom agent) discovers your product catalog via the REST API, creates a checkout session, completes it, and receives the result via webhook. **In-chat checkout** -- A consumer chats with your agent. When the agent invokes a priced tool, the system shows an inline Stripe checkout card. The consumer pays, the tool executes, and the result is delivered in the conversation. Both modes use the same underlying infrastructure. This documentation covers the external API mode. ## Getting Started ### 1. Publish Products In your app's builder, go to **Publish > Catalog** and create products. Each product has a name, description, price, and fulfillment type (automatic or manual). ### 2. Create an ACP API Key In the same Catalog section, create an API key. You'll see the raw key once -- copy it and store it securely. The key has the prefix `acp_`. ### 3. Discover and Purchase Use the key to authenticate checkout operations. Product discovery endpoints are public and require no authentication. ## Base URL All ACP endpoints are scoped to a specific application: ``` https://build.chipp.ai/acp/{appId} ``` Replace `{appId}` with your application's UUID. ## Endpoint Summary ### Public (no authentication) | Method | Path | Description | |--------|------|-------------| | `GET` | `/acp/{appId}/.well-known/agent.json` | Agent discovery card | | `GET` | `/acp/{appId}/products` | List active products | ### Authenticated (Bearer token) | Method | Path | Description | |--------|------|-------------| | `POST` | `/acp/{appId}/checkout_sessions` | Create checkout session | | `GET` | `/acp/{appId}/checkout_sessions/{id}` | Get checkout session status | | `POST` | `/acp/{appId}/checkout_sessions/{id}` | Update checkout session | | `POST` | `/acp/{appId}/checkout_sessions/{id}/complete` | Complete checkout | | `POST` | `/acp/{appId}/checkout_sessions/{id}/cancel` | Cancel checkout | ## What's Next - [Authentication](/docs/acp/authentication) -- How to authenticate API requests - [Agent Discovery](/docs/acp/agent-discovery) -- Product discovery endpoints - [Checkout](/docs/acp/checkout) -- Creating and completing purchases - [Webhooks](/docs/acp/webhooks) -- Receiving order notifications