> ## 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

> Read fulfillment type definitions for POS and RMS mapping.

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.

<Note>
  Requires an access token with the `fulfillment:read` scope. See
  [Token](/docs/integrations-api/oauth/token/post) to obtain a token.
</Note>

## Request

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

<ResponseExample>
  ```json Success theme={null}
  {
    "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"
      }
    ]
  }
  ```
</ResponseExample>

## Fulfillment object

| Field             | Type          | Description                                                                                                                                                                                       |
| ----------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`              | string        | External fulfillment identifier. Alphanumeric characters, `_`, and `-` only. 1–64 characters. Unique per merchant.                                                                                |
| `uid`             | string (UUID) | Fire spark internal identifier.                                                                                                                                                                   |
| `organization_id` | string (UUID) | Organization that owns the merchant.                                                                                                                                                              |
| `merchant_id`     | string (UUID) | Merchant the fulfillment option belongs to.                                                                                                                                                       |
| `name`            | string        | Display name. 1–100 characters.                                                                                                                                                                   |
| `type`            | string        | Fulfillment 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. |
| `status`          | string        | `ACTIVE` 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.

<Tip>
  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).
</Tip>

## Error responses

| Status | Description                                          |
| ------ | ---------------------------------------------------- |
| `401`  | Missing or invalid access token.                     |
| `403`  | Token does not include the `fulfillment:read` scope. |


## OpenAPI

````yaml integrations-api/openapi.json GET /fulfillment
openapi: 3.0.1
info:
  title: Fire spark Integrations API
  description: POS and RMS integration endpoints for Fire spark.
  version: 1.0.0
servers:
  - url: https://firespark.cloud/api/integrations/v1
security:
  - bearerAuth: []
paths:
  /fulfillment:
    get:
      summary: List fulfillment options
      parameters: []
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FulfillmentUpsert'
components:
  schemas:
    FulfillmentUpsert:
      type: object
      required:
        - id
        - name
        - type
        - status
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
        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

````