naftiko: 1.0.0-alpha2 info: label: eBay Notification API — Subscription description: 'eBay Notification API — Subscription. 11 operations. Lead operation: Subscription. Self-contained Naftiko capability covering one Ebay business surface.' tags: - Ebay - Subscription created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: EBAY_API_KEY: EBAY_API_KEY capability: consumes: - type: http namespace: notification-subscription baseUri: https://api.ebay.com{basePath} description: eBay Notification API — Subscription business capability. Self-contained, no shared references. resources: - name: subscription path: /subscription operations: - name: getsubscriptions method: GET description: 'This method allows applications to retrieve a list of all subscriptions. The list returned is a paginated collection of subscription resources.

Subscriptions allow applications to express interest in notifications and keep receiving ' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: continuation_token in: query type: string description: This string value can be used to return the next page in the result set. The string to use here is returned in the next field of the current page of results. - name: limit in: query type: string description: The maximum number of subscriptions to return per page from the result set.

Min: 10

Max: 100

Default: 20 - name: createsubscription method: POST description: 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.

E outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: 'This header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, ' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: subscription-subscription_id path: /subscription/{subscription_id} operations: - name: getsubscription method: GET description: This method allows applications to retrieve subscription details for the specified subscription.

Specify the subscription to retrieve using the subscription_id. Use the getSubscriptions method to bro outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_id in: path type: string description: The unique identifier of the subscription to retrieve. Use getSubscriptions to retrieve subscription IDs. required: true - name: updatesubscription method: PUT description: 'This method allows applications to update a subscription. Subscriptions allow applications to express interest in notifications and keep receiving the information relevant to their business.

Note: This ' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: 'This header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, ' required: true - name: subscription_id in: path type: string description: The unique identifier for the subscription to update. Use getSubscriptions to retrieve subscription IDs. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletesubscription method: DELETE description: This method allows applications to delete a subscription. Subscriptions can be deleted regardless of status. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_id in: path type: string description: The unique identifier of the subscription to delete. Use getSubscriptions to retrieve subscription IDs. required: true - name: subscription-subscription_id-disable path: /subscription/{subscription_id}/disable operations: - name: disablesubscription method: POST description: This method disables a subscription, which prevents the subscription from providing notifications. To restart a subscription, call enableSubscription. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_id in: path type: string description: The unique identifier of an enabled subscription that will be disabled. Use getSubscriptions to retrieve subscription IDs. required: true - name: subscription-subscription_id-enable path: /subscription/{subscription_id}/enable operations: - name: enablesubscription method: POST description: This method allows applications to enable a disabled subscription. To pause (or disable) an enabled subscription, call disableSubscription. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_id in: path type: string description: The unique identifier of a disabled subscription that will be enabled. Use getSubscriptions to retrieve subscription IDs. required: true - name: subscription-subscription_id-filter path: /subscription/{subscription_id}/filter operations: - name: createsubscriptionfilter method: POST description: This method allows applications to create a filter for a subscription. Filters allow applications to only be sent notifications that match a provided criteria. Notifications that do not match this criteria will not be sent to the destinatio outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string description: 'This header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, ' required: true - name: subscription_id in: path type: string description: The unique identifier of the subscription for which a filter will be created. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: subscription-subscription_id-filter-filter_id path: /subscription/{subscription_id}/filter/{filter_id} operations: - name: getsubscriptionfilter method: GET description: This method allows applications to retrieve the filter details for the specified subscription filter.

Specify the subscription filter to retrieve by using the subscription_id and the filter_id associ outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter_id in: path type: string description: 'The unique identifier of the subscription filter. Filter ID values, if configured for a subscription, will be shown in the subscriptions.filterId field ' required: true - name: subscription_id in: path type: string description: The unique identifier of the subscription associated with the filter. Use getSubscriptions to retrieve subscription IDs. required: true - name: deletesubscriptionfilter method: DELETE description: This method allows applications to disable the active filter on a subscription, so that a new subscription filter may be added.

