List quizzes
const url = 'https://api.octaneai.com/v1/quizzes?limit=20';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.octaneai.com/v1/quizzes?limit=20' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”One page of quiz summaries. include=latest_version adds the latest saved version.
object
object
object
The version’s number as the editor shows it (v14)
How many pages the version has
Whether this is the version shoppers see now
How many pages the quiz’s draft has
Publish-lifecycle status for an app. DRAFT: editable; not served to the storefront embed. PUBLISHED: a version is live; the embed serves the published snapshot. DELETED: soft-deleted; hidden from the dashboard list and the embed, but the row (pages, versions) is retained for recoverability. The column is a plain VARCHAR (native_enum=False), so this value needs no migration.
Self: this quiz on the API | versions: its versions on the API | dashboard: the quiz in the editor
object
Example
{ "data": [ { "archived": false, "created_at": "2026-09-01T12:00:00Z", "id": "quiz_2ccb8aebb27c463fa783cafb3bf858e0", "latest_version": { "created_at": "2026-09-01T12:00:00Z", "id": "ver_15ce0be06b904d0180b1155da02a6c6f", "label": "Autumn launch", "number": 2, "page_count": 3, "published": true, "quiz_id": "quiz_2ccb8aebb27c463fa783cafb3bf858e0" }, "name": "Skin routine finder", "page_count": 3, "published_version": "ver_15ce0be06b904d0180b1155da02a6c6f", "status": "published", "updated_at": "2026-09-03T09:00:00Z", "urls": { "dashboard": "https://editor.octaneai.com/bot_123/editor/quiz_2ccb8aebb27c463fa783cafb3bf858e0", "self": "https://api.octaneai.com/v1/quizzes/quiz_2ccb8aebb27c463fa783cafb3bf858e0", "versions": "https://api.octaneai.com/v1/quizzes/quiz_2ccb8aebb27c463fa783cafb3bf858e0/versions" } }, { "archived": false, "created_at": "2026-09-01T12:00:00Z", "id": "quiz_7c9e6679742540de944be07fc1f90ae7", "name": "Find your routine", "page_count": 3, "status": "draft", "updated_at": "2026-09-01T12:00:00Z", "urls": { "dashboard": "https://editor.octaneai.com/bot_123/editor/quiz_7c9e6679742540de944be07fc1f90ae7", "self": "https://api.octaneai.com/v1/quizzes/quiz_7c9e6679742540de944be07fc1f90ae7", "versions": "https://api.octaneai.com/v1/quizzes/quiz_7c9e6679742540de944be07fc1f90ae7/versions" } } ], "has_more": true, "next_cursor": "eyJhdCI6IjIwMjYtMDktMDFUMTI6MDA6MDBaIiwiaWQiOiI3YzllNjY3OSJ9"}The key is missing, malformed, revoked or expired.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code; the Errors guide lists every one
A stable URI naming the error, on this API’s public host
Example
{ "detail": "The API key is missing, malformed, revoked or expired", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 401, "title": "invalid_api_key", "type": "https://api.octaneai.com/errors/invalid_api_key"}Headers
Section titled “Headers”Example
BearerThe store’s plan has no API access, or the key lacks the scope.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code; the Errors guide lists every one
A stable URI naming the error, on this API’s public host
Examples
{ "detail": "The API key does not carry the scope this route needs", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "required": [ "quizzes:read" ], "status": 403, "title": "insufficient_scope", "type": "https://api.octaneai.com/errors/insufficient_scope"}{ "detail": "The merchant API is available on the Plus and Enterprise plans", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 403, "title": "plan_required", "type": "https://api.octaneai.com/errors/plan_required"}A request parameter is invalid.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code; the Errors guide lists every one
A stable URI naming the error, on this API’s public host
Example
{ "detail": "A request parameter is invalid.", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 422, "title": "validation_error", "type": "https://api.octaneai.com/errors/validation_error"}The key’s or the store’s bucket is full; Retry-After says when to try again.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code; the Errors guide lists every one
A stable URI naming the error, on this API’s public host
Example
{ "detail": "Too many requests", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "retry_after": 1, "status": 429, "title": "rate_limited", "type": "https://api.octaneai.com/errors/rate_limited"}The request timed out.
The body of every non-2xx response.
object
What went wrong, for people
object
The input that failed, as a dotted path (body.label, query.from)
Why it failed
The same value as the Request-Id header; quote it to support
The HTTP status of the response
The machine-readable error code; the Errors guide lists every one
A stable URI naming the error, on this API’s public host
Example
{ "detail": "The request timed out.", "request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "status": 504, "title": "timeout", "type": "https://api.octaneai.com/errors/timeout"}