Customers

Customers

A Customer represents a guest at a Trybe site.

A Customer is created when a guest creates an account on a Trybe shopfront, places a booking, or is created manually in the Trybe app.

The Customer object

Attributes

  • iduuidrequired

    The ID of the customer.

  • first_namestringrequirednullable

    The first name of the customer.

  • last_namestringrequirednullable

    The last name of the customer.

  • full_namestringrequirednullable

    The customer's full name

  • phonestringrequirednullable

    The customer's phone number in E.164 format, or null if not provided.

  • has_passwordbooleanrequired

    Whether the user has a password

  • dobdaterequirednullable

    The customer's date of birth in YYYY-MM-DD format, or null if not provided.

  • brand_iduuidrequired

    The ID of the brand this customer belongs to

  • site_iduuidrequired

    Identifier of the site the customer was created at. Customer records are scoped per site so each location's CRM data is isolated; cross-site reporting is available via the brand or organisation.

  • stripe_idstringrequirednullable

    The Stripe Customer ID for this customer

  • express_stripe_idstringrequirednullable

    The Stripe Customer ID for this customer if they also exist in Trybe's legacy Stripe integration

  • emailstringrequirednullable

    The email address of the customer.

    The case of the email address is not preserved, so you'll always see this in lowercase.

  • labelsobject[]required

    An array of labels associated with this customer

  • preferred_localestringrequired

    The preferred locale of the customer.

    This must be one of the platform's supported locales, which can be retrieved using the listMetaSupportedLocales endpoint.

  • locked_atdate-timerequirednullable

    The datetime which the customer was locked, or null if it has not been locked.

  • created_atdate-timerequired

    The datetime which the customer was created

  • updated_atdate-timerequired

    The datetime which the customer was last updated

  • deleted_atdate-timerequirednullable

    The datetime which the customer was anonymised, or null if it has not been.

  • last_active_atdate-timerequirednullable

    The datetime which the customer was last active

  • email_verified_atdate-timerequirednullable

    The datetime which the customer verified their email address

  • last_check_inobjectrequirednullable

    A summary of the last check-in event associated with this customer, or null if they have never checked-in.

  • avatar_iduuidrequirednullable

    The media ID of the customer's avatar, or null if one hasn't been provided.

  • avatarrequirednullable

    The media object of the customer's avatar, or null if one hasn't been provided.

  • external_refstringrequirednullable

    An external reference for this customer.

{
  "id": "00000000-0000-0000-0000-000000000000",
  "first_name": "Jane",
  "last_name": "Doe",
  "full_name": "Jane Doe",
  "phone": "+447900000000",
  "has_password": true,
  "dob": "2026-01-15",
  "brand_id": "00000000-0000-0000-0000-000000000000",
  "site_id": "00000000-0000-0000-0000-000000000000",
  "stripe_id": "cus_1234567890",
  "express_stripe_id": "cus_1234567890",
  "email": "janedoe@example.com",
  "labels": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "value": "VIP",
      "colour": "ff6634"
    }
  ],
  "preferred_locale": "en",
  "locked_at": "2026-01-15T09:30:00+00:00",
  "created_at": "2026-01-15T09:30:00+00:00",
  "updated_at": "2026-01-15T09:30:00+00:00",
  "deleted_at": "2026-01-15T09:30:00+00:00",
  "last_active_at": "2026-01-15T09:30:00+00:00",
  "email_verified_at": "2026-01-15T09:30:00+00:00",
  "last_check_in": {
    "checked_in_at": "2026-01-15T09:30:00+00:00",
    "method": "Scanned"
  },
  "avatar_id": "000000-000000-000000-000000",
  "avatar": "string",
  "external_ref": "ext-cust-789012"
}
get/shop/customers/search

Search for customers

actionCustomerSearch

Use this endpoint to search for customers.

Query parameters

  • site_idstringrequired

    Filter results by the site they belong to

  • querystringoptional

    A general search query to match against customer fields.

  • sourcestring[]optional

    Choose which sources to include in the search.

  • first_namestringoptional

    Filter by first name.

  • last_namestringoptional

    Filter by last name.

  • emailstringoptional

    Filter by email address.

