Reloadly Products API
Browse and search the gift card product catalog.
Browse and search the gift card product catalog.
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