Pagination
The Jomioz API uses cursor-based pagination for all list endpoints. Unlike offset-based pagination, cursor-based pagination stays consistent even when new records are inserted between pages — making it the right choice for real-time or frequently updated datasets.Query Parameters
Example
pagination object. When next_cursor is null, you have reached the last page.
next_cursor as the cursor parameter in your next request to retrieve the following page. Continue until next_cursor is null.
Filtering Resources
Narrow list results by appending filter parameters to the query string. Filters are additive — all supplied conditions must match (logical AND).Common Filter Parameters
Example
Sorting
Control the order of list results with thesort and order parameters.
Example
Bulk Operations
Use the bulk endpoint to create, update, or delete multiple resources in a single HTTP request. This reduces latency and helps you stay within rate limits (1,000 req/min on Standard; 5,000 req/min on Enterprise) when processing large datasets. Send aPOST request to /api/resources/bulk with a JSON array in the body. Each element follows the same schema as the single-resource POST /api/resources endpoint.
Example — Bulk Create
results array where each element corresponds to the input item at the same index. Individual items that fail validation return an error object rather than a resource object — the rest of the batch still succeeds.
Metadata Filtering
Every resource supports a free-formmetadata object that you can use to store arbitrary key-value pairs. Filter resources by metadata values using bracket notation in query parameters.
Example
Metadata values are indexed as strings. Numeric comparisons (greater than, less than) are not supported through the metadata filter interface. If you need range queries, store those values as top-level resource fields instead.
Performance Tips
- Maximise page size. Set
limit=200when you need to fetch a full dataset — fewer HTTP round-trips means faster total execution time. - Cache stable data. Resource objects that do not change frequently (for example,
typeandmetadata) can be cached locally and refreshed periodically rather than fetched on every request. - Use webhooks instead of polling. Subscribe to relevant event types via webhook to receive instant notifications instead of repeatedly calling list endpoints.
- Parallelise independent requests. If your workflow requires data from multiple unrelated endpoints, issue the requests concurrently rather than sequentially.
- Upgrade to Enterprise for higher rate limits. Standard accounts are capped at 1,000 req/min; Enterprise accounts have a 5,000 req/min limit, which is essential for high-volume ingestion pipelines.