Update pass expiry
PUT /passes/{id}/expiry
Requires the passes:update_expiry permission. Send null to remove an expiry date.
Note
- Setting a future expiry date automatically reactivates expired passes.
- Expiry can only be updated for passes with active or expired status.
Authorization
X-API-Key required
Parameters
| Name | Location | Type | Required |
|---|---|---|---|
id | path | string | Yes |
Request Body
| Field | Type | Required | Limits | Description |
|---|---|---|---|---|
expiryDate | string (date-time) | No | New pass expiry date. Send null to remove the expiry date. |
Request Examples
curl -X PUT "https://api.remypass.com/api/v1/public/passes/507f1f77bcf86cd799439011/expiry" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expiryDate": "2026-01-01T12:00:00.000Z"
}'Use Case Examples
Update pass expiry date
Automatically reactivates expired passes when setting a future expiry date.
curl -X PUT https://api.remypass.com/api/v1/public/passes/507f1f77bcf86cd799439013/expiry \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expiryDate": "2025-06-30T23:59:59.000Z"
}'
Responses
| Status | Description |
|---|---|
200 | Pass updated |
400 | Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details. |
401 | Missing or invalid API key. |
403 | The caller is not allowed to access this resource. |
404 | Resource not found. |
409 | Event ticket capacity reached |
429 | Rate limit exceeded. |
500 | Server error. |
200 Response Example
{
"success": true,
"message": "string",
"data": {
"passInstance": {
"_id": "507f1f77bcf86cd799439013",
"serialNumber": "string",
"status": "active",
"member": "string",
"pass": "string",
"recipientName": "string",
"recipientEmail": "user@example.com",
"expiryDate": "2026-01-01T12:00:00.000Z",
"issuedAt": "2026-01-01T12:00:00.000Z",
"walletUrls": {
"apple": "string",
"google": "string"
},
"maxUses": 1,
"usesRemaining": 1,
"redeemedCount": 1,
"lastRedeemedAt": "2026-01-01T12:00:00.000Z",
"passType": "generic",
"customFields": {},
"eventTime": "2026-01-01T12:00:00.000Z",
"eventName": "string",
"seatInfo": {
"seat": "string",
"section": "string",
"row": "string",
"gate": "string"
},
"recipientTitle": "string",
"voided": true,
"voidedAt": "2026-01-01T12:00:00.000Z",
"isNonMemberTicket": true,
"currentStamps": 1,
"lifetimeStampsEarned": 1,
"lastStampUpdate": "2026-01-01T12:00:00.000Z",
"createdAt": "2026-01-01T12:00:00.000Z",
"updatedAt": "2026-01-01T12:00:00.000Z",
"membershipManaged": true,
"memberMembershipId": "string"
},
"message": "string"
}
}
Response Fields
| Field | Type | Description | Attributes |
|---|---|---|---|
success | boolean | ||
message | string | ||
data | object | Show child attributes
|