Journey Docs
Members APIWallet

Cancel Fulfillment

Cancel an active fulfillment

POST/members/me/wallet/fulfillments/{fulfillmentId}/cancel

Overview

Cancels a claimed fulfillment and refunds the points to the member's wallet. Only active fulfillments can be cancelled.

This action is irreversible and will refund points according to the cancellation policy.

Authentication

Requires a valid Clerk JWT token in the Authorization header.

Path Parameters

fulfillmentIdpathstringrequired

UUID of the fulfillment to cancel

Request

curl -X POST "http://localhost:3000/v1/members/me/wallet/fulfillments/fulfill_550e8400-e29b-41d4-a716-446655440000/cancel" \
  -H "Authorization: Bearer YOUR_CLERK_JWT"

Response

successbooleanrequired

Whether the cancellation was successful

messagestringrequired

Human-readable confirmation message

Response

{
  "success": true,
  "message": "Fulfillment cancelled successfully"
}

Cancellable Statuses

Only fulfillments with these statuses can be cancelled:

claimed

  • Timing: Just claimed, not yet processed
  • Refund: Full point refund
  • Impact: No impact on property

pending_approval

  • Timing: Waiting for property approval
  • Refund: Full point refund
  • Impact: Notifies property of cancellation

modified

  • Timing: Property modified, awaiting member response
  • Refund: Full point refund
  • Impact: Notifies property of cancellation

approved

  • Timing: Approved but not yet used
  • Refund: Full point refund
  • Impact: Notifies property, may affect relationship

Non-Cancellable Statuses

These fulfillments cannot be cancelled:

fulfilled

  • Reason: Already redeemed/used
  • Action: Contact support for exceptional cases

rejected

  • Reason: Already declined by property
  • Action: Points already refunded

cancelled

  • Reason: Already cancelled
  • Action: No further action needed

expired

  • Reason: Already expired
  • Action: Points typically already refunded

Cancellation Process

When a fulfillment is successfully cancelled:

  1. Status Update: Fulfillment status changes to "cancelled"
  2. Point Refund: Points are refunded to the member's wallet
  3. Property Notification: Property is notified of cancellation (if applicable)
  4. Code Invalidation: Verification codes become invalid
  5. Transaction Record: Cancellation is logged for audit purposes

Refund Details

  • Point Type: Same asset type as originally charged (VALID/CREDIT)
  • Amount: Full amount originally charged
  • Timing: Immediate (synchronous with API call)
  • Transaction: Creates a CREDIT transaction in wallet

Best Practices

Before Cancelling

  1. Check Status: Ensure fulfillment can be cancelled
  2. Review Terms: Some offers may have no-cancellation policies
  3. Contact Property: For courtesy, especially if close to travel dates

After Cancelling

  1. Confirm Refund: Check wallet balance to confirm points returned
  2. Save Confirmation: Keep the success message for records
  3. Property Follow-up: Contact property if needed to confirm cancellation

Error Handling

Common error scenarios:

Fulfillment Not Found (404)

  • Cause: Invalid fulfillment ID or not owned by member
  • Solution: Verify the fulfillment ID and membership

Cannot Cancel (400)

  • Cause: Fulfillment status doesn't allow cancellation
  • Solution: Check fulfillment status and cancellation rules

System Error (500)

  • Cause: Backend processing error
  • Solution: Retry or contact support if persistent

On this page