> ## 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.
> When the same operation exists on more than one surface, use the newest: dated API versions are newer than unversioned ones, and later dates win (v2026-04 > v2025-06 > unversioned v0/v1.1). Fall back to a legacy or unversioned operation only when no newer versioned equivalent exists — the company-v0 notes below list the known superseded operations. /api/company/v1 and /api/v1/... paths are documented in no spec here and must never be used (/api/v1.1/... is distinct and documented in company-v0). Use page/per_page offset pagination only where a spec documents it — in practice the unversioned company-v0 admin surface; every versioned surface uses cursor pagination.
> 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); api-reference/company-v0.yaml covers the legacy unversioned company admin surface (/api/... paths, bearer-authenticated — company settings and management, customers, users, roles, subscription plans, subscription bundles, subscriptions, media, pages, catch-ups, inventory levels, domains, agreements, and admin order actions). company-v0 caveats: it is the legacy v0 admin contract and its lists use flat page/per_page offset pagination, which is expected there despite the general cursor-pagination rule; where an operation exists in both company-v0 and a versioned spec, prefer the versioned spec — the subscriptions lifecycle (list/create/show/update, cancel, pause, reactivate, resume, retry, skip, failed-cycle-waiver, discounts) and subscription bundles are superseded by checkout-v2026-04, and company pages/media CRUD plus the public pages, categories, products, and media list endpoints are superseded by storefront-v2026-04. Subscription plan management (/api/subscription_plans, resource-wrapped {"subscription_plan": {...}} bodies) exists only in company-v0. api-reference/members-v2025-06.yaml covers the v2025-06 unified Member identity surface (/api/v2025-06/members/... paths, bearer-authenticated — member list/create/show/update, lookup by email/username/external_id/legacy_customer_id, member-type assignment, and the sponsor genealogy read). Prefer it over the customers and reps surfaces when the member type matters: /customers does not serialize member_type. api-reference/analytics-v2026-04.yaml covers the v2026-04 Home dashboard analytics surface (/api/v202604/analytics/dashboard/... paths, bearer-authenticated — read-only endpoints for the Home > Overview, Home > Live, and Home > Field tabs, each accepting an optional country ISO alpha-2 query param that scopes aggregations to a single country).
> api-reference/analytics-v0.yaml covers the unversioned analytics surface that backs the fluid-admin Traffic tab (/api/analytics/... and /api/analytics/traffic/... paths, bearer-authenticated — the legacy shares/views/visitors summary plus traffic overview, ranked campaigns, sources, geographies, flows, and per-rep breakdown, all sharing one reporting-period contract).
> Successful responses wrap the resource payload alongside a top-level integer status and a meta object.
> Portal Definition authoring edits and synchronizes the portal JSON resource graph. Widget Package authoring builds either a company-owned or Droplet-owned Remote DOM package. These are separate contracts; do not imply that one defines the other.
> For Widget Package worker code, use only @fluid-app/portal-sdk/widgets/worker. Use only the Portal Definition and Widget Package workflows and public entry points documented here; do not infer support for undocumented surfaces.
> Every portal function and declarative capability used by a widget must appear in that widget's uses array. Use the same typed function value in uses; do not invent capability-name strings.
> Widget styling must use the portal's semantic theme variables for colors, typography, spacing, radii, borders, focus, and charts whenever a token represents the visual decision. Do not create a separate light or dark palette or duplicate theme controls as widget properties.
> Prefer worker-safe Fluid UI components exported by @fluid-app/portal-sdk/widgets/worker when they fit the interaction. When no exported component fits, use semantic HTML, accessible behavior, and the portal theme variables.
> A Portal Definition push updates the remote working definition. A portal version is an immutable snapshot, and activation is a separate live release operation.

# Create dlocal renewal notification

> Receives signed dLocal settlement notifications for subscription renewals dLocal accepted as PENDING and settles asynchronously. A renewal order carries no cart, so the renewal is resolved from dLocal's own payment id and the signature is verified against that payment's payment account. The notified status is read back from dLocal before the order is promoted or the decline recorded. Returns 200 only once the settlement has been applied, or was already applied by an earlier delivery.



