naftiko: 1.0.0-alpha2 info: label: TM Forum Product-to-Cash description: Unified workflow capability combining TM Forum Product Catalog (TMF620), Product Ordering (TMF622), and Product Inventory (TMF637) APIs for end-to-end product lifecycle management from catalog to active subscriptions. Used by BSS architects and order managers. tags: - TM Forum - Product Catalog - Product Ordering - Product Inventory - BSS - Telecommunications created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: TMF_API_KEY: TMF_API_KEY capability: consumes: - type: http namespace: tmf620 baseUri: https://serverRoot/tmf-api/productCatalogManagement/v5 description: TM Forum Product Catalog Management API v5 authentication: type: bearer token: '{{TMF_API_KEY}}' resources: - name: category path: /category description: Product catalog categories operations: - name: listCategory method: GET description: TM Forum List or Find Category Objects inputParameters: - name: fields in: query type: string required: false description: Comma-separated list of fields to return - name: offset in: query type: integer required: false description: Offset for pagination - name: limit in: query type: integer required: false description: Limit for pagination outputRawFormat: json outputParameters: - name: result type: array value: $. - name: createCategory method: POST description: TM Forum Create a Category outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' description: '{{tools.description}}' - name: retrieveCategory method: GET description: TM Forum Retrieve a Category by ID inputParameters: - name: id in: path type: string required: true description: Category identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalog path: /catalog description: Product catalogs operations: - name: listCatalog method: GET description: TM Forum List or Find Catalog Objects inputParameters: - name: offset in: query type: integer required: false description: Offset for pagination - name: limit in: query type: integer required: false description: Limit for pagination outputRawFormat: json outputParameters: - name: result type: array value: $. - name: retrieveCatalog method: GET description: TM Forum Retrieve a Catalog by ID inputParameters: - name: id in: path type: string required: true description: Catalog identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: productOffering path: /productOffering description: Product offerings operations: - name: listProductOffering method: GET description: TM Forum List or Find Product Offering Objects inputParameters: - name: offset in: query type: integer required: false description: Offset for pagination - name: limit in: query type: integer required: false description: Limit for pagination outputRawFormat: json outputParameters: - name: result type: array value: $. - name: createProductOffering method: POST description: TM Forum Create a Product Offering outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' description: '{{tools.description}}' - name: retrieveProductOffering method: GET description: TM Forum Retrieve a Product Offering by ID inputParameters: - name: id in: path type: string required: true description: Product offering identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - type: http namespace: tmf622 baseUri: https://serverRoot/tmf-api/productOrderingManagement/v5 description: TM Forum Product Ordering Management API v5 authentication: type: bearer token: '{{TMF_API_KEY}}' resources: - name: productOrder path: /productOrder description: Product orders operations: - name: listProductOrder method: GET description: TM Forum List or Find Product Order Objects inputParameters: - name: offset in: query type: integer required: false description: Offset for pagination - name: limit in: query type: integer required: false description: Limit for pagination outputRawFormat: json outputParameters: - name: result type: array value: $. - name: createProductOrder method: POST description: TM Forum Create a Product Order outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: requestedStartDate: '{{tools.requestedStartDate}}' orderItem: '{{tools.orderItem}}' - name: retrieveProductOrder method: GET description: TM Forum Retrieve a Product Order by ID inputParameters: - name: id in: path type: string required: true description: Product order identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchProductOrder method: PATCH description: TM Forum Update Partially a Product Order inputParameters: - name: id in: path type: string required: true description: Product order identifier outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: product-to-cash-api description: Unified REST API for TM Forum product-to-cash workflow. resources: - path: /v1/product-catalog/categories name: catalog-categories description: Product catalog categories operations: - method: GET name: list-catalog-categories description: List product catalog categories call: tmf620.listCategory outputParameters: - type: array mapping: $. - method: POST name: create-catalog-category description: Create a product catalog category call: tmf620.createCategory outputParameters: - type: object mapping: $. - path: /v1/product-catalog/offerings name: product-offerings description: Product offerings operations: - method: GET name: list-product-offerings description: List product offerings call: tmf620.listProductOffering outputParameters: - type: array mapping: $. - method: POST name: create-product-offering description: Create a product offering call: tmf620.createProductOffering outputParameters: - type: object mapping: $. - path: /v1/product-orders name: product-orders description: Product orders operations: - method: GET name: list-product-orders description: List product orders call: tmf622.listProductOrder outputParameters: - type: array mapping: $. - method: POST name: create-product-order description: Create a new product order call: tmf622.createProductOrder outputParameters: - type: object mapping: $. - path: /v1/product-orders/{id} name: product-order description: Individual product order operations: - method: GET name: get-product-order description: Retrieve a specific product order call: tmf622.retrieveProductOrder with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: product-to-cash-mcp transport: http description: MCP server for AI-assisted TM Forum product-to-cash workflow. tools: - name: list-catalog-categories description: List product catalog categories from TMF620 hints: readOnly: true openWorld: true call: tmf620.listCategory outputParameters: - type: array mapping: $. - name: get-catalog-category description: Retrieve a specific product catalog category hints: readOnly: true openWorld: false call: tmf620.retrieveCategory with: id: tools.id outputParameters: - type: object mapping: $. - name: create-catalog-category description: Create a new product catalog category hints: readOnly: false openWorld: false call: tmf620.createCategory outputParameters: - type: object mapping: $. - name: list-product-offerings description: List product offerings from the catalog hints: readOnly: true openWorld: true call: tmf620.listProductOffering outputParameters: - type: array mapping: $. - name: get-product-offering description: Retrieve a specific product offering hints: readOnly: true openWorld: false call: tmf620.retrieveProductOffering with: id: tools.id outputParameters: - type: object mapping: $. - name: list-product-orders description: List product orders from TMF622 hints: readOnly: true openWorld: true call: tmf622.listProductOrder outputParameters: - type: array mapping: $. - name: get-product-order description: Retrieve a specific product order by ID hints: readOnly: true openWorld: false call: tmf622.retrieveProductOrder with: id: tools.id outputParameters: - type: object mapping: $. - name: create-product-order description: Submit a new product order hints: readOnly: false openWorld: false call: tmf622.createProductOrder outputParameters: - type: object mapping: $.