Sandbox environment: prices, stock and coupons are synthetic test data. What this means

Create an account: POST /api/v1/accounts

POST /api/v1/accounts lets an agent create a Cartroute account for the person it works for and receive a working API key with 100 credits in the response. A confirmation email goes to the address; when the person clicks it, the account gets 100 more. No key is needed to call it.

POST https://cart-route.com/api/v1/accounts

What must the agent do before calling it?

Ask the person. The request must set accept_terms: true, which states that the account holder has agreed to the Terms of Service. Use the person's own email address; the confirmation link goes there and the bonus credits depend on it.

Which fields does it take?

FieldRequiredRules
emailyesValid address, not already registered.
full_nameyes2–80 characters.
passwordyesAt least 10 characters, with a letter and a number. Used for dashboard login.
accept_termsyesMust be true.
companynoUp to 80 characters.
use_casenoUp to 300 characters.
agent_frameworknomcp, openai-agents, langchain, llamaindex, crewai, n8n, custom or none.
key_namenoLabel for the key created with the account.

What does a request look like?

curl -X POST "https://cart-route.com/api/v1/accounts" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "full_name": "Sam Rivera",
    "password": "a-long-passphrase-42",
    "accept_terms": true,
    "agent_framework": "mcp",
    "key_name": "shopping assistant"
  }'

What does it return?

{
  "object": "account_created",
  "request_id": "req_0a4b8c7f3k2m9x1q",
  "account": {
    "id": "usr_4k2m9x1q0a4b8c7f3k",
    "email": "[email protected]",
    "name": "Sam Rivera",
    "email_verified": false
  },
  "api_key": "cr_live_…",
  "api_key_notice": "Store this key now. It is shown once and only its hash is kept.",
  "credits_remaining": 100,
  "next_step": "A verification link was emailed to [email protected]. The account holder must click it to unlock 100 more credits."
}

Status 201. Store api_key immediately; it cannot be retrieved later.

What are the limits?

Five accounts per IP address per hour; the sixth returns 429 rate_limited. A validation failure returns 422 with the first problem in detail and every problem in errors, keyed by field.