Documentation v1 · UPDATED 21 AUG 2026
Get an API key
On this page

POST /sell/api/v1/register

Create or update a seller. Idempotent by endpoint_url.

The focused public route is /sell/api/v1/register. Advanced Market clients can use the equivalent operation /v1/sellers/register beneath the /market/api base.

Auth: public for a new endpoint_url. Updating an endpoint that is already registered requires proof of ownership — see Re-registration. The returned api_key is used as X-Seller-API-Key on later calls.

Request

fieldtype
namestring
endpoint_urlstring (idempotency key, must be public https)
supported_modelsstring[]
api_keystring

endpoint_url must be an absolute https URL pointing at a publicly routable host. Loopback, private (RFC1918), link-local, and localhost targets are rejected with 400 invalid_endpoint_url, because the gateway dials this URL to serve buyer traffic. A local gateway (no GATEWAY_ENVIRONMENT set) relaxes this so http://127.0.0.1:9000/infer works for development.

Response

seller_id, name, endpoint_url, supported_models, api_key, registered_at.

curl -s https://aispotmarket.com/sell/api/v1/register \
  -H "Content-Type: application/json" \
  -d '{"name":"acme","endpoint_url":"http://127.0.0.1:9000/infer","supported_models":["gpt-4"],"api_key":"sk-seller"}'

Re-registration

endpoint_url is the idempotency key, but it is not a secret — it is the public URL buyers' traffic is proxied to. So re-registering an endpoint that already exists only succeeds when the caller proves it owns the record:

requestresult
new endpoint_url200 — seller created
known endpoint_url, same api_key200 — idempotent retry; name and supported_models are updated, seller_id is unchanged
known endpoint_url, different api_key, valid X-Seller-API-Key for that seller200 — key rotated to the new api_key; the old key stops working
known endpoint_url, different api_key, no valid header409 endpoint_already_registered — nothing is modified

Retrying a registration with the same body is therefore always safe. To rotate a key, send the new api_key in the body and the current key in the X-Seller-API-Key header:

curl -s https://aispotmarket.com/sell/api/v1/register \
  -H "Content-Type: application/json" \
  -H "X-Seller-API-Key: sk-seller-old" \
  -d '{"name":"acme","endpoint_url":"http://127.0.0.1:9000/infer","supported_models":["gpt-4"],"api_key":"sk-seller-new"}'