> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluid.app/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> For new direct REST integrations, use the v2026-04 surfaces. The @fluid-app FairShare SDK continues to use its own published public-v2025-06 contract.
> Authenticate with the header Authorization: Bearer <token>; public storefront read endpoints require no auth.
> Lists use cursor pagination via the page[cursor] and page[limit] query params; follow meta.pagination.next_cursor until it is null.
> Never use /api/company/v1 or /api/v1 paths, page/per_page params, or offset pagination — they are legacy.
> The OpenAPI specs under api-reference/ are the authoritative contracts; prefer them over prose when in doubt. api-reference/storefront-v2026-04.yaml covers the v2026-04 storefront surface (/api/v202604/... paths); api-reference/auth-v0.yaml covers the unversioned auth surface (/api/... paths — authentication, MFA, social auth, and token exchange); api-reference/checkout-v2026-04.yaml covers the v2026-04 checkout surface (/api/checkout/v2026-04/... paths — carts, cart auth, discounts, items, subscriptions, orders, enrollments, and store config); api-reference/public-v2025-06.yaml covers the Public SDK surface used by the @fluid-app FairShare SDK, including its parallel cart lifecycle, browser integrations, versioned payment callbacks, unversioned public utilities, and the cart price-override operation; api-reference/payment-v2026-04.yaml covers the v2026-04 payment gateway admin surface (/api/payment/v2026-04/... paths, bearer-authenticated — gateway CRUD, gateway purchase/authorize/$0-verify, transaction list/show and capture/void/credit, and merchant payment configuration); api-reference/payments-v2026-04.yaml covers the v2026-04 cart payment surface (/api/payments/v2026-04/carts/{cart_token}/... paths, authenticated by the cart token in the path with no bearer — payment-method selection, VGS card tokenization, 3D Secure verification, and PayPal/Braintree/Klarna/Apple Pay flows); api-reference/commerce-v2026-04.yaml covers the v2026-04 commerce order-editing surface (/api/v202604/orders/{order_id}/edits paths, bearer-authenticated — post-checkout order edits that atomically insert items and add adjustments/discounts, with an optional dry-run preview); api-reference/webhooks-v0.yaml covers the unversioned webhooks surface (/api/... paths — webhook registration, delivery payloads, callback registrations, company events, and webhook/callback schemas).
> Successful responses wrap the resource payload alongside a top-level integer status and a meta object.

# Logout from cart

> Public, cart-token–scoped. Ends the customer session associated with the
cart and returns the updated cart auth state. Authorization is by the
`cart_token` in the path; no bearer token is required. Returns `410` when
the cart is a locked/authorized enrollment cart and `404` when the cart
token is unknown.




## OpenAPI