Note: Subscription filters in PENDING status can not be d outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter_id in: path type: string description: The unique identifier of the subscription filter to delete. Filter ID values, if configured for a subscription, will be shown in the subscriptions.filterId< required: true - name: subscription_id in: path type: string description: The unique identifier of the subscription associated with the filter to delete. Use getSubscriptions to retrieve subscription IDs. required: true - name: subscription-subscription_id-test path: /subscription/{subscription_id}/test operations: - name: testsubscription method: POST description: This method triggers a mocked test payload that includes a notification ID, publish date, and so on. Use this method to test your subscription end-to-end.

You can create the subscription in disabled mode, test it using this method, a outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_id in: path type: string description: The unique identifier of the subscription to test. Use getSubscriptions to retrieve subscription IDs. required: true authentication: type: bearer token: '{{env.EBAY_API_KEY}}' exposes: - type: rest namespace: notification-subscription-rest port: 8080 description: REST adapter for eBay Notification API — Subscription. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscription name: subscription description: REST surface for subscription. operations: - method: GET name: getsubscriptions description: 'This method allows applications to retrieve a list of all subscriptions. The list returned is a paginated collection of subscription resources.

Subscriptions allow applications to express interest in notifications and keep receiving ' call: notification-subscription.getsubscriptions with: continuation_token: rest.continuation_token limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createsubscription description: 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.

E call: notification-subscription.createsubscription with: Content-Type: rest.Content-Type body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscription/{subscription-id} name: subscription-subscription-id description: REST surface for subscription-subscription_id. operations: - method: GET name: getsubscription description: This method allows applications to retrieve subscription details for the specified subscription.

Specify the subscription to retrieve using the subscription_id. Use the getSubscriptions method to bro call: notification-subscription.getsubscription with: subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - method: PUT name: updatesubscription description: 'This method allows applications to update a subscription. Subscriptions allow applications to express interest in notifications and keep receiving the information relevant to their business.

Note: This ' call: notification-subscription.updatesubscription with: Content-Type: rest.Content-Type subscription_id: rest.subscription_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesubscription description: This method allows applications to delete a subscription. Subscriptions can be deleted regardless of status. call: notification-subscription.deletesubscription with: subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - path: /v1/subscription/{subscription-id}/disable name: subscription-subscription-id-disable description: REST surface for subscription-subscription_id-disable. operations: - method: POST name: disablesubscription description: This method disables a subscription, which prevents the subscription from providing notifications. To restart a subscription, call enableSubscription. call: notification-subscription.disablesubscription with: subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - path: /v1/subscription/{subscription-id}/enable name: subscription-subscription-id-enable description: REST surface for subscription-subscription_id-enable. operations: - method: POST name: enablesubscription description: This method allows applications to enable a disabled subscription. To pause (or disable) an enabled subscription, call disableSubscription. call: notification-subscription.enablesubscription with: subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - path: /v1/subscription/{subscription-id}/filter name: subscription-subscription-id-filter description: REST surface for subscription-subscription_id-filter. operations: - method: POST name: createsubscriptionfilter description: This method allows applications to create a filter for a subscription. Filters allow applications to only be sent notifications that match a provided criteria. Notifications that do not match this criteria will not be sent to the destinatio call: notification-subscription.createsubscriptionfilter with: Content-Type: rest.Content-Type subscription_id: rest.subscription_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscription/{subscription-id}/filter/{filter-id} name: subscription-subscription-id-filter-filter-id description: REST surface for subscription-subscription_id-filter-filter_id. operations: - method: GET name: getsubscriptionfilter description: This method allows applications to retrieve the filter details for the specified subscription filter.

Specify the subscription filter to retrieve by using the subscription_id and the filter_id associ call: notification-subscription.getsubscriptionfilter with: filter_id: rest.filter_id subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - method: DELETE name: deletesubscriptionfilter description: This method allows applications to disable the active filter on a subscription, so that a new subscription filter may be added.

Note: Subscription filters in PENDING status can not be d call: notification-subscription.deletesubscriptionfilter with: filter_id: rest.filter_id subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - path: /v1/subscription/{subscription-id}/test name: subscription-subscription-id-test description: REST surface for subscription-subscription_id-test. operations: - method: POST name: testsubscription description: This method triggers a mocked test payload that includes a notification ID, publish date, and so on. Use this method to test your subscription end-to-end.

