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