naftiko: 1.0.0-alpha2 info: label: Stripe Subscription API — Subscriptions description: 'Stripe Subscription API — Subscriptions. 8 operations. Lead operation: Subscriptions. Self-contained Naftiko capability covering one Stripe business surface.' tags: - Stripe - Subscriptions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STRIPE_API_KEY: STRIPE_API_KEY capability: consumes: - type: http namespace: subscription-subscriptions baseUri: https://api.stripe.com description: Stripe Subscription API — Subscriptions business capability. Self-contained, no shared references. resources: - name: v1-subscriptions path: /v1/subscriptions operations: - name: getsubscriptions method: GET description:
By default, returns a list of subscriptions that have not been canceled. In order to list canceled
subscriptions, specify status=canceled.
Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.
outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-subscriptions-search path: /v1/subscriptions/search operations: - name: getsubscriptionssearch method: GET description:Search for subscriptions you’ve previously created using Stripe’s Search Query Language. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: limit in: query type: integer description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. - name: page in: query type: string description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous respons - name: query in: query type: string description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscript required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-subscriptions-subscription_exposed_id path: /v1/subscriptions/{subscription_exposed_id} operations: - name: deletesubscriptionssubscriptionexposedid method: DELETE description:
Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.
outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_exposed_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getsubscriptionssubscriptionexposedid method: GET description:Retrieves the subscription with the given ID.
outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: subscription_exposed_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: postsubscriptionssubscriptionexposedid method: POST description:Updates an existing subscription to match the specified parameters. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_exposed_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-subscriptions-subscription_exposed_id-discount path: /v1/subscriptions/{subscription_exposed_id}/discount operations: - name: deletesubscriptionssubscriptionexposediddiscount method: DELETE description:
Removes the currently applied discount on a subscription.
outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription_exposed_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-subscriptions-subscription-resume path: /v1/subscriptions/{subscription}/resume operations: - name: postsubscriptionssubscriptionresume method: POST description:Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: subscription in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.STRIPE_API_KEY}}' exposes: - type: rest namespace: subscription-subscriptions-rest port: 8080 description: REST adapter for Stripe Subscription API — Subscriptions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/subscriptions name: v1-subscriptions description: REST surface for v1-subscriptions. operations: - method: GET name: getsubscriptions description:
By default, returns a list of subscriptions that have not been canceled. In order to list canceled
subscriptions, specify status=canceled.
Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.
call: subscription-subscriptions.postsubscriptions with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/subscriptions/search name: v1-subscriptions-search description: REST surface for v1-subscriptions-search. operations: - method: GET name: getsubscriptionssearch description:Search for subscriptions you’ve previously created using Stripe’s Search Query Language. call: subscription-subscriptions.getsubscriptionssearch with: expand: rest.expand limit: rest.limit page: rest.page query: rest.query body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/subscriptions/{subscription-exposed-id} name: v1-subscriptions-subscription-exposed-id description: REST surface for v1-subscriptions-subscription_exposed_id. operations: - method: DELETE name: deletesubscriptionssubscriptionexposedid description:
Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.
call: subscription-subscriptions.deletesubscriptionssubscriptionexposedid with: subscription_exposed_id: rest.subscription_exposed_id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getsubscriptionssubscriptionexposedid description:Retrieves the subscription with the given ID.
call: subscription-subscriptions.getsubscriptionssubscriptionexposedid with: expand: rest.expand subscription_exposed_id: rest.subscription_exposed_id body: rest.body outputParameters: - type: object mapping: $. - method: POST name: postsubscriptionssubscriptionexposedid description:Updates an existing subscription to match the specified parameters. call: subscription-subscriptions.postsubscriptionssubscriptionexposedid with: subscription_exposed_id: rest.subscription_exposed_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/subscriptions/{subscription-exposed-id}/discount name: v1-subscriptions-subscription-exposed-id-discount description: REST surface for v1-subscriptions-subscription_exposed_id-discount. operations: - method: DELETE name: deletesubscriptionssubscriptionexposediddiscount description:
Removes the currently applied discount on a subscription.
call: subscription-subscriptions.deletesubscriptionssubscriptionexposediddiscount with: subscription_exposed_id: rest.subscription_exposed_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/subscriptions/{subscription}/resume name: v1-subscriptions-subscription-resume description: REST surface for v1-subscriptions-subscription-resume. operations: - method: POST name: postsubscriptionssubscriptionresume description:Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. call: subscription-subscriptions.postsubscriptionssubscriptionresume with: subscription: rest.subscription body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: subscription-subscriptions-mcp port: 9090 transport: http description: MCP adapter for Stripe Subscription API — Subscriptions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: p-by-default-returns-list-subscriptions description:
By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions,
specify status=canceled.
Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.
hints: readOnly: false destructive: false idempotent: false call: subscription-subscriptions.postsubscriptions with: body: tools.body outputParameters: - type: object mapping: $. - name: p-search-subscriptions-you-ve-previously-created description:Search for subscriptions you’ve previously created using Stripe’s Search Query Language. hints: readOnly: true destructive: false idempotent: true call: subscription-subscriptions.getsubscriptionssearch with: expand: tools.expand limit: tools.limit page: tools.page query: tools.query body: tools.body outputParameters: - type: object mapping: $. - name: p-cancels-customer-s-subscription-immediately-customer description:
Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.
hints: readOnly: false destructive: true idempotent: true call: subscription-subscriptions.deletesubscriptionssubscriptionexposedid with: subscription_exposed_id: tools.subscription_exposed_id body: tools.body outputParameters: - type: object mapping: $. - name: p-retrieves-subscription-given-id-p description:Retrieves the subscription with the given ID.
hints: readOnly: true destructive: false idempotent: true call: subscription-subscriptions.getsubscriptionssubscriptionexposedid with: expand: tools.expand subscription_exposed_id: tools.subscription_exposed_id body: tools.body outputParameters: - type: object mapping: $. - name: p-updates-existing-subscription-match-specified description:Updates an existing subscription to match the specified parameters. hints: readOnly: false destructive: false idempotent: false call: subscription-subscriptions.postsubscriptionssubscriptionexposedid with: subscription_exposed_id: tools.subscription_exposed_id body: tools.body outputParameters: - type: object mapping: $. - name: p-removes-currently-applied-discount-subscription description:
Removes the currently applied discount on a subscription.
hints: readOnly: false destructive: true idempotent: true call: subscription-subscriptions.deletesubscriptionssubscriptionexposediddiscount with: subscription_exposed_id: tools.subscription_exposed_id body: tools.body outputParameters: - type: object mapping: $. - name: p-initiates-resumption-paused-subscription-optionally description:Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. hints: readOnly: false destructive: false idempotent: false call: subscription-subscriptions.postsubscriptionssubscriptionresume with: subscription: tools.subscription body: tools.body outputParameters: - type: object mapping: $.