openapi: 3.0.0
servers:
  - url: //api.ote-godaddy.com
info:
  title: ""
  version: 1.0.0
  x-apisguru-categories:
    - hosting
  x-origin:
    - format: swagger
      url: https://developer.godaddy.com/swagger/swagger_orders.json
      version: "2.0"
  x-providerName: ote-godaddy.com
  x-serviceName: orders
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg
tags:
  - description: ""
    name: v1
paths:
  /v1/orders:
    get:
      description: <strong>API Resellers</strong><ul><li>This endpoint does not support subaccounts and therefore API Resellers should not supply an X-Shopper-Id header</li></ul>
      operationId: list
      parameters:
        - description: Start of range indicating what time-frame should be returned. Inclusive
          in: query
          name: periodStart
          required: false
          schema:
            type: string
        - description: End of range indicating what time-frame should be returned. Inclusive
          in: query
          name: periodEnd
          required: false
          schema:
            type: string
        - description: Domain name to use as the filter of results
          in: query
          name: domain
          required: false
          schema:
            type: string
        - description: Product group id to use as the filter of results
          in: query
          name: productGroupId
          required: false
          schema:
            type: integer
        - description: Payment profile id to use as the filter of results
          in: query
          name: paymentProfileId
          required: false
          schema:
            type: integer
        - description: Parent order id to use as the filter of results
          in: query
          name: parentOrderId
          required: false
          schema:
            type: string
        - description: Number of results to skip for pagination
          in: query
          name: offset
          required: false
          schema:
            default: 0
            type: integer
        - description: Maximum number of items to return
          in: query
          name: limit
          required: false
          schema:
            default: 25
            maximum: 10000
            minimum: 1
            type: integer
        - description: Property name that will be used to sort results. '-' indicates descending
          in: query
          name: sort
          required: false
          schema:
            default: -createdAt
            enum:
              - createdAt
              - -createdAt
              - orderId
              - -orderId
              - pricing.total
              - -pricing.total
            type: string
        - description: Shopper ID to be operated on, if different from JWT<br/><b>Reseller subaccounts are not supported</b>
          in: header
          name: X-Shopper-Id
          required: false
          schema:
            type: string
        - description: Unique identifier of the Market in which the request is happening
          in: header
          name: X-Market-Id
          required: false
          schema:
            default: en-US
            type: string
      responses:
        "200":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/OrderList"
            application/json:
              schema:
                $ref: "#/components/schemas/OrderList"
            application/xml:
              schema:
                $ref: "#/components/schemas/OrderList"
            text/javascript:
              schema:
                $ref: "#/components/schemas/OrderList"
            text/xml:
              schema:
                $ref: "#/components/schemas/OrderList"
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
        "504":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Gateway timeout
      summary: Retrieve a list of orders for the authenticated shopper. Only one filter may be used at a time
      tags:
        - v1
  "/v1/orders/{orderId}":
    get:
      description: <strong>API Resellers</strong><ul><li>This endpoint does not support subaccounts and therefore API Resellers should not supply an X-Shopper-Id header</li></ul>
      operationId: get
      parameters:
        - description: Order id whose details are to be retrieved
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - description: Shopper ID to be operated on, if different from JWT<br/><b>Reseller subaccounts are not supported</b>
          in: header
          name: X-Shopper-Id
          required: false
          schema:
            type: string
        - description: Unique identifier of the Market in which the request is happening
          in: header
          name: X-Market-Id
          required: false
          schema:
            default: en-US
            type: string
      responses:
        "200":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Order"
            application/json:
              schema:
                $ref: "#/components/schemas/Order"
            application/xml:
              schema:
                $ref: "#/components/schemas/Order"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Order"
            text/xml:
              schema:
                $ref: "#/components/schemas/Order"
          description: Request was successful
        "400":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Request was malformed
        "401":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authentication info not sent or invalid
        "403":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Authenticated user is not allowed access
        "404":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Resource not found
        "429":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            application/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/javascript:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
            text/xml:
              schema:
                $ref: "#/components/schemas/ErrorLimit"
          description: Too many requests received within interval
        "500":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Internal server error
        "504":
          content:
            application/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
            application/xml:
              schema:
                $ref: "#/components/schemas/Error"
            text/javascript:
              schema:
                $ref: "#/components/schemas/Error"
            text/xml:
              schema:
                $ref: "#/components/schemas/Error"
          description: Gateway timeout
      summary: Retrieve details for specified order
      tags:
        - v1
