Data Types

Date/Times

All date and date-time values use ISO 8601 format (no milliseconds/microseconds) and are stored in UTC. For example, 2019-08-24T14:15:22Z represents August 24, 2019 at 14:15:22 UTC. Use standard language constructs to format dates, e.g., Date.prototype.toISOString() in JavaScript or Python’s datetime module.

{
  "timestamp": "2023-11-30T17:37:12Z",
  "startDate": "2023-12-22T14:15:22Z",
  "endDate": "2024-12-22T14:15:21Z"
}

If no timezone offset is provided, the API assumes the value is in UTC. Partners should either convert local times to UTC before submission or include a timezone offset.

Currencies

Currency codes should follow the standard three-character ISO 4217 format. The given currency will be converted to a point-in-time price in USD, according to the provided timestamp value.

{
  "currencyCode": "USD"
}

Amounts

The spotCost amount should be a positive number, with a maximum of two decimal places. Thus, the provided number, when multiplied by 100, should be a valid ISO 4217:2015 integer value, indicating an amount in cents.

{
  "spotCost": 12.99
}

Addresses

Country codes must be a two-character alpha code per ISO 3166-1 alpha-2, if provided. For example, "US" or "CA". States in the USA as well as provinces in Canada shall be provided using their standard 2-character abbreviation code. All other countries allow a stateOrProvince code between 1 and 3 characters in length.

{
  "purchaser": {
    "firstName": "Jane",
    "lastName": "Doe",
    "dateOfBirth": "2305-07-13",
    "email": "[email protected]",
    "addressLine1": "123 Main St.",
    "addressLine2": "Apt 8472",
    "city": "Park City",
    "zipOrPostalCode": "84060",
    "country": "US",
    "stateOrProvince": "UT"
  }
}