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

# Order checkout

> Order checkout



## OpenAPI

````yaml oms_v1 post /api-order/checkout
openapi: 3.0.0
info:
  description: Order Management System
  version: 1.0.0
  title: Orders v1 (OMS v1)
  contact:
    email: oms-team@fabric.inc
  license:
    name: fabric API license
    url: https://fabric.inc/api-license
servers:
  - url: https://prod01-apigw.{customer_name}.fabric.zone
    description: Production
    variables:
      customer_name:
        default: yourcompany
        description: Customer name, provided by support team
security: []
tags:
  - name: Cart
    description: >-
      Cart APIs<br /><br />**Note:** These are the legacy Cart APIs. To view
      fabric's new Cart APIs, navigate to *Cart API > Cart* from the left side
      navigation pane.
  - name: Bill To
    description: Bill To APIs [Deprecated]
  - name: Ship To
    description: >-
      Ship To APIs<br /><br />**Note:** These are the legacy Ship To APIs. To
      view fabric's new Shipping APIs, navigate to *Cart API > Shipping* from
      the left side navigation pane.
  - name: Wishlist
    description: Wishlist APIs
  - name: Cart Decoupled
    description: Cart Decoupled APIs
  - name: Warehouse
    description: Warehouse APIs
  - name: Inventory
    description: Inventory APIs
  - name: Attributes
    description: >-
      Attributes APIs<br /><br />**Note:** These are the legacy Attribute APIs.
      To view fabric's new Attribute APIs, navigate to *Cart API > Attribute*
      from the left side navigation pane.
  - name: List
    description: List APIs
  - name: Tax/Address Validate
    description: Tax/Address Validate APIs
  - name: Shipping
    description: Shipping APIs
  - name: Payments
    description: Payments APIs
  - name: Order
    description: Order APIs
