https://api.agentcard.sh
There is no separate sandbox host: whether a call runs in sandbox or
production is decided by the credential you use, never by the URL.
Authentication
Every endpoint is called from your backend with a platform access token in theAuthorization header:
client_id + client_secret on
Create an access token. Get
your credentials in the dashboard under Organization → Developer →
Credentials — a sandbox client mints sandbox tokens; a production client
mints production tokens.
Two tokens, two jobs
The OAuth flow hands you two different tokens — don’t mix them up:
The connection token belongs to the user, not your platform — it never goes in
the
Authorization header of these endpoints (they name the user with
user_id instead), and it only sees what your app created for that
user. Keep it fresh with
Refresh the connection.
Test endpoints from this reference
1
Mint a token
Open Create an access token,
paste your
client_id and client_secret into the playground, and hit
Send. Use a sandbox client so nothing touches production.2
Authorize the playground
Copy the
access_token from the response and paste it into the
Authorization field on any endpoint page. It’s remembered as you move
between pages, and is only kept in your browser.3
Call the API
Fill in the parameters and hit Send — you’re hitting the live API.
Tokens expire after one hour; mint a new one when calls start returning
401.In sandbox, the connect code is always
111111, so you can run the whole
Connect flow — start → verify →
consent → refresh — end to end from these pages.Errors
Every v2 error uses the same envelope:code— a stable, machine-readable string (snake_case). Branch on this.message— a human-readable explanation, safe to log.docs— a link back to the reference.