## OpenAPI

````yaml /api-reference/public-v2025-06.yaml post /api/v202506/subscriptions/renewals/dlocal
openapi: 3.1.0
info:
  title: Fluid Public SDK API
  description: >-
    **Fluid Public SDK API — the REST surface behind the `@fluid-app` FairShare

    SDK.**


    This is what the SDK calls on your behalf from the browser. Read it to

    understand what the SDK sends and receives, to verify a payload, or to call
    an

    SDK-backed endpoint directly. It also owns the browser-side platform surface

    that exists nowhere else: event tracking, lead capture, media and playlists,

    embeddable widgets, forms, sessions, settings, browser fingerprinting,

    affiliate lookup, root themes, and Pusher auth.


    Its cart endpoints (`/api/public/v2025-06/commerce/carts/…`) are

    **session-aware**: they accept `fluid_session` and populate visitor session

    and rep attribution on the cart. They also cover enrollment-pack carts

    (`…/enroll`, `…/enrollment`) and payment-gateway callbacks, which the
    Checkout

    API does not.


    Most browser and cart operations require no bearer token. The cart token in

    the path scopes cart requests. Synchronizing an authenticated customer,

    overriding cart item prices, and overriding cart item volumes require a

    bearer token.


    **Building a checkout from scratch, server-side? Use the Fluid Checkout API

    (`checkout-v2026-04`) instead** — it is the forward surface and the only one

    with customer accounts and subscription management. See

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

    for the operation map and boundary.


    Note: the version label names this spec, not a single path prefix. Endpoints

    here live under `/api/public/v2025-06/`, its partial

    `/api/public/stable/` alias, `/api/public/`, `/api/v202506/carts/`, and the

    cart price-override path under `/api/carts/`.
  version: v2025-06
  contact:
    email: support@fluid.app
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.fluid.app
  - url: https://{company}.fluid.app
    description: Production server with company subdomain
    variables:
      company:
        default: myco
        description: Company subdomain
security: []
tags:
  - name: carts
    description: >-
      Create, read, and mutate session-aware carts (items, address, country,
      language, discounts, shipping method, payment method, magic-link login,
      checkout).
  - name: checkout
    description: Checkout-started event emitted when a shopper enters the checkout flow.
  - name: commerce
    description: Admin-authenticated cart price overrides.
  - name: orders
    description: Public order lookup by token, including earned loyalty points.
  - name: product
    description: Localized product lookup by slug for storefronts and themes.
  - name: enrollment-packs
    description: Enrollment pack lookup by slug, for enrollment-pack carts.
  - name: payment
    description: Klarna session creation and updates for a cart.
  - name: paypal
    description: PayPal order creation, authorization, and shipping callbacks for a cart.
  - name: events
    description: Browser-side event ingestion — page visits, URL visits, and lead capture.
  - name: session
    description: Visitor session creation, the basis of cart and rep attribution.
  - name: fingerprint
    description: Browser fingerprint registration used to link sessions to a visitor.
  - name: lead
    description: Lead capture from storefront and theme forms.
  - name: forms
    description: Public form retrieval, password verification, and response submission.
  - name: media
    description: Media lookup by slug and video analytics events.
  - name: playlist
    description: Playlist (library) lookup by slug.
  - name: widgets
    description: Embeddable storefront widgets — banners, carts, chats, and popups.
  - name: page
    description: Page-visit tracking for storefront and theme pages.
  - name: url
    description: Short-link and URL visit tracking.
  - name: settings
    description: >-
      Company storefront settings the SDK reads at boot — company, cart, and
      affiliate configuration.
  - name: affiliate
    description: Affiliate lookup used to resolve a rep from a share link or handle.
  - name: root-themes
    description: Root theme catalog backing the theme editor and storefront rendering.
  - name: public
    description: >-
      Public utilities — health checks, Pusher auth, Apple Pay domain
      verification, leaderboards, and cart item volumes.
  - name: public-drop-zones
    description: >-
      Active checkout, order-confirmation, and slideout-cart drop zones used
      internally by the FairShare SDK. Direct REST integrations should use
      checkout-v2026-04.
