Fulfillment

Fulfillment tracks how an order is delivered to the buyer after payment. A fulfillment covers a set of the order's line items and has a type: shipment (physical goods you send), pickup (the buyer collects), delivery (local courier), digital (electronic delivery), or service (work performed). Its status runs from pending and in_progress through completed, canceled, or failed, with type-specific states in between. Create a fulfillment against an order, then advance it with the update, complete, and cancel actions.

Physical fulfillments nest further: a fulfillment holds one or more shipments, each shipment holds packages, and each package holds package items that map back to specific order line items and quantities. Shipments and packages carry carrier, tracking, dimensions, and weight, and expose their own status timelines (for example a package moves created to packed to shipped to in_transit to delivered). Because carriers and fulfillment platforms are often external, shipments and packages accept an external_reference_id and external_system so you can reconcile Flint records against your carrier or 3PL.

Alongside the resources you create and update, this surface exposes read-only fulfillment events, notifications, and status updates (for fulfillments, shipments, and packages) that record the history of each object. Use them to build an audit trail or drive buyer-facing tracking without recomputing state yourself.

Fulfillment is an operation on orders, not a separate ledger. Line-item quantities stay reconciled against the order as fulfillments progress, so order state remains the source of truth for what has shipped and what is still owed.

List fulfillment events#

GET/v1/fulfillment-events

Lists provider-neutral fulfillment events. Results default to newest received first.

Query parameters
fulfillment_idstring

Optional fulfillment ID filter.

shipment_idstring

Optional shipment ID filter.

package_idstring

Optional package ID filter.

order_idstring

Optional order ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

event_typeenum

Filter by fulfillment event type.

acceptedpreparingpickedpackedreadyshippeddispatchedin_transitout_for_deliverydelivereddelivery_attemptedtracking_updatedexceptionreturnedcompletedcanceledfailedno_showcustom
external_systemstring

Filter by external system identifier.

external_event_idstring

Filter by external provider event ID.

occurred_afterstring

RFC3339 lower bound for occurred_at.

occurred_beforestring

RFC3339 upper bound for occurred_at.

sort_byenum

Sort field. Defaults to received_at.

received_atoccurred_at
Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillment-events \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "event_type": "tracking_updated",
      "external_system": "shippo",
      "external_event_id": "evt_7f3df2",
      "external_status": "delivered",
      "message": "Carrier marked the package delivered.",
      "occurred_at": "2026-05-13T14:30:00Z",
      "received_at": "2026-05-13T14:30:01Z",
      "target_status": "completed",
      "target_quantity_effect": "fulfill",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "target_shipment_status": "delivered",
      "target_package_status": "delivered",
      "buyer_notification_behavior": "request",
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_status_update_id": "ssu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_status_update_id": "psu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "custom_details": {
        "provider_carrier": "ups"
      }
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Create fulfillment event#

POST/v1/fulfillment-eventsIdempotent

Records a provider-neutral fulfillment event. Provider-originated events can include external_system and external_event_id for dedupe; target_status, target_shipment_status, and target_package_status optionally apply validated status transitions.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
custom_detailsmap of string
event_typeenumrequired
acceptedpreparingpickedpackedreadyshippeddispatchedin_transitout_for_deliverydelivereddelivery_attemptedtracking_updatedexceptionreturnedcompletedcanceledfailedno_showcustom
external_event_idstring
external_statusstring
external_systemstring
location_descriptionstring
messagestring
occurred_atstring

Provider event timestamp.

resource_idstringrequired
resource_typeenumrequired
fulfillmentshipmentpackage
target_package_statusenum
createdpackedshippedin_transitout_for_deliverydelivereddelivery_attemptedexceptionreturnedvoided
target_quantity_effectenum
preservefulfillrelease
target_shipment_statusenum
createdpackedshippedin_transitdeliveredexceptionvoided
target_statusenum
pendingon_holdin_progressreadycompletedcanceledfailedscheduledacceptedpreparingpickedpackeddispatchedno_show
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/fulfillment-events \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "event_type": "tracking_updated",
    "resource_type": "package",
    "resource_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "external_system": "shippo",
    "external_event_id": "evt_7f3df2",
    "external_status": "delivered",
    "message": "Carrier marked the package delivered.",
    "occurred_at": "2026-05-13T14:30:00Z",
    "target_package_status": "delivered",
    "buyer_notification_behavior": "request",
    "custom_details": {
      "provider_carrier": "ups"
    }
  }'
