Quickstart
Create an API key, check it works, and read the records in one of your Wapps.
This takes a few minutes and a terminal. You'll create a key, ask Cheqq who the key is, find a collection and read its records.
1. Create a key
The key starts with cqk_. Keep it in an environment variable rather than
in your code:
export CHEQQ_API_KEY="cqk_your_key_here"2. Check it works
curl https://cheqq.ai/api/platform/v1/me \
-H "Authorization: Bearer $CHEQQ_API_KEY"{
"credential": { "kind": "api_key", "id": "5f0c…", "name": "My laptop" },
"userId": "2b9e…",
"workspace": { "id": "8d41…", "name": "Acme Studio", "role": "owner" },
"scopes": [
"records:read",
"records:write",
"structure:read",
"workflows:read",
"workflows:run",
"documents:read",
"apps:read"
],
"rateLimit": { "requestsPerMinute": 1000 }
}scopes is what this key may do, and rateLimit is how many requests a
minute your plan gives it.
3. Find a collection
List your Wapps, then the collections in one of them by its slug:
curl https://cheqq.ai/api/platform/v1/wapps \
-H "Authorization: Bearer $CHEQQ_API_KEY"
curl "https://cheqq.ai/api/platform/v1/collections?wapp=content-studio" \
-H "Authorization: Bearer $CHEQQ_API_KEY"Each collection comes with its id and its fields. A field's slug is its
key: you use it to read, filter and write values, and it stays the same when
someone renames the field.
4. Read records
curl "https://cheqq.ai/api/platform/v1/collections/COLLECTION_ID/records?limit=20" \
-H "Authorization: Bearer $CHEQQ_API_KEY"{
"records": [
{
"id": "a3f1…",
"collectionId": "COLLECTION_ID",
"data": { "title": "Launch post", "publish_on": "2026-10-20" },
"createdAt": "2026-10-14T09:12:44.000Z",
"updatedAt": "2026-10-14T09:30:02.000Z"
}
],
"nextCursor": "a3f1…",
"hasMore": true
}data is keyed by field key, and a select value reads as
{ "id": "…", "label": "Draft" }. Pass nextCursor back as cursor for the
next page, and add filter.<field key>=value to keep only records whose field
equals a value (a select matches its label, and a multi-select any record
that has that option).
5. Add a record
curl -X POST https://cheqq.ai/api/platform/v1/collections/COLLECTION_ID/records \
-H "Authorization: Bearer $CHEQQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "data": { "title": "Behind the scenes", "status": "Draft" } }'Name fields by key or by the label people see. A select field takes the option's label. A name no field answers to is refused with a list of the fields it could have meant, so a typo never quietly drops a value.
The record appears in the Wapp straight away, and any automation that runs on new records runs for it.
Next
- Connect Claude Code to do the same by asking.
- Browse the REST reference for everything else you can reach.
- Read Scopes before giving a key more than it starts with.