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

# List redemptions to fulfil

> Lists **shipping** redemptions for your business, newest first — the
work queue for rewards whose `delivery_mode` is `shipping`. The
customer already paid the points and submitted an address; you post the
parcel and advance the status.

Only redemptions with a `fulfillment_status` appear here: in-store
redemptions (validated at your counter) and digital ones (delivered
instantly in the app) are not fulfilment work and are excluded. See the
[delivery modes guide](/guides/reward-delivery).




## OpenAPI

````yaml /openapi/v1.yaml get /api/v1/redemptions
openapi: 3.1.0
info:
  title: Rigaly Business API
  version: '1.0'
  description: |
    Public API for businesses to manage their Rigaly loyalty programs: issue
    and redeem points, manage rewards, validate redemptions, and generate mass
    codes for physical products.

    All endpoints require an API key created in the Rigaly business dashboard
    (Tools → API Management), passed as `Authorization: Bearer rgly_sk_...`.
  contact:
    email: support@rigaly.com
servers:
  - url: https://api.rigaly.com
    description: Production
security:
  - apiKey: []
paths:
  /api/v1/redemptions:
    get:
      tags:
        - Redemptions
      summary: List redemptions to fulfil
      description: |
        Lists **shipping** redemptions for your business, newest first — the
        work queue for rewards whose `delivery_mode` is `shipping`. The
        customer already paid the points and submitted an address; you post the
        parcel and advance the status.

        Only redemptions with a `fulfillment_status` appear here: in-store
        redemptions (validated at your counter) and digital ones (delivered
        instantly in the app) are not fulfilment work and are excluded. See the
        [delivery modes guide](/guides/reward-delivery).
      operationId: listRedemptions
      parameters:
        - name: fulfillment_status
          in: query
          description: >-
            Filter by lifecycle stage. Poll with `pending` to get the open
            queue.
          schema:
            type: string
            enum:
              - pending
              - shipped
              - delivered
              - cancelled
        - name: reward_id
          in: query
          description: Only redemptions of this reward.
          schema:
            type: string
            format: uuid
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
        - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          description: Redemptions page
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SuccessEnvelope'
                  - type: object
                    properties:
                      data:
                        type: object
                        properties:
                          redemptions:
                            type: array
                            items:
                              $ref: '#/components/schemas/FulfillmentRedemption'
                          pagination:
                            $ref: '#/components/schemas/PagePagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    Limit:
      name: limit
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
  schemas:
    SuccessEnvelope:
      type: object
      properties:
        success:
          type: boolean
          example: true
        message:
          type: string
        data:
          type: object
    FulfillmentRedemption:
      type: object
      description: >-
        A shipping-mode redemption awaiting (or past) fulfillment. Points were
        already deducted when the customer redeemed.
      properties:
        id:
          type: string
          format: uuid
          description: Use this id with the fulfillment endpoint.
        code:
          type: string
          example: AB12CD34
        status:
          type: string
          enum:
            - pending
            - completed
            - expired
            - cancelled
          example: completed
          description: >-
            `completed` while the order is live. Cancelling the fulfillment
            moves it to `cancelled`, which frees the reward's redemption slot.
        fulfillment_status:
          $ref: '#/components/schemas/FulfillmentStatus'
        created_at:
          type: string
          format: date-time
          description: When the customer redeemed.
        shipped_at:
          type: string
          format: date-time
          nullable: true
        delivered_at:
          type: string
          format: date-time
          nullable: true
        tracking_reference:
          type: string
          nullable: true
          example: 1Z999AA10123456784
        ship_to_name:
          type: string
          nullable: true
          example: Jane Doe
        ship_to_phone:
          type: string
          nullable: true
          example: '+15551234567'
        ship_to_email:
          type: string
          nullable: true
          example: jane@example.com
        ship_to_address:
          type: string
          nullable: true
          example: 123 Main St, Springfield, IL 62704
        reward_id:
          type: string
          format: uuid
        reward_name:
          type: string
          example: Limited edition shirt
        reward_image_url:
          type: string
          nullable: true
        points_cost:
          type: integer
          example: 5000
        user_id:
          type: string
          format: uuid
          nullable: true
        user_name:
          type: string
          nullable: true
          example: Jane Doe
    PagePagination:
      type: object
      description: >-
        Page-based pagination (the redemptions list). Other list endpoints use
        limit/offset — see `Pagination`.
      properties:
        page:
          type: integer
          example: 1
        limit:
          type: integer
          example: 25
        total:
          type: integer
          example: 37
        total_pages:
          type: integer
          example: 2
    FulfillmentStatus:
      type: string
      nullable: true
      enum:
        - pending
        - shipped
        - delivered
        - cancelled
      example: pending
      description: |
        Shipping lifecycle of a redemption. `null` for in-store and digital
        rewards — only shipping redemptions carry one.
        `pending` (awaiting fulfillment) → `shipped` → `delivered`, or
        `cancelled` at any point before delivery.
    ErrorEnvelope:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            message:
              type: string
  responses:
    Unauthorized:
      description: Missing, malformed, or revoked API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
          example:
            success: false
            error:
              message: Invalid API key
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'API key from the Rigaly dashboard: `Authorization: Bearer rgly_sk_...`'

````