paths:
  /api/v202506/subscriptions/renewals/dlocal:
    post:
      tags:
        - subscriptions
      summary: Create dlocal renewal notification
      description: >-
        Receives signed dLocal settlement notifications for subscription
        renewals dLocal accepted as PENDING and settles asynchronously. A
        renewal order carries no cart, so the renewal is resolved from dLocal's
        own payment id and the signature is verified against that payment's
        payment account. The notified status is read back from dLocal before the
        order is promoted or the decline recorded. Returns 200 only once the
        settlement has been applied, or was already applied by an earlier
        delivery.
      operationId: public_v2025_06_subscriptions_renewals_dlocal_post
      parameters:
        - name: Authorization
          in: header
          required: true
          description: >-
            dLocal V2-HMAC-SHA256 signature over X-Login, X-Date, and the raw
            request body.
          schema:
            type: string
        - name: X-Date
          in: header
          required: true
          description: Timestamp included in the dLocal notification signature.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - id
                - status
              properties:
                id:
                  type: string
                  description: dLocal payment identifier for the renewal charge
                status:
                  type: string
                  description: >-
                    dLocal payment status (PENDING, PAID, REJECTED, CANCELLED,
                    EXPIRED)
                status_detail:
                  type:
                    - string
                    - 'null'
                  description: Optional provider detail for the payment status
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PublicPaymentWebhookAcknowledgementResponse
        '401':
          description: Missing or invalid dLocal notification signature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponse'
        '404':
          description: No renewal charge matches the notified payment id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponse'
      security: []
