Amazon Selling Partner API · Schema
CreateSubscriptionRequest
The request schema for the `createSubscription` operation.
E-CommerceMarketplaceSelling PartnerAmazonSeller CentralCatalogOrderInventoryFulfillmentMCPAgent Skills
Properties
| Name | Type | Description |
|---|---|---|
| payloadVersion | string | The version of the payload object to be used in the notification. |
| destinationId | string | The identifier for the destination where notifications will be delivered. |
| processingDirective | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-seller-central/main/json-schema/amazon-seller-central-create-subscription-request-schema.json",
"title": "CreateSubscriptionRequest",
"description": "The request schema for the `createSubscription` operation.",
"x-generated": "2026-09-24",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/amazon-seller-central-notifications-api-openapi.yml#/components/schemas/CreateSubscriptionRequest",
"type": "object",
"properties": {
"payloadVersion": {
"type": "string",
"description": "The version of the payload object to be used in the notification."
},
"destinationId": {
"type": "string",
"description": "The identifier for the destination where notifications will be delivered."
},
"processingDirective": {
"$ref": "#/$defs/ProcessingDirective"
}
},
"required": [
"destinationId",
"payloadVersion"
],
"$defs": {
"AggregationFilter": {
"type": "object",
"properties": {
"aggregationSettings": {
"$ref": "#/$defs/AggregationSettings"
}
},
"description": "A filter you can use to select the aggregation time period at which to send notifications (for example, limit to one notification every five minutes for high frequency notifications)."
},
"AggregationSettings": {
"type": "object",
"description": "A container that holds all of the necessary properties to configure the aggregation of notifications.",
"properties": {
"aggregationTimePeriod": {
"$ref": "#/$defs/AggregationTimePeriod",
"description": "The supported time period to use to perform marketplace-ASIN level aggregation."
}
},
"required": [
"aggregationTimePeriod"
]
},
"AggregationTimePeriod": {
"description": "The supported aggregation time periods. For example, if FiveMinutes is the value chosen, and 50 price updates occur for an ASIN within 5 minutes, Amazon will send only two notifications; one for the first event, and then a subsequent notification 5 minutes later with the final end state of the data. The 48 interim events will be dropped.",
"type": "string",
"enum": [
"FiveMinutes",
"TenMinutes"
],
"x-docgen-enum-table-extension": [
{
"value": "FiveMinutes",
"description": "An aggregated notification will be sent every five minutes."
},
{
"value": "TenMinutes",
"description": "An aggregated notification will be sent every ten minutes."
}
]
},
"EventFilter": {
"description": "A `notificationType` filter. This object contains all of the available filters and properties that you can use to define a `notificationType` specific filter.",
"allOf": [
{
"$ref": "#/$defs/AggregationFilter"
},
{
"$ref": "#/$defs/MarketplaceFilter"
},
{
"$ref": "#/$defs/OrderChangeTypeFilter"
},
{
"$ref": "#/$defs/TrackingFilter"
},
{
"type": "object",
"properties": {
"eventFilterType": {
"type": "string",
"enum": [
"ANY_OFFER_CHANGED",
"ORDER_CHANGE",
"SHIPMENT_TRACKING_MILESTONE_CHANGED"
],
"description": "An `eventFilterType` value that the `notificationType` supports. The subscription service uses the `eventFilterType` to determine the type of event filter. To determine if a specific `notificationType` supports an `eventFilterType`, refer to [Notification Type Values]( https://developer-docs.amazon.com/sp-api/docs/notification-type-values)."
}
},
"required": [
"eventFilterType"
]
}
]
},
"MarketplaceFilter": {
"description": "An event filter you can use to customize your subscription to send notifications for specific `marketplaceId`s.",
"type": "object",
"properties": {
"marketplaceIds": {
"$ref": "#/$defs/MarketplaceIds"
}
}
},
"MarketplaceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of marketplace identifiers you can subscribe to (for example, `ATVPDKIKX0DER`). To receive notifications in every marketplace, do not provide this list."
},
"OrderChangeTypeEnum": {
"type": "string",
"enum": [
"BuyerRequestedChange",
"DeliveryTipChange",
"OrderStatusChange"
],
"description": "The supported order change type of ORDER_CHANGE notification."
},
"OrderChangeTypeFilter": {
"description": "An event filter you can use to customize your subscription to send notifications for a specific `orderChangeType`.",
"type": "object",
"properties": {
"orderChangeTypes": {
"$ref": "#/$defs/OrderChangeTypes"
}
}
},
"OrderChangeTypes": {
"type": "array",
"items": {
"$ref": "#/$defs/OrderChangeTypeEnum"
},
"description": "A list of order change types you can subscribe to (for example, `BuyerRequestedChange`). To receive notifications of all change types, do not provide this list."
},
"ProcessingDirective": {
"description": "Additional information passed to the subscription to control the processing of notifications. For example, you can use an `eventFilter` to customize your subscription to send notifications for only the `marketplaceId`s that you specify, or select the aggregation time period at which to send notifications (for example, you can set a limit of one notification every five minutes for high frequency notifications). You can also use `filterExpression` to filter events based on notification payload. The specific features available can vary by the `notificationType`.",
"type": "object",
"properties": {
"eventFilter": {
"description": "A `notificationType` filter. Note: eventFilter and filterExpression are mutually exclusive, meaning if eventFilter is provided, filterExpression field cannot be used.",
"$ref": "#/$defs/EventFilter"
},
"filterExpression": {
"description": "An expression for filtering events before delivery to destination based on the notification payload (example: FulfillmentOrderStatusNotification.FulfillmentOrderStatus == `SHIPPED` ). The `filterExpression` is a string that follows the CEL expression syntax (https://github.com/google/cel-spec) excluding arithmetic operators (+, -, *, /, %) and list/map indexing ([]). Refer to Notification Type Values to determine if filter Expression is supported for a Notification Type. Refer to CEL Operators (https://developer-docs.amazon.com/sp-api/docs/filter-notification-subscriptions) to see if a CEL operator is supported. \n Note: eventFilter and filterExpression are mutually exclusive. You can use filterExpression to replace existing eventFilter configurations.",
"type": "string",
"maxLength": 256,
"minLength": 1
}
}
},
"TrackingFilter": {
"description": "An event filter you can use to customize your subscription to receive shipment tracking milestone notifications for a specific tracking identifier.",
"type": "object",
"properties": {
"trackingIdentifier": {
"$ref": "#/$defs/TrackingIdentifier"
}
}
},
"TrackingIdentifier": {
"description": "Specifies the tracking identifier used to filter your subscription notifications. Provide exactly one identifier field. Providing multiple identifier fields in a single request is not supported.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Amazon unique tracking identifier."
},
"acsin": {
"type": "string",
"description": "Air Cargo Shipment Identification Number."
},
"aftn": {
"type": "string",
"description": "Amazon Fulfillment Tracking Number."
},
"containerNumber": {
"type": "string",
"description": "Container number provided by the Logistics Service Provider."
},
"houseBillOfLadingNumber": {
"type": "string",
"description": "House Bill of Lading number."
},
"carrierTracking": {
"type": "object",
"description": "Carrier-provided tracking identifier.",
"properties": {
"trackingNumber": {
"type": "string",
"description": "Carrier tracking number"
},
"carrierCode": {
"type": "string",
"description": "Carrier code"
}
},
"required": [
"trackingNumber"
]
}
}
}
}
}
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/amazon-seller-central-create-subscription-request"
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.