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",
      "organization_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Delivery",
      "type": "DELIVERY",
      "status": "ACTIVE"
    },
    {
      "id": "pickup",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "organization_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Pickup",
      "type": "PICKUP",
      "status": "ACTIVE"
    },
    {
      "id": "drive-thru",
      "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "organization_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Drive-thru",
      "type": "DRIVE_THRU",
      "status": "ACTIVE"
    }
  ]
}
Returns all fulfillment options configured for the authenticated merchant. Use this endpoint to map Fire spark fulfillment types to pickup, delivery, and dine-in flows in your POS or RMS before syncing stores and composing menus.
Requires an access token with the fulfillment:read scope. See Authorize to obtain a token.

Request

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

Response

The response wraps an array of fulfillment objects in data. Each object represents one fulfillment mode — built-in types such as DELIVERY and PICKUP, or custom types such as DRIVE_THRU.
{
  "data": [
    {
      "id": "delivery",
      "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "organization_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Delivery",
      "type": "DELIVERY",
      "status": "ACTIVE"
    },
    {
      "id": "pickup",
      "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "organization_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Pickup",
      "type": "PICKUP",
      "status": "ACTIVE"
    },
    {
      "id": "drive-thru",
      "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "organization_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
      "merchant_id": "c1d2e3f4-a5b6-7890-cdef-123456789abc",
      "name": "Drive-thru",
      "type": "DRIVE_THRU",
      "status": "ACTIVE"
    }
  ]
}

Fulfillment object

FieldTypeDescription
idstringExternal fulfillment identifier. Alphanumeric characters, _, and - only. 1–64 characters. Unique per merchant.
uidstring (UUID)Fire spark internal identifier.
organization_idstring (UUID)Organization that owns the merchant.
merchant_idstring (UUID)Merchant the fulfillment option belongs to.
namestringDisplay name. 1–100 characters.
typestringFulfillment type code. 1–100 characters. Unique per merchant among active records. Common values: DELIVERY, PICKUP, DINE_IN. Custom codes such as DRIVE_THRU or CURBSIDE are supported.
statusstringACTIVE or INACTIVE.

Mapping fulfillment to your POS

Match the id field to the fulfillment identifier in your POS or RMS. Fire spark uses this external ID when composing menus and attaching fulfillment rules to stores and channels.
Fulfillment uid values are stable Fire spark identifiers. Use id for cross-system mapping and uid when referencing fulfillment options in other Fire spark API calls. Use type when you need the semantic mode code (DELIVERY, PICKUP, and so on).

Error responses

StatusDescription
401Missing or invalid access token.
403Token does not include the fulfillment:read scope.