Pedidos y preparación

Contrato aprobado · en validación

La referencia detallada de campos se muestra en inglés. Los identificadores y valores de API no cambian.

Create an order through the normal ingest pipeline.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.write"
      ]
    }
  ]
}
Parámetros
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
Solicitud
externalId
string · Obligatorio
orderNumber
string · Opcional
reference
string · Opcional
currency
string · Obligatorio
shipTo
object · Obligatorio
Original address is preserved. Country-specific postal validation and carrier print-field limits are separate checks; do not silently truncate. Residential null means unknown.
shipFrom
object · Opcional
Original address is preserved. Country-specific postal validation and carrier print-field limits are separate checks; do not silently truncate. Residential null means unknown.
warehouseId
string · Opcional
Stable Shipbuy resource identifier serialized as a string. Treat as opaque; never confuse with a carrier identifier or display number.
deliveryMethod
string · Opcional
["label","external","pickup"]
items
array · Obligatorio
shippingAmount
string · Opcional
Non-negative decimal monetary amount as a string; never IEEE floating point.
taxAmount
string · Opcional
Non-negative decimal monetary amount as a string; never IEEE floating point.
discountAmount
string · Opcional
Non-negative decimal monetary amount as a string; never IEEE floating point.
note
string · Opcional
metadata
object · Opcional
Client-owned string metadata only. No secrets or card data. Not used for authorization or business rules.
{
  "externalId": "ERP-ORDER-1001",
  "orderNumber": "SO-1001",
  "currency": "USD",
  "shipTo": {
    "name": "Alex Chen",
    "street1": "456 Pine St",
    "city": "Seattle",
    "state": "WA",
    "postalCode": "98101",
    "country": "US",
    "phone": "2065550100",
    "residential": true
  },
  "warehouseId": "10",
  "deliveryMethod": "label",
  "items": [
    {
      "clientLineId": "line-1",
      "productId": "501",
      "quantity": 2,
      "unitPrice": "19.95"
    }
  ],
  "shippingAmount": "0.00",
  "taxAmount": "0.00",
  "discountAmount": "0.00"
}
Respuesta
201Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

List sales orders.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.read"
      ]
    }
  ]
}
Parámetros
cursor
query · Opcional
Opaque continuation bound to tenant/environment/integration scope, filters, snapshot high-watermark and stable sort (updatedAt,id or documented resource-specific sort). Do not alter filters between pages. Incremental synchronization must include archive/deletion tombstones within the published retention window; snapshot expiry fails explicitly and requires a new scan.
limit
query · Opcional
integer
updatedAfter
query · Opcional
Exclusive UTC updated-time lower bound. For incremental sync keep a small overlap and deduplicate by id/version; cursor is authoritative within a scan.
reference
query · Opcional
string
externalId
query · Opcional
string
orderNumber
query · Opcional
string
status
query · Opcional
string
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Retrieve a sales order.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.read"
      ]
    }
  ]
}
Parámetros
orderId
path · Obligatorio
string
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Edit allowed order fields.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.write"
      ]
    }
  ]
}
Parámetros
orderId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
If-Match
header · Obligatorio
Exact strong ETag from the latest resource read. Required for PATCH; absent=428, stale=412. Quote/ship/split actions use explicit expectedVersion. An authorized idempotent replay returns its original committed result even if the resource is now newer.
Solicitud
reference
object · Opcional
shipTo
object · Opcional
Original address is preserved. Country-specific postal validation and carrier print-field limits are separate checks; do not silently truncate. Residential null means unknown.
note
string · Opcional
items
array · Opcional
metadata
object · Opcional
Client-owned string metadata only. No secrets or card data. Not used for authorization or business rules.
{
  "reference": "PO-2026-1200",
  "note": "Customer requested side door delivery."
}
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
412If-Match does not match the current resource revision.
422Field/business validation failed; details identify invalid fields.
428Required concurrency precondition missing.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Cancel an order with business guards.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.cancel"
      ]
    }
  ]
}
Parámetros
orderId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
Solicitud
reason
string · Obligatorio
{
  "reason": "Customer canceled"
}
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Hold an order and eligible related fulfillments.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.write"
      ]
    }
  ]
}
Parámetros
orderId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
Solicitud
reason
string · Obligatorio
holdUntil
object · Opcional
{
  "reason": "Customer address needs confirmation",
  "holdUntil": "2026-11-02 18:00:00"
}
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Uses the existing order release cascade only where the affected fulfillment hold is unambiguous. The current domain has no independent hold-source tracking. The public adapter must reject ambiguous shared-order/manual-hold release with 409 before mutation, not promise preservation or silently change shared hold semantics. No status rewind or inventory movement.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.write"
      ]
    }
  ]
}
Parámetros
orderId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
Solicitud
reason
string · Obligatorio
{
  "reason": "Address confirmed"
}
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

List fulfillments related to an order.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "orders.read",
        "fulfillments.read"
      ]
    }
  ]
}
Parámetros
orderId
path · Obligatorio
string
cursor
query · Opcional
Opaque continuation bound to tenant/environment/integration scope, filters, snapshot high-watermark and stable sort (updatedAt,id or documented resource-specific sort). Do not alter filters between pages. Incremental synchronization must include archive/deletion tombstones within the published retention window; snapshot expiry fails explicitly and requires a new scan.
limit
query · Opcional
integer
updatedAfter
query · Opcional
Exclusive UTC updated-time lower bound. For incremental sync keep a small overlap and deduplicate by id/version; cursor is authoritative within a scan.
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

