Giftbit Rewards API

List, retrieve, resend, or cancel individual rewards

Operations 4

GET /gifts List rewards #
GET /gifts/{uuid} Retrieve reward #
PUT /gifts/{uuid} Resend reward #
DELETE /gifts/{uuid} Cancel reward #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/giftbit-rewards-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

giftbit-rewards-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Giftbit Brands Rewards API
  description: 'Giftbit''s REST API allows you to automatically order rewards and send them to your recipients. Delivery can be handled either by links integrated into another system''s workflow or by emails sent through the Giftbit system. The API supports email delivery, shortlinks, direct links, and in-app embedded reward flows across 1,500+ brands in 40+ countries.

    '
  version: 1.0.0
  contact:
    email: sales@giftbit.com
  termsOfService: https://www.giftbit.com
servers:
- url: https://api.giftbit.com/papi/v1
  description: Production API
- url: https://api-testbed.giftbit.com/papi/v1
  description: Testbed (Sandbox) API
security:
- BearerAuth: []
tags:
- name: Rewards
  description: List, retrieve, resend, or cancel individual rewards
paths:
  /gifts:
    get:
      operationId: listRewards
      summary: List rewards
      description: 'Returns a paginated, filterable list of rewards across all orders. Supports filtering by delivery status, redemption status, date ranges, recipient name/email, and price range.

        '
      tags:
      - Rewards
      parameters:
      - name: uuid
        in: query
        description: Return the reward with matching uuid.
        schema:
          type: string
      - name: campaign_uuid
        in: query
        description: Filter rewards by the order with the matching Giftbit UUID.
        schema:
          type: string
      - name: campaign_id
        in: query
        description: Filter rewards by the client-supplied order id.
        schema:
          type: string
      - name: price_in_cents_greater_than
        in: query
        description: Filter rewards with price greater than this value in cents.
        schema:
          type: integer
      - name: price_in_cents_less_than
        in: query
        description: Filter rewards with price less than this value in cents.
        schema:
          type: integer
      - name: recipient_name
        in: query
        description: Filter by recipient name (minimum 3 characters).
        schema:
          type: string
      - name: recipient_email
        in: query
        description: Filter by recipient email (minimum 3 characters).
        schema:
          type: string
      - name: delivery_status
        in: query
        description: 'Filter by delivery status. Options: UNSENT, DELIVERED, UNDELIVERABLE, TEMPORARILY_UNDELIVERABLE, UNSUBSCRIBED, COMPLAINT.

          '
        schema:
          type: string
          enum:
          - UNSENT
          - DELIVERED
          - UNDELIVERABLE
          - TEMPORARILY_UNDELIVERABLE
          - UNSUBSCRIBED
          - COMPLAINT
      - name: status
        in: query
        description: 'Filter by reward status. Options: SENT_AND_REDEEMABLE, REDEEMED, TO_CHARITY, GIVER_CANCELLED, EXPIRED.

          '
        schema:
          type: string
          enum:
          - SENT_AND_REDEEMABLE
          - REDEEMED
          - TO_CHARITY
          - GIVER_CANCELLED
          - EXPIRED
      - name: created_date_greater_than
        in: query
        description: Filter by created date. Format yyyy-MM-dd HH:mm:ss.
        schema:
          type: string
      - name: created_date_less_than
        in: query
        description: Filter by created date. Format yyyy-MM-dd HH:mm:ss.
        schema:
          type: string
      - name: delivery_date_greater_than
        in: query
        description: Filter by delivery date. Format yyyy-MM-dd HH:mm:ss.
        schema:
          type: string
      - name: delivery_date_less_than
        in: query
        description: Filter by delivery date. Format yyyy-MM-dd HH:mm:ss.
        schema:
          type: string
      - name: redelivery_count_greater_than
        in: query
        description: Filter by redelivery count greater than this value.
        schema:
          type: integer
      - name: redelivery_count_less_than
        in: query
        description: Filter by redelivery count less than this value.
        schema:
          type: integer
      - name: redeemed_date_greater_than
        in: query
        description: Filter by redeemed date. Format yyyy-MM-dd HH:mm:ss.
        schema:
          type: string
      - name: redeemed_date_less_than
        in: query
        description: Filter by redeemed date. Format yyyy-MM-dd HH:mm:ss.
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of rewards to return. Default 20.
        schema:
          type: integer
          default: 20
      - name: offset
        in: query
        description: Offset into results. Default 0.
        schema:
          type: integer
          default: 0
      - name: sort
        in: query
        description: 'Sort field. Options: campaign_id, price_in_cents, recipient_name, recipient_email, delivery_status, status.

          '
        schema:
          type: string
          enum:
          - campaign_id
          - price_in_cents
          - recipient_name
          - recipient_email
          - delivery_status
          - status
      - name: order
        in: query
        description: Sort direction. Options asc or desc. Default desc.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      responses:
        '200':
          description: List of rewards
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardsListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /gifts/{uuid}:
    get:
      operationId: retrieveReward
      summary: Retrieve reward
      description: Returns the details for a single reward by its Giftbit-generated UUID.
      tags:
      - Rewards
      parameters:
      - name: uuid
        in: path
        required: true
        description: The Giftbit UUID of the reward (not the order uuid or id).
        schema:
          type: string
      responses:
        '200':
          description: Reward details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: resendReward
      summary: Resend reward
      description: 'Resends a reward email to the original recipient. Not available for embedded rewards or already-claimed rewards.

        '
      tags:
      - Rewards
      parameters:
      - name: uuid
        in: path
        required: true
        description: The Giftbit UUID of the reward.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - resend
              properties:
                resend:
                  type: boolean
                  description: Must be true to trigger resend.
                  example: true
      responses:
        '200':
          description: Reward resent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
    delete:
      operationId: cancelReward
      summary: Cancel reward
      description: 'Cancels a reward that has not yet been claimed. Credits for unclaimed rewards are returned to the account. Cannot cancel embedded rewards or already-claimed rewards.

        '
      tags:
      - Rewards
      parameters:
      - name: uuid
        in: path
        required: true
        description: The Giftbit UUID of the reward.
        schema:
          type: string
      responses:
        '200':
          description: Reward cancelled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication failed — invalid or missing bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: The request was valid but could not be processed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
        status:
          type: integer
          description: HTTP status code.
    InfoBlock:
      type: object
      properties:
        code:
          type: string
          description: Status code (e.g. INFO_CAMPAIGN_CREATED).
        name:
          type: string
          description: Human-readable status name.
        message:
          type: string
          description: Context-specific status message.
    RewardResponse:
      type: object
      properties:
        gift:
          $ref: '#/components/schemas/Reward'
        info:
          $ref: '#/components/schemas/InfoBlock'
        status:
          type: integer
    Reward:
      type: object
      properties:
        uuid:
          type: string
          description: Giftbit-generated unique reward identifier.
        campaign_uuid:
          type: string
          description: Giftbit-generated unique identifier of the parent order.
        delivery_status:
          type: string
          description: 'Email delivery status of the reward.

            '
          enum:
          - UNSENT
          - DELIVERED
          - UNDELIVERABLE
          - TEMPORARILY_UNDELIVERABLE
          - UNSUBSCRIBED
          - COMPLAINT
        status:
          type: string
          description: Redemption status of the reward offer.
          enum:
          - SENT_AND_REDEEMABLE
          - REDEEMED
          - TO_CHARITY
          - GIVER_CANCELLED
          - EXPIRED
        management_dashboard_link:
          type: string
          description: URL for viewing this reward in the Giftbit account dashboard.
        redelivery_count:
          type: integer
          description: Number of times the reward was resent.
        campaign_id:
          type: string
          description: Client-supplied order identifier.
        price_in_cents:
          type: integer
          description: Reward value in cents.
        brand_code:
          type: string
          description: Brand of the reward. May be unset for multi-brand unclaimed rewards.
        recipient_email:
          type: string
          description: Recipient email address.
        recipient_name:
          type: string
          description: Recipient name.
        created_date:
          type: string
          description: Date reward was created (Pacific Standard Time). Format yyyy-MM-dd HH:mm:ss.
        delivery_date:
          type: string
          description: Date reward was delivered. Format yyyy-MM-dd HH:mm:ss.
    ErrorDetail:
      type: object
      properties:
        code:
          type: string
          description: Enum-style error code.
        name:
          type: string
          description: Human-readable error name.
        message:
          type: string
          description: Context-specific error message.
    RewardsListResponse:
      type: object
      properties:
        gifts:
          type: array
          items:
            $ref: '#/components/schemas/Reward'
        number_of_results:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        total_count:
          type: integer
        info:
          $ref: '#/components/schemas/InfoBlock'
        status:
          type: integer
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Authenticate by sending your API token prefixed with "Bearer " in the Authorization HTTP header. Generate tokens from your Giftbit account under Account -> API keys.

        '