Skip to main content

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​

NameLocationTypeRequired
idpathstringYes

Request Body​

FieldTypeRequiredLimitsDescription
expiryDatestring (date-time)NoNew 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​

StatusDescription
200Pass updated
400Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details.
401Missing or invalid API key.
403The caller is not allowed to access this resource.
404Resource not found.
409Event ticket capacity reached
429Rate limit exceeded.
500Server 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​

FieldTypeDescriptionAttributes
successboolean
messagestring
dataobject
Show child attributes
  • passInstance: object
    Show child attributes
    • _id: string
    • serialNumber: string
    • status: active, inactive, expired, void
    • member: string or object
      Show child attributes
      • _id: string
      • title: Mr, Ms, Mrs, Miss, Sir, Madam, Dr, Rev — Optional member title or honorific.
      • name: string — Member full name.
      • firstName: string — Member first name.
      • lastName: string — Member last name.
      • email: string (email) — Member email address. Used for pass delivery emails when a pass is issued.
      • address: object
      • contactPreferences: object — Optional marketing communication preferences. Essential service communications are unaffected.
      • memberId: string — External or organisation-defined member identifier.
      • memberSince: string (date-time) — Date the member joined. Defaults to the creation date when omitted.
      • type: Member, Visitor — Member category. Defaults to Member when omitted.
      • status: active, inactive — Member account status. Defaults to active when omitted.
      • location: string — Member location or branch.
      • phone: string — Member phone number.
      • dateOfBirth: string (date-time) — Member date of birth.
      • gender: male, female, other, prefer_not_to_say — Member gender.
      • notes: string — Internal member notes.
      • flagged: boolean — Whether the member is flagged for staff attention.
      • flagNote: string — Optional note shown when the member is flagged.
      • customFields: object — Organisation-defined custom field values keyed by custom field key. Use customFields only for fields configured by the organisation; use first-party fields such as phone, dateOfBirth, gender, and notes at the top level.
      • passes: array of object — Pass wrappers included by member list and lookup endpoints
      • createdAt: string (date-time)
      • updatedAt: string (date-time)
      • walletSummary: object — Included on member list responses
      • photo: string — Stored member photo URL
      • linkedMemberGroupId: string
    • pass: string or object
      Show child attributes
      • _id: string
      • name: string
      • description: string
      • type: generic, eventTicket, loyalty
      • approved: boolean
      • design: object — Visual design settings used when rendering Apple Wallet and Google Wallet passes.
      • loyalty: object — Loyalty pass configuration. Present for loyalty pass templates.
    • recipientName: string
    • recipientEmail: string (email)
    • expiryDate: string (date-time)
    • issuedAt: string (date-time)
    • walletUrls: object
      Show child attributes
      • apple: string (uri)
      • google: string (uri)
    • maxUses: integer — Maximum number of successful scans allowed for an event ticket. Defaults to 1 for tickets issued before multi-use support or when omitted.
    • usesRemaining: integer — Remaining successful scans available on an event ticket.
    • redeemedCount: integer — Number of successful event ticket redemptions.
    • lastRedeemedAt: string (date-time) — Timestamp of the latest successful event ticket redemption.
    • passType: generic, eventTicket, loyalty
    • customFields: object
    • eventTime: string (date-time)
    • eventName: string
    • seatInfo: object
      Show child attributes
      • seat: string
      • section: string
      • row: string
      • gate: string — Optional event ticket gate
    • recipientTitle: string
    • voided: boolean
    • voidedAt: string (date-time)
    • isNonMemberTicket: boolean
    • currentStamps: number
    • lifetimeStampsEarned: number
    • lastStampUpdate: string (date-time)
    • createdAt: string (date-time)
    • updatedAt: string (date-time)
    • membershipManaged: boolean — Included within member lookup pass wrappers
    • memberMembershipId: string — Managing membership _id, when included in a member lookup pass wrapper
  • message: string