naftiko: 1.0.0-alpha2 info: label: Stripe Products API — Products description: 'Stripe Products API — Products. 6 operations. Lead operation: Products. Self-contained Naftiko capability covering one Stripe business surface.' tags: - Stripe - Products created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STRIPE_API_KEY: STRIPE_API_KEY capability: consumes: - type: http namespace: products-products baseUri: https://api.stripe.com description: Stripe Products API — Products business capability. Self-contained, no shared references. resources: - name: v1-products path: /v1/products operations: - name: getproducts method: GET description:

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: active in: query type: boolean description: Only return products that are active or inactive (e.g., pass `false` to list all inactive products). - name: created in: query type: string description: Only return products that were created during the given date interval. - name: ending_before in: query type: string description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 ob - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: ids in: query type: array description: Only return products with the given IDs. Cannot be used with [starting_after](https://stripe.com/docs/api#list_products-starting_after) or [ending_before](https - 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: shippable in: query type: boolean description: Only return products that can be shipped (i.e., physical, not digital products). - name: starting_after in: query type: string description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 o - name: url in: query type: string description: Only return products with the given url. - name: body in: body type: object description: Request body (JSON). required: false - name: postproducts method: POST description:

Creates a new product object.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-products-search path: /v1/products/search operations: - name: getproductssearch method: GET description:

Search for products 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 products] required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-products-id path: /v1/products/{id} operations: - name: deleteproductsid method: DELETE description:

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getproductsid method: GET description:

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

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: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: postproductsid method: POST description:

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id 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: products-products-rest port: 8080 description: REST adapter for Stripe Products API — Products. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/products name: v1-products description: REST surface for v1-products. operations: - method: GET name: getproducts description:

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

call: products-products.getproducts with: active: rest.active created: rest.created ending_before: rest.ending_before expand: rest.expand ids: rest.ids limit: rest.limit shippable: rest.shippable starting_after: rest.starting_after url: rest.url body: rest.body outputParameters: - type: object mapping: $. - method: POST name: postproducts description:

Creates a new product object.

call: products-products.postproducts with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/products/search name: v1-products-search description: REST surface for v1-products-search. operations: - method: GET name: getproductssearch description:

Search for products you’ve previously created using Stripe’s Search Query Language. call: products-products.getproductssearch with: expand: rest.expand limit: rest.limit page: rest.page query: rest.query body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/products/{id} name: v1-products-id description: REST surface for v1-products-id. operations: - method: DELETE name: deleteproductsid description:

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

call: products-products.deleteproductsid with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getproductsid description:

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

call: products-products.getproductsid with: expand: rest.expand id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: POST name: postproductsid description:

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

call: products-products.postproductsid with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: products-products-mcp port: 9090 transport: http description: MCP adapter for Stripe Products API — Products. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: p-returns-list-your-products-products description:

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

hints: readOnly: true destructive: false idempotent: true call: products-products.getproducts with: active: tools.active created: tools.created ending_before: tools.ending_before expand: tools.expand ids: tools.ids limit: tools.limit shippable: tools.shippable starting_after: tools.starting_after url: tools.url body: tools.body outputParameters: - type: object mapping: $. - name: p-creates-new-product-object-p description:

Creates a new product object.

hints: readOnly: false destructive: false idempotent: false call: products-products.postproducts with: body: tools.body outputParameters: - type: object mapping: $. - name: p-search-products-you-ve-previously-created description:

Search for products you’ve previously created using Stripe’s Search Query Language. hints: readOnly: true destructive: false idempotent: true call: products-products.getproductssearch with: expand: tools.expand limit: tools.limit page: tools.page query: tools.query body: tools.body outputParameters: - type: object mapping: $. - name: p-delete-product-deleting-product-is description:

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

hints: readOnly: false destructive: true idempotent: true call: products-products.deleteproductsid with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: p-retrieves-details-existing-product-supply description:

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

hints: readOnly: true destructive: false idempotent: true call: products-products.getproductsid with: expand: tools.expand id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: p-updates-specific-product-setting-values description:

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

hints: readOnly: false destructive: false idempotent: false call: products-products.postproductsid with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.