fabric · Capability

fabric Orders — Orders

fabric Orders — Orders. 12 operations. Lead operation: Create New Order. Self-contained Naftiko capability covering one fabric business surface.

fabric Orders — Orders is a Naftiko capability published by fabric, one of 25 capabilities the APIs.io network indexes for this provider. It bundles 12 operations across the POST, PUT, and GET methods rooted at /v1/orders.

The capability includes 1 read-only operation and 11 state-changing operations. Lead operation: Create New Order. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Fabric and Orders.

Run with Naftiko FabricOrders

What You Can Do

POST
Create new order — Create New Order
/v1/orders
POST
Authorize order payments — Authorize Order Payments
/v1/orders/actions/authorize-payments
POST
Update an order s status with state transition — Update an Order’s Status with State Transition
/v1/orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-status
POST
Update order fees and taxes — Update Order Fees and Taxes
/v1/orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-fees-and-taxes
PUT
Update a ship to address for a specific shiptoid — Update a Ship-to Address for a Specific Shiptoid
/v1/orders/{orderIdentifierType}/{orderIdentifierValue}/ship-info/{shipToId}/ship-to-address
PUT
Update bill to address for a specific payment — Update Bill-to Address for a Specific Payment
/v1/orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/bill-to-address
PUT
Add a payment log entry for a specific payment — Add a Payment Log Entry for a Specific Payment
/v1/orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/payment-logs
POST
Update order attributes by order identifier — Update Order Attributes by Order Identifier
/v1/orders/{orderIdType}/{orderIdValue}/actions/update-attributes
POST
Update customer details for given order ids — Update Customer Details for Given Order Ids
/v1/orders/actions/update-customer
GET
Get order by order number — Get Order by Order Number
/v1/orders/order-number/{orderNumber}
POST
Cancel order by order number — Cancel Order by Order Number
/v1/orders/order-number/{orderNumber}/actions/cancel
POST
Create an appeasement by order identifier — Create an Appeasement by Order Identifier
/v1/orders/{orderIdType}/{orderIdValue}/actions/create-appeasement

MCP Tools

fabric-create-new-order

Create New Order

fabric-authorize-order-payments

Authorize Order Payments

fabric-update-an-order-s-status-with-state-transition

Update an Order’s Status with State Transition

fabric-update-order-fees-and-taxes

Update Order Fees and Taxes

fabric-update-a-ship-to-address-for-a-specific-shiptoid

Update a Ship-to Address for a Specific Shiptoid

idempotent
fabric-update-bill-to-address-for-a-specific-payment

Update Bill-to Address for a Specific Payment

idempotent
fabric-add-a-payment-log-entry-for-a-specific-payment

Add a Payment Log Entry for a Specific Payment

idempotent
fabric-update-order-attributes-by-order-identifier

Update Order Attributes by Order Identifier

fabric-update-customer-details-for-given-order-ids

Update Customer Details for Given Order Ids

fabric-get-order-by-order-number

Get Order by Order Number

read-only idempotent
fabric-cancel-order-by-order-number

Cancel Order by Order Number

fabric-create-an-appeasement-by-order-identifier

Create an Appeasement by Order Identifier

Capability Spec