Responses

  • 200

    Customer search results

  • 401

    The user is unauthenticated

  • 422

    The request didn't pass validation

get/shop/customers/{customerId}/stats

Get stats for a single customer across the whole organisation

getCustomerStats

Use this endpoint to retrieve high-level stats for a single customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    Customer stats were found

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

get/customers/customers

List Customers

listCustomers

This endpoint lists the Customers which are associated to the provided site.

Query parameters

  • querystringoptional

    Filters customers with a similar name, email or phone number to the given value

  • emailemailoptional

    Filter customers with the given email address

  • organisation_iduuidoptional

    Filter customers that belong to the given organisation ID

  • brand_iduuidoptional

    Filter customers that belong to the given brand ID

  • site_iduuidoptional

    Filter customers that belong to the given site ID

  • membership_numberstringoptional

    Filter customers that have a membership with the given membership number

  • namestringoptional

    Filter customers with a similar name to the given value

  • phonestringoptional

    Filter customers with the given phone number

  • membershipstringoptional

    Filter customers that have at least one membership of the given state. Set to "none" to filter customers that do not have any memberships, "any" to filter customers that have any memberships, and "needs_dd_mandate" for memberships awaiting a Direct Debit mandate or payment method.

  • Filters customers which have at least one membership that was created on or after the given date

  • Filters customers which have at least one membership that was created on or before the given date

  • membership_type_idstringoptional

    Filters customers which have at least one membership of the given membership type ID

  • membership_rate_idstringoptional

    Filters customers which have at least one membership of the given membership rate ID

  • marketing_opt_instringoptional

    Filters customers who are opted into the given marketing preference ID. Alternatively, pass "any" to filter customers opted into any marketing preference, or "none" to filter customers not opted into any preferences.

  • label_idsstring[]optional

    Filters customers which have the given CustomerLabel ids.

  • idstringoptional

    Filters to just the customers with the given IDs.

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    The Customers were successfully retrieved

  • 401

    The user is unauthenticated

post/customers/customers

Create a Customer

createCustomer

Use this endpoint to create a new Customer.

When creating a new Customer, you must specify at least one of the following fields along with any other fields marked as required:

  • email
  • first_name
  • last_name

Request body

  • site_iduuidrequired

    Identifier of the site the customer was created at. Customer records are scoped per site so each location's CRM data is isolated; cross-site reporting is available via the brand or organisation.

  • first_namestringoptionalnullable

    The first name of the customer.

  • last_namestringoptionalnullable

    The last name of the customer.

  • phonestringoptionalnullable

    The customer's phone number in E.164 format, or null if not provided.

  • dobdateoptionalnullable

    The customer's date of birth in YYYY-MM-DD format, or null if not provided.

  • emailstringoptionalnullable

    The email address of the customer.

    The case of the email address is not preserved, so you'll always see this in lowercase.

  • passwordpasswordoptional

    The customer's password. This must be at least 8 characters long

  • marketing_preference_idsstring[]optional

    An array of marketing preference IDs to opt the customer in to

  • external_refstringoptionalnullable

    An external reference for this customer.

  • guestline_refstringoptional

    The guestline reference for this customer.

  • preferred_localestringoptional

    The preferred locale of the customer.

    This must be one of the platform's supported locales, which can be retrieved using the listMetaSupportedLocales endpoint.

Responses

  • 201

    The Customer was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 422

    The request didn't pass validation

get/customers/customers/{customerId}

Show a Customer

getCustomer

Use this endpoint to retrieve a Customer by their ID.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The Customer was successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

put/customers/customers/{customerId}

Update a Customer

updateCustomer

Use this endpoint to update an existing Customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Request body

  • first_namestringoptionalnullable

    The first name of the customer.

  • last_namestringoptionalnullable

    The last name of the customer.

  • phonestringoptionalnullable

    The customer's phone number in E.164 format, or null if not provided.

  • dobdateoptionalnullable

    The customer's date of birth in YYYY-MM-DD format, or null if not provided.

  • passwordpasswordoptional

    The customer's password. This must be at least 8 characters long

  • external_refstringoptionalnullable

    An external reference for this customer.

  • preferred_localestringoptional

    The preferred locale of the customer.

    This must be one of the platform's supported locales, which can be retrieved using the listMetaSupportedLocales endpoint.

