openapi: 3.2.0
info:
title: Godaddy Orders API
servers:
- url: https://api.ote-godaddy.com
tags:
- name: Orders
paths:
/v1/orders:
get:
tags:
- Orders
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:
type: integer
default: 0
- description: Maximum number of items to return
in: query
name: limit
required: false
schema:
type: integer
default: 25
maximum: 250
minimum: 1
- description: Property name that will be used to sort results. '-' indicates descending
in: query
name: sort
required: false
schema:
type: string
enum:
- createdAt
- -createdAt
- orderId
- -orderId
- pricing.total
- -pricing.total
default: -createdAt
- description: Shopper ID to be operated on, if different from JWT
Reseller subaccounts are not supported
in: header
name: X-Shopper-Id
required: false
schema:
type: string
- description: A unique application key identifying the source of the request. This is required for request tracking
in: header
name: X-App-Key
required: true
schema:
type: string
responses:
'200':
description: Request was successful
content:
application/json:
schema:
$ref: '#/components/schemas/OrderList'
application/javascript:
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'
'400':
description: Request was malformed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'429':
description: Too many requests received within interval
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorLimit'
application/javascript:
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'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'504':
description: Gateway timeout
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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: 'API Resellers
This endpoint does not support subaccounts and therefore API Resellers should not supply an X-Shopper-Id header'
operationId: list
summary: Retrieve a list of orders for the authenticated shopper.
/v1/orders/{orderId}:
get:
tags:
- Orders
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
Reseller subaccounts are not supported
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:
type: string
default: en-US
- description: A unique application key identifying the source of the request. This is required for request tracking
in: header
name: X-App-Key
required: true
schema:
type: string
responses:
'200':
description: Request was successful
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
application/javascript:
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'
'400':
description: Request was malformed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'429':
description: Too many requests received within interval
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorLimit'
application/javascript:
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'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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'
'504':
description: Gateway timeout
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/javascript:
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: 'API Resellers
This endpoint does not support subaccounts and therefore API Resellers should not supply an X-Shopper-Id header'
operationId: get
summary: Retrieve details for specified order
components:
schemas:
LineItemSummary:
properties:
label:
description: Product label of the current line item
type: string
required:
- label
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
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
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.\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
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'
description: Pricing information of the current line item
quantity:
description: Number of the current product included in the specified order
format: integer-positive
type: integer
taxCollector:
$ref: '#/components/schemas/LineItemTaxCollector'
description: Company that collects taxes on the sale of the product
required:
- label
- quantity
- pricing
LineItemPricing:
properties:
discount:
description: Discount off of sale price for given `quantity` and `period`
`discount` = `sale` - `subtotal`format: currency-micro-unit type: integer fees: $ref: '#/components/schemas/OrderFee' description: Fees for given `quantity` and `period` 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`
`savings` = `list` - `subtotal`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 OrderSummaryPricing: properties: total: description: Total amount charged for the current order. Negative for Refund and Chargeback format: currency-micro-unit type: string required: - total Order: properties: billTo: $ref: '#/components/schemas/BillTo' description: The billing contact information that was used at the time of purchase 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' description: Pricing information for current order required: - orderId - currency - createdAt - pricing - billTo - payments - items LineItemPricingTaxDetail: properties: amount: description: Tax amount format: currency-micro-unit type: integer rate: format: double type: number required: - '' OrderPricing: properties: discount: description: Discount from promotional pricing format: currency-micro-unit type: integer fees: $ref: '#/components/schemas/OrderFee' description: Fees for the entire cart 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
`savings` = `list` - `subtotal`format: currency-micro-unit type: integer subtotal: description: Price with `discount` and without taxes or fees format: currency-micro-unit type: integer taxes: description: Taxes for the entire cart format: currency-micro-unit type: integer taxDetails: description: A collection of line item tax details items: $ref: '#/components/schemas/LineItemPricingTaxDetail' type: array total: description: Price the customer pays
`total` = `subtotal` + `taxes` + `fees.total`format: currency-micro-unit type: integer required: - total - subtotal - list - savings - discount - taxes - fees 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