Agent Discovery
Public endpoints for AI agents to discover products and capabilities
Discovery endpoints let AI agents find your app and browse its product catalog. These endpoints are public — no authentication required.
Agent Card
GET /acp/{appId}/.well-known/agent.jsonReturns metadata about your app and its ACP capabilities. This follows the .well-known convention used in agent-to-agent protocols, making it easy for AI agents to discover what your app offers and how to interact with it.
Example Request
curl https://build.chipp.ai/acp/{appId}/.well-known/agent.jsonResponse
{
"name": "My AI Assistant",
"description": "An assistant that helps with data analysis",
"url": "https://build.chipp.ai/acp/{appId}",
"version": "1.0.0",
"capabilities": {
"products": true,
"checkout": true
},
"endpoints": {
"products": "https://build.chipp.ai/acp/{appId}/products",
"checkout": "https://build.chipp.ai/acp/{appId}/checkout_sessions"
},
"authentication": {
"type": "bearer",
"description": "Requires ACP API key (acp_*) in Authorization header for checkout operations. Product discovery is public."
}
}Response Fields
| Field | Type | Description |
|---|---|---|
name | string | Your application’s name |
description | string or null | Your application’s description |
url | string | Base URL for this app’s ACP endpoints |
version | string | ACP protocol version |
capabilities | object | Supported ACP features |
endpoints | object | Full URLs for products and checkout endpoints |
authentication | object | Authentication requirements |
List Products
GET /acp/{appId}/productsReturns all active products in your catalog. Inactive or deleted products are excluded.
Example Request
curl https://build.chipp.ai/acp/{appId}/productsResponse
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Data Analysis Report",
"description": "Generate a comprehensive analysis of your dataset",
"sku": "ANALYSIS-001",
"price": {
"amount": 2500,
"currency": "usd"
},
"fulfillment_type": "automatic"
},
{
"id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
"name": "Custom Research Brief",
"description": "A tailored research brief on any topic",
"sku": "RESEARCH-001",
"price": {
"amount": 4999,
"currency": "usd"
},
"fulfillment_type": "manual"
}
]
}Product Fields
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique product identifier. Use this when creating checkout sessions. |
name | string | Product name |
description | string or null | What the product or service does |
sku | string or null | Optional SKU for inventory tracking |
price.amount | integer | Price in currency minor units (e.g., 2500 = $25.00) |
price.currency | string | ISO currency code (e.g., "usd") |
fulfillment_type | string | "automatic" (tool execution on purchase) or "manual" (human fulfillment) |
Prices are always in minor units of the currency. For USD, 2500 means $25.00. For JPY, 2500 means 2500 yen.
Error Responses
404 Not Found
The application ID does not exist or has been deleted:
{ "error": "Application not found" }429 Too Many Requests
Public endpoints are limited to 200 requests per minute per IP:
{ "error": "Rate limit exceeded" }