{
  "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/>\nNOTE: These are sample values, there are many\n<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>\n<li style='margin-left: 12px;'>JSONPath referring to a field containing an error</li>\n<strong style='margin-left: 12px;'>OR</strong>\n<li style='margin-left: 12px;'>JSONPath referring to a field that refers to an object containing an error, with more detail in `pathRelated`</li>\n</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.\nThe 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.\nThe 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.\nMost 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.\n This field is only set for certain payment categories, such as ACH and CREDIT_CARD.\nMost common values are listed in the enum.",
            "enum": [
              "CHECKING_PERSONAL",
              "CHECKING_BUSINESS",
              "VISA",
              "MASTER_CARD",
              "AMEX",
              "JCB",
              "UNIONPAY"
            ],
            "type": "string"
          }
        },
        "required": [
          "paymentProfileId",
          "amount",
          "category"
        ]
      }
    }
  }
}