orders-orders.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: fabric Orders — Orders
  description: 'fabric Orders — Orders. 12 operations. Lead operation: Create New Order. Self-contained Naftiko capability covering one fabric business surface.'
  tags:
  - Fabric
  - Orders
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    FABRIC_ACCESS_TOKEN: FABRIC_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: orders-orders
    baseUri: https://api.fabric.inc/v3
    description: fabric Orders — Orders consumed operations from fabric-orders-openapi.yml.
    resources:
    - name: orders
      path: /orders
      operations:
      - name: create-new-order
        method: POST
        description: 'Create New Order'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-actions-authorize-payments
      path: /orders/actions/authorize-payments
      operations:
      - name: authorize-order-payments
        method: POST
        description: 'Authorize Order Payments'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidentifiertype-orderidentifiervalue-actions-upda
      path: /orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-status
      operations:
      - name: update-an-order-s-status-with-state-transition
        method: POST
        description: 'Update an Order’s Status with State Transition'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdentifierType
          in: path
          type: string
          required: true
        - name: orderIdentifierValue
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidentifiertype-orderidentifiervalue-actions-upda
      path: /orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-fees-and-taxes
      operations:
      - name: update-order-fees-and-taxes
        method: POST
        description: 'Update Order Fees and Taxes'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdentifierType
          in: path
          type: string
          required: true
        - name: orderIdentifierValue
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidentifiertype-orderidentifiervalue-ship-info-sh
      path: /orders/{orderIdentifierType}/{orderIdentifierValue}/ship-info/{shipToId}/ship-to-address
      operations:
      - name: update-a-ship-to-address-for-a-specific-shiptoid
        method: PUT
        description: 'Update a Ship-to Address for a Specific Shiptoid'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdentifierType
          in: path
          type: string
          required: true
        - name: orderIdentifierValue
          in: path
          type: string
          required: true
        - name: shipToId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidentifiertype-orderidentifiervalue-payments-pay
      path: /orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/bill-to-address
      operations:
      - name: update-bill-to-address-for-a-specific-payment
        method: PUT
        description: 'Update Bill-to Address for a Specific Payment'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdentifierType
          in: path
          type: string
          required: true
        - name: orderIdentifierValue
          in: path
          type: string
          required: true
        - name: paymentCounter
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidentifiertype-orderidentifiervalue-payments-pay
      path: /orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/payment-logs
      operations:
      - name: add-a-payment-log-entry-for-a-specific-payment
        method: PUT
        description: 'Add a Payment Log Entry for a Specific Payment'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdentifierType
          in: path
          type: string
          required: true
        - name: orderIdentifierValue
          in: path
          type: string
          required: true
        - name: paymentCounter
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidtype-orderidvalue-actions-update-attributes
      path: /orders/{orderIdType}/{orderIdValue}/actions/update-attributes
      operations:
      - name: update-order-attributes-by-order-identifier
        method: POST
        description: 'Update Order Attributes by Order Identifier'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdType
          in: path
          type: string
          required: true
        - name: orderIdValue
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-actions-update-customer
      path: /orders/actions/update-customer
      operations:
      - name: update-customer-details-for-given-order-ids
        method: POST
        description: 'Update Customer Details for Given Order Ids'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-order-number-ordernumber
      path: /orders/order-number/{orderNumber}
      operations:
      - name: get-order-by-order-number
        method: GET
        description: 'Get Order by Order Number'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderNumber
          in: path
          type: string
          required: true
    - name: orders-order-number-ordernumber-actions-cancel
      path: /orders/order-number/{orderNumber}/actions/cancel
      operations:
      - name: cancel-order-by-order-number
        method: POST
        description: 'Cancel Order by Order Number'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderNumber
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orders-orderidtype-orderidvalue-actions-create-appeasement
      path: /orders/{orderIdType}/{orderIdValue}/actions/create-appeasement
      operations:
      - name: create-an-appeasement-by-order-identifier
        method: POST
        description: 'Create an Appeasement by Order Identifier'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderIdType
          in: path
          type: string
          required: true
        - name: orderIdValue
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      value: '{{env.FABRIC_ACCESS_TOKEN}}'
      placement: header
  exposes:
  - type: rest
    namespace: orders-orders-rest
    port: 8080
    description: REST adapter for fabric Orders — Orders. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/orders
      name: orders
      description: REST surface for orders.
      operations:
      - method: POST
        name: create-new-order
        description: 'Create New Order'
        call: orders-orders.create-new-order
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/actions/authorize-payments
      name: orders-actions-authorize-payments
      description: REST surface for orders-actions-authorize-payments.
      operations:
      - method: POST
        name: authorize-order-payments
        description: 'Authorize Order Payments'
        call: orders-orders.authorize-order-payments
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-status
      name: orders-orderidentifiertype-orderidentifiervalue-actions-upda
      description: REST surface for orders-orderidentifiertype-orderidentifiervalue-actions-upda.
      operations:
      - method: POST
        name: update-an-order-s-status-with-state-transition
        description: 'Update an Order’s Status with State Transition'
        call: orders-orders.update-an-order-s-status-with-state-transition
        with:
          orderIdentifierType: rest.path.orderIdentifierType
          orderIdentifierValue: rest.path.orderIdentifierValue
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-fees-and-taxes
      name: orders-orderidentifiertype-orderidentifiervalue-actions-upda
      description: REST surface for orders-orderidentifiertype-orderidentifiervalue-actions-upda.
      operations:
      - method: POST
        name: update-order-fees-and-taxes
        description: 'Update Order Fees and Taxes'
        call: orders-orders.update-order-fees-and-taxes
        with:
          orderIdentifierType: rest.path.orderIdentifierType
          orderIdentifierValue: rest.path.orderIdentifierValue
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdentifierType}/{orderIdentifierValue}/ship-info/{shipToId}/ship-to-address
      name: orders-orderidentifiertype-orderidentifiervalue-ship-info-sh
      description: REST surface for orders-orderidentifiertype-orderidentifiervalue-ship-info-sh.
      operations:
      - method: PUT
        name: update-a-ship-to-address-for-a-specific-shiptoid
        description: 'Update a Ship-to Address for a Specific Shiptoid'
        call: orders-orders.update-a-ship-to-address-for-a-specific-shiptoid
        with:
          orderIdentifierType: rest.path.orderIdentifierType
          orderIdentifierValue: rest.path.orderIdentifierValue
          shipToId: rest.path.shipToId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/bill-to-address
      name: orders-orderidentifiertype-orderidentifiervalue-payments-pay
      description: REST surface for orders-orderidentifiertype-orderidentifiervalue-payments-pay.
      operations:
      - method: PUT
        name: update-bill-to-address-for-a-specific-payment
        description: 'Update Bill-to Address for a Specific Payment'
        call: orders-orders.update-bill-to-address-for-a-specific-payment
        with:
          orderIdentifierType: rest.path.orderIdentifierType
          orderIdentifierValue: rest.path.orderIdentifierValue
          paymentCounter: rest.path.paymentCounter
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/payment-logs
      name: orders-orderidentifiertype-orderidentifiervalue-payments-pay
      description: REST surface for orders-orderidentifiertype-orderidentifiervalue-payments-pay.
      operations:
      - method: PUT
        name: add-a-payment-log-entry-for-a-specific-payment
        description: 'Add a Payment Log Entry for a Specific Payment'
        call: orders-orders.add-a-payment-log-entry-for-a-specific-payment
        with:
          orderIdentifierType: rest.path.orderIdentifierType
          orderIdentifierValue: rest.path.orderIdentifierValue
          paymentCounter: rest.path.paymentCounter
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdType}/{orderIdValue}/actions/update-attributes
      name: orders-orderidtype-orderidvalue-actions-update-attributes
      description: REST surface for orders-orderidtype-orderidvalue-actions-update-attributes.
      operations:
      - method: POST
        name: update-order-attributes-by-order-identifier
        description: 'Update Order Attributes by Order Identifier'
        call: orders-orders.update-order-attributes-by-order-identifier
        with:
          orderIdType: rest.path.orderIdType
          orderIdValue: rest.path.orderIdValue
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/actions/update-customer
      name: orders-actions-update-customer
      description: REST surface for orders-actions-update-customer.
      operations:
      - method: POST
        name: update-customer-details-for-given-order-ids
        description: 'Update Customer Details for Given Order Ids'
        call: orders-orders.update-customer-details-for-given-order-ids
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/order-number/{orderNumber}
      name: orders-order-number-ordernumber
      description: REST surface for orders-order-number-ordernumber.
      operations:
      - method: GET
        name: get-order-by-order-number
        description: 'Get Order by Order Number'
        call: orders-orders.get-order-by-order-number
        with:
          orderNumber: rest.path.orderNumber
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/order-number/{orderNumber}/actions/cancel
      name: orders-order-number-ordernumber-actions-cancel
      description: REST surface for orders-order-number-ordernumber-actions-cancel.
      operations:
      - method: POST
        name: cancel-order-by-order-number
        description: 'Cancel Order by Order Number'
        call: orders-orders.cancel-order-by-order-number
        with:
          orderNumber: rest.path.orderNumber
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders/{orderIdType}/{orderIdValue}/actions/create-appeasement
      name: orders-orderidtype-orderidvalue-actions-create-appeasement
      description: REST surface for orders-orderidtype-orderidvalue-actions-create-appeasement.
      operations:
      - method: POST
        name: create-an-appeasement-by-order-identifier
        description: 'Create an Appeasement by Order Identifier'
        call: orders-orders.create-an-appeasement-by-order-identifier
        with:
          orderIdType: rest.path.orderIdType
          orderIdValue: rest.path.orderIdValue
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: orders-orders-mcp
    port: 9090
    transport: http
    description: MCP adapter for fabric Orders — Orders. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: fabric-create-new-order
      description: 'Create New Order'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.create-new-order
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-authorize-order-payments
      description: 'Authorize Order Payments'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.authorize-order-payments
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-an-order-s-status-with-state-transition
      description: 'Update an Order’s Status with State Transition'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.update-an-order-s-status-with-state-transition
      with:
        orderIdentifierType: tools.orderIdentifierType
        orderIdentifierValue: tools.orderIdentifierValue
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-order-fees-and-taxes
      description: 'Update Order Fees and Taxes'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.update-order-fees-and-taxes
      with:
        orderIdentifierType: tools.orderIdentifierType
        orderIdentifierValue: tools.orderIdentifierValue
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-a-ship-to-address-for-a-specific-shiptoid
      description: 'Update a Ship-to Address for a Specific Shiptoid'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: orders-orders.update-a-ship-to-address-for-a-specific-shiptoid
      with:
        orderIdentifierType: tools.orderIdentifierType
        orderIdentifierValue: tools.orderIdentifierValue
        shipToId: tools.shipToId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-bill-to-address-for-a-specific-payment
      description: 'Update Bill-to Address for a Specific Payment'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: orders-orders.update-bill-to-address-for-a-specific-payment
      with:
        orderIdentifierType: tools.orderIdentifierType
        orderIdentifierValue: tools.orderIdentifierValue
        paymentCounter: tools.paymentCounter
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-add-a-payment-log-entry-for-a-specific-payment
      description: 'Add a Payment Log Entry for a Specific Payment'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: orders-orders.add-a-payment-log-entry-for-a-specific-payment
      with:
        orderIdentifierType: tools.orderIdentifierType
        orderIdentifierValue: tools.orderIdentifierValue
        paymentCounter: tools.paymentCounter
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-order-attributes-by-order-identifier
      description: 'Update Order Attributes by Order Identifier'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.update-order-attributes-by-order-identifier
      with:
        orderIdType: tools.orderIdType
        orderIdValue: tools.orderIdValue
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-update-customer-details-for-given-order-ids
      description: 'Update Customer Details for Given Order Ids'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.update-customer-details-for-given-order-ids
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-get-order-by-order-number
      description: 'Get Order by Order Number'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: orders-orders.get-order-by-order-number
      with:
        orderNumber: tools.orderNumber
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-cancel-order-by-order-number
      description: 'Cancel Order by Order Number'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.cancel-order-by-order-number
      with:
        orderNumber: tools.orderNumber
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fabric-create-an-appeasement-by-order-identifier
      description: 'Create an Appeasement by Order Identifier'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: orders-orders.create-an-appeasement-by-order-identifier
      with:
        orderIdType: tools.orderIdType
        orderIdValue: tools.orderIdValue
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.