naftiko: 1.0.0-alpha2 info: label: Rithum Commerce Operations description: Unified workflow capability for commerce operations on the Rithum / Dsco platform. Combines supplier and retailer workflows for order management, catalog synchronization, inventory updates, shipment tracking, invoice processing, and event streaming. Designed for commerce operations teams managing dropship and private marketplace integrations. tags: - Commerce - Dropship - Marketplace - Ecommerce - Rithum - Supply Chain created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: DSCO_CLIENT_ID: DSCO_CLIENT_ID DSCO_CLIENT_SECRET: DSCO_CLIENT_SECRET capability: consumes: - type: http namespace: dsco baseUri: https://api.dsco.io/api/v3 description: Dsco Platform API for dropship and marketplace commerce integration authentication: type: bearer token: '{{DSCO_ACCESS_TOKEN}}' resources: - name: authentication path: /oauth2/token description: OAuth2 token management operations: - name: get-access-token method: POST description: Obtain OAuth2 bearer token using client credentials inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: supplier-catalog path: /supplier/catalog-in description: Supplier catalog management operations: - name: supplier-update-catalog method: POST description: Create or update supplier product catalog items inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: items: '{{tools.items}}' - name: supplier-inventory path: /supplier/inventory-in description: Supplier inventory management operations: - name: supplier-update-inventory method: POST description: Update supplier inventory quantities inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: items: '{{tools.items}}' - name: supplier-shipments path: /supplier/shipment-in description: Supplier shipment creation operations: - name: supplier-create-shipment method: POST description: Create shipment records for fulfilled orders inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: shipments: '{{tools.shipments}}' - name: supplier-orders path: /supplier/order-out description: Supplier order retrieval operations: - name: supplier-list-orders method: GET description: List orders for supplier fulfillment inputParameters: - name: status in: query type: string required: false description: Filter orders by status - name: limit in: query type: integer required: false description: Maximum number of orders to return outputRawFormat: json outputParameters: - name: result type: object value: $. - name: supplier-order-detail path: /supplier/order-out/{orderId} description: Supplier order detail retrieval operations: - name: supplier-get-order method: GET description: Get a specific order by ID inputParameters: - name: orderId in: path type: string required: true description: The unique order identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: supplier-invoices path: /supplier/invoice-in description: Supplier invoice processing operations: - name: supplier-create-invoice method: POST description: Submit invoices for fulfilled orders inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: invoices: '{{tools.invoices}}' - name: supplier-cancellations path: /supplier/cancel-in description: Supplier order cancellation operations: - name: supplier-cancel-order-item method: POST description: Cancel an order item inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: cancellations: '{{tools.cancellations}}' - name: supplier-acknowledge path: /supplier/acknowledge-order-in description: Supplier order acknowledgment operations: - name: supplier-acknowledge-order method: POST description: Acknowledge receipt of orders inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: orderIds: '{{tools.orderIds}}' - name: retailer-orders path: /retailer/order-in description: Retailer order submission operations: - name: retailer-create-order method: POST description: Submit consumer orders to the Dsco platform inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: orders: '{{tools.orders}}' - name: retailer-cancellations path: /retailer/cancel-in description: Retailer order cancellation operations: - name: retailer-request-cancel method: POST description: Request cancellation of an order item inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: cancellations: '{{tools.cancellations}}' - name: streams path: /streams description: Event stream management operations: - name: create-stream method: POST description: Create a new event stream inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: objectType: '{{tools.objectType}}' queryParams: '{{tools.queryParams}}' - name: list-streams method: GET description: List all event stream definitions inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: stream-events path: /streams/{streamId}/events description: Stream event retrieval operations: - name: get-stream-events method: GET description: Retrieve events from a stream starting at a checkpoint inputParameters: - name: streamId in: path type: string required: true description: The stream identifier - name: position in: query type: string required: false description: Checkpoint position to start reading from - name: limit in: query type: integer required: false description: Maximum number of events to return outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: rithum-commerce-api description: Unified REST API for Rithum commerce operations including orders, catalog, inventory, and shipments. resources: - path: /v1/orders name: orders description: Order management for retailers and suppliers operations: - method: GET name: list-orders description: List supplier orders available for fulfillment call: dsco.supplier-list-orders with: status: rest.status limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: create-order description: Submit a consumer order to the Dsco platform call: dsco.retailer-create-order outputParameters: - type: object mapping: $. - path: /v1/orders/{orderId} name: order-detail description: Individual order detail operations: - method: GET name: get-order description: Get a specific order by ID call: dsco.supplier-get-order with: orderId: rest.orderId outputParameters: - type: object mapping: $. - path: /v1/orders/{orderId}/acknowledge name: order-acknowledge description: Order acknowledgment operations: - method: POST name: acknowledge-order description: Acknowledge receipt of an order call: dsco.supplier-acknowledge-order outputParameters: - type: object mapping: $. - path: /v1/orders/{orderId}/cancel name: order-cancel description: Order cancellation operations: - method: POST name: cancel-order description: Cancel an order item call: dsco.supplier-cancel-order-item outputParameters: - type: object mapping: $. - path: /v1/catalog name: catalog description: Product catalog synchronization operations: - method: POST name: update-catalog description: Update supplier product catalog items call: dsco.supplier-update-catalog outputParameters: - type: object mapping: $. - path: /v1/inventory name: inventory description: Inventory level management operations: - method: POST name: update-inventory description: Update supplier inventory quantities call: dsco.supplier-update-inventory outputParameters: - type: object mapping: $. - path: /v1/shipments name: shipments description: Shipment management operations: - method: POST name: create-shipment description: Create a shipment record for a fulfilled order call: dsco.supplier-create-shipment outputParameters: - type: object mapping: $. - path: /v1/invoices name: invoices description: Invoice processing operations: - method: POST name: create-invoice description: Submit an invoice for a fulfilled order call: dsco.supplier-create-invoice outputParameters: - type: object mapping: $. - path: /v1/streams name: streams description: Event stream management for real-time data operations: - method: GET name: list-streams description: List all event streams call: dsco.list-streams outputParameters: - type: object mapping: $. - method: POST name: create-stream description: Create a new event stream call: dsco.create-stream outputParameters: - type: object mapping: $. - path: /v1/streams/{streamId}/events name: stream-events description: Stream event consumption operations: - method: GET name: get-stream-events description: Retrieve events from a stream call: dsco.get-stream-events with: streamId: rest.streamId position: rest.position limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: rithum-commerce-mcp transport: http description: MCP server for AI-assisted Rithum commerce operations. tools: - name: list-orders description: List orders available for supplier fulfillment hints: readOnly: true openWorld: false call: dsco.supplier-list-orders with: status: tools.status limit: tools.limit outputParameters: - type: object mapping: $. - name: get-order description: Get a specific order by ID hints: readOnly: true openWorld: false call: dsco.supplier-get-order with: orderId: tools.orderId outputParameters: - type: object mapping: $. - name: create-retailer-order description: Submit a consumer dropship or marketplace order hints: readOnly: false destructive: false call: dsco.retailer-create-order outputParameters: - type: object mapping: $. - name: acknowledge-order description: Acknowledge receipt of a supplier order hints: readOnly: false destructive: false call: dsco.supplier-acknowledge-order outputParameters: - type: object mapping: $. - name: cancel-order-item description: Cancel an order item (supplier or retailer) hints: readOnly: false destructive: true idempotent: true call: dsco.supplier-cancel-order-item outputParameters: - type: object mapping: $. - name: update-catalog description: Update supplier product catalog with new or changed items hints: readOnly: false destructive: false call: dsco.supplier-update-catalog outputParameters: - type: object mapping: $. - name: update-inventory description: Update supplier inventory quantities for catalog items hints: readOnly: false destructive: false call: dsco.supplier-update-inventory outputParameters: - type: object mapping: $. - name: create-shipment description: Create a shipment record for a fulfilled order with tracking hints: readOnly: false destructive: false call: dsco.supplier-create-shipment outputParameters: - type: object mapping: $. - name: create-invoice description: Submit an invoice for a fulfilled supplier order hints: readOnly: false destructive: false call: dsco.supplier-create-invoice outputParameters: - type: object mapping: $. - name: list-streams description: List all event stream definitions for real-time data consumption hints: readOnly: true openWorld: false call: dsco.list-streams outputParameters: - type: object mapping: $. - name: create-stream description: Create a new event stream for order, inventory, or catalog events hints: readOnly: false destructive: false call: dsco.create-stream outputParameters: - type: object mapping: $. - name: get-stream-events description: Retrieve events from a stream starting at a checkpoint position hints: readOnly: true openWorld: false call: dsco.get-stream-events with: streamId: tools.streamId position: tools.position limit: tools.limit outputParameters: - type: object mapping: $.