Members APIWallet
Get Fulfillment
Get details of a specific fulfillment
GET
/members/me/wallet/fulfillments/{fulfillmentId}Overview
Returns detailed information about a specific fulfillment including verification codes, redemption instructions, and current status.
Use this endpoint to display full fulfillment details in the member app.
Authentication
Requires a valid Clerk JWT token in the Authorization header.
Path Parameters
fulfillmentIdpathstringrequiredUUID of the fulfillment to retrieve
Request
curl -X GET "http://localhost:3000/v1/members/me/wallet/fulfillments/fulfill_550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer YOUR_CLERK_JWT"Response
Returns a single fulfillment object with the same structure as items in the Get Fulfillments response.
Response
{
"id": "fulfill_550e8400-e29b-41d4-a716-446655440000",
"sourceType": "offer",
"name": "Suite Upgrade",
"shortDescription": "Complimentary upgrade to next available suite",
"catalogType": "offer",
"redemptionType": "property_specific",
"propertyName": "Luxury Resort & Spa",
"reservationId": "ABC123",
"status": "approved",
"approvalStatus": "approved",
"pointsCharged": 1500,
"claimedAt": "2024-04-10T09:15:00Z",
"fulfilledAt": null,
"expiresAt": "2024-04-20T23:59:59Z",
"responseDeadline": "2024-04-15T12:00:00Z",
"verificationCode": "SUITE-2024-789",
"activationCode": null,
"qrCodeUrl": "https://cdn.journey.com/qr/fulfill_550e8400.png",
"media": {
"heroImageUrl": "https://cdn.journey.com/offers/suite-upgrade-hero.jpg",
"cardImageUrl": "https://cdn.journey.com/offers/suite-upgrade-card.jpg"
},
"howToRedeem": "Present verification code at check-in or call the property directly at +1-555-LUXURY.",
"metadata": {
"currentRoomType": "Standard King",
"requestedRoomType": "Junior Suite",
"confirmedRoomType": "Executive Suite",
"specialRequests": "High floor, city view if available"
}
}Status Details
claimed
- Meaning: Recently claimed, being processed
- Actions: Show as "Processing"
- Codes: Not yet available
pending_approval
- Meaning: Waiting for property approval
- Actions: Show "Pending Approval" with deadline
- Codes: Not yet available
approved
- Meaning: Approved and ready to use
- Actions: Show verification code and redemption instructions
- Codes: Available for use
modified
- Meaning: Property modified the request
- Actions: Show modified terms, may need member confirmation
- Codes: Available with updated details
fulfilled
- Meaning: Successfully redeemed/used
- Actions: Show as completed
- Codes: May be hidden or marked as used
rejected
- Meaning: Property declined the request
- Actions: Show rejection reason, offer alternatives
- Codes: Not available
cancelled
- Meaning: Cancelled by member or admin
- Actions: Show as cancelled
- Codes: Not available
expired
- Meaning: Item expired before use
- Actions: Show as expired
- Codes: Not available
Verification Codes
For active fulfillments (not cancelled/expired):
verificationCode
- Purpose: Primary code for property verification
- Format: Usually alphanumeric (e.g., "SUITE-2024-789")
- Usage: Present to front desk/concierge
activationCode
- Purpose: Secondary activation if needed
- Format: Numeric or alphanumeric
- Usage: For digital/mobile redemptions
qrCodeUrl
- Purpose: QR code for mobile scanning
- Format: URL to PNG/SVG image
- Usage: Scan at property kiosks or mobile apps
Metadata Examples
Different fulfillment types include specific metadata:
Suite Elevation
{
"currentRoomType": "Standard King",
"requestedRoomType": "Junior Suite",
"confirmedRoomType": "Executive Suite"
}Timeless Stay
{
"requestedCheckinTime": "10:00",
"requestedCheckoutTime": "18:00",
"modifiedCheckinTime": "11:00",
"modifiedCheckoutTime": "17:00"
}Related Endpoints
- Get Fulfillments - List all fulfillments
- Cancel Fulfillment - Cancel this fulfillment