> ## Documentation Index
> Fetch the complete documentation index at: https://firespark.cloud/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List fulfillment options

> List all customer-facing fulfillment modes for the merchant.

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.

<Note>
  Requires a Fire spark access token obtained through [token
  exchange](/docs/storefront-api/oauth/exchange/post). The token scopes requests to the
  authenticated customer and merchant.
</Note>

## Request

```bash theme={null}
curl "https://firespark.cloud/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.

<ResponseExample>
  ```json Success theme={null}
  {
    "data": [
      {
        "id": "delivery",
        "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "brand_id": null,
        "organization_id": "11111111-1111-1111-1111-111111111111",
        "merchant_id": "22222222-2222-2222-2222-222222222222",
        "name": "Delivery",
        "type": "DELIVERY",
        "status": "ACTIVE"
      },
      {
        "id": "pickup",
        "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "brand_id": null,
        "organization_id": "11111111-1111-1111-1111-111111111111",
        "merchant_id": "22222222-2222-2222-2222-222222222222",
        "name": "Pickup",
        "type": "PICKUP",
        "status": "ACTIVE"
      },
      {
        "id": "drive-thru",
        "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
        "brand_id": null,
        "organization_id": "11111111-1111-1111-1111-111111111111",
        "merchant_id": "22222222-2222-2222-2222-222222222222",
        "name": "Drive-thru",
        "type": "DRIVE_THRU",
        "status": "ACTIVE"
      }
    ]
  }
  ```
</ResponseExample>

## Fulfillment object

| Field             | Type           | Description                                                                                                                               |
| ----------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `id`              | string         | External fulfillment identifier. Alphanumeric characters, `_`, and `-` only. 1–64 characters.                                             |
| `uid`             | string (UUID)  | Fire spark internal identifier.                                                                                                           |
| `brand_id`        | string \| null | External brand identifier. `null` when the resource is not brand-scoped.                                                                  |
| `organization_id` | string (UUID)  | Fire spark organization identifier.                                                                                                       |
| `merchant_id`     | string (UUID)  | Fire spark merchant identifier.                                                                                                           |
| `name`            | string         | Display name. 1–100 characters.                                                                                                           |
| `type`            | string         | Fulfillment type code. 1–100 characters. Common values: `DELIVERY`, `PICKUP`, `DINE_IN`. Custom codes such as `DRIVE_THRU` are supported. |
| `status`          | string         | `ACTIVE` or `INACTIVE`.                                                                                                                   |

<Tip>
  Store-level rules — pricing, coverage zones, availability, and instructions —
  are returned on [stores](/docs/storefront-api/stores/get) 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.
</Tip>

## Error responses

| Status | Description                                                        |
| ------ | ------------------------------------------------------------------ |
| `401`  | Missing or invalid access token.                                   |
| `403`  | Token does not have access to this merchant's fulfillment options. |


## OpenAPI

````yaml storefront-api/openapi.json GET /fulfillment
openapi: 3.0.1
info:
  title: Fire spark Storefront API
  description: Customer-facing channel endpoints for Fire spark.
  version: 1.0.0
servers:
  - url: https://firespark.cloud/api/storefront/v1
security:
  - bearerAuth: []
paths:
  /fulfillment:
    get:
      summary: List fulfillment options
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Fulfillment'
components:
  schemas:
    Fulfillment:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
        uid:
          type: string
          format: uuid
        name:
          $ref: '#/components/schemas/MultiLanguageText'
        type:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
    MultiLanguageText:
      type: object
      additionalProperties:
        type: string
      example:
        en_us: Example
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````