Responses

  • 201

    The Customer was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/customers/customers/{customerId}

Delete a Customer

deleteCustomer

Anonymises the given Customer. The customer record is retained for accounting and reporting purposes but personally identifiable information is scrubbed.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 204

    The customer was successfully anonymised

  • 400

    The customer could not be anonymised

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

get/shop/customers/{customerId}/barcodes

List Associated Barcodes for a Customer

listAssociatedBarcodes

This endpoint retrieves all barcodes associated with a customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Query parameters

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    The barcodes associated with the customer were successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

delete/shop/customers/{customerId}/barcodes/{barcodeId}

Delete an associated barcode for a customer

deleteAssociatedBarcode

This endpoint deletes an associated barcode for a customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • barcodeIdstringrequired

    The ID of the barcode

Responses

  • 204

    The associated barcode was successfully deleted

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

put/shop/customers/{customerId}/barcodes/{barcodeId}

Update an associated barcode for a customer

updateAssociatedBarcode

This endpoint updates the details of an associated barcode for a customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • barcodeIdstringrequired

    The ID of the barcode

Request body

  • payment_method_iduuidoptionalnullable

    Identifier of the customer's saved payment method to attach to this wearable/access barcode. The barcode can then be used to pay at any in-resort POS via "charge to card on file". Pass null to clear the attachment.

  • order_idobject-idoptionalnullable

    Identifier of an in-progress order to attach to this barcode. Lets a scanned barcode pull up the linked order at the POS (for example to keep adding items during a spa visit). Pass null to detach.

  • expires_atdate-timeoptionalnullable

    The expiry date to set for the associated barcode.

Responses

  • 200

    The associated barcode was successfully updated

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

get/customers/customers/{customerId}/memberships

List a customer's memberships

getCustomerMemberships

Use this endpoint to retrieve a list of Memberships for the given Customer.

When retrieving memberships with this endpoint, the next_charge property will be populated if applicable.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The customer's Memberships were successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/lock

Lock a Customer

actionLockCustomer

Use this endpoint to lock a Customer.

When a customer is locked, their details cannot be modified until their profile is unlocked.

Any requests to updateCustomer or anonymiseCustomer will fail with a 400 response.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The Customer was successfully retrieved

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/unlock

Unlock a Customer

actionUnlockCustomer

Use this endpoint to unlock a Customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The Customer was successfully retrieved

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/reset-password

Trigger reset password

actionTriggerCustomerPasswordReset

Use this endpoint to trigger a password reset for a Customer.

The customer will receive a URL via email which they can use to reset their password.

The URL will be valid for 1 hour.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The Customer was successfully retrieved

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/resend-verification

Resend verification

actionResendCustomerVerification

Use this endpoint to resend the email verification email for a Customer.

The customer will receive a URL via email which they can use to verify their email address.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The Customer was successfully retrieved

  • 404

    The resource couldn't be found

get/customers/customers/{customerId}/addresses

List a Customer's Addresses

listCustomerAddresses

Retrieves a paginated list of addresses belonging to the given customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Query parameters

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    The customer's addresses were successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/addresses

Create an Address for a Customer

createCustomerAddress

Creates a new postal address for the given customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Request body

  • namestringrequired

    Short label the customer uses to identify the address — shown in address pickers at checkout. Typical values are Home, Work or a contact name.

  • address_line_1stringrequired

    First line of the postal address — usually the street number and street name. Required because postal carriers cannot deliver without it.

  • address_line_2stringoptionalnullable

    Optional second line of the postal address, used for suite/apartment numbers or building names that don't fit on address_line_1.

  • citystringoptionalnullable

    City or town the address sits in. Optional because some rural addresses don't use a city line; when omitted the postcode is used for delivery routing.

  • countystringoptionalnullable

    County, state or province. Optional in regions where the postcode alone uniquely identifies a delivery area.

  • countrystringoptionalnullable

    Country the address is in. Free text rather than an ISO code so the customer can match the wording used on their shipping documents.

  • postcodestringoptionalnullable

    Postal/ZIP code for the address. Optional because some countries don't use postcodes, but strongly recommended for delivery routing where they exist.

