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

# Get customers (bulk)

> List customers in a numeric index range for back-office sync.

Returns a slice of customers for the merchant environment. Use numeric `from` and `to` query parameters to page through records in stable order.

The customer shape matches the Fire spark `customers` table: profile fields, delivery addresses, billing profiles, devices, consent and birthday.

## Query parameters

| Parameter | Required | Description                             |
| --------- | -------- | --------------------------------------- |
| `from`    | Yes      | Starting record index, starting from 0. |
| `to`      | Yes      | Ending record index, starting from 0.   |

## Request

```bash theme={null}
curl "https://firespark.cloud/api/admin/v1/customers/bulk?from=0&to=99" \
  -H "Authorization: Bearer ACCESS_TOKEN"
```

## Response

Returns an array of [Customer](/docs/admin-api/customers/bulk/get) objects in `data`.


## OpenAPI

````yaml GET /customers/bulk
openapi: 3.0.1
info:
  title: Fire spark Admin API
  description: Back-office and merchant operations endpoints for Fire spark.
  version: 1.0.0
servers:
  - url: https://firespark.cloud/api/admin/v1
security:
  - bearerAuth: []
paths:
  /customers/bulk:
    get:
      summary: Get customers (bulk)
      parameters:
        - in: query
          name: from
          required: true
          schema:
            type: string
          description: Starting record index, starting from 0.
        - in: query
          name: to
          required: true
          schema:
            type: string
          description: Ending record index, starting from 0.
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Customer'
components:
  schemas:
    Customer:
      type: object
      required:
        - uid
        - id
        - name
        - status
        - registration_date
      properties:
        uid:
          type: string
          format: uuid
          description: Fire spark internal customer identifier
        organization_id:
          type: string
          format: uuid
          description: Fire spark organization identifier
        merchant_id:
          type: string
          format: uuid
          description: Fire spark merchant identifier
        env:
          type: string
          format: uuid
          description: Fire spark environment identifier
        id:
          type: string
          description: Your customer unique identifier
        status:
          description: The status of the customer
          type: string
          enum:
            - ACTIVE
            - INACTIVE
        is_anonymous:
          description: Whether the customer is anonymous
          type: boolean
          default: false
        name:
          description: The full name of the customer
          type: string
          example: John Smith
        email:
          description: The email of the customer
          type: string
          format: email
          nullable: true
        email_verified:
          description: Whether the customer's email is verified
          type: boolean
          default: false
        gender:
          description: The gender of the customer
          type: string
          nullable: true
          enum:
            - MALE
            - FEMALE
            - OTHER
        dob:
          description: The date of birth of the customer
          type: string
          nullable: true
          format: date-time
        birthday:
          description: Computed month and day of birth as MMDD
          type: integer
          nullable: true
          example: 615
        document_type:
          description: The document type of the customer
          type: string
          nullable: true
        document_number:
          description: The document number of the customer
          type: string
          nullable: true
          maxLength: 50
        country:
          description: The country of the customer
          type: string
          nullable: true
          maxLength: 100
        phone:
          description: The customer's phone number in international format
          type: string
          nullable: true
          example: +593 99 123 4567
        phone_verified:
          description: Whether the customer's phone number is verified
          type: boolean
          default: false
        registration_date:
          description: The date when the customer was registered
          type: string
          format: date-time
        devices:
          type: array
          maxItems: 10
          description: Customer devices for push notifications
          items:
            $ref: '#/components/schemas/CustomerDevice'
        delivery_addresses:
          type: array
          maxItems: 10
          items:
            $ref: '#/components/schemas/DeliveryAddress'
        billing_profiles:
          type: array
          maxItems: 10
          items:
            $ref: '#/components/schemas/BillingProfile'
        consent:
          $ref: '#/components/schemas/Consent'
          description: The customer's consent preferences
          nullable: true
        metadata:
          description: Custom metadata for the customer. Must serialize to 1MB or less.
          type: object
          nullable: true
          additionalProperties: true
    CustomerDevice:
      type: object
      required:
        - id
        - os
        - fcm_token
        - created_at
        - updated_at
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
          description: External device identifier
        os:
          type: string
          enum:
            - IOS
            - ANDROID
            - WEB
          description: Device operating system
        fcm_token:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
          description: Firebase Cloud Messaging token
        created_at:
          type: string
          format: date-time
          description: When the device was registered
        updated_at:
          type: string
          format: date-time
          description: When the device was last updated
    DeliveryAddress:
      type: object
      required:
        - alias
        - address_line1
      properties:
        alias:
          type: string
          maxLength: 100
        address_line1:
          type: string
          maxLength: 100
        address_line2:
          type: string
          maxLength: 100
        city:
          type: string
          maxLength: 100
        state:
          type: string
          maxLength: 100
        zip:
          type: string
          maxLength: 100
        country:
          type: string
          maxLength: 100
        reference:
          type: string
          maxLength: 100
        latitude:
          type: number
          minimum: -90
          maximum: 90
        longitude:
          type: number
          minimum: -180
          maximum: 180
        instructions:
          type: string
          maxLength: 100
        preferred:
          type: boolean
          default: false
        metadata:
          description: Custom metadata. Must serialize to 1MB or less.
          type: object
          nullable: true
          additionalProperties: true
    BillingProfile:
      type: object
      required:
        - alias
        - type
        - legal_name
        - address_line1
        - tax_id
        - tax_id_type
      properties:
        alias:
          type: string
          maxLength: 100
        type:
          type: string
          enum:
            - INDIVIDUAL
            - BUSINESS
          description: Whether this profile is for an individual or a business
        legal_name:
          type: string
          maxLength: 100
        address_line1:
          type: string
          maxLength: 100
        address_line2:
          type: string
          maxLength: 100
        city:
          type: string
          maxLength: 100
        state:
          type: string
          maxLength: 100
        zip:
          type: string
          maxLength: 100
        country:
          type: string
          maxLength: 100
        tax_id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-zA-Z0-9_-]+$
        tax_id_type:
          type: string
          enum:
            - VAT
            - EIN
            - SSN
            - TIN
            - NIF
            - CUIT
            - RUT
            - NIT
            - RCN
            - RUC
            - CI
            - DNI
            - PASSPORT
            - OTHER
        preferred:
          type: boolean
          default: false
        metadata:
          description: Custom metadata. Must serialize to 1MB or less.
          type: object
          nullable: true
          additionalProperties: true
    Consent:
      type: object
      description: >-
        Channel-level marketing and messaging consent preferences. Omitted flags
        default to false.
      properties:
        email:
          type: boolean
          description: Consent for email marketing
          default: false
        push_notifications:
          type: boolean
          description: Consent for push notifications
          default: false
        in_app_messages:
          type: boolean
          description: Consent for in-app messages
          default: false
        phone_calls:
          type: boolean
          description: Consent for phone calls
          default: false
        sms:
          type: boolean
          description: Consent for SMS messages
          default: false
        whatsapp:
          type: boolean
          description: Consent for WhatsApp messages
          default: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````