Reloadly Operators API
Browse mobile network operators and their coverage.
Browse mobile network operators and their coverage.
openapi: 3.1.0
info:
title: Reloadly Airtime Authentication Operators 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: Operators
description: Browse mobile network operators and their coverage.
paths:
/operators:
get:
operationId: listOperators
summary: List Operators
description: Retrieve a paginated list of supported mobile network operators. Supports filtering by country code. Returns operator details including name, country, supported denominations, and FX rates.
tags:
- Operators
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: includeBundles
in: query
description: Include data bundle operators
schema:
type: boolean
- name: includeData
in: query
description: Include data-only operators
schema:
type: boolean
- name: includePin
in: query
description: Include PIN-based top-up operators
schema:
type: boolean
responses:
'200':
description: Paginated list of operators
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorsPage'
'401':
$ref: '#/components/responses/Unauthorized'
/operators/{operatorId}:
get:
operationId: getOperator
summary: Get Operator
description: Retrieve details for a specific mobile network operator including coverage, denominations, and FX exchange rate.
tags:
- Operators
parameters:
- name: operatorId
in: path
required: true
description: Unique identifier of the operator
schema:
type: integer
responses:
'200':
description: Operator details
content:
application/json:
schema:
$ref: '#/components/schemas/Operator'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/operators/auto-detect/phone/{phone}/countries/{countryCode}:
get:
operationId: autoDetectOperator
summary: Auto-Detect Operator
description: Automatically detect the mobile network operator for a phone number in a given country. Returns the detected operator with confidence score.
tags:
- Operators
parameters:
- name: phone
in: path
required: true
description: Phone number in E.164 format (without leading +)
schema:
type: string
example: '12025551234'
- name: countryCode
in: path
required: true
description: ISO 3166-1 alpha-2 country code
schema:
type: string
example: US
- name: suggestedAmounts
in: query
description: Include suggested top-up amounts
schema:
type: boolean
- name: suggestedAmountsMap
in: query
description: Include suggested amounts as a map
schema:
type: boolean
responses:
'200':
description: Detected operator
content:
application/json:
schema:
$ref: '#/components/schemas/Operator'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
OperatorsPage:
type: object
properties:
content:
type: array
items:
$ref: '#/components/schemas/Operator'
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
Operator:
type: object
properties:
operatorId:
type: integer
description: Unique operator identifier
name:
type: string
description: Operator display name
bundle:
type: boolean
description: Whether the operator offers data bundles
data:
type: boolean
description: Whether this is a data-only operator
pin:
type: boolean
description: Whether the operator uses PIN-based top-ups
denominationType:
type: string
enum:
- FIXED
- RANGE
localFixedAmounts:
type: array
items:
type: number
description: Available fixed amounts in local currency
internationalFixedAmounts:
type: array
items:
type: number
description: Available fixed amounts in international currency
localMinAmount:
type: number
description: Minimum top-up in local currency (range products)
localMaxAmount:
type: number
description: Maximum top-up in local currency (range products)
internationalMinAmount:
type: number
description: Minimum top-up in international currency (range products)
internationalMaxAmount:
type: number
description: Maximum top-up in international currency (range products)
country:
$ref: '#/components/schemas/Country'
fxRate:
$ref: '#/components/schemas/FxRate'
logoUrls:
type: array
items:
type: string
format: uri
description: Operator logo image URLs
FxRate:
type: object
properties:
currencyCode:
type: string
description: Local currency code
rate:
type: number
format: double
description: Exchange rate from USD to local currency
Error:
type: object
properties:
timeStamp:
type: string
format: date-time
message:
type: string
path:
type: string
errorCode:
type: string
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