Responses

  • 201

    The customer's address was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

get/customers/customers/{customerId}/addresses/{addressId}

Get a Customer Address

getCustomerAddress

Retrieves a specific address belonging to the given customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • addressIduuidrequired

    The unique identifier of the address this operation is scoped to.

Responses

  • 200

    The customer's address was successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

put/customers/customers/{customerId}/addresses/{addressId}

Update a Customer Address

updateCustomerAddress

Updates an existing address belonging to the given customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • addressIduuidrequired

    The unique identifier of the address this operation is scoped to.

Request body

  • namestringoptional

    Replacement label the customer uses to identify the address. Shown in address pickers at checkout.

  • address_line_1stringoptional

    Replacement first line of the postal address — usually the street number and street name.

  • address_line_2stringoptionalnullable

    Replacement second line of the postal address, used for suite/apartment numbers or building names. Pass null to clear.

  • citystringoptionalnullable

    Replacement city or town for the address. Pass null to clear.

  • countystringoptionalnullable

    Replacement county, state or province. Pass null to clear.

  • countrystringoptionalnullable

    Replacement country for the address. Free text rather than an ISO code. Pass null to clear.

  • postcodestringoptionalnullable

    Replacement postal/ZIP code for the address. Pass null to clear.

Responses

  • 200

    The customer's address was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/customers/customers/{customerId}/addresses/{addressId}

Delete a Customer Address

deleteCustomerAddress

Deletes the given address from the customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • addressIduuidrequired

    The unique identifier of the address this operation is scoped to.

Responses

  • 204

    The address was successfully deleted

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

get/customers/customers/{customerId}/barcodes

List Associated Barcodes

listCustomerAssociatedBarcodes

Retrieves the barcodes associated with the given customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The associated barcodes were successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/barcodes

Associate a Barcode with a Customer

createCustomerBarcode

Associates the given barcode with the customer. Once associated, the barcode can be used to identify the customer at point-of-sale and kiosk-style integrations.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Request body

  • dataobjectrequired

Responses

  • 200

    The associated barcode was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

get/customers/customers/{customerId}/barcodes/{barcodeId}

Get an Associated Barcode

getCustomerAssociatedBarcode

Retrieves the given barcode associated with the customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • barcodeIduuidrequired

    The unique identifier of the associated barcode this operation is scoped to.

Responses

  • 200

    The associated barcode was successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

delete/customers/customers/{customerId}/barcodes/{barcodeId}

Disassociate a Barcode from a Customer

deleteCustomerBarcode

Removes the association between the given barcode and customer.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • barcodeIduuidrequired

    The unique identifier of the associated barcode this operation is scoped to.

Responses

  • 204

    The barcode was successfully disassociated

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

post/customers/customers/{customerId}/set-password-url

Generate a Set-Password URL

createSetPasswordUrl

Generates a one-time URL that can be sent to the customer for them to set or reset their password. The token included in the URL is valid for a limited time.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

Responses

  • 200

    The URL to set the password was successfully generated

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

get/customers/customers/barcode-search/{code}

Search for a Customer by Barcode

getCustomerByBarcode

Looks up a customer by an associated barcode payload (or by their customer ID).

Path parameters

  • codestringrequired

    The barcode to search for. This could either be the ID of the customer or an associated barcode.

Query parameters

  • site_idstringrequired

    The site ID to scope the search to.

Responses

  • 200

    The Customer was successfully retrieved

  • 401

    The user is unauthenticated

  • 404

    The resource couldn't be found

get/customers/customers/queue

Queue a Report of Customers

queueListCustomers

Retrieves a report of customers in CSV format. The report will be generated asynchronously.

