Pagination, errors, and reliable syncs
Retrieve complete result sets and handle API failures without losing or duplicating data.
Use cursor pagination for event and registration lists. Cursors are opaque continuation values returned by MeraEvents.
Cursor pagination
Paginated responses use this shape:
{
"data": [],
"nextCursor": "8990",
"hasMore": true
}When hasMore is true, pass nextCursor unchanged:
GET /v1/events/501/registrations?limit=50&cursor=8990When hasMore is false, the current pass is complete. nextCursor will be null.
Avoid common pagination mistakes
- Do not treat a cursor as a page number or offset.
- Do not reuse a cursor from one event or endpoint with another.
- Process all attendees nested inside each registration before requesting the next page.
- Deduplicate registrations by
eventSignupIdand attendees byattendeeIdwhen a retry repeats a page. - Use the response's
hasMorevalue instead of guessing from the number of records returned.
HTTP status codes
| Status | Meaning | What to do |
|---|---|---|
200 | Request succeeded | Process the response and continue pagination when required |
400 | Invalid parameter or cursor | Correct the request; repeating it unchanged will not help |
401 | Missing, malformed, expired, disabled, or invalid key | Check the header and replace or rotate the key |
403 | The key does not have the required scope | Ask an organization owner/admin to issue a correctly scoped key |
404 | The record is unavailable to this organization | Verify the event ID and the organization that issued the key |
429 | The key exceeded its rate limit | Pause and retry later with backoff |
5xx | Temporary server failure | Retry a limited number of times with exponential backoff |
Errors use a JSON object containing an error name and message. Do not parse human-readable messages to make authorization decisions; use the HTTP status.
Rate-limit responsibly
The default limit is 120 requests per minute per key across Public API endpoints.
- Cache event, ticket, venue, and custom-field configuration when appropriate.
- Avoid tight polling loops.
- Use one pagination sequence at a time when performing a large initial export.
- On
429, stop requests for that key and back off before retrying. - Add small random jitter to retries when several workers share a key.
Recommended registration sync
- Fetch the event's custom-field definitions and build a lookup by field ID.
- Start the registrations request without a cursor.
- Upsert registrations by
eventSignupId. - Upsert nested attendees by
attendeeId. - Store each attendee answer with its
fieldIdand value. - Follow
nextCursoruntilhasMoreisfalse. - Record the time and result of the completed sync.
The current API provides a paginated read of successful registrations; it is not a webhook or change feed. If your process repeats a full read, make the upserts idempotent so retries do not create duplicate records.
Support checklist
Before contacting MeraEvents Support, collect:
- Request method and path, without the API key
- Approximate request time and timezone
- HTTP status code
- Error response name and message
- Event ID and API key name, but never the secret key
Do not email API secrets or attendee data unless MeraEvents Support provides an approved secure channel.
Next step
Use the interactive OpenAPI reference when you need the exact parameter or response schema for an endpoint.