Usage and Limits
Requests
Send a JSON body containing query, optional variables, and optional operationName
to https://api.verse.works/query. Only queries are supported.
The API accepts up to 5 requests per second per IP. On HTTP 429, respect
Retry-After before retrying. Avoid bursts, reuse fetched data, and reduce polling
when no updates are needed. Results may be up to 15 seconds old.
Pagination
Request between 1 and 100 items per page. Read pageInfo.endCursor and pass it as
after on the next request while pageInfo.hasNextPage is true.
query Collections($after: Cursor) {
collectionsPage(request: { first: 20, after: $after }) {
nodes { id name slug }
pageInfo { endCursor hasNextPage }
}
}
Input arrays accept up to 50 entries; strings accept up to 2,048 UTF-8 bytes.
Omit optional filters you do not need rather than passing null.
Keep nested selections small; split requests if a query exceeds execution limits.
Search returns at most 100 matches; use collectionsPage to continue browsing collections.
Errors
Check the HTTP status and the GraphQL errors array. A response can contain
GraphQL errors even with HTTP 200.
| Response | What to do |
|---|---|
400 or GraphQL validation error | Check your query and variables against the schema. |
403 | Access is blocked; contact Verse support if unexpected. |
429 | Wait for Retry-After, then retry at a lower rate. |
5xx | Retry with a delay and backoff. |
For account-specific actions, use Verse Elements.