Query parameters

  • querystringoptional

    Filters customers with a similar name, email or phone number to the given value

  • emailemailoptional

    Filter customers with the given email address

  • organisation_iduuidoptional

    Filter customers that belong to the given organisation ID

  • brand_iduuidoptional

    Filter customers that belong to the given brand ID

  • membership_numberstringoptional

    Filter customers that have a membership with the given membership number

  • namestringoptional

    Filter customers with a similar name to the given value

  • phonestringoptional

    Filter customers with the given phone number

  • membershipstringoptional

    Filter customers that have at least one membership of the given state. Set to "none" to filter customers that do not have any memberships, "any" to filter customers that have any memberships, and "needs_dd_mandate" for memberships awaiting a Direct Debit mandate or payment method.

  • Filters customers which have at least one membership that was created on or after the given date

  • Filters customers which have at least one membership that was created on or before the given date

  • membership_type_idstringoptional

    Filters customers which have at least one membership of the given membership type ID

  • membership_rate_idstringoptional

    Filters customers which have at least one membership of the given membership rate ID

  • marketing_opt_instringoptional

    Filters customers who are opted into the given marketing preference ID. Alternatively, pass "any" to filter customers opted into any marketing preference, or "none" to filter customers not opted into any preferences.

  • label_idsstring[]optional

    Filters customers which have the given CustomerLabel ids.

  • created_at_fromstringoptional

    Filters customers that were created on or after the given date.

  • created_at_tostringoptional

    Filters customers that were created on or before the given date.

  • updated_at_fromstringoptional

    Filters customers that were updated on or after the given date.

  • updated_at_tostringoptional

    Filters customers that were updated on or before the given date.

Responses

  • 200

    The job was successfully queued

  • 401

    The user is unauthenticated

get/customers/queued-jobs/{queuedJobId}

Get the details of a customer queued job

getCustomerQueuedJob

Returns the status and output of a customer-api background job that was previously kicked off via a queue-issuing endpoint (e.g. the customer list, check-ins, or memberships report queues). Poll this endpoint until status transitions to complete or failed; output then contains the per-job result envelope.

Only the user who enqueued the job can poll it.

Path parameters

Responses

  • 200

    The job was successfully queued

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

put/customers/customers/{customerId}/barcodes/{barcodeId}/expiry-date

Update an Associated Barcode's expiry date

updateBarcodeExpiryDate

Changes when the given barcode stops being usable for identifying the customer at the till and at kiosks. Pass an ISO-8601 datetime in expires_at to set or extend the expiry, or null to clear it entirely (the barcode remains valid indefinitely).

The expires_at value must be in the future — barcodes cannot be back-dated through this endpoint. The change is audited against the customer record (updated_barcode) so the previous and new expiry are kept in the audit trail.

Use this instead of recreating the barcode when the underlying wearable / wristband stays the same but its lease term changes, e.g. when a member renews their pass or a day-spa wristband is handed back early.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • barcodeIduuidrequired

    The unique identifier of the associated barcode this operation is scoped to.

Request body

  • expires_atdate-timerequirednullable

    The ISO-8601 datetime at which the barcode should stop being accepted at kiosks, scanners and points-of-sale. Must be in the future relative to the request time. Pass null to remove any existing expiry.

Responses

  • 200

    The associated barcode was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

put/customers/customers/{customerId}/barcodes/{barcodeId}/payment-method

Update an Associated Barcode's payment method

updateBarcodePaymentMethod

Links a PaymentMethod to the given barcode (or unlinks the current one). When a payment method is attached, charges captured via the barcode — typically wristband-based "post-pay" purchases at a spa or resort — are funded from that saved card rather than requiring the guest to present payment at every till.

Pass payment_method_id: null to detach the current payment method; subsequent tap-to-charge attempts on the barcode will then be declined or routed to a manual-pay flow depending on the site configuration.

The chosen PaymentMethod must belong to the same customer and pass server-side validation against the underlying processor (for card methods that means the card has to still be valid on the customer's processor profile). The change is recorded in the customer audit log under updated_barcode_payment_method.

Path parameters

  • customerIduuidrequired

    The unique identifier of the customer this operation is scoped to. Customer IDs are stable across renames and email changes; treat them as opaque strings even though the underlying format is a UUID.

  • barcodeIduuidrequired

    The unique identifier of the associated barcode this operation is scoped to.

Request body

  • payment_method_idstringrequirednullable

    Identifier of a stored PaymentMethod belonging to the same customer, used as the default charge target when this barcode is presented at point-of-sale. For card methods the card must still be valid on the underlying processor profile. Pass null to detach the current method.

Responses

  • 200

    The associated barcode was successfully retrieved

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation