Skip to main content
GET
/
fulfillment
List fulfillment options
curl --request GET \
  --url https://api.example.com/fulfillment
{
  "data": [
    {
      "id": "delivery",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Delivery",
      "type": "DELIVERY",
      "status": "ACTIVE"
    },
    {
      "id": "pickup",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Pickup",
      "type": "PICKUP",
      "status": "ACTIVE"
    },
    {
      "id": "drive-thru",
      "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "name": "Drive-thru",
      "type": "DRIVE_THRU",
      "status": "ACTIVE"
    }
  ]
}
Returns every active fulfillment option configured for the merchant. Use this endpoint to build fulfillment pickers or to load fulfillment metadata before configuring checkout flows.
Requires a Fire spark access token obtained through token exchange. The token scopes requests to the authenticated customer and merchant.

Request

curl "https://firespark.vercel.app/api/storefront/v1/fulfillment" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response

The response wraps an array of fulfillment objects in data. Only ACTIVE options are included.
{
  "data": [
    {
      "id": "delivery",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Delivery",
      "type": "DELIVERY",
      "status": "ACTIVE"
    },
    {
      "id": "pickup",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Pickup",
      "type": "PICKUP",
      "status": "ACTIVE"
    },
    {
      "id": "drive-thru",
      "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "name": "Drive-thru",
      "type": "DRIVE_THRU",
      "status": "ACTIVE"
    }
  ]
}

Fulfillment object

FieldTypeDescription
idstringExternal fulfillment identifier. Alphanumeric characters, _, and - only. 1–64 characters.
uidstring (UUID)Fire spark internal identifier.
namestringDisplay name. 1–100 characters.
typestringFulfillment type code. 1–100 characters. Common values: DELIVERY, PICKUP, DINE_IN. Custom codes such as DRIVE_THRU are supported.
statusstringACTIVE or INACTIVE.
Store-level rules — pricing, coverage zones, availability, and instructions — are returned on stores under each store’s fulfillment object, keyed by fulfillment type. Use this endpoint for merchant-wide definitions; use stores for what each location can honor.

Error responses

StatusDescription
401Missing or invalid access token.
403Token does not have access to this merchant’s fulfillment options.