````yaml /api-reference/checkout-v2026-04.yaml delete /api/checkout/v2026-04/carts/{cart_token}/auth
openapi: 3.1.0
info:
  title: Fluid Checkout API
  description: >-
    **Fluid Checkout API — for building a checkout directly against REST.**


    Use this surface if you are integrating server-to-server or building your
    own

    checkout UI. It covers the full order lifecycle (cart → address → shipping →

    discount → complete → order) plus the logged-in customer's account: saved

    addresses, saved payment methods, order history, loyalty points, and

    subscription management (pause, resume, skip, cancel, retry).


    **The cart token in the URL scopes cart access** — creating a cart, adding

    items, applying a discount, and completing a cart need no bearer token.

    Among the cart operations, a Bearer token is required only for

    `carts/{cart_token}/sync`, `carts/{cart_token}/volume_rep`, and

    `carts/{cart_token}/discount/manual`. Off the cart, a token is required for

    everything under `customers/me` and `subscriptions`, and for the store and

    directory lookups (`store/config`, `store/languages`, `reps`, `users`) and

    `subscription_bundles`. `store/countries` accepts a token but does not

    require one — it returns the same list either way.


    **If you are using the `@fluid-app` FairShare SDK in a theme or storefront,

    you are not calling this surface** — the SDK calls the Fluid Public SDK API

    (`public-v2025-06`). Do not mix the two against one cart: they share the
    same

    cart records and services, but their request shapes differ. See

    [Choosing a cart
    surface](https://docs.fluid.app/api/choosing-a-cart-surface)

    for the operation map and boundary.
  version: v2026-04
  contact:
    email: support@fluid.app
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.fluid.app
security: []
tags:
  - name: carts
    description: >-
      Create, read, and mutate checkout carts (email, address, country,
      language, shipping, recalculation, completion).
  - name: cart-auth
    description: >-
      Cart-scoped customer authentication — magic-link challenge, verification,
      identity, and logout.
  - name: cart-discount
    description: >-
      Apply, list, and remove cart discount codes, including admin manual
      discounts.
  - name: cart-items
    description: Add, update, and remove line items on a cart.
  - name: cart-points
    description: Apply and remove loyalty points on a cart.
  - name: customers
    description: The authenticated customer's profile and company memberships.
  - name: customer-addresses
    description: The authenticated customer's saved shipping/billing addresses.
  - name: customer-orders
    description: The authenticated customer's order history.
  - name: customer-payment-methods
    description: The authenticated customer's saved payment methods and tokenization.
  - name: customer-points
    description: The authenticated customer's loyalty point balances.
  - name: directory
    description: Company rep and user directory lookups.
  - name: enrollments
    description: >-
      Public enrollment forms — retrieve a form and submit, update, or upload
      field answers.
  - name: orders
    description: Public order lookup by token.
  - name: products
    description: Public product queries for the storefront checkout.
  - name: store
    description: >-
      Store-level checkout configuration — countries, languages, address fields,
      agreements, drop zones, and Apple Pay domain verification.
  - name: subscriptions
    description: >-
      Manage subscriptions — pause, resume, skip, cancel, reactivate, retry, and
      failed-cycle waivers.
  - name: subscription-bundles
    description: List and create subscription bundles.
paths:
  /api/checkout/v2026-04/carts/{cart_token}/auth:
    delete:
      tags:
        - cart-auth
      summary: Logout from cart
      description: >
        Public, cart-token–scoped. Ends the customer session associated with the

        cart and returns the updated cart auth state. Authorization is by the

        `cart_token` in the path; no bearer token is required. Returns `410`
        when

        the cart is a locked/authorized enrollment cart and `404` when the cart

        token is unknown.
      operationId: checkout_v2026_04_destroy_cart_auth
      parameters:
        - name: cart_token
          in: path
          required: true
          description: Cart token
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutCartAuthResponse'
        '404':
          description: Cart not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '410':
          description: Authorized enrollment cart is locked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LockedCartErrorResponse'
      security: []
components:
  schemas:
    CheckoutCartAuthResponse:
      type: object
      properties:
        cart:
          type: object
          properties:
            agreements:
              type: array
              items:
                type: object
                properties:
                  default_checked:
                    type: boolean
                  enrollment_pack_id:
                    type: 'null'
                  id:
                    type: integer
                  required:
                    type: boolean
                  show_at_checkout:
                    type: boolean
                  show_path:
                    type: string
                  title:
                    type: string
                required:
                  - default_checked
                  - enrollment_pack_id
                  - id
                  - required
                  - show_at_checkout
                  - show_path
                  - title
                additionalProperties: false
            amount_total:
              type: number
            amount_total_in_currency:
              type: string
            attribution:
              type: 'null'
            available_payment_methods:
              type: array
              items:
                type: object
                properties:
                  apple_pay:
                    type: boolean
                  apple_pay_recurring_supported:
                    type: boolean
                  apple_pay_merchant_identifier:
                    type: 'null'
                  bogus_gateway:
                    type:
                      - boolean
                      - 'null'
                  client_id:
                    type:
                      - string
                      - 'null'
                  collect_billing_address:
                    type: boolean
                  customer_details_schema:
                    type: object
                    additionalProperties: false
                  decrypted_apple_pay_via_paypal:
                    type:
                      - boolean
                      - 'null'
                  id:
                    type: integer
                  image_url:
                    type: string
                  merchant_id:
                    type: 'null'
                  name:
                    type: string
                  sandbox:
                    type: boolean
                  sdk_type:
                    type:
                      - string
                      - 'null'
                  supported_brands:
                    type:
                      - array
                      - 'null'
                    items:
                      $ref: '#/components/schemas/JsonValue'
                  test:
                    type: boolean
                  token_provider:
                    type:
                      - string
                      - 'null'
                  tokenize_path:
                    type:
                      - string
                      - 'null'
                  type:
                    type: string
                  uuid:
                    type: string
                required:
                  - apple_pay
                  - apple_pay_merchant_identifier
                  - collect_billing_address
                  - customer_details_schema
                  - id
                  - image_url
                  - name
                  - sandbox
                  - test
                  - type
                  - uuid
                additionalProperties: false
            available_shipping_methods:
              type: array
              items:
                type: object
                properties:
                  delivery_time_estimate:
                    type:
                      - string
                      - 'null'
                  id:
                    type: string
                  price:
                    type: number
                  price_label:
                    type: string
                  title:
                    type: string
                required:
                  - delivery_time_estimate
                  - id
                  - price
                  - price_label
                  - title
                additionalProperties: false
            bill_to:
              type: 'null'
            billing_address:
              type: 'null'
            buyer_rep:
              type: 'null'
            buyer_rep_id:
              type: 'null'
            cart_token:
              type: string
            company:
              $ref: '#/components/schemas/CheckoutCompany'
            country:
              $ref: '#/components/schemas/CheckoutCountry'
            currency_code:
              type: string
            currency_decimal_places:
              type: integer
            currency_symbol:
              type: string
            customer_id:
              type: 'null'
            customer_total_points:
              type: integer
            customer_total_points_in_currency:
              type: string
            cv_total:
              type: string
              format: decimal
            digital_only:
              type: boolean
            discount_breakdown:
              type: object
              properties:
                external_discounts:
                  type: number
                internal_discounts:
                  type: number
                total_discounts:
                  type: number
              required:
                - external_discounts
                - internal_discounts
                - total_discounts
              additionalProperties: false
            discount_codes:
              type: array
              items:
                $ref: '#/components/schemas/JsonValue'
            discount_total:
              type: number
            discount_total_in_currency:
              type: string
            email:
              type: 'null'
            email_marketing:
              type: 'null'
            enrollment_fee:
              type:
                - number
                - string
                - 'null'
            enrollment_fee_in_currency:
              type: string
            enrollment_pack:
              type: 'null'
            enrollment_pack_id:
              type: 'null'
            external_discount:
              type: object
              properties:
                calculated_at:
                  type: 'null'
                sources:
                  type: object
                  additionalProperties: false
                total:
                  type: number
              required:
                - calculated_at
                - sources
                - total
              additionalProperties: false
            id:
              type: integer
            immutable_items:
              type: boolean
            inclusive_shipping_tax:
              type: number
            items:
              type: array
              items:
                $ref: '#/components/schemas/JsonValue'
            language_iso:
              type: 'null'
            max_applicable_points:
              type: integer
            messages:
              type: object
              additionalProperties: false
            metadata:
              type: object
              properties:
                available_shipping_methods:
                  type: array
                  items:
                    type: object
                    properties:
                      delivery_time_estimate:
                        type:
                          - string
                          - 'null'
                      id:
                        type: integer
                      price:
                        type: number
                      price_label:
                        type: string
                      priority:
                        type: integer
                      title:
                        type: string
                    required:
                      - delivery_time_estimate
                      - id
                      - price
                      - price_label
                      - priority
                      - title
                    additionalProperties: false
                shipping:
                  type: object
                  properties:
                    delivery_time_estimate:
                      type: string
                    id:
                      type: integer
                    price:
                      type: number
                    title:
                      type: string
                  required:
                    - delivery_time_estimate
                    - id
                    - price
                    - title
                  additionalProperties: false
                total_creditable_points:
                  type: integer
              required:
                - available_shipping_methods
                - shipping
                - total_creditable_points
              additionalProperties: false
            payment_account:
              type: 'null'
            payment_method:
              type: 'null'
            payment_method_auto_assignable:
              type: boolean
            phone:
              type: 'null'
            points_applied:
              type: integer
            points_applied_amount_in_currency:
              type: string
            points_enabled:
              type: boolean
            price_inclusive_of_tax:
              type: boolean
            price_inclusive_tax_name:
              type:
                - string
                - 'null'
            processed:
              type: boolean
            product_discount_codes:
              type: array
              items:
                $ref: '#/components/schemas/JsonValue'
            qv_total:
              type: string
              format: decimal
            recurring:
              type: array
              items:
                $ref: '#/components/schemas/JsonValue'
            remaining_cart_amount_after_points:
              type: number
            remaining_cart_amount_after_points_in_currency:
              type: string
            remaining_customer_points:
              type: integer
            remaining_customer_points_amount_in_currency:
              type: string
            requires_3ds:
              type: boolean
            requires_payment_method:
              type: boolean
            ship_to:
              type: 'null'
            shipping_address:
              type: 'null'
            shipping_discount:
              type: integer
            shipping_discount_codes:
              type: array
              items:
                $ref: '#/components/schemas/JsonValue'
            shipping_method:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
              required:
                - id
                - name
              additionalProperties: false
            shipping_total:
              type: number
            shipping_total_for_display:
              type: string
            shipping_total_in_currency:
              type: string
            sms_marketing:
              type: 'null'
            state:
              type: string
            state_revision:
              type: integer
              format: int64
              minimum: 0
              description: Monotonic ordering marker for published cart snapshots.
            sub_total:
              type: number
            sub_total_in_currency:
              type: string
            subtotal_after_discounts:
              type: number
            subtotal_after_discounts_in_currency:
              type: string
            tax_total:
              type: number
            tax_exempt:
              type: boolean
            tax_total_for_display:
              type: string
            tax_total_in_currency:
              type: string
            total_creditable_points:
              type: integer
            totals:
              type: object
              additionalProperties: false
              required:
                - gross_subtotal
                - gross_subtotal_in_currency
                - net_subtotal
                - net_subtotal_in_currency
                - item_tax
                - item_tax_in_currency
                - shipping_net
                - shipping_net_in_currency
                - shipping_tax
                - shipping_tax_in_currency
                - total_tax
                - total_tax_in_currency
                - price_inclusive_of_tax
                - tax_label
              description: >-
                Display-ready totals breakdown sourced from Commerce::Totals
                (STU2-2580). Decomposes the inclusive-tax figures so clients
                render the net subtotal, item tax, shipping net and shipping VAT
                without re-deriving them. Each money component carries a raw
                boundary-rounded decimal string plus its currency-formatted
                `_in_currency` sibling.
              properties:
                gross_subtotal:
                  type: string
                  description: Catalog sum of line-item prices (customer display).
                gross_subtotal_in_currency:
                  type: string
                net_subtotal:
                  type: string
                  description: Items subtotal excluding embedded item tax.
                net_subtotal_in_currency:
                  type: string
                item_tax:
                  type: string
                  description: Embedded tax attributable to the items.
                item_tax_in_currency:
                  type: string
                shipping_net:
                  type: string
                  description: Shipping charge excluding embedded shipping tax.
                shipping_net_in_currency:
                  type: string
                shipping_tax:
                  type: string
                  description: Embedded tax attributable to shipping.
                shipping_tax_in_currency:
                  type: string
                total_tax:
                  type: string
                  description: Combined item and shipping tax.
                total_tax_in_currency:
                  type: string
                price_inclusive_of_tax:
                  type: boolean
                  description: Whether catalog prices include tax.
                tax_label:
                  type:
                    - string
                    - 'null'
                  description: The resolved tax-line label (e.g. "VAT"), or null.
            transaction_fee:
              type: number
            transaction_fee_in_currency:
              type: string
            type:
              type: string
            valid_for_checkout:
              type: boolean
            valid_for_checkout_pre_payment:
              type: boolean
            vault_without_charge:
              type: boolean
            volume_rep:
              type: 'null'
          required:
            - agreements
            - amount_total
            - amount_total_in_currency
            - attribution
            - available_payment_methods
            - available_shipping_methods
            - bill_to
            - billing_address
            - buyer_rep
            - buyer_rep_id
            - cart_token
            - company
            - country
            - currency_code
            - currency_decimal_places
            - currency_symbol
            - customer_id
            - customer_total_points
            - customer_total_points_in_currency
            - cv_total
            - digital_only
            - discount_breakdown
            - discount_codes
            - discount_total
            - discount_total_in_currency
            - email
            - email_marketing
            - enrollment_fee
            - enrollment_fee_in_currency
            - enrollment_pack
            - enrollment_pack_id
            - external_discount
            - id
            - immutable_items
            - inclusive_shipping_tax
            - items
            - language_iso
            - max_applicable_points
            - messages
            - metadata
            - payment_account
            - payment_method
            - payment_method_auto_assignable
            - phone
            - points_applied
            - points_applied_amount_in_currency
            - points_enabled
            - price_inclusive_of_tax
            - price_inclusive_tax_name
            - processed
            - product_discount_codes
            - qv_total
            - recurring
            - remaining_cart_amount_after_points
            - remaining_cart_amount_after_points_in_currency
            - remaining_customer_points
            - remaining_customer_points_amount_in_currency
            - requires_3ds
            - requires_payment_method
            - ship_to
            - shipping_address
            - shipping_discount
            - shipping_discount_codes
            - shipping_method
            - shipping_total
            - shipping_total_for_display
            - shipping_total_in_currency
            - sms_marketing
            - state
            - sub_total
            - sub_total_in_currency
            - subtotal_after_discounts
            - subtotal_after_discounts_in_currency
            - tax_total
            - tax_exempt
            - tax_total_for_display
            - tax_total_in_currency
            - total_creditable_points
            - totals
            - transaction_fee
            - transaction_fee_in_currency
            - type
            - valid_for_checkout
            - valid_for_checkout_pre_payment
            - vault_without_charge
            - volume_rep
          additionalProperties: false
        meta:
          type: object
          properties:
            checkout_url:
              type: string
            request_id:
              type: string
            shop_url:
              type: string
            timestamp:
              type: string
              format: date-time
          required:
            - checkout_url
            - request_id
            - shop_url
            - timestamp
          additionalProperties: false
      required:
        - cart
        - meta
      additionalProperties: false
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error_message
        - errors
        - meta
      properties:
        error_message:
          type: string
        errors:
          $ref: '#/components/schemas/ErrorBag'
        meta:
          $ref: '#/components/schemas/CheckoutMeta'
    LockedCartErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error_message
        - errors
        - meta
      properties:
        error_message:
          type: string
        errors:
          $ref: '#/components/schemas/ErrorBag'
        meta:
          type: object
          additionalProperties: false
          required:
            - request_id
            - timestamp
            - shop_url
            - cart
          properties:
            request_id:
              type:
                - string
                - 'null'
            timestamp:
              type: string
              format: date-time
            shop_url:
              type: string
            cart: 27cf1da2-6873-4170-8369-fa402f6d2870
    JsonValue:
      description: >-
        Any valid JSON value for provider, integration, theme, metadata, or
        other dynamic payloads whose keys are not fixed by the API contract.
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    CheckoutCompany:
      type: object
      properties:
        bundle_subscriptions:
          type: boolean
        checkout_primary_button_color:
          type:
            - string
            - 'null'
        checkout_primary_text_color:
          type:
            - string
            - 'null'
        checkout_secondary_button_color:
          type:
            - string
            - 'null'
        checkout_secondary_text_color:
          type:
            - string
            - 'null'
        collect_email_marketing:
          type: boolean
        collect_phone:
          type: boolean
        collect_sms_marketing:
          type: boolean
        favicon_url:
          type:
            - string
            - 'null'
        fluid_shop:
          type: string
        id:
          type: integer
        isolated_payment_tokens:
          type: boolean
        kount_environment:
          type: string
          enum:
            - sandbox
            - production
          example: sandbox
          description: >-
            Per-merchant Kount environment. Used by the checkout DDC initializer
            to pick TEST vs PROD.
        kount_client_id:
          type:
            - string
            - 'null'
          example: '150953359757648'
          description: >-
            Per-merchant Kount Client ID (MID) for enterprise merchants. Null
            for portfolio merchants — the checkout app falls back to
            NEXT_PUBLIC_KOUNT_CLIENT_ID.
        logo_url:
          type:
            - string
            - 'null'
        name:
          type: string
        order_on_behalf:
          type: boolean
        primary_domain_hostname:
          type: string
        require_billing_zip:
          type: boolean
        require_phone:
          type: boolean
        reward_points_apply_to_subtotal:
          type: boolean
        reward_points_enabled:
          type: boolean
        reward_points_label_singular:
          type: string
        reward_points_label_plural:
          type: string
        subdomain:
          type:
            - string
            - 'null'
      required:
        - bundle_subscriptions
        - checkout_primary_button_color
        - checkout_primary_text_color
        - checkout_secondary_button_color
        - checkout_secondary_text_color
        - collect_email_marketing
        - collect_phone
        - collect_sms_marketing
        - favicon_url
        - fluid_shop
        - id
        - isolated_payment_tokens
        - kount_environment
        - kount_client_id
        - logo_url
        - name
        - order_on_behalf
        - primary_domain_hostname
        - require_billing_zip
        - require_phone
        - reward_points_apply_to_subtotal
        - reward_points_enabled
        - reward_points_label_singular
        - reward_points_label_plural
        - subdomain
      additionalProperties: false
    CheckoutCountry:
      type: object
      properties:
        currency_code:
          type: string
        currency_symbol:
          type: string
        id:
          type: integer
        iso:
          type: string
        iso3:
          type: string
        iso_name:
          type: string
        name:
          type: string
        price_inclusive_of_tax:
          type: boolean
        price_inclusive_tax_name:
          type: string
        province_required:
          type: boolean
        tax_enabled:
          type:
            - boolean
            - 'null'
        tax_standard_rate:
          type:
            - number
            - 'null'
          description: Standard tax rate (percent) used for inclusive-pricing countries
      required:
        - currency_code
        - currency_symbol
        - id
        - iso
        - iso3
        - iso_name
        - name
        - price_inclusive_of_tax
        - price_inclusive_tax_name
        - province_required
        - tax_enabled
        - tax_standard_rate
      additionalProperties: false
    ErrorBag:
      description: >-
        Validation errors keyed by field, a list of errors, a single error
        message, or null when no structured error details are available.
      anyOf:
        - type: string
        - type: array
          items:
            $ref: '#/components/schemas/ErrorValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/ErrorValue'
        - type: 'null'
    CheckoutMeta:
      type: object
      additionalProperties: false
      required:
        - request_id
        - timestamp
      properties:
        request_id:
          type:
            - string
            - 'null'
        timestamp:
          type: string
          format: date-time
    ErrorValue:
      description: A validation or API error value.
      anyOf:
        - type: string
        - type: array
          items:
            type: string
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'

````