Docs/Agentic Commerce (ACP)/Agentic Commerce (ACP)

    Agent Discovery

    Last updated · MAR 2026·Read as Markdown

    Discovery endpoints let AI agents find your AVCodex agent and browse its product catalog. These endpoints are public. No authentication required.

    code
    GET /acp/{appId}/.well-known/agent.json

    Returns metadata about your AVCodex agent and its ACP capabilities. This follows the .well-known convention used in agent-to-agent protocols, making it easy for external AI agents to discover what your agent offers and how to interact with it.

    Example request#

    bash
    curl https://app.avcodex.com/acp/{appId}/.well-known/agent.json

    Response#

    json
    {
      "name": "AVCodex Pro Services",
      "description": "An AVCodex agent that handles room audits, programming hours, and remote commissioning",
      "url": "https://app.avcodex.com/acp/{appId}",
      "version": "1.0.0",
      "capabilities": {
        "products": true,
        "checkout": true
      },
      "endpoints": {
        "products": "https://app.avcodex.com/acp/{appId}/products",
        "checkout": "https://app.avcodex.com/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 AVCodex agent's name.
    description string or null Your AVCodex agent's description.
    url string Base URL for this agent'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.
    code
    GET /acp/{appId}/products

    Returns all active products in your catalog. Inactive or deleted products are excluded.

    Example request#

    bash
    curl https://app.avcodex.com/acp/{appId}/products

    Response#

    json
    {
      "data": [
        {
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "name": "Room Audit Report",
          "description": "Generate a detailed audit of an existing AV room (DSP, codec, control system, signal flow)",
          "sku": "AUDIT-001",
          "price": {
            "amount": 25000,
            "currency": "usd"
          },
          "fulfillment_type": "automatic"
        },
        {
          "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
          "name": "Remote Commissioning, single room",
          "description": "Live remote commissioning session with a senior programmer",
          "sku": "COMMISSION-001",
          "price": {
            "amount": 49900,
            "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 (for example, 2500 = $25.00).
    price.currency string ISO currency code (e.g., "usd").
    fulfillment_type string "automatic" (tool execution on purchase) or "manual" (human fulfillment).
    Note: Prices are always in minor units of the currency. For USD, 2500 means $25.00. For JPY, 2500 means 2500 yen.

    404 Not Found#

    The agent ID does not exist or has been deleted:

    json
    { "error": "Application not found" }

    429 Too Many Requests#

    Public endpoints are limited to 200 requests per minute per IP:

    json
    { "error": "Rate limit exceeded" }

    *AVCodex · Your AV expertise. Amplified by AI.*

    Was this helpful?
    Edit this page →