You can create the subscription in disabled mode, test it using this method, a call: notification-subscription.testsubscription with: subscription_id: rest.subscription_id outputParameters: - type: object mapping: $. - type: mcp namespace: notification-subscription-mcp port: 9090 transport: http description: MCP adapter for eBay Notification API — Subscription. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: this-method-allows-applications-retrieve description: 'This method allows applications to retrieve a list of all subscriptions. The list returned is a paginated collection of subscription resources.

Subscriptions allow applications to express interest in notifications and keep receiving ' hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getsubscriptions with: continuation_token: tools.continuation_token limit: tools.limit outputParameters: - type: object mapping: $. - name: this-method-allows-applications-create description: 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.

E hints: readOnly: false destructive: false idempotent: false call: notification-subscription.createsubscription with: Content-Type: tools.Content-Type body: tools.body outputParameters: - type: object mapping: $. - name: this-method-allows-applications-retrieve-2 description: This method allows applications to retrieve subscription details for the specified subscription.

Specify the subscription to retrieve using the subscription_id. Use the getSubscriptions method to bro hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getsubscription with: subscription_id: tools.subscription_id outputParameters: - type: object mapping: $. - name: this-method-allows-applications-update description: 'This method allows applications to update a subscription. Subscriptions allow applications to express interest in notifications and keep receiving the information relevant to their business.

Note: This ' hints: readOnly: false destructive: false idempotent: true call: notification-subscription.updatesubscription with: Content-Type: tools.Content-Type subscription_id: tools.subscription_id body: tools.body outputParameters: - type: object mapping: $. - name: this-method-allows-applications-delete description: This method allows applications to delete a subscription. Subscriptions can be deleted regardless of status. hints: readOnly: false destructive: true idempotent: true call: notification-subscription.deletesubscription with: subscription_id: tools.subscription_id outputParameters: - type: object mapping: $. - name: this-method-disables-subscription-which description: This method disables a subscription, which prevents the subscription from providing notifications. To restart a subscription, call enableSubscription. hints: readOnly: false destructive: false idempotent: false call: notification-subscription.disablesubscription with: subscription_id: tools.subscription_id outputParameters: - type: object mapping: $. - name: this-method-allows-applications-enable description: This method allows applications to enable a disabled subscription. To pause (or disable) an enabled subscription, call disableSubscription. hints: readOnly: false destructive: false idempotent: false call: notification-subscription.enablesubscription with: subscription_id: tools.subscription_id outputParameters: - type: object mapping: $. - name: this-method-allows-applications-create-2 description: This method allows applications to create a filter for a subscription. Filters allow applications to only be sent notifications that match a provided criteria. Notifications that do not match this criteria will not be sent to the destinatio hints: readOnly: false destructive: false idempotent: false call: notification-subscription.createsubscriptionfilter with: Content-Type: tools.Content-Type subscription_id: tools.subscription_id body: tools.body outputParameters: - type: object mapping: $. - name: this-method-allows-applications-retrieve-3 description: This method allows applications to retrieve the filter details for the specified subscription filter.

Specify the subscription filter to retrieve by using the subscription_id and the filter_id associ hints: readOnly: true destructive: false idempotent: true call: notification-subscription.getsubscriptionfilter with: filter_id: tools.filter_id subscription_id: tools.subscription_id outputParameters: - type: object mapping: $. - name: this-method-allows-applications-disable description: This method allows applications to disable the active filter on a subscription, so that a new subscription filter may be added.

Note: Subscription filters in PENDING status can not be d hints: readOnly: false destructive: true idempotent: true call: notification-subscription.deletesubscriptionfilter with: filter_id: tools.filter_id subscription_id: tools.subscription_id outputParameters: - type: object mapping: $. - name: this-method-triggers-mocked-test description: This method triggers a mocked test payload that includes a notification ID, publish date, and so on. Use this method to test your subscription end-to-end.

You can create the subscription in disabled mode, test it using this method, a hints: readOnly: true destructive: false idempotent: false call: notification-subscription.testsubscription with: subscription_id: tools.subscription_id outputParameters: - type: object mapping: $.