FAQ
How do I get an API key?
Create an API key from the RemyPass integrations API screen. The key is shown once when it is created.
Where should I send API requests?
Use your RemyPass backend URL with the public API base path:
https://api.remypass.com/api/v1/public
What authentication type is supported?
API key authentication in the X-API-Key header.
Are write methods supported?
Yes. The public API supports selected write operations for members, passes, pass expiry, pass emails, and event tickets when the key has the required permission.
Which IDs should I use?
Use the database _id values returned by the API when an endpoint asks for an id.
- Member
id: Returned by member endpoints as_id. memberId: Your organisation's external member identifier. This is not the same as the member_id.passTemplateId: Returned byGET /pass-templates.- Pass instance
id: Returned by pass instance endpoints as_id.
What happens when I create a member with issuePass set to true?
The member is created first. If issuePass is true, provide passTemplateId; you can also provide expiryDate for the issued pass.
The response includes pass issuance information, including whether a pass was issued. If pass issuance fails after the member is created, the member remains created and the failure is recorded on the member activity log.
Which permissions do I need?
Common permission mappings:
members:read: List and view members.members:write: Create and update members.passes:read: List and view issued pass instances.passes:issue: Issue passes and event tickets.passes:revoke: Revoke issued passes.passes:reinstate: Reinstate inactive passes.passes:update_expiry: Update or remove pass expiry dates.passes:send_email: Send pass delivery emails.pass_templates:read: List and view pass templates.
Permission checks are enforced per endpoint.
How does pagination work?
List endpoints use page and limit query parameters.
pagedefaults to1.limitdefaults to10.limitcan be up to100.
Paginated responses include a pagination object with currentPage, totalPages, totalItems, itemsPerPage, hasNextPage, and hasPrevPage.
How do custom fields work?
Custom fields are organisation-defined key/value fields on members and issued passes. Keys should match the custom field keys configured for your organisation.
Example:
{
"customFields": {
"membershipLevel": "Gold",
"favoriteLocation": "Main Street",
"newsletterOptIn": true
}
}
What pass statuses are supported?
Passes can have one of four statuses:
active: Pass is currently active and can be used.inactive: Pass is temporarily suspended and can be reinstated.expired: Pass has passed its expiry date. Update the expiry date to reactivate it.void: Pass is permanently revoked and cannot be reinstated.
Status transitions:
- Between
activeandinactive: Via toggle or reinstate endpoints. - From
activetoexpired: Automatic when the expiry date passes. - From
expiredtoactive: Via the update expiry endpoint with a future date. - From any status to
void: Via the revoke endpoint. This is permanent and irreversible.
Can revoked passes be restored?
No. Revoked passes have void status and cannot be reinstated. Use inactive for temporary suspension.
What date formats are supported?
All date fields must be in ISO 8601 format.
Examples:
"2024-12-31T23:59:59.000Z": Full timestamp with timezone."2024-12-31T23:59:59Z": Timestamp without milliseconds."2024-12-31": Date only, interpreted as midnight UTC.
When date fields are provided, they must use a valid ISO 8601 format.
How should I handle validation errors?
Validation errors return HTTP 400 with success: false, a message, and sometimes an errors array with field-level details.
How should I handle rate limits?
Handle HTTP 429 using retry with exponential backoff and jitter.