components:
  schemas:
    PublicPaymentWebhookAcknowledgementResponse:
      type: object
      properties:
        message:
          type: string
        meta:
          type: object
          properties:
            request_id:
              type: string
            timestamp:
              type: string
              format: date-time
          required:
            - request_id
            - timestamp
          additionalProperties: false
      required:
        - message
        - meta
      additionalProperties: false
    StandardErrorResponse:
      description: >-
        Common legacy error response envelope. Older endpoints may return one or
        more of these fields depending on the controller path.
      type: object
      properties:
        message:
          type: string
        error:
          $ref: '#/components/schemas/ErrorMessage'
        error_message:
          $ref: '#/components/schemas/ErrorMessage'
        errors:
          $ref: '#/components/schemas/ErrorBag'
        meta:
          $ref: '#/components/schemas/ErrorMeta'
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
    ErrorMessage:
      description: An API error message represented as text or structured JSON.
      anyOf:
        - type: string
        - $ref: '#/components/schemas/ErrorBag'
        - type: 'null'
    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'
    ErrorMeta:
      type: object
      properties:
        request_id:
          type:
            - string
            - 'null'
        timestamp:
          type: string
          format: date-time
        shop_url:
          type:
            - string
            - 'null'
        cart:
          anyOf:
            - $ref: '#/components/schemas/Cart'
            - type: 'null'
      additionalProperties: false
    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'
    ErrorValue:
      description: A validation or API error value.
      anyOf:
        - type: string
        - type: array
          items:
            type: string
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    Cart:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
        cart_token:
          type: string
        state:
          type: string
        state_revision:
          type: integer
          format: int64
          minimum: 0
          description: Monotonic ordering marker for published cart snapshots.
        email:
          type:
            - string
            - 'null'
        phone:
          type:
            - string
            - 'null'
        language_iso:
          type:
            - string
            - 'null'
        currency_code:
          type: string
        currency_symbol:
          type: string
        currency_decimal_places:
          type: integer
        type:
          type:
            - string
            - 'null'
        buyer_rep_id:
          type:
            - integer
            - 'null'
        customer_id:
          type:
            - integer
            - 'null'
        enrollment_pack_id:
          type:
            - integer
            - 'null'
        email_marketing:
          type:
            - boolean
            - 'null'
        sms_marketing:
          type:
            - boolean
            - 'null'
        auto_apply_points:
          type: boolean
          description: >-
            Whether renewals created from this cart apply reward points
            automatically
        processed:
          type: boolean
        valid_for_checkout:
          type: boolean
        valid_for_checkout_pre_payment:
          type: boolean
        contains_subscription:
          type: boolean
          description: >-
            `true` when the cart contains a subscribed top-level item or bundle
            child.
        vault_without_charge:
          type: boolean
        payment_method_auto_assignable:
          type: boolean
        requires_payment_method:
          type: boolean
        requires_3ds:
          type: boolean
        immutable_items:
          type: boolean
        digital_only:
          type: boolean
        points_enabled:
          type: boolean
        messages:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        metadata:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        cv_total:
          type:
            - string
            - 'null'
          format: decimal
        qv_total:
          type:
            - string
            - 'null'
          format: decimal
        amount_total:
          type: number
        amount_total_in_currency:
          type: string
        sub_total:
          type: number
        sub_total_in_currency:
          type: string
        tax_total:
          type: number
        tax_exempt:
          type: boolean
        tax_total_in_currency:
          type: string
        tax_total_for_display:
          type: string
        inclusive_shipping_tax:
          type: number
        shipping_total:
          type: number
        shipping_total_in_currency:
          type: string
        shipping_total_for_display:
          type: string
        discount_total:
          type: number
        discount_total_in_currency:
          type: string
        subtotal_after_discounts:
          type: number
        subtotal_after_discounts_in_currency:
          type: string
        price_inclusive_of_tax:
          type: boolean
        price_inclusive_tax_name:
          type:
            - string
            - 'null'
        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.
        enrollment_fee:
          type:
            - number
            - string
        enrollment_fee_in_currency:
          type: string
        transaction_fee:
          type:
            - number
            - string
        transaction_fee_in_currency:
          type: string
        shipping_discount:
          type: number
        discount_codes:
          type: array
          items:
            type: string
        product_discount_codes:
          type: array
          items:
            type: string
        shipping_discount_codes:
          type: array
          items:
            type: string
        customer_total_points:
          type: integer
        customer_total_points_in_currency:
          type: string
        points_applied:
          type: integer
        points_applied_amount_in_currency:
          type: string
        remaining_customer_points:
          type: integer
        remaining_customer_points_amount_in_currency:
          type: string
        remaining_cart_amount_after_points:
          type: number
        remaining_cart_amount_after_points_in_currency:
          type: string
        max_applicable_points:
          type: integer
        total_creditable_points:
          type: integer
        shipping_address:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        billing_address:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        discount_breakdown:
          type: object
          additionalProperties: false
          properties:
            internal_discounts:
              type: number
            external_discounts:
              type: number
            total_discounts:
              type: number
        external_discount:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
        buyer_rep:
          type:
            - object
            - 'null'
          additionalProperties: false
          properties:
            id:
              type:
                - integer
                - 'null'
            email:
              type: string
            full_name:
              type: string
            image_url:
              type:
                - string
                - 'null'
            external_id:
              type:
                - string
                - 'null'
        buyer_rep_member_id:
          type:
            - string
            - 'null'
          format: uuid
          description: >-
            Durable member UUID of the buyer rep, or `null` when the cart has no
            buyer rep. Populated for both legacy and native reps.
        volume_rep:
          type:
            - object
            - 'null'
          additionalProperties: false
          properties:
            id:
              type:
                - integer
                - 'null'
            email:
              type: string
            full_name:
              type: string
            image_url:
              type:
                - string
                - 'null'
        volume_rep_member_id:
          type:
            - string
            - 'null'
          format: uuid
          description: >-
            Durable member UUID of the volume rep, or `null` when the cart has
            no volume rep. Populated for both legacy and native reps.
        available_shipping_methods:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              id:
                type:
                  - string
                  - integer
              title:
                type: string
              price:
                type: number
              delivery_time_estimate:
                type:
                  - string
                  - 'null'
              price_label:
                type:
                  - string
                  - 'null'
        available_payment_methods:
          type: array
          items:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/JsonValue'
        payment_account:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        shipping_method:
          type:
            - object
            - 'null'
          additionalProperties: false
          properties:
            id:
              type: string
            name:
              type: string
        payment_method:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        items:
          type: array
          items:
            $ref: '#/components/schemas/CartItem'
        ship_to:
          $ref: '#/components/schemas/CartAddress'
        bill_to:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        attribution:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        agreements:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              id:
                type: integer
              title:
                type: string
              show_at_checkout:
                type: boolean
              default_checked:
                type: boolean
              subscription_only:
                type: boolean
              standalone_on_checkout:
                type: boolean
              show_path:
                type: string
              enrollment_pack_id:
                type:
                  - integer
                  - 'null'
              required:
                type: boolean
        country:
          $ref: '#/components/schemas/CartCountry'
        company:
          $ref: '#/components/schemas/CartCompany'
        enrollment_pack:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        recurring:
          type: array
          items:
            type: object
            additionalProperties: false
            required:
              - subtotal
              - subtotal_in_currency
              - interval
              - interval_unit
              - interval_unit_identifier
              - subtotal_for_display
              - start_date
            properties:
              subtotal:
                type: number
              subtotal_in_currency:
                type: string
              interval:
                type: integer
              interval_unit:
                type: string
              interval_unit_identifier:
                type: string
                enum:
                  - day
                  - week
                  - month
                  - year
              subtotal_for_display:
                type: string
              start_date:
                type: string
    CartItem:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
        title:
          type: string
        quantity:
          type: integer
        price:
          type: string
        price_in_currency:
          type: string
        discount_amount:
          type: string
        discount_amount_in_currency:
          type: string
        tax:
          type: string
        tax_in_currency:
          type: string
        cv:
          type:
            - string
            - 'null'
          format: decimal
        qv:
          type:
            - string
            - 'null'
          format: decimal
        cv_total:
          type:
            - string
            - 'null'
          format: decimal
        qv_total:
          type:
            - string
            - 'null'
          format: decimal
        total:
          type: string
        total_in_currency:
          type: string
        line_total_in_currency:
          type: string
        total_after_discounts:
          type: string
        total_after_discounts_in_currency:
          type: string
        line_total_after_discounts_in_currency:
          type: string
        regular_line_total_in_currency:
          type: string
          description: >-
            The one-time/regular price total (unit regular price times
            quantity), independent of the item's current subscription state.
            Unlike line_total_in_currency, this does not change when the item is
            subscribed.
        unit_price_display_authoritative:
          type: boolean
        enrollment_pack_id:
          type:
            - integer
            - 'null'
        subscription:
          type: boolean
        subscription_plan_id:
          type:
            - integer
            - 'null'
        subscription_plans:
          type: array
          items:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/JsonValue'
        subscription_only:
          type:
            - boolean
            - 'null'
        subscription_interval:
          type:
            - integer
            - 'null'
        subscription_interval_unit:
          type:
            - string
            - 'null'
        subscription_interval_unit_identifier:
          type:
            - string
            - 'null'
        subscription_price:
          type:
            - string
            - number
            - 'null'
        subscription_price_in_currency:
          type:
            - string
            - 'null'
        subscription_start:
          type:
            - string
            - 'null'
        subscribe_and_save:
          type:
            - string
            - number
            - 'null'
        subscribe_and_save_in_currency:
          type:
            - string
            - 'null'
        subscribe_and_save_for_display:
          type:
            - string
            - 'null'
        display_to_customer:
          type: boolean
        metadata:
          anyOf:
            - type: object
              additionalProperties:
                $ref: '#/components/schemas/JsonValue'
            - type: 'null'
        image_url:
          type:
            - string
            - 'null'
        free_item:
          type: boolean
        allow_subscription:
          type: boolean
        enrollment:
          type: boolean
        errors:
          type: array
          items:
            type: string
        creditable_points:
          type: integer
        product:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
        variant:
          type:
            - object
            - 'null'
          additionalProperties: false
          properties:
            id:
              type: integer
            title:
              type:
                - string
                - 'null'
            display_name:
              type:
                - string
                - 'null'
            image_url:
              type:
                - string
                - 'null'
            image_path:
              type:
                - string
                - 'null'
            sku:
              type:
                - string
                - 'null'
            primary_image:
              type:
                - string
                - 'null'
            price:
              type:
                - number
                - string
                - 'null'
            price_in_currency:
              type: string
            currency_code:
              type:
                - string
                - 'null'
            options:
              type: array
              items:
                type: object
                additionalProperties: false
                properties:
                  title:
                    type: string
                  value:
                    type: string
            physical:
              type:
                - boolean
                - 'null'
            unit_of_size:
              type:
                - string
                - 'null'
            height:
              type:
                - number
                - 'null'
            width:
              type:
                - number
                - 'null'
            length:
              type:
                - number
                - 'null'
            unit_of_weight:
              type:
                - string
                - 'null'
            weight:
              type:
                - string
                - 'null'
            hs_code:
              type:
                - string
                - 'null'
        bundled_items:
          type:
            - array
            - 'null'
          items:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/JsonValue'
        product_title:
          type:
            - string
            - 'null'
    CartAddress:
      type:
        - object
        - 'null'
      additionalProperties: false
      properties:
        id:
          type: integer
        name:
          type:
            - string
            - 'null'
        address1:
          type:
            - string
            - 'null'
        address2:
          type:
            - string
            - 'null'
        address3:
          type:
            - string
            - 'null'
        city:
          type:
            - string
            - 'null'
        state:
          type:
            - string
            - 'null'
        subdivision_code:
          type:
            - string
            - 'null'
        postal_code:
          type:
            - string
            - 'null'
        country_code:
          type:
            - string
            - 'null'
        phone:
          type:
            - string
            - 'null'
        country_num_code:
          type:
            - integer
            - 'null'
        default:
          type: boolean
    CartCountry:
      type:
        - object
        - 'null'
      additionalProperties: false
      properties:
        id:
          type: integer
        name:
          type: string
        iso:
          type: string
        iso_name:
          type: string
        iso3:
          type: string
        currency_code:
          type: string
        currency_symbol:
          type: string
        province_required:
          type: boolean
        tax_enabled:
          type:
            - boolean
            - 'null'
        price_inclusive_of_tax:
          type:
            - boolean
            - 'null'
        price_inclusive_tax_name:
          type:
            - string
            - 'null'
        tax_standard_rate:
          type:
            - number
            - 'null'
          description: Standard tax rate (percent) used for inclusive-pricing countries
    CartCompany:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
        name:
          type: string
        favicon_url:
          type:
            - string
            - 'null'
        primary_domain_hostname:
          type:
            - string
            - 'null'
        subdomain:
          type:
            - string
            - 'null'
        logo_url:
          type:
            - string
            - 'null'
        fluid_shop:
          type:
            - string
            - 'null'
        collect_phone:
          type: boolean
        require_phone:
          type: boolean
        require_billing_zip:
          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'
        order_on_behalf:
          type: boolean
        reward_points_enabled:
          type: boolean
        reward_points_apply_to_subtotal:
          type: boolean
        reward_points_label_singular:
          type: string
        reward_points_label_plural:
          type: string
        collect_sms_marketing:
          type: boolean
        collect_email_marketing:
          type: boolean
        bundle_subscriptions:
          type: boolean
        hide_volume_on_customer_surfaces:
          type: boolean
          description: >-
            Whether commissionable/qualifying volume (CV/QV) is hidden on
            customer-facing surfaces. Always a real boolean — the blueprint
            reads the strict Company#hide_volume_on_customer_surfaces?
            predicate, not the raw settings value.
        isolated_payment_tokens:
          type: boolean
          description: >-
            When true, this company's payment tokens and customer profile are
            isolated from the shared FluidPayAccount wallet. Clients must use
            customer-scoped PM/address mutation routes.
        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.

````