This walks you from zero to a workingDocumentation Index
Fetch the complete documentation index at: https://docs.clarky.ai/llms.txt
Use this file to discover all available pages before exploring further.
curl call against your live workspace data. By the end you’ll have listed contacts, fetched a single contact, and created one — using nothing but the terminal.
Plan availability: Standard, Pro, or Enterprise. See Plans & Billing.
1. Create an API key
Open Settings → API Keys
From the admin dashboard, click Settings, then choose API Keys under the Workspace section.
Click 'New API Key'
Give it a memorable name (e.g. “Local testing”). The full key is shown only once — copy it immediately.
2. Set the key as a shell variable
This keeps the key out of your shell history and makes the examples below copy-pasteable.3. List your contacts
Your first read. The list is automatically scoped to the workspace the key belongs to.4. Get a single contact
Grab anyid from the previous response and use it in the path:
5. Search by email
Useful for “do I already have this contact?” lookups. Returns404 if no match.
6. Create a contact (your first write)
You’ll need abot_id — find it in the URL when you’re inside an agent’s admin pages (/admin/<workspace>/<bot>/...), or call GET /api/v1/pipelines and use the bot_id from any returned pipeline.
201 Created response means it worked. Open the CRM → People tab in your dashboard and you’ll see the new contact.
7. Verify auth is enforced
Sanity-check that the API rejects requests without a valid key:HTTP/1.1 401 Unauthorized with:
Common pitfalls
401 Unauthorized
401 Unauthorized
403 Forbidden on a POST/PATCH/DELETE
403 Forbidden on a POST/PATCH/DELETE
Your key was created without the
write scope. Revoke it and create a new one with both read and write (the default).422 Validation error referencing bot_id
422 Validation error referencing bot_id
The
bot_id you sent doesn’t belong to your workspace. Use a bot ID from your own workspace — pulling one from GET /api/v1/pipelines is the easiest check.429 Too Many Requests
429 Too Many Requests
You’ve exceeded the per-key rate limit (120 reads/min, 60 writes/min). Look at the
Retry-After header and back off. See Rate Limits for details.Curl seems to hang
Curl seems to hang
On Windows or older curl versions the JSON body may need different quoting. Use single quotes around the
-d payload on macOS/Linux and escape inner double quotes on Windows, or use a --data @body.json file instead.Next steps
Authentication
Scopes, key rotation, security best practices
Pagination
Walking large result sets
Rate Limits
Per-key limits and retry behavior
Contacts
Full Contacts endpoint reference