List fulfillment plans.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "fulfillments.read"
      ]
    }
  ]
}
Parámetros
cursor
query · Opcional
Opaque continuation bound to tenant/environment/integration scope, filters, snapshot high-watermark and stable sort (updatedAt,id or documented resource-specific sort). Do not alter filters between pages. Incremental synchronization must include archive/deletion tombstones within the published retention window; snapshot expiry fails explicitly and requires a new scan.
limit
query · Opcional
integer
updatedAfter
query · Opcional
Exclusive UTC updated-time lower bound. For incremental sync keep a small overlap and deduplicate by id/version; cursor is authoritative within a scan.
warehouseId
query · Opcional
string
orderId
query · Opcional
string
status
query · Opcional
string
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Retrieve a fulfillment plan.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "fulfillments.read"
      ]
    }
  ]
}
Parámetros
fulfillmentId
path · Obligatorio
string
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Edit a fulfillment shipping plan.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "fulfillments.write"
      ]
    }
  ]
}
Parámetros
fulfillmentId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
If-Match
header · Obligatorio
Exact strong ETag from the latest resource read. Required for PATCH; absent=428, stale=412. Quote/ship/split actions use explicit expectedVersion. An authorized idempotent replay returns its original committed result even if the resource is now newer.
Solicitud
warehouseId
string · Opcional
Stable Shipbuy resource identifier serialized as a string. Treat as opaque; never confuse with a carrier identifier or display number.
shipFrom
object · Opcional
Original address is preserved. Country-specific postal validation and carrier print-field limits are separate checks; do not silently truncate. Residential null means unknown.
shipTo
object · Opcional
Original address is preserved. Country-specific postal validation and carrier print-field limits are separate checks; do not silently truncate. Residential null means unknown.
packages
array · Opcional
options
object · Opcional
Portable shipping options and optional typed FedEx Direct services. On fulfillment PATCH, omitted or null fields preserve their stored values; a supplied fedex object replaces the entire FedEx option group, and an empty object clears it. Carrier eligibility, account agreements and service combinations are validated before quoting or purchasing. Transportation billing is an atomic group: omit all four fields or use null to preserve it on PATCH; explicit sender clears the three billing details, while receiver or third_party requires all four fields together. Nonnull billing details without an external billingType are rejected. Duties and taxes remain independently configured under customs. Buying a frozen quote does not accept payer overrides.
customs
object · Opcional
plannedShipDate
object · Opcional
deliveryMethod
string · Opcional
["label","external","pickup"]
{
  "packages": [
    {
      "packageNo": 1,
      "length": "12",
      "width": "9",
      "height": "3",
      "weight": "2",
      "dimensionUnit": "in",
      "weightUnit": "lb",
      "shape": "box"
    }
  ],
  "plannedShipDate": "2026-11-02"
}
Respuesta
200Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
412If-Match does not match the current resource revision.
422Field/business validation failed; details identify invalid fields.
428Required concurrency precondition missing.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Quote the persisted fulfillment shipping plan.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "rates.read",
        "fulfillments.read"
      ]
    }
  ]
}
Parámetros
fulfillmentId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
Solicitud
expectedVersion
string · Obligatorio
Opaque resource revision. The ETag header is its quoted representation; send the exact ETag as If-Match.
shippingAccountIds
array · Opcional
serviceCodes
array · Opcional
{
  "expectedVersion": "7",
  "shippingAccountIds": [
    "41"
  ]
}
Respuesta
201Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Uses the existing inventory-aware shared ship transition and current account trigger. Does not buy labels; label purchase may already have auto-shipped under account settings, in which case idempotent state guards apply. Reject unsupported partial/dropship handling explicitly.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "fulfillments.ship"
      ]
    }
  ]
}
Parámetros
fulfillmentId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
{
  "mode": "label",
  "expectedVersion": "8"
}
Respuesta
200Success.
202Accepted; poll Location or GET /operations/{id}.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)

Split unexecuted quantities into a new fulfillment.

Permisos necesarios
{
  "anyOf": [
    {
      "allOf": [
        "fulfillments.write"
      ]
    }
  ]
}
Parámetros
fulfillmentId
path · Obligatorio
string
Idempotency-Key
header · Obligatorio
Required on every business write, including quotes, verification and DELETE. New logical action=new key; retry=same key and canonical payload. Namespace account+environment+stable integrationId+HTTP method+canonical path; credential rotation within one integration preserves integrationId. Same key/different payload=409. Lookup follows authentication/resource authorization and precedes If-Match/freshness checks so a completed retry returns its first result. General receipts retained >=7 days; financial/inventory side effects retain durable business association or tombstone beyond receipt expiry to prevent re-execution. In-flight/unknown result returns its operation, never a blind repurchase. Secret-creation responses are the deliberate exception to identical replay: the resource is replayed, but its one-time secret is null with secretUnavailable=true; use management rotation to recover.
Solicitud
expectedVersion
string · Obligatorio
Opaque resource revision. The ETag header is its quoted representation; send the exact ETag as If-Match.
items
array · Obligatorio
{
  "expectedVersion": "4",
  "items": [
    {
      "fulfillmentItemId": "601",
      "moveQuantity": 1
    }
  ]
}
Respuesta
201Success.
400Malformed JSON, unsupported query or invalid request syntax.
401Missing, invalid, expired or revoked API key credential.
403Scope, tenant/environment/warehouse/carrier-account constraint or plan entitlement denied. New live external-tracker registration and standalone address verification also return service_not_enabled until price and quota policies are confirmed; no upstream call or new fee/accrual is permitted.
404Resource absent or not visible in the authorized tenant/environment.
409Business conflict, changed idempotency payload, stale quote, pending side effect or insufficient stock/funds.
422Field/business validation failed; details identify invalid fields.
429Rate or paid-service limit exceeded. Respect Retry-After.
500Unexpected server error; use requestId and query operation before retrying a side effect.
503Service temporarily unavailable; upstream outcome may be unknown, query/replay the operation.
Descargar contrato V2 (JSON)