components:
  schemas:
    Address:
      properties:
        address1:
          format: street-address
          type: string
        address2:
          format: street-address2
          type: string
        city:
          format: city-name
          type: string
        country:
          default: US
          description: |-
            Two-letter ISO country code to be used as a hint for target region<br/><br/>
            NOTE: These are sample values, there are many
            <a href='http://www.iso.org/iso/country_codes.htm'>more</a>
          enum:
            - AC
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AO
            - AQ
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BV
            - BW
            - BY
            - BZ
            - CA
            - CC
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CR
            - CV
            - CW
            - CX
            - CY
            - CZ
            - DE
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GS
            - GT
            - GU
            - GW
            - GY
            - HK
            - HM
            - HN
            - HR
            - HT
            - HU
            - ID
            - IE
            - IL
            - IM
            - IN
            - IO
            - IQ
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KR
            - KV
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NF
            - NG
            - NI
            - NL
            - NO
            - NP
            - NR
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PN
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SE
            - SG
            - SH
            - SI
            - SJ
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - ST
            - SV
            - SX
            - SZ
            - TC
            - TD
            - TF
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TP
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - UM
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - YT
            - ZA
            - ZM
            - ZW
          format: iso-country-code
          type: string
        postalCode:
          description: Postal or zip code
          format: postal-code
          type: string
        state:
          description: State or province or territory
          format: state-province-territory
          type: string
      required:
        - address1
        - city
        - state
        - postalCode
        - country
    BillTo:
      properties:
        contact:
          $ref: "#/components/schemas/Contact"
        taxId:
          description: Tax id used for calculating the tax the customer is required to pay
          type: string
      required:
        - contact
    Contact:
      properties:
        addressMailing:
          $ref: "#/components/schemas/Address"
        email:
          format: email
          type: string
        fax:
          format: phone
          type: string
        jobTitle:
          type: string
        nameFirst:
          format: person-name
          type: string
        nameLast:
          format: person-name
          type: string
        nameMiddle:
          type: string
        organization:
          format: organization-name
          type: string
        phone:
          format: phone
          type: string
      required:
        - nameFirst
        - nameLast
        - email
        - phone
        - addressMailing
    Error:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        fields:
          description: List of the specific fields, and the errors found with their contents
          items:
            $ref: "#/components/schemas/ErrorField"
          type: array
        message:
          description: Human-readable, English description of the error
          type: string
      required:
        - code
    ErrorField:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        message:
          description: Human-readable, English description of the problem with the contents of the field
          type: string
        path:
          description: |-
            <ul>
            <li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>
            <strong style='margin-left: 12px;'>OR</strong>
            <li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>
            </ul>
          format: json-path
          type: string
        pathRelated:
          description: JSONPath referring to a field containing an error, which is referenced by `path`
          format: json-path
          type: string
      required:
        - path
        - code
    ErrorLimit:
      properties:
        code:
          description: Short identifier for the error, suitable for indicating the specific error within client code
          format: constant
          type: string
        fields:
          description: List of the specific fields, and the errors found with their contents
          items:
            $ref: "#/components/schemas/ErrorField"
          type: array
        message:
          description: Human-readable, English description of the error
          type: string
        retryAfterSec:
          description: Number of seconds to wait before attempting a similar request
          format: integer-positive
          type: integer
      required:
        - retryAfterSec
        - code
    LineItem:
      properties:
        domains:
          description: A collection of domain names purchased if the current product is domain
          items:
            type: string
          type: array
        label:
          description: Human readable description of the current product
          type: string
        period:
          default: 1
          format: double
          type: number
        periodUnit:
          default: MONTH
          description: The unit of time that periodCount is measured in
          enum:
            - MONTH
            - QUARTER
            - SEMI_ANNUAL
            - YEAR
            - ONE_TIME
          type: string
        pfid:
          description: Unique identifier of the current product
          type: integer
        pricing:
          $ref: "#/components/schemas/LineItemPricing"
        quantity:
          description: Number of the current product included in the specified order
          format: integer-positive
          type: integer
        taxCollector:
          $ref: "#/components/schemas/LineItemTaxCollector"
      required:
        - label
        - quantity
        - pricing
    LineItemPricing:
      properties:
        discount:
          description: Discount off of sale price for given `quantity` and `period` <pre>`discount` = `sale` - `subtotal`</pre>
          format: currency-micro-unit
          type: integer
        fees:
          $ref: "#/components/schemas/OrderFee"
        list:
          description: List price for given `quantity` and `period`
          format: currency-micro-unit
          type: integer
        sale:
          description: Actual price for the current product
          format: currency-micro-unit
          type: integer
        savings:
          description: Savings off of list price for given `quantity` and `period` <pre>`savings` = `list` - `subtotal`</pre>
          format: currency-micro-unit
          type: integer
        subtotal:
          description: Price with any discounts and without taxes or fees for given `quantity` and `period`
          format: currency-micro-unit
          type: integer
        taxes:
          description: Taxes for given `quantity` and `period`
          format: currency-micro-unit
          type: integer
        unit:
          description: Pricing for a single unit of the given item
          type: object
      required:
        - subtotal
        - list
        - savings
        - sale
        - discount
        - taxes
        - fees
        - unit
    LineItemPricingTaxDetail:
      properties:
        amount:
          description: Tax amount
          format: currency-micro-unit
          type: integer
        rate:
          format: double
          type: number
      required:
        - ""
    LineItemSummary:
      properties:
        label:
          description: Product label of the current line item
          type: string
      required:
        - label
    LineItemTaxCollector:
      properties:
        taxCollectorId:
          description: Unique identifier for the company
          format: integer-positive
          type: integer
      required:
        - taxCollectorId
    LineItemUnitPricing:
      properties:
        discount:
          description: Discount without consideration of `quantity` and `period`
          format: currency-micro-unit
          type: integer
        fees:
          $ref: "#/components/schemas/OrderFee"
        list:
          description: List price without consideration of `quantity` and `period`
          format: currency-micro-unit
          type: integer
        sale:
          description: Sale price without consideration of `quantity` and `period`
          format: currency-micro-unit
          type: integer
        savings:
          description: Savings without consideration of `quantity` and `period`
          format: currency-micro-unit
          type: integer
        taxes:
          description: Taxes without consideration of `quantity` and `period`
          format: currency-micro-unit
          type: integer
      required:
        - discount
        - fees
        - list
        - sale
        - savings
        - taxes
    Order:
      properties:
        billTo:
          $ref: "#/components/schemas/BillTo"
        createdAt:
          description: Date and time when the current order is created on
          format: iso-datetime
          type: string
        currency:
          description: Currency in which the order has been placed
          format: iso-currency-code
          type: string
        items:
          items:
            $ref: "#/components/schemas/LineItem"
          type: array
        orderId:
          description: Unique identifier of current order
          type: string
        parentOrderId:
          description: |-
            Unique identifier of the parent order. All refund/chargeback orders are tied to the original order.
            The orginal order's `orderId` is the `parentOrderId` of refund/chargeback orders
          type: string
        payments:
          items:
            $ref: "#/components/schemas/Payment"
          type: array
        pricing:
          $ref: "#/components/schemas/OrderPricing"
      required:
        - orderId
        - currency
        - createdAt
        - pricing
        - billTo
        - payments
        - items
    OrderFee:
      properties:
        icann:
          description: Domain registration transaction fee charged by ICANN
          format: currency-micro-unit
          type: integer
        total:
          description: Sum of all fees
          format: currency-micro-unit
          type: integer
      required:
        - total
    OrderList:
      properties:
        orders:
          description: A collection of orders
          items:
            $ref: "#/components/schemas/OrderSummary"
          type: array
        pagination:
          $ref: "#/components/schemas/Pagination"
      required:
        - orders
        - pagination
    OrderPricing:
      properties:
        discount:
          description: Discount from promotional pricing
          format: currency-micro-unit
          type: integer
        fees:
          $ref: "#/components/schemas/OrderFee"
        id:
          format: double
          type: number
        list:
          description: Sum of list prices for the entire cart
          format: currency-micro-unit
          type: integer
        savings:
          description: Savings off of list price <pre>`savings` = `list` - `subtotal`</pre>
          format: currency-micro-unit
          type: integer
        subtotal:
          description: Price with `discount` and without taxes or fees
          format: currency-micro-unit
          type: integer
        taxDetails:
          description: A collection of line item tax details
          items:
            $ref: "#/components/schemas/LineItemPricingTaxDetail"
          type: array
        taxes:
          description: Taxes for the entire cart
          format: currency-micro-unit
          type: integer
        total:
          description: Price the customer pays <pre>`total` = `subtotal` + `taxes` + `fees.total`</pre>
          format: currency-micro-unit
          type: integer
      required:
        - total
        - subtotal
        - list
        - savings
        - discount
        - taxes
        - fees
    OrderSummary:
      properties:
        createdAt:
          description: Date and time when the current order was created
          format: iso-datetime
          type: string
        currency:
          description: Currency in which the order was placed
          format: iso-currency-code
          type: string
        items:
          description: Sets of two or more line items in current order
          items:
            $ref: "#/components/schemas/LineItemSummary"
          type: array
        orderId:
          description: Unique identifier of the current order
          type: string
        parentOrderId:
          description: |-
            Unique identifier of the parent order. All refund/chargeback orders are tied to the original order.
            The orginal order's `orderId` is the `parentOrderId` of refund/chargeback orders
          type: string
        pricing:
          $ref: "#/components/schemas/OrderSummaryPricing"
      required:
        - orderId
        - currency
        - createdAt
        - pricing
        - items
    OrderSummaryPricing:
      properties:
        total:
          description: Total amount charged for the current order. Negative for Refund and Chargeback
          format: currency-micro-unit
          type: string
      required:
        - total
    Pagination:
      properties:
        first:
          description: URI to access the first page
          type: string
        last:
          description: URI to access the last page
          type: string
        next:
          description: URI to access the next page
          type: string
        previous:
          description: URI to access the previous page
          type: string
        total:
          description: Number of records available
          type: integer
    Payment:
      properties:
        amount:
          description: Amount paid by the current payment
          format: currency-micro-unit
          type: integer
        category:
          description: |-
            The category of payment method used at the time of purchase.
            Most common values are listed in the enum.
          enum:
            - CREDIT_CARD
            - PAYPAL
            - ACH
            - GIFT_CARD
            - IN_STORE_CREDIT
            - PREPAID
          type: string
        paymentProfileId:
          description: Unique identifier of the payment profile used by current payment
          type: string
        subcategory:
          description: |-
            The subcategory of payment method used at the time of purchase.
             This field is only set for certain payment categories, such as ACH and CREDIT_CARD.
            Most common values are listed in the enum.
          enum:
            - CHECKING_PERSONAL
            - CHECKING_BUSINESS
            - VISA
            - MASTER_CARD
            - AMEX
            - JCB
            - UNIONPAY
          type: string
      required:
        - paymentProfileId
        - amount
        - category
