ShipBob · Agentic Access

ShipBob Agentic Access

x-agentic-access generated

ShipBob exposes 72 API operations that an AI agent could call, of which 30 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 42 read, 14 write, and 16 physical.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

LogisticsFulfillment3PLEcommerceInventoryWarehousingShippingDirect-to-Consumer
Operations: 72 Acting: 30 Human-in-the-loop: 0 Method: generated

By consequence

read 42 write 14 physical 16

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /2026-01/order physical conditional
POST /2026-01/order/{orderId}/shipment/{shipmentId}:cancel physical conditional
POST /2026-01/order/{orderId}:cancel physical conditional
POST /2026-01/order:estimate physical conditional
POST /2026-01/receiving physical conditional
POST /2026-01/receiving/{id}:cancel physical conditional
POST /2026-01/return physical conditional
PUT /2026-01/return/{id} physical conditional
POST /2026-01/return/{id}:cancel physical conditional
POST /2026-01/shipment/{shipmentId}:cancel physical conditional
PUT /2026-01/shipment/{shipmentId}:updateAddress physical conditional
POST /2026-01/shipment/{shipmentId}:updateLineItems physical conditional
POST /2026-01/shipment:batchCancel physical conditional
POST /2026-01/shipment:batchUpdateTrackingUpload physical conditional
PUT /2026-01/shipment:bulkUpdateShippingService physical conditional
POST /2026-01/simulate/shipment physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/shipbob-openapi.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 72
  by_action_class:
    connected: 42
    acting: 30
  by_consequence:
    read: 42
    physical: 16
    write: 14
  human_in_the_loop_required: 0
operations:
- path: /2026-01/channel
  method: get
  operationId: get-channels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order
  method: post
  operationId: create-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/order
  method: get
  operationId: get-orders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order/{orderId}
  method: get
  operationId: get-order
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/shipment/{shipmentId}
  method: get
  operationId: get-shipment
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/shipment/{shipmentId}/timeline
  method: get
  operationId: get-shipment-timeline
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/shipment:batchCancel
  method: post
  operationId: batch-cancel-shipments
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipment:batchUpdateTrackingUpload
  method: post
  operationId: mark-tracking-uploaded
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipment/{shipmentId}:updateAddress
  method: put
  operationId: update-shipment-address
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipment/{shipmentId}:getLineItems
  method: get
  operationId: get-shipment-line-items
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/shipment/{shipmentId}:updateLineItems
  method: post
  operationId: update-shipment-line-items
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipment:bulkUpdateShippingService
  method: put
  operationId: bulk-update-shipping-service
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/order/{orderId}:cancel
  method: post
  operationId: cancel-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipment/{shipmentId}:cancel
  method: post
  operationId: cancel-shipment
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipping-method
  method: get
  operationId: get-shipping-methods
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order/{orderId}/shipment/{shipmentId}/timeline
  method: get
  operationId: get-shipment-status-timeline-by-order-id-and-shipment-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order/{orderId}/shipment
  method: get
  operationId: get-all-shipments-for-order
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order/{orderId}/shipment/{shipmentId}/logs
  method: get
  operationId: get-shipment-logs-by-order-id-and-shipment-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order/{orderId}/shipment/{shipmentId}:cancel
  method: post
  operationId: cancel-shipment-by-order-id-and-shipment-id
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/shipment/{shipmentId}/logs
  method: get
  operationId: get-shipment-logs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order/{orderId}/shipment/{shipmentId}
  method: get
  operationId: get-shipment-by-order-id-and-shipment-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/order:estimate
  method: post
  operationId: estimate-fulfillment-cost-for-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/order/{orderId}/store-order-json
  method: get
  operationId: get-order-store-data
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/product
  method: post
  operationId: create-product
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/product
  method: get
  operationId: get-products
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/product/{productId}
  method: get
  operationId: get-product
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/product/{productId}
  method: patch
  operationId: update-product
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/product/{productId}
  method: delete
  operationId: delete-product-bundle
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/product/{productId}/variants
  method: get
  operationId: get-product-variants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/product/{productId}/variants
  method: post
  operationId: add-product-variants
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/product/{productId}/variants
  method: patch
  operationId: update-product-variants
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/variant/{variantId}:merge
  method: post
  operationId: merge-variants
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/product/{productId}:moveVariants
  method: post
  operationId: move-variants-between-products
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/product:moveVariants
  method: post
  operationId: move-variants-to-new-product
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/packaging-requirement
  method: get
  operationId: get-packaging-requirement
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/taxonomy
  method: get
  operationId: get-taxonomies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/taxonomy/{id}
  method: get
  operationId: get-taxonomy-by-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/taxonomy/{id}/parent
  method: get
  operationId: get-taxonomy-parent
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/variant/{variantId}:convertToBundle
  method: post
  operationId: convert-variant-to-bundle
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/inventory-level
  method: get
  operationId: get-all-inventory-levels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory-level/{inventoryId}
  method: get
  operationId: get-inventory-levels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory/{inventoryId}
  method: get
  operationId: get-inventory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory
  method: get
  operationId: get-all-inventories
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory/history:query
  method: post
  operationId: query-inventory-history-events
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/inventory-level/locations
  method: get
  operationId: get-all-inventory-levels-grouped-by-fulfillment-center
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory-level/{inventoryId}/locations
  method: get
  operationId: get-inventory-levels-grouped-by-fulfillment-center
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory-level/lots
  method: get
  operationId: get-all-inventory-levels-grouped-by-lot
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/inventory-level/{inventoryId}/lots
  method: get
  operationId: get-inventory-levels-grouped-by-lot
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/receiving
  method: post
  operationId: create-warehouse-receiving-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/receiving
  method: get
  operationId: get-multiple-warehouse-receiving-orders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/receiving/{id}
  method: get
  operationId: get-warehouse-receiving-order
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/fulfillment-center
  method: get
  operationId: get-fulfillment-centers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/receiving/{id}/boxes
  method: get
  operationId: get-warehouse-receiving-order-boxes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/receiving/{id}/labels
  method: get
  operationId: get-warehouse-receiving-order-box-labels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/receiving/{id}:cancel
  method: post
  operationId: cancel-warehouse-receiving-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/receiving:setExternalSync
  method: post
  operationId: set-external-sync-flag-for-wros
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/receiving/{id}/distributions
  method: get
  operationId: get-inventory-distributions-by-wro-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/return
  method: post
  operationId: create-return-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/return
  method: get
  operationId: get-return-orders
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/return/{id}
  method: get
  operationId: get-return-order
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/return/{id}
  method: put
  operationId: edit-return-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/return/{id}:cancel
  method: post
  operationId: cancel-return-order
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/webhook
  method: post
  operationId: create-subscription
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/webhook
  method: get
  operationId: get-subscriptions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/webhook/{id}
  method: delete
  operationId: delete-subscription
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/location
  method: get
  operationId: get-locations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/transactions:query
  method: post
  operationId: search-transactions
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/invoices
  method: get
  operationId: get-invoices
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/invoices/{invoiceId}/transactions
  method: get
  operationId: get-transactions-by-invoice-id
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/transaction-fees
  method: get
  operationId: get-transaction-fees
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2026-01/simulate/shipment
  method: post
  operationId: simulates-shipment
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2026-01/simulate/status/{simulationId}
  method: get
  operationId: get-simulation-status
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none