paths:
  /api-order/checkout:
    post:
      tags:
        - Order
      summary: Order checkout
      description: Order checkout
      operationId: orderCheckout
      parameters:
        - in: header
          name: x-api-key
          schema:
            type: string
            example: 0LybWR49k95cCwYh3cu0waCYoh4H2Eux2J52wn4k
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - cartId
                - paymentDetails
                - estimatedTax
              anyOf:
                - required:
                    - customerEmail
                - required:
                    - customerPhoneNumber
              properties:
                cartId:
                  type: string
                  minLength: 24
                  maxLength: 24
                  example: 5e4876e10cfe1d8902005d33
                customerAccountId:
                  type: string
                  example: 5e3598e3007c5e00080d2bb8
                  minLength: 3
                customerEmail:
                  type: string
                  format: email
                  minLength: 3
                customerPhoneNumber:
                  type: object
                  required:
                    - number
                    - kind
                  properties:
                    number:
                      type: string
                      minLength: 5
                      maxLength: 25
                      example: 123-456-7890
                    kind:
                      type: string
                      minLength: 3
                      maxLength: 25
                      example: Mobile
                paymentDetails:
                  type: array
                  minItems: 1
                  items:
                    type: object
                    required:
                      - transactionDetails
                      - billToAddress
                      - paymentMethod
                      - paymentKind
                      - amount
                      - currency
                    properties:
                      billToId:
                        type: number
                        example: 1000001
                      shipToId:
                        type: array
                        minItems: 1
                        items:
                          type: number
                        example:
                          - 1000001
                          - 1000002
                      transactionDetails:
                        type: object
                        anyOf:
                          - required:
                              - tokenizedPaymentMethod
                              - paymentType
                          - required:
                              - cardNumber
                              - expDate
                              - cvv
                              - paymentType
                        properties:
                          paymentType:
                            type: string
                            enum:
                              - CARD
                              - NON_CARD
                            example: CARD
                            minLength: 4
                            maxLength: 8
                          tokenizedPaymentMethod:
                            type: string
                            example: 12fyg3fv4dbb56bbd7dfb890123456
                          cardNumber:
                            type: string
                            minLength: 13
                            maxLength: 19
                            example: '1234567890123456'
                          expDate:
                            type: string
                            minLength: 4
                            maxLength: 4
                            example: '0220'
                          cvv:
                            type: string
                            minLength: 3
                            maxLength: 4
                            example: '123'
                          cardHolderFullName:
                            type: string
                            minLength: 0
                            maxLength: 100
                            example: Mr John Smith
                          metadata:
                            type: object
                            default: {}
                      paymentMethod:
                        type: string
                        example: Visa
                        minLength: 2
                      paymentKind:
                        type: string
                      amount:
                        type: number
                        example: 533.33
                        minimum: 0
                      currency:
                        type: string
                        maxLength: 3
                        minLength: 3
                        example: USD
                      conversion:
                        type: number
                        default: 1
                        example: 1.12
                      billToAddress:
                        type: object
                        required:
                          - name
                          - email
                          - street1
                          - city
                          - state
                          - country
                          - zipCode
                        properties:
                          name:
                            type: object
                            required:
                              - first
                              - last
                            properties:
                              first:
                                type: string
                                minLength: 2
                                maxLength: 50
                                example: John
                              middle:
                                type: string
                                minLength: 1
                                maxLength: 50
                                example: Paul
                              last:
                                type: string
                                minLength: 2
                                maxLength: 50
                                example: Smith
                          email:
                            type: string
                            format: email
                            example: johnsmith@fabric.inc
                            minLength: 3
                          phone:
                            type: object
                            required:
                              - number
                              - kind
                            properties:
                              number:
                                type: string
                                minLength: 5
                                maxLength: 25
                                example: 123-456-7890
                              kind:
                                type: string
                                minLength: 3
                                maxLength: 25
                                example: Mobile
                          street1:
                            type: string
                            example: 10400 NE 4th St
                          street2:
                            type: string
                            example: Suite 500
                          city:
                            type: string
                            example: Bellevue
                            minLength: 2
                          state:
                            type: string
                            example: WA
                            minLength: 2
                          country:
                            type: string
                            example: USA
                            minLength: 2
                          zipCode:
                            type: string
                            example: '98004'
                            minLength: 2
                          kind:
                            type: string
                            example: Bill to address
                estimatedTax:
                  type: object
                  required:
                    - itemsTaxes
                    - shipToTaxes
                  properties:
                    itemsTaxes:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        required:
                          - lineItemId
                          - amount
                        properties:
                          lineItemId:
                            type: number
                            minimum: 1
                            example: 2
                          amount:
                            type: number
                            minimum: 0
                            example: 20
                    shipToTaxes:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        required:
                          - shipToId
                          - amount
                        properties:
                          shipToId:
                            type: string
                            minLength: 24
                            maxLength: 24
                            example: 5ec35a857e6cac8d99a57d3b
                          amount:
                            type: number
                            minimum: 0
                            example: 20
                shipFrom:
                  type: object
                  required:
                    - street1
                    - city
                    - state
                    - country
                    - zipCode
                  properties:
                    street1:
                      type: string
                      example: 10400 NE 4th St
                    city:
                      type: string
                      example: Bellevue
                      minLength: 2
                    state:
                      type: string
                      example: WA
                      minLength: 2
                    country:
                      type: string
                      example: USA
                      minLength: 2
                    zipCode:
                      type: string
                      example: '98004'
                      minLength: 2
      responses:
        '200':
          description: Order checkout
          content:
            application/json:
              schema:
                type: object
                properties:
                  checkoutComplete:
                    type: boolean
                    example: true
                  orderId:
                    type: string
                    example: 9376-1544-24209
        '400':
          $ref: '#/components/responses/GenericClientError'
        '404':
          description: Cart item ship to are missing
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    description: The error code
                    type: string
                    example: CART_SHIP_TO_ERROR
                  message:
                    description: The error message
                    type: string
                    example: Cart item ship to are missing.
        '500':
          $ref: '#/components/responses/GenericServerError'
components:
  responses:
    GenericClientError:
      description: A generic client error
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                description: The error code
                type: string
              message:
                description: The error message
                type: string
    GenericServerError:
      description: A generic server error
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                description: The error code
                type: string
              message:
                description: The error message
                type: string

````