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

# Update checkout experience

> Change a checkout experience's settings. Only the fields you send are
changed.

Changes to an experience that is live in the checkout tree take effect for
shoppers immediately.

Requires the [`checkout_write`](/docs/api-reference/scopes) scope.




## OpenAPI

````yaml /api-schema/openapi.yaml patch /stores/{storeId}/checkout-experiences/{checkoutExperienceId}
openapi: 3.1.0
info:
  contact:
    email: engineering-admin@getredo.com
    name: Redo Engineering
  description: |
    ## Endpoints

    Endpoints are authenticated using the Bearer authorization scheme, using the
    REDO_API_SECRET.

    ```txt
    GET /v2.2/resource HTTP/1.1
    Authorization: Bearer 77bb7598b7a972475cc7c7e171ec33af
    Host: api.getredo.com
    ```

    ## Webhooks

    Webhooks are authenticated using the Bearer authorization scheme, using
    a secret supplied by the subscriber.

    ```txt
    POST /events HTTP/1.1
    Authorization: Bearer subscriberauth123
    Host: subscriber.example.com
    ```

    Webhook events are delivered in order for each individual subject (e.g.
    return).

    If the response is not a 2xx status code, the event will be retried multiple
    times before discarding it.
  title: Redo API
  version: 2.2.1
servers:
  - url: https://api.getredo.com/v2.2
security: []
tags:
  - description: >-
      Group several products under one product shoppers buy, so a returned
      bundle can be broken back into the products it contains.
    name: Bundles
  - name: Checkout Buttons
  - description: >-
      Manage the shipping methods shown at checkout. A checkout experience is a
      named group of shipping methods; the store's checkout tree decides which
      shoppers see which experience.
    name: Checkout Experiences
  - name: Coverage Info
  - name: Coverage Products
  - name: Custom Events
  - name: Customer Portal
  - name: Customer Subscriptions
  - name: Customers
  - name: Inbound Shipments
  - name: Inventory Items
  - name: Inventory Levels
  - name: Invoices
  - name: Merchant Admin
  - name: Orders
  - name: Products
  - name: Returns
  - description: >-
      Push orders into Redo from a commerce platform Redo does not support
      directly, so shoppers can return them.
    name: Returns Custom Integration
  - name: Storefront
  - name: Webhooks
paths:
  /stores/{storeId}/checkout-experiences/{checkoutExperienceId}:
    summary: Checkout Experience
    description: Checkout experience.
    parameters:
      - $ref: '#/components/parameters/store-id.param'
      - $ref: '#/components/parameters/checkout-experience-id.param'
    patch:
      tags:
        - Checkout Experiences
      summary: Update checkout experience
      description: >
        Change a checkout experience's settings. Only the fields you send are

        changed.


        Changes to an experience that is live in the checkout tree take effect
        for

        shoppers immediately.


        Requires the [`checkout_write`](/docs/api-reference/scopes) scope.
      operationId: Checkout experience update
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/checkout-experience-update-request.schema'
            examples:
              rename:
                summary: Rename the experience
                value:
                  name: Holiday rates
              set_delay:
                summary: Assume two days of fulfillment delay
                value:
                  fulfillmentDelayDaysOverride: 2
              clear_delay:
                summary: Fall back to the store-level delay
                value:
                  fulfillmentDelayDaysOverride: null
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkout-experience-write-response.schema'
              examples:
                updated:
                  summary: The updated experience's ID
                  value:
                    checkoutExperienceId: 66b2f1c9e4b0a1d2c3f4a5b6
          description: Updated
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/error.schema'
              examples:
                invalid_delay:
                  summary: A negative or fractional fulfillment delay
                  value:
                    type: com.getredo.api:checkout/invalid-request
                    title: Invalid checkout configuration
                    detail: >-
                      fulfillmentDelayDaysOverride must be a whole number of
                      days, zero or more.
          description: >-
            Invalid request body, a blank name, a fulfillment delay that is not
            a whole number of days zero or more, or landed costs enabled over an
            incompatible shipping method. Returned with type
            `com.getredo.api:checkout/invalid-request`.
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/error.schema'
          description: >-
            No checkout experience with this ID exists for the store. Returned
            with type `com.getredo.api:checkout/not-found`.
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/error.schema'
          description: Error
      security:
        - Bearer: []
components:
  parameters:
    store-id.param:
      description: Store ID
      in: path
      name: storeId
      required: true
      schema:
        example: 64e5a8a1af49a89df37e4ee7
        type: string
    checkout-experience-id.param:
      description: Checkout experience ID.
      in: path
      name: checkoutExperienceId
      required: true
      schema:
        example: 66b2f1c9e4b0a1d2c3f4a5b6
        type: string
  schemas:
    checkout-experience-update-request.schema:
      description: Only the fields you send are changed.
      properties:
        name:
          description: New merchant-facing name. Must not be blank.
          example: Holiday rates
          type: string
        addLandedCosts:
          description: >-
            Add landed costs (duties and import fees) to every shipping method's
            price in this experience. Enabling it fails if a method uses a
            carrier service that does not support landed cost calculation.
          type: boolean
        fulfillmentDelayDaysOverride:
          description: >-
            Days of fulfillment delay to assume for delivery estimates across
            this experience, overriding the store-level value. A whole number of
            days, zero or more. Send `null` to remove the override so the
            store-level value applies again.
          example: 2
          minimum: 0
          type:
            - integer
            - 'null'
      title: Checkout experience update request
      type: object
    checkout-experience-write-response.schema:
      properties:
        checkoutExperienceId:
          description: >-
            The checkout experience that was written. Read it back with `GET
            /stores/{storeId}/checkout-experiences/{checkoutExperienceId}`.
          example: 66b2f1c9e4b0a1d2c3f4a5b6
          type: string
      required:
        - checkoutExperienceId
      title: Checkout experience write result
      type: object
    error.schema:
      description: >-
        Problem details. See [RFC 7807 Section
        3](https://datatracker.ietf.org/doc/html/rfc7807#section-3).
      properties:
        detail:
          description: Human-readable description of the problem.
          title: Detail
          type: string
        instance:
          description: A URI reference that identifies this problem.
          format: uri-reference
          type: string
        title:
          description: Human-readable summary of the problem type.
          title: Title
          type: string
        type:
          default: about:blank
          description: A URI reference that identifies the problem type.
          format: uri-reference
          type: string
      title: Problem details
      type: object
  securitySchemes:
    Bearer:
      scheme: bearer
      type: http

````