---
title: "Register a self-hosted A2A agent card for RFQ automation"
method: POST
path: "/api/org/register-agent-card/"
---

# Register a self-hosted A2A agent card for RFQ automation

`POST /api/org/register-agent-card/`

## Request

- Base URL: `https://productindex.ai`
- URL: `https://productindex.ai/api/org/register-agent-card/`
- Auth: one of:
  - API key in cookie `authjs.session-token`
  - HTTP bearer

Registers (or replaces) the org's self-hosted agent card URL for receiving RFQ/pricing requests. Requires the org to already be domain-verified, the card URL's hostname to match (or be a subdomain of) that verified domain, and the fetched card to declare a `respond-to-rfq` skill. Includes an SSRF guard (`resolvesToPrivateIp`) before ever fetching the card URL. Session callers must be an org `owner` or `admin`; bearer-token (Shopify plugin) callers are exempt from that role gate.

## Request body

- object
  - `agent_card_url` string, uri, required: Must be https and on (or a subdomain of) the org's verified domain.
  - `auth_type` 'none' | 'bearer' | 'hmac'
  - `bearer_token` string: Required when auth_type is "bearer". Stored encrypted.
  - `hmac_secret` string: Required when auth_type is "hmac". Stored encrypted.

## Response `200`

Agent card registered.

- object
  - `ok` boolean
  - `validated` boolean

## Other responses

- `400`: Missing `agent_card_url`, invalid URL, invalid `auth_type`, or `bearer_token`/`hmac_secret` shorter than 16 characters.
- `401`: No valid session or bearer token.
- `403`: Session caller isn't an org owner/admin, the org's verification_status isn't `verified`, or the card URL's hostname doesn't match the org's verified domain (`domain_mismatch`).
- `404`: Organization not found.
- `422`: Agent card URL resolves to a private IP (SSRF guard), the fetch failed or returned a non-2xx status, or the fetched card doesn't declare a `respond-to-rfq` skill.

---

[API](https://skmtc.dev/productindex/apis/productindex-api.md) · [All operations](https://skmtc.dev/productindex/apis/productindex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/productindex/apis/productindex-api/revisions/73078f4d5aeb?raw)
