Skip to main content

POST/subscription

This method allows applications to create a subscription for a topic and supported schema version. Subscriptions allow applications to express interest in notifications and keep receiving the information relevant to their business.

Each application and topic-schema pairing to a subscription should have a 1:1 cardinality.

You can create the subscription in disabled mode, test it (see the test method), and when everything is ready, you can enable the subscription (see the enableSubscription method).

Note: If an application is not authorized to subscribe to a topic, for example, if your authorization does not include the list of scopes required for the topic, an error code of 195011 is returned.

Input

Resource URI

POST https://api.ebay.com/commerce/notification/v1/subscription

This method is not supported in Sandbox environment.

URI parameters

This method has no URI parameters.

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.

HeaderTypeDescription
Content-TypestringThis header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, refer to HTTP request headers.

Occurrence: Required

OAuth scope

This request requires an access token created with either authorization code grant flow or client credentials grant flow. Please refer to the note below for more details.

The access token must be created using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):

https://api.ebay.com/oauth/api_scope

https://api.ebay.com/oauth/api_scope/commerce.notification.subscription

See OAuth access tokens for more information.

Note: An OAuth token created with the client credentials grant flow and the https://api.ebay.com/oauth/api_scope scope is required in order to create, update, or retrieve application-based subscriptions to notification topics. An OAuth token created with the authorization code grant flow and the https://api.ebay.com/oauth/api_scope/commerce.notification.subscription scope is required in order to create, update, or retrieve user-based subscriptions to notification topics.

Request payload

Copy complete valid JSON to clipboard

Request fields

Input container/fieldTypeDescription
topicIdstring

The unique identifier of the notification topic to subscribe to. Use getTopics to get topic IDs.

Occurrence: Required

statusSubscriptionStatusEnum

Set the status of the subscription to ENABLED or DISABLED.

Occurrence: Required

payloadSubscriptionPayloadDetail

The payload associated with the notification topic. Use getTopics or getTopic to get the supported payload for the topic.

Occurrence: Required

payload.formatFormatTypeEnum

The supported data format of the payload.

Note: JSON is currently the only supported format for all notification topics.

Occurrence: Required

payload.schemaVersionstring

The supported schema version for the notification topic. See the supportedPayloads.schemaVersion field for the topic in getTopics or getTopic response.

Occurrence: Required

payload.deliveryProtocolProtocolEnum

The supported delivery protocol of the notification topic.

Note: HTTPS is currently the only supported delivery protocol of all notification topics.

Occurrence: Required

destinationIdstring

The unique identifier of the destination endpoint that will receive notifications associated with this subscription. Use the getDestinations method to retrieve destination IDs.

Occurrence: Required

Output

HTTP response headers

See HTTP response headers for details.

HeaderMeaning
LocationThe subscription resource created.

Response payload

This call has no payload.

Response fields

This call has no field definitions.

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

StatusMeaning
201Created
400Bad Request
403Forbidden
409Conflict
500Internal Server Error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

CodeDomainCategoryMeaning
195000API_NOTIFICATIONAPPLICATIONThere was a problem with an eBay internal system or process. Contact eBay developer support for assistance.
195003API_NOTIFICATIONREQUESTPlease provide configurations required for notifications. Refer to /config
195006API_NOTIFICATIONREQUESTInvalid or missing subscription status.
195007API_NOTIFICATIONREQUESTInvalid or missing destination id.
195008API_NOTIFICATIONREQUESTInvalid or missing schema version. Please refer to /topic/{topic_id} for supported schema versions.
195009API_NOTIFICATIONREQUESTSpecified format is not supported for the topic.
195010API_NOTIFICATIONREQUESTInvalid or missing protocol
195011API_NOTIFICATIONREQUESTNot authorized for this topic.
195012API_NOTIFICATIONREQUESTSubscription already exists
195015API_NOTIFICATIONREQUESTThe subscription cannot be enabled since the destination is not enabled.
195027API_NOTIFICATIONREQUESTInvalid or missing topic id.

Warnings

This call has no warnings.

Samples

New to making API calls? Please see Making a Call.

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Create subscription

This call creates a subscription for an application.

Input

The required inputs are topicId, status, payload, payload (including format, schemaVersion and deliveryProtocol) and destinationId.

POSThttps://api.ebay.com/commerce/notification/v1/subscription

Output

A successful call returns the HTTP status code 201 Created. This method has no response payload.