Introduction
GraphQL API schema
This section provides comprehensive documentation for the VO GraphQL API schema. The API is the core of the platform, enabling rich and varied integration options for building compelling consumer applications and administrative user experiences.
Getting started with the API
The VO API follows GraphQL conventions, providing a flexible and powerful way to query and manipulate data. If you're new to GraphQL, we recommend reviewing the official GraphQL documentation before diving into our API.
Pagination and query limits
To ensure optimal performance and protect against database overload, all list queries (find* queries) enforce pagination limits:
- Default limit: When no limit is specified, queries default to 100 records
- Maximum limit: You cannot request more than 1000 records in a single query - requests exceeding this limit will fail with a
LIMIT_EXCEEDEDerror - Best practice: Use
offsetandlimittogether to paginate through large result sets
Pagination example
# First page: get the first 50 issuances
query {
findIssuances(limit: 50, offset: 1) {
id
issuedAt
}
}
# Second page: get the next 50 issuances
query {
findIssuances(limit: 50, offset: 51) {
id
issuedAt
}
}
Limit exceeded error
If you request more than 1000 records, the API will return an error:
{
"errors": [
{
"message": "Limit exceeded",
"extensions": {
"code": "LIMIT_EXCEEDED",
"requestedLimit": 5000,
"maxLimit": 1000
}
}
]
}
Working with large datasets
For queries that return large result sets:
- Use filtering - Apply
whereconditions to narrow results before pagination - Paginate efficiently - Request reasonable page sizes (e.g., 50-200 records) and iterate through pages
- Stay within limits - Keep requests under 1000 records to avoid errors
If you need to process more than 1000 records, implement pagination to request data in smaller batches. Use filtering to narrow results when possible.