JSON
{
  "data": {
    "fulfillment_event": {
      "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "event_type": "tracking_updated",
      "external_system": "shippo",
      "external_event_id": "evt_7f3df2",
      "external_status": "delivered",
      "message": "Carrier marked the package delivered.",
      "occurred_at": "2026-05-13T14:30:00Z",
      "received_at": "2026-05-13T14:30:01Z",
      "target_status": "completed",
      "target_quantity_effect": "fulfill",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "target_shipment_status": "delivered",
      "target_package_status": "delivered",
      "buyer_notification_behavior": "request",
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_status_update_id": "ssu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_status_update_id": "psu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "custom_details": {
        "provider_carrier": "ups"
      }
    },
    "fulfillment": {
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "type": "shipment",
      "status": "completed",
      "line_items": [
        {
          "order_line_item_id": "li_123",
          "quantity": 1
        }
      ],
      "shipment_details": {
        "carrier": "UPS",
        "tracking_number": "1Z999AA10123456784",
        "tracking_url": "https://carrier.example/track/1Z999AA10123456784",
        "shipped_at": "2026-05-13T10:00:00Z",
        "delivered_at": "2026-05-13T14:30:00Z"
      },
      "completed_at": "2026-05-13T14:30:00Z",
      "metadata": {
        "source": "dispatch"
      },
      "created_at": "2026-05-13T09:45:00Z",
      "updated_at": "2026-05-13T14:30:00Z"
    },
    "fulfillment_status_update": {
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "pending",
      "current_status": "completed",
      "quantity_effect": "fulfill",
      "buyer_notification_behavior": "default",
      "reason": "Carrier delivery confirmation.",
      "occurred_at": "2026-05-13T14:30:00Z",
      "created_at": "2026-05-13T14:30:01Z"
    },
    "replayed": true
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get fulfillment event#

GET/v1/fulfillment-events/{fulfillment_event_id}

Retrieves one provider-neutral fulfillment event by ID.

Path parameters
fulfillment_event_idstringrequired

Flint fulfillment event ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillment-events/fev_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

List fulfillment notifications#

GET/v1/fulfillment-notifications

Returns persisted fulfillment notification audit records. Results default to newest created first.

Query parameters
fulfillment_idstring

Optional fulfillment ID filter.

order_idstring

Optional order ID filter.

fulfillment_event_idstring

Optional fulfillment event ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

channelenum

Filter by notification channel.

email
statusenum

Filter by notification status.

pendingsentfailedsuppressed
notification_typeenum

Filter by notification type.

fulfillment_canceledfulfillment_completedfulfillment_deliveredfulfillment_delivery_attemptedfulfillment_dispatchedfulfillment_exceptionfulfillment_failedfulfillment_in_transitfulfillment_no_showfulfillment_out_for_deliveryfulfillment_readyfulfillment_returnedfulfillment_shippedshipment_deliveredshipment_delivery_attemptedshipment_exceptionshipment_in_transitshipment_out_for_deliveryshipment_returnedshipment_shippedtracking_updated
Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillment-notifications \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "fulfillment_notification_id": "fnt_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "recipient_email": "buyer@example.com",
      "channel": "email",
      "notification_type": "fulfillment_completed",
      "trigger_type": "status_update",
      "status": "sent",
      "sent_at": "2026-05-13T14:30:02Z",
      "created_at": "2026-05-13T14:30:01Z",
      "updated_at": "2026-05-13T14:30:02Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get fulfillment notification#

GET/v1/fulfillment-notifications/{fulfillment_notification_id}

Retrieves one fulfillment notification audit record by ID.

Path parameters
fulfillment_notification_idstringrequired

Flint fulfillment notification ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillment-notifications/fnt_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

List fulfillment status updates#

GET/v1/fulfillment-status-updates

Returns append-only status update history for a fulfillment.

Query parameters
fulfillment_idstring

Filter by fulfillment ID.

order_idstring

Optional order ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillment-status-updates \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "pending",
      "current_status": "completed",
      "quantity_effect": "fulfill",
      "buyer_notification_behavior": "default",
      "reason": "Carrier delivery confirmation.",
      "occurred_at": "2026-05-13T14:30:00Z",
      "created_at": "2026-05-13T14:30:01Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get fulfillment status update#

GET/v1/fulfillment-status-updates/{fulfillment_status_update_id}

Retrieves one fulfillment status update by ID.

Path parameters
fulfillment_status_update_idstringrequired

Flint fulfillment status update ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillment-status-updates/fsu_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

List fulfillments#

GET/v1/fulfillments

Returns fulfillments, with optional order, external reference, and text search filters.

Query parameters
order_idstring

Filter by order ID.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Offset token returned by the previous list response.

external_reference_idstring

Exact-match filter on the caller-owned external reference ID.

querystring

Search across fulfillment_id and external_reference_id.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillments \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "type": "shipment",
      "status": "completed",
      "line_items": [
        {
          "order_line_item_id": "li_123",
          "quantity": 1
        }
      ],
      "shipment_details": {
        "carrier": "UPS",
        "tracking_number": "1Z999AA10123456784",
        "tracking_url": "https://carrier.example/track/1Z999AA10123456784",
        "shipped_at": "2026-05-13T10:00:00Z",
        "delivered_at": "2026-05-13T14:30:00Z"
      },
      "completed_at": "2026-05-13T14:30:00Z",
      "metadata": {
        "source": "dispatch"
      },
      "created_at": "2026-05-13T09:45:00Z",
      "updated_at": "2026-05-13T14:30:00Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get fulfillment#

GET/v1/fulfillments/{fulfillment_id}

Retrieves a single fulfillment by ID.

Path parameters
fulfillment_idstringrequired

Flint fulfillment ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/fulfillments/ful_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

Update fulfillment#

PATCH/v1/fulfillments/{fulfillment_id}Idempotent

Updates mutable fulfillment fields and fulfillment-specific details. Fulfillment line item allocation is set when the fulfillment is created.

Path parameters
fulfillment_idstringrequired

Flint fulfillment ID.

Request body
option 1object
option 2object
option 3object
option 4object
option 5object
option 6object
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X PATCH https://api.withflintpay.com/v1/fulfillments/ful_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "location_id": "loc_123",
    "metadata": {
      "stage": "ready"
    }
  }'
JSON
{
  "data": {
    "order_id": "ord_123",
    "line_items": [
      {
        "order_line_item_id": "li_123",
        "name": "General Admission",
        "quantity": 2,
        "unit_price_money": {
          "amount": 2500,
          "currency": "USD"
        },
        "base_subtotal_money": {
          "amount": 5000,
          "currency": "USD"
        },
        "modifier_total_money": {
          "amount": 0,
          "currency": "USD"
        },
        "subtotal_money": {
          "amount": 5000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "refunded_money": {
          "amount": 0,
          "currency": "USD"
        },
        "refunded_quantity": 0,
        "total_money": {
          "amount": 5000,
          "currency": "USD"
        },
        "metadata": {
          "ticket_type": "ga"
        }
      }
    ],
    "status": "open",
    "refund_status": "none",
    "metadata": {
      "event_id": "evt_123"
    },
    "merchant_id": "mer_123",
    "customer_id": "cus_123",
    "pricing_amounts": {
      "subtotal_money": {
        "amount": 5000,
        "currency": "USD"
      },
      "discount_money": {
        "amount": 0,
        "currency": "USD"
      },
      "charge_money": {
        "amount": 0,
        "currency": "USD"
      },
      "tax_money": {
        "amount": 0,
        "currency": "USD"
      },
      "requested_tip_money": {
        "amount": 0,
        "currency": "USD"
      },
      "total_money": {
        "amount": 5000,
        "currency": "USD"
      }
    },
    "tax": {
      "enabled": false,
      "status": ""
    },
    "settlement_amounts": {
      "paid_money": {
        "amount": 0,
        "currency": "USD"
      },
      "refunded_money": {
        "amount": 0,
        "currency": "USD"
      },
      "net_collected_money": {
        "amount": 0,
        "currency": "USD"
      },
      "settled_tip_money": {
        "amount": 0,
        "currency": "USD"
      },
      "balance_money": {
        "amount": 5000,
        "currency": "USD"
      },
      "amount_due_money": {
        "amount": 5000,
        "currency": "USD"
      },
      "credit_money": {
        "amount": 0,
        "currency": "USD"
      }
    },
    "order_number": "1001",
    "source": "api",
    "created_at": "2026-03-17T14:30:00Z",
    "updated_at": "2026-03-17T14:30:00Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Cancel fulfillment#

POST/v1/fulfillments/{fulfillment_id}/cancelIdempotent

Cancels a fulfillment.

Path parameters
fulfillment_idstringrequired

Flint fulfillment ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
reasonstring
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/fulfillments/ful_01ABCDEFGHIJKLMNOPQRSTUVWX/cancel \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "reason": "Customer requested cancellation.",
    "buyer_notification_behavior": "request"
  }'
JSON
{
  "data": {
    "fulfillment": {
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "type": "shipment",
      "status": "canceled",
      "line_items": [
        {
          "order_line_item_id": "li_123",
          "quantity": 1
        }
      ],
      "shipment_details": {
        "carrier": "UPS",
        "tracking_number": "1Z999AA10123456784",
        "tracking_url": "https://carrier.example/track/1Z999AA10123456784",
        "shipped_at": "2026-05-13T10:00:00Z",
        "delivered_at": "2026-05-13T14:30:00Z"
      },
      "completed_at": "2026-05-13T14:30:00Z",
      "metadata": {
        "source": "dispatch"
      },
      "created_at": "2026-05-13T09:45:00Z",
      "updated_at": "2026-05-13T14:30:00Z"
    },
    "fulfillment_status_update": {
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "pending",
      "current_status": "canceled",
      "quantity_effect": "release",
      "buyer_notification_behavior": "request",
      "reason": "Customer requested cancellation.",
      "occurred_at": "2026-05-13T14:30:00Z",
      "created_at": "2026-05-13T14:30:01Z"
    }
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Complete fulfillment#

POST/v1/fulfillments/{fulfillment_id}/completeIdempotent

Marks a fulfillment as completed.

Path parameters
fulfillment_idstringrequired

Flint fulfillment ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
completed_atstring

Completion evidence timestamp.

reasonstring
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/fulfillments/ful_01ABCDEFGHIJKLMNOPQRSTUVWX/complete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "completed_at": "2026-05-13T14:30:00Z",
    "buyer_notification_behavior": "request"
  }'
JSON
{
  "data": {
    "fulfillment": {
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "type": "shipment",
      "status": "completed",
      "line_items": [
        {
          "order_line_item_id": "li_123",
          "quantity": 1
        }
      ],
      "shipment_details": {
        "carrier": "UPS",
        "tracking_number": "1Z999AA10123456784",
        "tracking_url": "https://carrier.example/track/1Z999AA10123456784",
        "shipped_at": "2026-05-13T10:00:00Z",
        "delivered_at": "2026-05-13T14:30:00Z"
      },
      "completed_at": "2026-05-13T14:30:00Z",
      "metadata": {
        "source": "dispatch"
      },
      "created_at": "2026-05-13T09:45:00Z",
      "updated_at": "2026-05-13T14:30:00Z"
    },
    "fulfillment_status_update": {
      "fulfillment_status_update_id": "fsu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "pending",
      "current_status": "completed",
      "quantity_effect": "fulfill",
      "buyer_notification_behavior": "default",
      "reason": "Carrier delivery confirmation.",
      "occurred_at": "2026-05-13T14:30:00Z",
      "created_at": "2026-05-13T14:30:01Z"
    }
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Create shipment#

POST/v1/fulfillments/{fulfillment_id}/shipmentsIdempotent

Creates a shipment execution record under a shipment-type fulfillment. Shipment status transitions use future explicit shipment status APIs; this endpoint records non-lifecycle carrier, tracking, label, measurement, and external correlation fields.

Path parameters
fulfillment_idstringrequired

Flint shipment fulfillment ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging. On create, tracking fields also record an initial tracking_updated fulfillment event; tracking PATCH requests always record tracking_updated events.

defaultsuppressrequest
carrierstring
dimensionsobject
external_reference_idstring

Caller-owned shipment identifier in external_system. Set with external_system to enable duplicate detection and replay for that provider reference.

external_systemstring

External carrier, aggregator, or fulfillment platform name for this shipment. Set with external_reference_id to enable duplicate detection and replay for that provider reference; without external_reference_id this is stored as provenance only.

label_urlstring

Merchant or integration supplied HTTPS shipping-label URL for authenticated merchant workflows. Non-Flint URLs must include external_system for provenance. Flint does not currently manage label file hosting or buyer-facing label downloads.

metadatamap of string
service_codestring
tracking_numberstring
tracking_urlstring
weightobject
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/fulfillments/ful_01ABCDEFGHIJKLMNOPQRSTUVWX/shipments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "carrier": "ups",
    "service_code": "ground",
    "tracking_number": "1Z999AA10123456784",
    "tracking_url": "https://track.example.com/1Z999AA10123456784",
    "weight": {
      "value": 2.4,
      "unit": "lb"
    },
    "dimensions": {
      "length": 12,
      "width": 9,
      "height": 4,
      "unit": "in"
    },
    "external_system": "merchant_wms",
    "external_reference_id": "ship_789",
    "metadata": {
      "warehouse": "east"
    },
    "buyer_notification_behavior": "request"
  }'
JSON
{
  "data": {
    "shipment": {
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "created",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 2.4,
        "unit": "lb"
      },
      "dimensions": {
        "length": 12,
        "width": 9,
        "height": 4,
        "unit": "in"
      },
      "shipped_at": "2026-05-13T16:00:00Z",
      "external_system": "merchant_wms",
      "external_reference_id": "ship_789",
      "metadata": {
        "warehouse": "east"
      },
      "created_at": "2026-05-13T15:59:00Z",
      "updated_at": "2026-05-13T16:00:00Z"
    },
    "fulfillment_event": {
      "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "event_type": "tracking_updated",
      "message": "Shipment tracking updated",
      "occurred_at": "2026-05-13T15:59:00Z",
      "received_at": "2026-05-13T15:59:00Z",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "buyer_notification_behavior": "request",
      "custom_details": {
        "current_carrier": "ups",
        "current_service_code": "ground",
        "current_tracking_number": "1Z999AA10123456784",
        "current_tracking_url": "https://track.example.com/1Z999AA10123456784",
        "resource_type": "shipment"
      }
    },
    "fulfillment_notifications": [
      {
        "fulfillment_notification_id": "fnt_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "recipient_email": "buyer@example.com",
        "channel": "email",
        "notification_type": "tracking_updated",
        "trigger_type": "fulfillment_event_created",
        "status": "pending",
        "created_at": "2026-05-13T15:59:00Z",
        "updated_at": "2026-05-13T15:59:00Z"
      }
    ],
    "replayed": true
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Create fulfillment#

POST/v1/orders/{order_id}/fulfillmentsIdempotent

Creates an explicit fulfillment for an order.

Path parameters
order_idstringrequired

Flint order ID.

Request body
option 1object
option 2object
option 3object
option 4object
option 5object
option 6object
Response · 201
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/orders/ord_123/fulfillments \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "type": "service",
    "line_items": [
      {
        "order_line_item_id": "li_123",
        "quantity": 1
      }
    ],
    "service_details": {
      "notes": "On-site setup"
    },
    "metadata": {
      "source": "dispatch"
    }
  }'
JSON
{
  "data": {
    "order_id": "ord_123",
    "line_items": [
      {
        "order_line_item_id": "li_123",
        "name": "General Admission",
        "quantity": 2,
        "unit_price_money": {
          "amount": 2500,
          "currency": "USD"
        },
        "base_subtotal_money": {
          "amount": 5000,
          "currency": "USD"
        },
        "modifier_total_money": {
          "amount": 0,
          "currency": "USD"
        },
        "subtotal_money": {
          "amount": 5000,
          "currency": "USD"
        },
        "discount_money": {
          "amount": 0,
          "currency": "USD"
        },
        "tax_money": {
          "amount": 0,
          "currency": "USD"
        },
        "refunded_money": {
          "amount": 0,
          "currency": "USD"
        },
        "refunded_quantity": 0,
        "total_money": {
          "amount": 5000,
          "currency": "USD"
        },
        "metadata": {
          "ticket_type": "ga"
        }
      }
    ],
    "status": "open",
    "refund_status": "none",
    "metadata": {
      "event_id": "evt_123"
    },
    "merchant_id": "mer_123",
    "customer_id": "cus_123",
    "pricing_amounts": {
      "subtotal_money": {
        "amount": 5000,
        "currency": "USD"
      },
      "discount_money": {
        "amount": 0,
        "currency": "USD"
      },
      "charge_money": {
        "amount": 0,
        "currency": "USD"
      },
      "tax_money": {
        "amount": 0,
        "currency": "USD"
      },
      "requested_tip_money": {
        "amount": 0,
        "currency": "USD"
      },
      "total_money": {
        "amount": 5000,
        "currency": "USD"
      }
    },
    "tax": {
      "enabled": false,
      "status": ""
    },
    "settlement_amounts": {
      "paid_money": {
        "amount": 0,
        "currency": "USD"
      },
      "refunded_money": {
        "amount": 0,
        "currency": "USD"
      },
      "net_collected_money": {
        "amount": 0,
        "currency": "USD"
      },
      "settled_tip_money": {
        "amount": 0,
        "currency": "USD"
      },
      "balance_money": {
        "amount": 5000,
        "currency": "USD"
      },
      "amount_due_money": {
        "amount": 5000,
        "currency": "USD"
      },
      "credit_money": {
        "amount": 0,
        "currency": "USD"
      }
    },
    "order_number": "1001",
    "source": "api",
    "created_at": "2026-03-17T14:30:00Z",
    "updated_at": "2026-03-17T14:30:00Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

List package items#

GET/v1/package-items

Lists order line quantities contained in packages.

Query parameters
package_idstring

Optional package ID filter.

shipment_idstring

Optional shipment ID filter.

fulfillment_idstring

Optional fulfillment ID filter.

order_idstring

Optional order ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/package-items \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "package_item_id": "pki_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_line_item_id": "li_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "quantity": 1,
      "metadata": {
        "slot": "A"
      },
      "created_at": "2026-05-13T16:02:00Z",
      "updated_at": "2026-05-13T16:02:00Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get package item#

GET/v1/package-items/{package_item_id}

Retrieves one package item by ID.

Path parameters
package_item_idstringrequired

Flint package item ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/package-items/pki_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

Update package item#

PATCH/v1/package-items/{package_item_id}Idempotent

Updates a package item quantity or metadata while the package is still mutable.

Path parameters
package_item_idstringrequired

Flint package item ID.

Request body
metadatamap of string
quantityinteger

Whole-number quantity; fractional quantities are not supported.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X PATCH https://api.withflintpay.com/v1/package-items/pki_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "quantity": 1,
    "metadata": {
      "slot": "B"
    }
  }'
JSON
{
  "data": {
    "package_item_id": "pki_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "order_line_item_id": "li_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "quantity": 1,
    "metadata": {
      "slot": "A"
    },
    "created_at": "2026-05-13T16:02:00Z",
    "updated_at": "2026-05-13T16:02:00Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Delete package item#

DELETE/v1/package-items/{package_item_id}Idempotent

Removes an order line quantity from a package while the package is still mutable.

Path parameters
package_item_idstringrequired

Flint package item ID.

Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X DELETE https://api.withflintpay.com/v1/package-items/pki_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": {
    "package_item_id": "pki_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "order_line_item_id": "li_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "quantity": 1,
    "metadata": {
      "slot": "A"
    },
    "created_at": "2026-05-13T16:02:00Z",
    "updated_at": "2026-05-13T16:02:00Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

List package status updates#

GET/v1/package-status-updates

Lists append-only package status updates, newest created first.

Query parameters
package_idstring

Optional package ID filter.

shipment_idstring

Optional shipment ID filter.

fulfillment_idstring

Optional fulfillment ID filter.

order_idstring

Optional order ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/package-status-updates \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "package_status_update_id": "psu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "in_transit",
      "current_status": "out_for_delivery",
      "buyer_notification_behavior": "request",
      "reason": "Carrier scan reported out for delivery.",
      "occurred_at": "2026-05-14T12:05:00Z",
      "created_at": "2026-05-14T12:05:01Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get package status update#

GET/v1/package-status-updates/{package_status_update_id}

Retrieves one package status update by ID.

Path parameters
package_status_update_idstringrequired

Flint package status update ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/package-status-updates/psu_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

List packages#

GET/v1/packages

Lists package records, newest created first.

Query parameters
shipment_idstring

Optional shipment ID filter.

fulfillment_idstring

Optional fulfillment ID filter.

order_idstring

Optional order ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

external_systemstring

Filter by external system identifier.

external_reference_idstring

Filter by caller-owned external package reference.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/packages \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "created",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 1.2,
        "unit": "lb"
      },
      "dimensions": {
        "length": 8,
        "width": 6,
        "height": 4,
        "unit": "in"
      },
      "external_system": "merchant_wms",
      "external_reference_id": "pkg_789",
      "metadata": {
        "box": "small"
      },
      "created_at": "2026-05-13T16:01:00Z",
      "updated_at": "2026-05-13T16:01:00Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get package#

GET/v1/packages/{package_id}

Retrieves one package by ID.

Path parameters
package_idstringrequired

Flint package ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/packages/pkg_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

Update package#

PATCH/v1/packages/{package_id}Idempotent

Updates non-lifecycle package fields such as carrier, tracking, label access, measurements, metadata, and caller-owned external references. Package status cannot be patched directly.

Path parameters
package_idstringrequired

Flint package ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
carrierstring
dimensionsobject
external_reference_idstring

Caller-owned package identifier in external_system. Set with external_system to enable duplicate detection and replay for that provider reference.

external_systemstring

External carrier, aggregator, or fulfillment platform name for this package. Set with external_reference_id to enable duplicate detection and replay for that provider reference; without external_reference_id this is stored as provenance only.

label_urlstring

Merchant or integration supplied HTTPS shipping-label URL for authenticated merchant workflows. Non-Flint URLs must include external_system for provenance. Flint does not currently manage label file hosting or buyer-facing label downloads.

metadatamap of string
service_codestring
status_reasonstring
tracking_numberstring
tracking_urlstring
weightobject
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X PATCH https://api.withflintpay.com/v1/packages/pkg_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "tracking_number": "1Z999AA10987654321",
    "tracking_url": "https://track.example.com/1Z999AA10987654321",
    "metadata": {
      "box": "small",
      "packed_by": "warehouse-a"
    },
    "buyer_notification_behavior": "request"
  }'
JSON
{
  "data": {
    "package": {
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "created",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 1.2,
        "unit": "lb"
      },
      "dimensions": {
        "length": 8,
        "width": 6,
        "height": 4,
        "unit": "in"
      },
      "external_system": "merchant_wms",
      "external_reference_id": "pkg_789",
      "metadata": {
        "box": "small"
      },
      "created_at": "2026-05-13T16:01:00Z",
      "updated_at": "2026-05-13T16:01:00Z"
    },
    "fulfillment_event": {
      "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "event_type": "tracking_updated",
      "message": "Package tracking updated",
      "occurred_at": "2026-05-13T16:01:00Z",
      "received_at": "2026-05-13T16:01:00Z",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "buyer_notification_behavior": "request",
      "custom_details": {
        "current_carrier": "ups",
        "current_service_code": "ground",
        "current_tracking_number": "1Z999AA10123456784",
        "current_tracking_url": "https://track.example.com/1Z999AA10123456784",
        "resource_type": "package"
      }
    },
    "fulfillment_notifications": [
      {
        "fulfillment_notification_id": "fnt_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "recipient_email": "buyer@example.com",
        "channel": "email",
        "notification_type": "tracking_updated",
        "trigger_type": "fulfillment_event_created",
        "status": "pending",
        "created_at": "2026-05-13T16:01:00Z",
        "updated_at": "2026-05-13T16:01:00Z"
      }
    ]
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Create package item#

POST/v1/packages/{package_id}/itemsIdempotent

Adds an order line quantity to a package. Total active package item quantities cannot exceed the parent fulfillment line-item quantity.

Path parameters
package_idstringrequired

Flint package ID.

Request body
metadatamap of string
order_line_item_idstringrequired
quantityintegerrequired

Whole-number quantity; fractional quantities are not supported.

Response · 201
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/packages/pkg_01ABCDEFGHIJKLMNOPQRSTUVWX/items \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "order_line_item_id": "li_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "quantity": 1,
    "metadata": {
      "slot": "A"
    }
  }'
JSON
{
  "data": {
    "package_item_id": "pki_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "order_line_item_id": "li_01ABCDEFGHIJKLMNOPQRSTUVWX",
    "quantity": 1,
    "metadata": {
      "slot": "A"
    },
    "created_at": "2026-05-13T16:02:00Z",
    "updated_at": "2026-05-13T16:02:00Z"
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Void package#

POST/v1/packages/{package_id}/voidIdempotent

Voids a package before carrier handoff and records an append-only package status update. Voided package items no longer count against fulfillment package allocation capacity.

Path parameters
package_idstringrequired

Flint package ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
occurred_atstring

Void event timestamp.

reasonstring
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/packages/pkg_01ABCDEFGHIJKLMNOPQRSTUVWX/void \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "reason": "Package was repacked before pickup.",
    "occurred_at": "2026-05-13T16:09:00Z",
    "buyer_notification_behavior": "suppress"
  }'
JSON
{
  "data": {
    "package": {
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "voided",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 1.2,
        "unit": "lb"
      },
      "dimensions": {
        "length": 8,
        "width": 6,
        "height": 4,
        "unit": "in"
      },
      "external_system": "merchant_wms",
      "external_reference_id": "pkg_789",
      "metadata": {
        "box": "small"
      },
      "created_at": "2026-05-13T16:01:00Z",
      "updated_at": "2026-05-13T16:08:01Z"
    },
    "package_status_update": {
      "package_status_update_id": "psu_01ZYXWVUTSRQPONMLKJIHGFED",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "created",
      "current_status": "voided",
      "buyer_notification_behavior": "suppress",
      "reason": "Package was repacked before pickup.",
      "occurred_at": "2026-05-13T16:09:00Z",
      "created_at": "2026-05-13T16:09:01Z"
    }
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

List shipment status updates#

GET/v1/shipment-status-updates

Lists append-only shipment status updates, newest created first.

Query parameters
shipment_idstring

Optional shipment ID filter.

fulfillment_idstring

Optional fulfillment ID filter.

order_idstring

Optional order ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/shipment-status-updates \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "shipment_status_update_id": "ssu_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "packed",
      "current_status": "shipped",
      "buyer_notification_behavior": "request",
      "reason": "Carrier accepted the shipment.",
      "occurred_at": "2026-05-13T16:10:00Z",
      "created_at": "2026-05-13T16:10:01Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get shipment status update#

GET/v1/shipment-status-updates/{shipment_status_update_id}

Retrieves one shipment status update by ID.

Path parameters
shipment_status_update_idstringrequired

Flint shipment status update ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/shipment-status-updates/ssu_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

List shipments#

GET/v1/shipments

Lists shipment execution records, newest created first.

Query parameters
order_idstring

Optional order ID filter.

fulfillment_idstring

Optional fulfillment ID filter.

page_sizeinteger

Page size, default 20, max 100.

page_tokenstring

Cursor returned by the previous list response.

external_systemstring

Filter by external system identifier.

external_reference_idstring

Filter by caller-owned external shipment reference.

Response · 200
dataarray of objectrequired
metaobject
next_page_tokenstring
request_idstring
Bash
curl https://api.withflintpay.com/v1/shipments \
  -H "Authorization: Bearer YOUR_API_KEY"
JSON
{
  "data": [
    {
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "created",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 2.4,
        "unit": "lb"
      },
      "dimensions": {
        "length": 12,
        "width": 9,
        "height": 4,
        "unit": "in"
      },
      "shipped_at": "2026-05-13T16:00:00Z",
      "external_system": "merchant_wms",
      "external_reference_id": "ship_789",
      "metadata": {
        "warehouse": "east"
      },
      "created_at": "2026-05-13T15:59:00Z",
      "updated_at": "2026-05-13T16:00:00Z"
    }
  ],
  "next_page_token": "Zm9yd2FyZC1vbmx5LW9wYXF1ZS1jdXJzb3I",
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Get shipment#

GET/v1/shipments/{shipment_id}

Retrieves one shipment execution record by ID.

Path parameters
shipment_idstringrequired

Flint shipment ID.

Query parameters
expandarray of enum

Supported expansions: order. Expansion requires commerce.orders.read. Limits: at most 10 unique expand paths per request; path depth at most 2. Send repeated expand parameters as the canonical form, for example expand=order&expand=order. Comma-separated values, expand[]=order, and numeric expand[0]=order are accepted for common client compatibility.

order
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl https://api.withflintpay.com/v1/shipments/shp_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY"

Update shipment#

PATCH/v1/shipments/{shipment_id}Idempotent

Updates non-lifecycle shipment fields such as carrier, tracking, label access, measurements, metadata, and caller-owned external references. Shipment status cannot be patched directly.

Path parameters
shipment_idstringrequired

Flint shipment ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
carrierstring
dimensionsobject
external_reference_idstring

Caller-owned shipment identifier in external_system. Set with external_system to enable duplicate detection and replay for that provider reference.

external_systemstring

External carrier, aggregator, or fulfillment platform name for this shipment. Set with external_reference_id to enable duplicate detection and replay for that provider reference; without external_reference_id this is stored as provenance only.

label_urlstring

Merchant or integration supplied HTTPS shipping-label URL for authenticated merchant workflows. Non-Flint URLs must include external_system for provenance. Flint does not currently manage label file hosting or buyer-facing label downloads.

metadatamap of string
service_codestring
tracking_numberstring
tracking_urlstring
weightobject
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X PATCH https://api.withflintpay.com/v1/shipments/shp_01ABCDEFGHIJKLMNOPQRSTUVWX \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "tracking_number": "1Z999AA10123456784",
    "tracking_url": "https://track.example.com/1Z999AA10123456784",
    "metadata": {
      "route": "A7",
      "warehouse": "east"
    },
    "buyer_notification_behavior": "request"
  }'
JSON
{
  "data": {
    "shipment": {
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "created",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 2.4,
        "unit": "lb"
      },
      "dimensions": {
        "length": 12,
        "width": 9,
        "height": 4,
        "unit": "in"
      },
      "shipped_at": "2026-05-13T16:00:00Z",
      "external_system": "merchant_wms",
      "external_reference_id": "ship_789",
      "metadata": {
        "warehouse": "east"
      },
      "created_at": "2026-05-13T15:59:00Z",
      "updated_at": "2026-05-13T16:00:00Z"
    },
    "fulfillment_event": {
      "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "event_type": "tracking_updated",
      "message": "Shipment tracking updated",
      "occurred_at": "2026-05-13T15:59:00Z",
      "received_at": "2026-05-13T15:59:00Z",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "buyer_notification_behavior": "request",
      "custom_details": {
        "current_carrier": "ups",
        "current_service_code": "ground",
        "current_tracking_number": "1Z999AA10123456784",
        "current_tracking_url": "https://track.example.com/1Z999AA10123456784",
        "resource_type": "shipment"
      }
    },
    "fulfillment_notifications": [
      {
        "fulfillment_notification_id": "fnt_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "recipient_email": "buyer@example.com",
        "channel": "email",
        "notification_type": "tracking_updated",
        "trigger_type": "fulfillment_event_created",
        "status": "pending",
        "created_at": "2026-05-13T15:59:00Z",
        "updated_at": "2026-05-13T15:59:00Z"
      }
    ]
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Create package#

POST/v1/shipments/{shipment_id}/packagesIdempotent

Creates a package record under a shipment. Package status transitions use explicit future status APIs; this endpoint records package-level carrier, tracking, label, measurement, and external correlation fields.

Path parameters
shipment_idstringrequired

Flint shipment ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging. On create, tracking fields also record an initial tracking_updated fulfillment event; tracking PATCH requests always record tracking_updated events.

defaultsuppressrequest
carrierstring
dimensionsobject
external_reference_idstring

Caller-owned package identifier in external_system. Set with external_system to enable duplicate detection and replay for that provider reference.

external_systemstring

External carrier, aggregator, or fulfillment platform name for this package. Set with external_reference_id to enable duplicate detection and replay for that provider reference; without external_reference_id this is stored as provenance only.

label_urlstring

Merchant or integration supplied HTTPS shipping-label URL for authenticated merchant workflows. Non-Flint URLs must include external_system for provenance. Flint does not currently manage label file hosting or buyer-facing label downloads.

metadatamap of string
service_codestring
status_reasonstring
tracking_numberstring
tracking_urlstring
weightobject
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/shipments/shp_01ABCDEFGHIJKLMNOPQRSTUVWX/packages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "carrier": "ups",
    "service_code": "ground",
    "tracking_number": "1Z999AA10123456784",
    "tracking_url": "https://track.example.com/1Z999AA10123456784",
    "weight": {
      "value": 1.2,
      "unit": "lb"
    },
    "dimensions": {
      "length": 8,
      "width": 6,
      "height": 4,
      "unit": "in"
    },
    "external_system": "merchant_wms",
    "external_reference_id": "pkg_789",
    "metadata": {
      "box": "small"
    },
    "buyer_notification_behavior": "request"
  }'
JSON
{
  "data": {
    "package": {
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "created",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 1.2,
        "unit": "lb"
      },
      "dimensions": {
        "length": 8,
        "width": 6,
        "height": 4,
        "unit": "in"
      },
      "external_system": "merchant_wms",
      "external_reference_id": "pkg_789",
      "metadata": {
        "box": "small"
      },
      "created_at": "2026-05-13T16:01:00Z",
      "updated_at": "2026-05-13T16:01:00Z"
    },
    "fulfillment_event": {
      "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "event_type": "tracking_updated",
      "message": "Package tracking updated",
      "occurred_at": "2026-05-13T16:01:00Z",
      "received_at": "2026-05-13T16:01:00Z",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "buyer_notification_behavior": "request",
      "custom_details": {
        "current_carrier": "ups",
        "current_service_code": "ground",
        "current_tracking_number": "1Z999AA10123456784",
        "current_tracking_url": "https://track.example.com/1Z999AA10123456784",
        "resource_type": "package"
      }
    },
    "fulfillment_notifications": [
      {
        "fulfillment_notification_id": "fnt_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_event_id": "fev_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "recipient_email": "buyer@example.com",
        "channel": "email",
        "notification_type": "tracking_updated",
        "trigger_type": "fulfillment_event_created",
        "status": "pending",
        "created_at": "2026-05-13T16:01:00Z",
        "updated_at": "2026-05-13T16:01:00Z"
      }
    ],
    "replayed": true
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}

Void shipment#

POST/v1/shipments/{shipment_id}/voidIdempotent

Voids a shipment before carrier handoff and voids all child packages that have not shipped. The action records append-only status updates for the shipment and affected packages.

Path parameters
shipment_idstringrequired

Flint shipment ID.

Request body
buyer_notification_behaviorenum

Controls Flint buyer email handling. default or omitted is suppression-first today: Flint may record a suppressed notification audit, but no buyer email is sent. Use request to ask Flint to send if rules, recipient, and dedupe allow it; use suppress when another system owns buyer messaging.

defaultsuppressrequest
occurred_atstring

Void event timestamp.

reasonstring
Response · 200
dataobjectrequired
metaobject
request_idstring
Bash
curl -X POST https://api.withflintpay.com/v1/shipments/shp_01ABCDEFGHIJKLMNOPQRSTUVWX/void \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: a-unique-key" \
  -d '{
    "reason": "Label canceled before carrier pickup.",
    "occurred_at": "2026-05-13T16:08:00Z",
    "buyer_notification_behavior": "suppress"
  }'
JSON
{
  "data": {
    "shipment": {
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "status": "voided",
      "carrier": "ups",
      "service_code": "ground",
      "tracking_number": "1Z999AA10123456784",
      "tracking_url": "https://track.example.com/1Z999AA10123456784",
      "weight": {
        "value": 2.4,
        "unit": "lb"
      },
      "dimensions": {
        "length": 12,
        "width": 9,
        "height": 4,
        "unit": "in"
      },
      "shipped_at": "2026-05-13T16:00:00Z",
      "external_system": "merchant_wms",
      "external_reference_id": "ship_789",
      "metadata": {
        "warehouse": "east"
      },
      "created_at": "2026-05-13T15:59:00Z",
      "updated_at": "2026-05-13T16:08:01Z"
    },
    "shipment_status_update": {
      "shipment_status_update_id": "ssu_01ZYXWVUTSRQPONMLKJIHGFED",
      "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
      "previous_status": "created",
      "current_status": "voided",
      "buyer_notification_behavior": "suppress",
      "reason": "Label canceled before carrier pickup.",
      "occurred_at": "2026-05-13T16:08:00Z",
      "created_at": "2026-05-13T16:08:01Z"
    },
    "packages": [
      {
        "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "status": "voided",
        "carrier": "ups",
        "service_code": "ground",
        "tracking_number": "1Z999AA10123456784",
        "tracking_url": "https://track.example.com/1Z999AA10123456784",
        "weight": {
          "value": 1.2,
          "unit": "lb"
        },
        "dimensions": {
          "length": 8,
          "width": 6,
          "height": 4,
          "unit": "in"
        },
        "external_system": "merchant_wms",
        "external_reference_id": "pkg_789",
        "metadata": {
          "box": "small"
        },
        "created_at": "2026-05-13T16:01:00Z",
        "updated_at": "2026-05-13T16:08:01Z"
      }
    ],
    "package_status_updates": [
      {
        "package_status_update_id": "psu_01ZYXWVUTSRQPONMLKJIHGFED",
        "order_id": "ord_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "fulfillment_id": "ful_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "shipment_id": "shp_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "package_id": "pkg_01ABCDEFGHIJKLMNOPQRSTUVWX",
        "previous_status": "created",
        "current_status": "voided",
        "buyer_notification_behavior": "suppress",
        "reason": "Package was repacked before pickup.",
        "occurred_at": "2026-05-13T16:09:00Z",
        "created_at": "2026-05-13T16:09:01Z"
      }
    ]
  },
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}
Rate this doc