MeraEvents
API Integration

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=8990

When 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 eventSignupId and attendees by attendeeId when a retry repeats a page.
  • Use the response's hasMore value instead of guessing from the number of records returned.

HTTP status codes

StatusMeaningWhat to do
200Request succeededProcess the response and continue pagination when required
400Invalid parameter or cursorCorrect the request; repeating it unchanged will not help
401Missing, malformed, expired, disabled, or invalid keyCheck the header and replace or rotate the key
403The key does not have the required scopeAsk an organization owner/admin to issue a correctly scoped key
404The record is unavailable to this organizationVerify the event ID and the organization that issued the key
429The key exceeded its rate limitPause and retry later with backoff
5xxTemporary server failureRetry 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.
  1. Fetch the event's custom-field definitions and build a lookup by field ID.
  2. Start the registrations request without a cursor.
  3. Upsert registrations by eventSignupId.
  4. Upsert nested attendees by attendeeId.
  5. Store each attendee answer with its fieldId and value.
  6. Follow nextCursor until hasMore is false.
  7. 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.

On this page