Commerce Layer · Capability

Commerce Layer Core API — Shipments

Shipments, shipping methods, shipping zones, shipping categories, parcels, packages, pickups, delivery lead times, carrier accounts.

Commerce Layer Core API — Shipments is a Naftiko capability published by Commerce Layer, one of 16 capabilities the APIs.io network indexes for this provider. It bundles 11 operations across the GET, POST, and PATCH methods.

The capability includes 6 read-only operations and 5 state-changing operations. Lead operation: List All Shipments. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Commerce Layer.

Run with Naftiko Commerce Layer

What You Can Do

GET
Listshipments
/api/shipments
POST
Createshipment
/api/shipments
GET
Retrieveshipment
/api/shipments/{shipmentId}
PATCH
Updateshipment
/api/shipments/{shipmentId}
GET
Listshippingmethods
/api/shipping_methods
POST
Createshippingmethod
/api/shipping_methods
GET
Listshippingzones
/api/shipping_zones
POST
Createshippingzone
/api/shipping_zones
GET
Listparcels
/api/parcels
POST
Createparcel
/api/parcels
GET
Listcarrieraccounts
/api/carrier_accounts

MCP Tools

commerce-layer-listshipments

List All Shipments

read-only idempotent
commerce-layer-createshipment

Create A Shipment

commerce-layer-retrieveshipment

Retrieve A Shipment

read-only idempotent
commerce-layer-updateshipment

Update A Shipment

idempotent
commerce-layer-listshippingmethods

List All Shipping Methods

read-only idempotent
commerce-layer-createshippingmethod

Create A Shipping Method

commerce-layer-listshippingzones

List All Shipping Zones

read-only idempotent
commerce-layer-createshippingzone

Create A Shipping Zone

commerce-layer-listparcels

List All Parcels

read-only idempotent
commerce-layer-createparcel

Create A Parcel

commerce-layer-listcarrieraccounts

List All Carrier Accounts

read-only idempotent

Capability Spec

core-shipments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Commerce Layer Core API — Shipments
  description: 'Shipments, shipping methods, shipping zones, shipping categories, parcels, packages, pickups, delivery lead times, carrier accounts.'
  tags:
  - Commerce Layer
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    COMMERCE_LAYER_ACCESS_TOKEN: COMMERCE_LAYER_ACCESS_TOKEN
    COMMERCE_LAYER_ORG_SLUG: COMMERCE_LAYER_ORG_SLUG
capability:
  consumes:
  - type: http
    namespace: core-shipments
    baseUri: https://{{env.COMMERCE_LAYER_ORG_SLUG}}.commercelayer.io/api
    description: Commerce Layer Core API — Shipments business surface.
    resources:
    - name: shipments
      path: /shipments
      operations:
      - name: listshipments
        method: GET
        description: List All Shipments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createshipment
        method: POST
        description: Create A Shipment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: shipments-shipmentId
      path: /shipments/{shipmentId}
      operations:
      - name: retrieveshipment
        method: GET
        description: Retrieve A Shipment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateshipment
        method: PATCH
        description: Update A Shipment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: shipping_methods
      path: /shipping_methods
      operations:
      - name: listshippingmethods
        method: GET
        description: List All Shipping Methods
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createshippingmethod
        method: POST
        description: Create A Shipping Method
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: shipping_zones
      path: /shipping_zones
      operations:
      - name: listshippingzones
        method: GET
        description: List All Shipping Zones
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createshippingzone
        method: POST
        description: Create A Shipping Zone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: parcels
      path: /parcels
      operations:
      - name: listparcels
        method: GET
        description: List All Parcels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createparcel
        method: POST
        description: Create A Parcel
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
    - name: carrier_accounts
      path: /carrier_accounts
      operations:
      - name: listcarrieraccounts
        method: GET
        description: List All Carrier Accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: oauth2
      flow: client_credentials
      tokenUrl: https://auth.commercelayer.io/oauth/token
      value: 'Bearer {{env.COMMERCE_LAYER_ACCESS_TOKEN}}'
      placement: header
      key: Authorization
  exposes:
  - type: rest
    namespace: core-shipments-rest
    port: 8080
    description: REST adapter for Commerce Layer Core API — Shipments.
    resources:
    - path: /api/shipments
      name: shipments
      operations:
      - method: GET
        name: listshipments
        call: core-shipments.listshipments
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createshipment
        call: core-shipments.createshipment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/shipments/{shipmentId}
      name: shipments-shipmentId
      operations:
      - method: GET
        name: retrieveshipment
        call: core-shipments.retrieveshipment
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateshipment
        call: core-shipments.updateshipment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/shipping_methods
      name: shipping-methods
      operations:
      - method: GET
        name: listshippingmethods
        call: core-shipments.listshippingmethods
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createshippingmethod
        call: core-shipments.createshippingmethod
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/shipping_zones
      name: shipping-zones
      operations:
      - method: GET
        name: listshippingzones
        call: core-shipments.listshippingzones
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createshippingzone
        call: core-shipments.createshippingzone
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/parcels
      name: parcels
      operations:
      - method: GET
        name: listparcels
        call: core-shipments.listparcels
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createparcel
        call: core-shipments.createparcel
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /api/carrier_accounts
      name: carrier-accounts
      operations:
      - method: GET
        name: listcarrieraccounts
        call: core-shipments.listcarrieraccounts
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: core-shipments-mcp
    port: 9090
    transport: http
    description: MCP adapter for Commerce Layer Core API — Shipments.
    tools:
    - name: commerce-layer-listshipments
      description: List All Shipments
      hints:
        readOnly: true
        idempotent: true
        destructive: false
      call: core-shipments.listshipments
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-createshipment
      description: Create A Shipment
      hints:
        readOnly: false
        idempotent: false
        destructive: false
      call: core-shipments.createshipment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-retrieveshipment
      description: Retrieve A Shipment
      hints:
        readOnly: true
        idempotent: true
        destructive: false
      call: core-shipments.retrieveshipment
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-updateshipment
      description: Update A Shipment
      hints:
        readOnly: false
        idempotent: true
        destructive: false
      call: core-shipments.updateshipment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-listshippingmethods
      description: List All Shipping Methods
      hints:
        readOnly: true
        idempotent: true
        destructive: false
      call: core-shipments.listshippingmethods
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-createshippingmethod
      description: Create A Shipping Method
      hints:
        readOnly: false
        idempotent: false
        destructive: false
      call: core-shipments.createshippingmethod
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-listshippingzones
      description: List All Shipping Zones
      hints:
        readOnly: true
        idempotent: true
        destructive: false
      call: core-shipments.listshippingzones
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-createshippingzone
      description: Create A Shipping Zone
      hints:
        readOnly: false
        idempotent: false
        destructive: false
      call: core-shipments.createshippingzone
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-listparcels
      description: List All Parcels
      hints:
        readOnly: true
        idempotent: true
        destructive: false
      call: core-shipments.listparcels
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-createparcel
      description: Create A Parcel
      hints:
        readOnly: false
        idempotent: false
        destructive: false
      call: core-shipments.createparcel
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: commerce-layer-listcarrieraccounts
      description: List All Carrier Accounts
      hints:
        readOnly: true
        idempotent: true
        destructive: false
      call: core-shipments.listcarrieraccounts
      outputParameters:
      - type: object
        mapping: $.