Bardge API (V3)
    • Introduction
    • Authentication
    • Errors
    • Idempotent Requests
    • Pagination
    • Passes
      • Introduction
      • Get All Reseller Passes
        GET
      • Issue a pass
        POST
      • Update user's pass
        POST
      • Update user's pass expiry
        POST
      • Get User Pass Details
        GET
    • Providers
      • Introduction
      • Get providers
        GET
      • Get providers for a pass
        GET
    • Access Codes
      • Introduction
      • Generate dynamic access code
        POST
    • Bookings
      • Introduction
      • Get class categories
        GET
      • Get classes
        GET
      • Get class with instances
        GET
      • Initiate a class booking
        POST
      • Confirm a class booking
        POST
      • Initiate a spa booking
        POST
      • Confirm a spa booking
        POST
      • Get client bookings
        GET
      • Get booking status
        GET
      • Cancel a booking
        POST
    • Co-pay
      • Introduction
    • Credits
      • Introduction
      • Purchase credits
      • Get credit packages
    • Lookup
      • Introduction
      • Get issuers
      • Initiate a lookup
      • Verify a lookup
      • Get a client
      • Get client credits
    • Schemas
      • PasscodeV3Request
      • PurchaseSpaCoPayV3Request
      • LookupInitiateV3Request
      • ResellerV3PasscodeResponse
      • ErrorDetail
      • ResellerV3ErrorResponse
      • LookupV3Response
      • ResellerV3SpaCoPayPurchaseResponse
      • LookupVerifyV3Request
      • SpaCoPayQuoteV3Request
      • IssuePassV3Request
      • PassRef
      • ResellerV3SpaCoPayQuoteResponse
      • CategoryDetails
      • ResellerV3IssuedPassResponse
      • UpdateIssuedPassExpiryV3Request
      • ResellerV3IssuedPassMessageResponse
      • UpdateLookupEnabledRequest
      • UpdateIssuedPassV3Request
      • PurchaseGymCoPayV3Request
      • PurchaseCoPayPackageV3Request
      • PurchaseCreditsV3Request
      • ResellerV3GymCoPayPurchaseResponse
      • ResellerV3CreditPurchaseResponse
      • ResellerV3CoPayPurchaseResponse
      • RescheduleBookingV3Request
      • RefundInfo
      • PasscodeInfo
      • ResellerV3BookingResponse
      • BookSpaV3Request
      • ResellerV3SpaBookingInitiateResponse
      • BookClassV3Request
      • CopayOption
      • ResellerV3ProviderResponse
      • ResellerV3ClassBookingInitiateResponse
      • ResellerV3ServiceResponse
      • ConfirmClassBookingV3Request
      • ResellerV3SpaResponse
      • AccessCodeV3Request
      • ServicePreview
      • ResellerV3AccessCodeResponse
      • ResellerV3ListResponse
      • ResellerV3AccessCodeSessionResponse
      • ResellerV3AvailabilityResponse
      • ConfirmAccessCodeV3Request
      • ResellerV3ClientResponse
      • CategoryDetail
      • ResellerV3CreditsResponse
      • ResellerV3PassResponse
      • ResellerV3ClassInstanceResponse
      • ResellerV3ClassResponse
      • ResellerV3BookingStatusResponse

    Pagination

    All list endpoints in the Bardge API use cursor-based pagination. Cursors are more stable than offset pagination — they do not skip or repeat records when items are added or removed between requests.

    How it works#

    List endpoints accept three query parameters:
    ParameterTypeDefaultDescription
    starting_afterstring—Return results after this resource ID (exclusive)
    ending_beforestring—Return results before this resource ID (exclusive)
    limitinteger10Maximum number of results to return. Between 1 and 100.
    Use starting_after to page forward, ending_before to page backward.

    List response envelope#

    Every list response wraps its data in a standard envelope:
    {
      "object": "list",
      "data": [
        { "object": "pass", "id": "pass_01H8XYZABCDE", ... },
        { "object": "pass", "id": "pass_01H8XYZABCDF", ... }
      ],
      "has_more": true,
      "url": "/v3/api/business/reseller/passes",
      "message": "Passes retrieved successfully"
    }
    FieldDescription
    objectAlways "list"
    dataArray of resources for this page
    has_moretrue if there are more results beyond this page
    urlThe URL of this list resource
    messageHuman-readable description of the result

    Paging through results#

    First page:
    GET /passes?limit=20
    Next page — take the id of the last item in data and pass it as starting_after:
    GET /passes?limit=20&starting_after=pass_01H8XYZABCDF
    Stop when has_more is false.

    Paginated endpoints#

    The following endpoints support cursor-based pagination:
    GET /passes — List passes
    GET /passes/{id}/providers — List providers for a pass
    GET /providers — List wellness providers
    GET /providers/{providerBranchId}/gym-copay-options — List gym co-pay options
    GET /issuers — List approved issuers
    GET /classes — List classes
    GET /clients/{clientId}/bookings — List client bookings
    GET /credit_packages — List credit packages

    Sorting#

    Results are returned most-recent first (descending by creation time) unless otherwise noted in the endpoint's documentation.

    Notes#

    Never use starting_after and ending_before in the same request.
    limit is capped at 100. Values above 100 are rejected with a 400 validation error.
    Cursor IDs are opaque — do not construct or modify them.
    Modified at 2026-05-19 11:15:05
    Previous
    Idempotent Requests
    Next
    Introduction
    Built with