Reloadly Products API

Browse and search the gift card product catalog.

OpenAPI Specification

reloadly-products-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Reloadly Airtime Authentication Products API
  description: The Reloadly Airtime API enables businesses to programmatically deliver mobile airtime top-ups and data bundles to phones across 170+ countries and 800+ mobile operators. The API supports both operator-specific and auto-detect top-ups, with real-time fulfillment and detailed transaction reporting. Authentication uses OAuth 2.0 client credentials with separate sandbox and production environments.
  version: 1.0.0
  contact:
    name: Reloadly Support
    url: https://support.reloadly.com
  termsOfService: https://www.reloadly.com/terms
servers:
- url: https://topups.reloadly.com
  description: Production Server
- url: https://topups-sandbox.reloadly.com
  description: Sandbox Server
security:
- bearerAuth: []
tags:
- name: Products
  description: Browse and search the gift card product catalog.
paths:
  /products:
    get:
      operationId: listProducts
      summary: List Products
      description: Retrieve a paginated list of available gift card products. Supports filtering by country, currency, and product category. Returns brand details, denominations, discount rates, and redemption instructions.
      tags:
      - Products
      parameters:
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/SizeParam'
      - name: countryCode
        in: query
        description: Filter by ISO 3166-1 alpha-2 country code
        schema:
          type: string
          example: US
      - name: currencyCode
        in: query
        description: Filter by ISO 4217 currency code
        schema:
          type: string
          example: USD
      - name: includeRange
        in: query
        description: Include range-denomination products
        schema:
          type: boolean
      - name: includeFixed
        in: query
        description: Include fixed-denomination products
        schema:
          type: boolean
      responses:
        '200':
          description: Paginated list of gift card products
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductsPage'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /products/{productId}:
    get:
      operationId: getProduct
      summary: Get Product
      description: Retrieve full details for a specific gift card product including available denominations, discount rate, redemption instructions, supported countries, and brand information.
      tags:
      - Products
      parameters:
      - name: productId
        in: path
        required: true
        description: Unique identifier of the gift card product
        schema:
          type: integer
      responses:
        '200':
          description: Gift card product details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    RedeemInstruction:
      type: object
      properties:
        concise:
          type: string
          description: Brief redemption instructions
        verbose:
          type: string
          description: Detailed redemption instructions
    ProductsPage:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/Product'
        totalElements:
          type: integer
        totalPages:
          type: integer
        last:
          type: boolean
        number:
          type: integer
        size:
          type: integer
    Country:
      type: object
      properties:
        isoName:
          type: string
          description: ISO 3166-1 alpha-2 country code
        name:
          type: string
          description: Country display name
        flagUrl:
          type: string
          format: uri
          description: URL to the country flag image
    Brand:
      type: object
      properties:
        brandId:
          type: integer
          description: Unique brand identifier
        brandName:
          type: string
          description: Brand display name (e.g., Amazon, Apple, Netflix)
    Error:
      type: object
      properties:
        timeStamp:
          type: string
          format: date-time
        message:
          type: string
        path:
          type: string
        errorCode:
          type: string
        infoLink:
          type: string
    Product:
      type: object
      properties:
        productId:
          type: integer
          description: Unique product identifier
        productName:
          type: string
          description: Display name of the gift card product
        global:
          type: boolean
          description: Whether the product is redeemable globally
        supportsPreOrder:
          type: boolean
          description: Whether pre-ordering is supported
        senderFee:
          type: number
          format: double
          description: Fee charged to the sender
        discountPercentage:
          type: number
          format: double
          description: Discount percentage applied to the face value
        denominationType:
          type: string
          enum:
          - FIXED
          - RANGE
          description: Whether the product has fixed or range denominations
        recipientCurrencyCode:
          type: string
          description: Currency code for the recipient
        minRecipientDenomination:
          type: number
          description: Minimum denomination for range products
        maxRecipientDenomination:
          type: number
          description: Maximum denomination for range products
        senderCurrencyCode:
          type: string
          description: Currency code for the sender
        minSenderDenomination:
          type: number
          description: Minimum sender denomination for range products
        maxSenderDenomination:
          type: number
          description: Maximum sender denomination for range products
        fixedRecipientDenominations:
          type: array
          items:
            type: number
          description: Available fixed denomination amounts for the recipient
        fixedSenderDenominations:
          type: array
          items:
            type: number
          description: Available fixed denomination amounts for the sender
        brand:
          $ref: '#/components/schemas/Brand'
        country:
          $ref: '#/components/schemas/Country'
        redeemInstruction:
          $ref: '#/components/schemas/RedeemInstruction'
  responses:
    Unauthorized:
      description: Missing or invalid authentication token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Requested resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    PageParam:
      name: page
      in: query
      description: Page number (1-based)
      schema:
        type: integer
        minimum: 1
        default: 1
    SizeParam:
      name: size
      in: query
      description: Number of results per page
      schema:
        type: integer
        minimum: 1
        maximum: 200
        default: 25
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token obtained via the /oauth/token endpoint using client credentials grant.
externalDocs:
  description: Reloadly Airtime API Reference
  url: https://docs.reloadly.com/airtime