AfterShip · Schema
OrderV2
The order object contains at least 1 order number (`order.number`) or 1 tracking information (`order.trackings.tracking_number`). See [Minimum Valid Parsing Result](../../docs/other/minimum_valid_parsing_result.md).
ShippingTrackingE-CommercePost-PurchaseNotificationLogisticsReturnsWarrantyAddress ValidationFulfillmentCarrierWebhookMCPRetail
Properties
| Name | Type | Description |
|---|---|---|
| number | stringnull | Order number. |
| url | stringnull | |
| placed_at | object | |
| status | stringnull | Order status. |
| store | object | |
| items | array | Items in this order. |
| shipping_address | object | |
| shipping_method | object | |
| billing_address | object | |
| total | object | |
| subtotal | object | |
| shipping_total | object | |
| tax_total | object | |
| discount_total | object | |
| other_prices | array | All other prices defined by the store (except `order_total`, `subtotal`, `shipping_total`, `tax_total`, `discount_total`). |
| trackings | array | Trackings parsed from the email. |
| estimated_delivery_datetime | object | |
| pickup | object | |
| requires_shipping | booleannull | Whether the order requires shipping. If null, it means that AfterShip Parser is uncertain whether the order needs to be shipped and the user is required to make their own judgment. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/aftership/main/json-schema/aftership-order-v2-schema.json",
"title": "OrderV2",
"description": "The order object contains at least 1 order number (`order.number`) or 1 tracking information (`order.trackings.tracking_number`). See [Minimum Valid Parsing Result](../../docs/other/minimum_valid_parsing_result.md).",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/aftership-email-parses-api-openapi.yml#/components/schemas/Order.v2",
"type": "object",
"x-stoplight": {
"id": "b9lrlkhbmsahh"
},
"additionalProperties": false,
"x-tags": [
"Primitive"
],
"x-internal": false,
"required": [
"number",
"url",
"placed_at",
"status",
"store",
"items",
"shipping_address",
"shipping_method",
"billing_address",
"total",
"subtotal",
"shipping_total",
"tax_total",
"discount_total",
"other_prices",
"trackings",
"estimated_delivery_datetime",
"pickup",
"requires_shipping"
],
"properties": {
"number": {
"type": [
"string",
"null"
],
"description": "Order number.",
"x-stoplight": {
"id": "ijg81g57hg181"
}
},
"url": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "ecflzfob96c8r"
}
},
"placed_at": {
"$ref": "#/$defs/Date_time.v2",
"x-stoplight": {
"id": "gp4262ubvn0nw"
}
},
"status": {
"type": [
"string",
"null"
],
"description": "Order status.",
"enum": [
"open",
"closed",
"canceled"
],
"x-stoplight": {
"id": "hwci5oz6yhcuz"
}
},
"store": {
"$ref": "#/$defs/Store.v2",
"x-stoplight": {
"id": "e2hedhafj1s9e"
}
},
"items": {
"type": "array",
"uniqueItems": true,
"description": "Items in this order.",
"x-stoplight": {
"id": "u6bxc7mksrdze"
},
"items": {
"$ref": "#/$defs/Order_item.v2",
"x-stoplight": {
"id": "ik5efnoqcqva9"
}
}
},
"shipping_address": {
"$ref": "#/$defs/Address.v2",
"x-stoplight": {
"id": "p1u7oy9wci45i"
}
},
"shipping_method": {
"$ref": "#/$defs/Shipping_method.v2",
"x-stoplight": {
"id": "cl3ah1f4ofafe"
}
},
"billing_address": {
"$ref": "#/$defs/Address.v2",
"x-stoplight": {
"id": "juovt70zhzyab"
}
},
"total": {
"$ref": "#/$defs/Order_total.v2",
"x-stoplight": {
"id": "u0c3h56iv5g5w"
}
},
"subtotal": {
"$ref": "#/$defs/Subtotal.v2",
"x-stoplight": {
"id": "7k8cj769osha5"
}
},
"shipping_total": {
"$ref": "#/$defs/Shipping_total.v2",
"x-stoplight": {
"id": "05jumu3namukt"
}
},
"tax_total": {
"$ref": "#/$defs/Tax_total.v2",
"x-stoplight": {
"id": "o6lujv6skow87"
}
},
"discount_total": {
"$ref": "#/$defs/Discount_total.v2",
"x-stoplight": {
"id": "1etdc097romr6"
}
},
"other_prices": {
"type": "array",
"uniqueItems": true,
"description": "All other prices defined by the store (except `order_total`, `subtotal`, `shipping_total`, `tax_total`, `discount_total`).",
"x-stoplight": {
"id": "u5d8z3l96hba2"
},
"items": {
"type": "object",
"x-stoplight": {
"id": "ap1wcgt0rvrt9"
},
"required": [
"title",
"price"
],
"properties": {
"title": {
"type": [
"string",
"null"
],
"description": "Price description.",
"x-stoplight": {
"id": "ygui70ojp85qc"
}
},
"price": {
"$ref": "#/$defs/Money.v2",
"x-stoplight": {
"id": "skd5mhi674bcn"
}
}
}
}
},
"trackings": {
"type": "array",
"uniqueItems": true,
"description": "Trackings parsed from the email.",
"x-stoplight": {
"id": "vrqslp2618t3r"
},
"items": {
"$ref": "#/$defs/Tracking.v2",
"x-stoplight": {
"id": "cdy3hhgxsyafe"
}
}
},
"estimated_delivery_datetime": {
"$ref": "#/$defs/Estimated_delivery_datetime.v2",
"x-stoplight": {
"id": "f2eu74bvxkgcz"
}
},
"pickup": {
"$ref": "#/$defs/Pickup.v2",
"x-stoplight": {
"id": "pk3ordpickup01"
}
},
"requires_shipping": {
"type": [
"boolean",
"null"
],
"x-stoplight": {
"id": "4othkgjhnaokp"
},
"description": "Whether the order requires shipping. If null, it means that AfterShip Parser is uncertain whether the order needs to be shipped and the user is required to make their own judgment."
}
},
"$defs": {
"Address.v2": {
"x-stoplight": {
"id": "juovt70zhzyab"
},
"type": [
"object",
"null"
],
"title": "AddressV2",
"additionalProperties": false,
"x-tags": [
"Primitive"
],
"required": [
"raw_location",
"phone",
"postal_code",
"city",
"state",
"country_region"
],
"properties": {
"raw_location": {
"type": [
"string",
"null"
],
"description": "Address raw location.",
"x-stoplight": {
"id": "02nm6civre823"
}
},
"phone": {
"$ref": "#/$defs/Phone.v2",
"x-stoplight": {
"id": "w6kojwieaof5w"
}
},
"postal_code": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "su4rxgd75hdtd"
},
"description": "Postal code."
},
"city": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "p5v7xbcmcirxc"
},
"description": "City name."
},
"state": {
"type": [
"object",
"null"
],
"x-stoplight": {
"id": "sc5ipbxj8bhuk"
},
"description": "State object.",
"required": [
"name",
"code"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "vfe6d773zwb5s"
},
"description": "State name."
},
"code": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "tfnxyfmutqwtk"
},
"description": "State code, ISO 3166-2 standard."
}
}
},
"country_region": {
"type": [
"object",
"null"
],
"x-stoplight": {
"id": "a4t496fava3ws"
},
"description": "Country region object.",
"required": [
"name",
"code"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "ysjp3gd2gtpct"
},
"description": "Country name."
},
"code": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "6rcmoyqf6ctqn"
},
"description": "ISO 3166-1 alpha-3."
}
}
}
}
},
"Date_time.v1": {
"type": [
"object",
"null"
],
"description": "",
"additionalProperties": false,
"title": "DateTime",
"x-tags": [
"Primitive"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"description": "Date string in YYYY-MM-DD format."
},
"time": {
"type": [
"string",
"null"
],
"description": "Time string in HH:mm:ss format"
},
"utc_offset": {
"type": [
"number",
"null"
],
"description": "UTC offset in hour."
},
"timezone_identifier": {
"type": [
"string",
"null"
],
"description": "Timezone identifier follows timezone database name."
}
},
"required": [
"date",
"time",
"utc_offset",
"timezone_identifier"
]
},
"Date_time.v2": {
"x-stoplight": {
"id": "gp4262ubvn0nw"
},
"type": [
"object",
"null"
],
"description": "",
"additionalProperties": false,
"title": "DateTimeV2",
"x-tags": [
"Primitive"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"description": "Date string in YYYY-MM-DD format.",
"x-stoplight": {
"id": "vgc6bekkzfu0o"
}
},
"time": {
"type": [
"string",
"null"
],
"description": "Time string in HH:mm:ss format",
"x-stoplight": {
"id": "y7v2nt7totrcl"
}
},
"utc_offset": {
"type": [
"number",
"null"
],
"description": "UTC offset in hour.",
"x-stoplight": {
"id": "bt605ohapg0ac"
}
},
"timezone_identifier": {
"type": [
"string",
"null"
],
"description": "Timezone identifier follows timezone database name.",
"x-stoplight": {
"id": "g6ywqc2vqxaua"
}
}
},
"required": [
"date",
"time",
"utc_offset",
"timezone_identifier"
]
},
"Discount_total.v2": {
"x-stoplight": {
"id": "1etdc097romr6"
},
"description": "Total discount amount.",
"type": [
"object",
"null"
],
"additionalProperties": false,
"title": "MoneyV2",
"x-tags": [
"Primitive"
],
"properties": {
"amount": {
"type": [
"string",
"null"
],
"description": "The amount. It can be negative.",
"x-stoplight": {
"id": "v3vvdnl5dto60"
}
},
"currency": {
"description": "The currency.",
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "9mf5843b48pyx"
}
},
"raw_symbol": {
"type": [
"string",
"null"
],
"description": "The original currency symbol extracted from the email.\n\nThere would not be a normalized currency symbol enum list, as the currency symbol for a currency is not a consistent one-to-one mapping. For example, the currency symbol of `HKD` could be either `HK$` or `$`. Vice versa, different currencies could have the same currency symbol. Such as `HKD` and `USD`, which the currency symbol of both currencies is `$`.",
"x-stoplight": {
"id": "eb1617ei0ys0v"
}
}
},
"required": [
"amount",
"currency",
"raw_symbol"
]
},
"Estimated_delivery_datetime.v2": {
"x-stoplight": {
"id": "f2eu74bvxkgcz"
},
"type": [
"object",
"null"
],
"description": "It refers to the estimated delivery datetime parsed from the email. The maximum will be null if the estimated delivery datetime does not have a valid time range.",
"additionalProperties": false,
"title": "EstimatedDeliveryDateTime",
"x-tags": [
"Primitive"
],
"required": [
"min",
"max",
"raw_delivery_text"
],
"properties": {
"min": {
"$ref": "#/$defs/Date_time.v1",
"description": "It refers to the starting value of the estimated delivery date.",
"x-stoplight": {
"id": "ra163yswr28nm"
}
},
"max": {
"$ref": "#/$defs/Date_time.v1",
"description": "It refers to the ending value of the estimated delivery date. It will be null if the estimated delivery date does not have a valid time range.",
"x-stoplight": {
"id": "tt54gvo4y6q3d"
}
},
"raw_delivery_text": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "20ptsszzwlvgc"
},
"description": "Contains raw delivery text extracted from email content, such as 'today', 'tomorrow', or 'overnight'. Currently, this field is populated only for Amazon emails when relative delivery terms are present. If a full specific date for `min`/`max` is already present from email content, this field remains null; if `min`/`max` is inferred from the relative delivery terms, it may be returned alongside `min`/`max`. The original case of the retained term is preserved."
}
}
},
"Money.v2": {
"x-stoplight": {
"id": "skd5mhi674bcn"
},
"type": [
"object",
"null"
],
"description": "The money object is used to represent the currency amount. In some cases, if it cannot parse the currency from the symbol, the currency will be null while the symbol will have a value.",
"additionalProperties": false,
"title": "MoneyV2",
"x-tags": [
"Primitive"
],
"properties": {
"amount": {
"type": [
"string",
"null"
],
"description": "The amount. It can be negative.",
"x-stoplight": {
"id": "v3vvdnl5dto60"
}
},
"currency": {
"description": "The currency.",
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "9mf5843b48pyx"
}
},
"raw_symbol": {
"type": [
"string",
"null"
],
"description": "The original currency symbol extracted from the email.\n\nThere would not be a normalized currency symbol enum list, as the currency symbol for a currency is not a consistent one-to-one mapping. For example, the currency symbol of `HKD` could be either `HK$` or `$`. Vice versa, different currencies could have the same currency symbol. Such as `HKD` and `USD`, which the currency symbol of both currencies is `$`.",
"x-stoplight": {
"id": "eb1617ei0ys0v"
}
}
},
"required": [
"amount",
"currency",
"raw_symbol"
]
},
"Opening_hour_period.v2": {
"type": [
"object",
"null"
],
"x-stoplight": {
"id": "oh2periodv2json"
},
"description": "The `OpeningHourPeriod` model provides detailed information about a location's operating hours for a specific day. It includes the start and end times, and indicates whether the location is open on that particular day. When `open` is `true` and both `from` and `to` are `null`, it indicates the location operates 24 hours on that day.",
"additionalProperties": false,
"title": "OpeningHourPeriodV2",
"x-tags": [
"Primitive"
],
"required": [
"open",
"from",
"to"
],
"properties": {
"open": {
"type": "boolean",
"description": "Indicate whether the store is open on this day. For locations that operate 24 hours, please set the value to `true`.",
"default": false,
"x-stoplight": {
"id": "oh2prdopen0001"
}
},
"from": {
"type": [
"string",
"null"
],
"description": "The start time of the opening hour period in HH:mm format. For locations that operate 24 hours, please set the value to `null`.",
"x-stoplight": {
"id": "oh2prdfrom0001"
}
},
"to": {
"type": [
"string",
"null"
],
"description": "The end time of the opening hour period in HH:mm format. For locations that operate 24 hours, please set the value to `null`.",
"x-stoplight": {
"id": "oh2prdto000001"
}
}
}
},
"Opening_hours.v2": {
"description": "Opening hours information of the pickup location.",
"x-stoplight": {
"id": "pk1openinghrs1"
},
"type": [
"object",
"null"
],
"additionalProperties": false,
"title": "OpeningHoursV2",
"x-tags": [
"Primitive"
],
"required": [
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
],
"properties": {
"sunday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2sunday00001"
}
},
"monday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2monday00001"
}
},
"tuesday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2tuesday0001"
}
},
"wednesday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2wednesday01"
}
},
"thursday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2thursday001"
}
},
"friday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2friday00001"
}
},
"saturday": {
"type": "array",
"items": {
"$ref": "#/$defs/Opening_hour_period.v2"
},
"x-stoplight": {
"id": "oh2saturday001"
}
}
}
},
"Order_item.v2": {
"x-stoplight": {
"id": "ik5efnoqcqva9"
},
"type": "object",
"description": "The product item of an order or a tracking.",
"additionalProperties": false,
"title": "OrderItemV2",
"x-tags": [
"Primitive"
],
"required": [
"external_product_id",
"title",
"url",
"image_url",
"quantity",
"unit_price",
"compare_unit_price",
"total_price",
"compare_total_price",
"variant_description",
"status"
],
"properties": {
"external_product_id": {
"type": [
"string",
"null"
],
"description": "The product id in the store.",
"x-stoplight": {
"id": "vv85c6drwwfn2"
}
},
"title": {
"type": [
"string",
"null"
],
"description": "The product title.",
"x-stoplight": {
"id": "qbofkvb7b6l8c"
}
},
"url": {
"type": [
"string",
"null"
],
"minLength": 1,
"description": "The product URL on the store’s website.",
"format": "uri",
"x-stoplight": {
"id": "9el9hk47us1fb"
}
},
"image_url": {
"type": [
"string",
"null"
],
"minLength": 1,
"description": "The image URL of the product.",
"format": "uri",
"x-stoplight": {
"id": "utk07k5z20vt6"
}
},
"quantity": {
"type": [
"number",
"null"
],
"description": "The item quantity of the order.",
"x-stoplight": {
"id": "4jvu9lxoxb9jc"
}
},
"unit_price": {
"$ref": "#/$defs/Money.v2",
"x-stoplight": {
"id": "ctf0vgi06ltnq"
}
},
"compare_unit_price": {
"$ref": "#/$defs/Money.v2",
"x-stoplight": {
"id": "aennmgbwwh4fy"
}
},
"total_price": {
"$ref": "#/$defs/Money.v2",
"x-stoplight": {
"id": "wpg8swbvb0x6e"
}
},
"compare_total_price": {
"$ref": "#/$defs/Money.v2",
"x-stoplight": {
"id": "o12orq4y2leyz"
}
},
"variant_description": {
"type": [
"string",
"null"
],
"description": "The variant description.",
"x-stoplight": {
"id": "d5c1p8cmayhjg"
}
},
"status": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "gij83b66vyj67"
},
"description": "Represents the item's display status.\n\n\n`null`: Unable to parse status\n\n`canceled` : The item was canceled"
}
}
},
"Order_total.v2": {
"x-stoplight": {
"id": "u0c3h56iv5g5w"
},
"description": "Order total amount.",
"type": [
"object",
"null"
],
"additionalProperties": false,
"title": "MoneyV2",
"x-tags": [
"Primitive"
],
"properties": {
"amount": {
"type": [
"string",
"null"
],
"description": "The amount. It can be negative.",
"x-stoplight": {
"id": "v3vvdnl5dto60"
}
},
"currency": {
"description": "The currency.",
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "9mf5843b48pyx"
}
},
"raw_symbol": {
"type": [
"string",
"null"
],
"description": "The original currency symbol extracted from the email.\n\nThere would not be a normalized currency symbol enum list, as the currency symbol for a currency is not a consistent one-to-one mapping. For example, the currency symbol of `HKD` could be either `HK$` or `$`. Vice versa, different currencies could have the same currency symbol. Such as `HKD` and `USD`, which the currency symbol of both currencies is `$`.",
"x-stoplight": {
"id": "eb1617ei0ys0v"
}
}
},
"required": [
"amount",
"currency",
"raw_symbol"
]
},
"Phone.v2": {
"x-stoplight": {
"id": "gyd4vgc261rwr"
},
"type": [
"object",
"null"
],
"description": "The phone number object.",
"additionalProperties": false,
"title": "PhoneV2",
"x-tags": [
"Primitive"
],
"required": [
"calling_code",
"phone_number"
],
"properties": {
"calling_code": {
"type": [
"string",
"null"
],
"description": "The country region code of the phone.",
"x-stoplight": {
"id": "lw2pmidg3nimr"
}
},
"phone_number": {
"type": [
"string",
"null"
],
"description": "Phone number.",
"x-stoplight": {
"id": "w5p6c4sz9vf3d"
}
}
}
},
"Pickup.v2": {
"x-stoplight": {
"id": "pk3ordpickup01"
},
"type": [
"object",
"null"
],
"description": "Order pickup information parsed from the email.",
"additionalProperties": false,
"title": "PickupV2",
"x-tags": [
"Primitive"
],
"required": [
"location",
"instructions",
"code",
"barcode",
"pickup_action_url",
"available_datetime"
],
"properties": {
"location": {
"$ref": "#/$defs/Pickup_location.v2",
"x-stoplight": {
"id": "pk2addrref0001"
}
},
"instructions": {
"type": [
"string",
"null"
],
"description": "Pickup instructions. Specific requirements or guidelines for collecting the order.",
"x-stoplight": {
"id": "pk2instruction1"
}
},
"code": {
"type": [
"string",
"null"
],
"description": "Collection code. The code or PIN required to pick up the order.",
"x-stoplight": {
"id": "pk2code0000001"
}
},
"barcode": {
"type": [
"object",
"null"
],
"description": "Barcode or QR code information for pickup.",
"additionalProperties": false,
"x-stoplight": {
"id": "pk2barcode0001"
},
"required": [
"image_url"
],
"properties": {
"image_url": {
"type": [
"string",
"null"
],
"description": "Image URL of the barcode or QR code.",
"x-stoplight": {
"id": "pk2barcodeimg1"
}
}
}
},
"pickup_action_url": {
"type": [
"string",
"null"
],
"description": "URL for the user to take pickup action.",
"x-stoplight": {
"id": "pk2actionurl01"
}
},
"available_datetime": {
"type": [
"object",
"null"
],
"description": "Pickup time window. The time range during which the order is available for collection.",
"additionalProperties": false,
"x-stoplight": {
"id": "pk2availdt0001"
},
"required": [
"start",
"end",
"raw"
],
"properties": {
"start": {
"$ref": "#/$defs/Date_time.v2",
"description": "Earliest pickup time.",
"x-stoplight": {
"id": "pk2avdtstart1"
}
},
"end": {
"$ref": "#/$defs/Date_time.v2",
"description": "Latest pickup time.",
"x-stoplight": {
"id": "pk2avdtend001"
}
},
"raw": {
"type": [
"string",
"null"
],
"description": "Raw text of the available pickup time extracted from the email.",
"x-stoplight": {
"id": "pk2avdtraw001"
}
}
}
}
}
},
"Pickup_address.v2": {
"description": "Structured pickup address, enriched from `raw_address`.",
"x-stoplight": {
"id": "pk1address0001"
},
"type": [
"object",
"null"
],
"title": "PickupAddressV2",
"additionalProperties": false,
"x-tags": [
"Primitive"
],
"required": [
"phone",
"postal_code",
"city",
"state",
"country_region"
],
"properties": {
"phone": {
"$ref": "#/$defs/Phone.v2",
"x-stoplight": {
"id": "pkaphone00001"
}
},
"postal_code": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "pkapostal0001"
},
"description": "Postal code."
},
"city": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "pkacity000001"
},
"description": "City name."
},
"state": {
"type": [
"object",
"null"
],
"x-stoplight": {
"id": "pkastate00001"
},
"description": "State object.",
"required": [
"name",
"code"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "pkastatename1"
},
"description": "State name."
},
"code": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "pkastatecode1"
},
"description": "State code, ISO 3166-2 standard."
}
}
},
"country_region": {
"type": [
"object",
"null"
],
"x-stoplight": {
"id": "pkacountry001"
},
"description": "Country region object.",
"required": [
"name",
"code"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "pkacountryname"
},
"description": "Country name."
},
"code": {
"type": [
"string",
"null"
],
"x-stoplight": {
"id": "pkacountrycode"
},
"description": "ISO 3166-1 alpha-3."
}
}
}
}
},
"Pickup_location.v2": {
"x-stoplight": {
"id": "pk2addrref0001"
},
"type": [
"object",
"null"
],
"description": "Pickup location. The order pickup point.",
"additionalProperties": false,
"title": "PickupLocationV2",
"x-tags": [
"Primitive"
],
"required": [
"raw_address",
"address",
"raw_opening_hours",
"opening_hours"
],
"properties": {
"raw_address": {
"type": [
"string",
"null"
],
"description": "Raw address text of the pickup location parsed from the email.",
"x-stoplight": {
"id": "pk1rawlocation"
}
},
"address": {
"$ref": "#/$defs/Pickup_address.v2",
"description": "Structured pickup address, enriched from `raw_address`.",
"x-stoplight": {
"id": "pk1address0001"
}
},
"raw_opening_hours": {
"type": [
"string",
"null"
],
"description": "Raw opening hours text.",
"x-stoplight": {
"id": "pk1ohrawtext01"
}
},
"opening_hours": {
"$ref": "#/$defs/Opening_hours.v2",
"description": "Opening hours information of the pickup location.",
"x-stoplight": {
"id": "pk1openinghrs1"
}
}
}
},
"Shipping_method.v2": {
"x-stoplight": {
"id": "cl3ah1f4ofafe"
},
"typ
# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aftership/refs/heads/main/json-schema/aftership-order-v2-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/aftership-order-v2"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.