Maya Mobile Webhooks
Pushes eSIM lifecycle and data-usage events to a partner callback URL (installation, activation, low-balance, and usage updates) and can trigger SMS notifications to user devices for key lifecycle events.
Pushes eSIM lifecycle and data-usage events to a partner callback URL (installation, activation, low-balance, and usage updates) and can trigger SMS notifications to user devices for key lifecycle events.
openapi: 3.0.1
info:
title: Maya Mobile Connect+ Connectivity API
description: >-
Maya Mobile (Mobile Maya Inc) Connect+ Connectivity REST API for provisioning
eSIMs and data packages, monitoring activation status and data usage, processing
top-ups, and receiving lifecycle events via webhooks across 400+ roaming
networks in 200+ destinations.
NOTE: Maya Mobile distributes the full Connectivity API reference under NDA to
onboarded resellers and partners. This document models the publicly described
capabilities of the Connect+ API (eSIM provisioning, data packages/plans,
status and usage, top-ups, orders, and webhooks). Exact endpoint paths,
request/response schemas, and authentication parameters are confirmed against
the partner documentation during onboarding and are not fully published.
Paths below reflect the documented capability surface and are marked as
unreconciled where exact shapes are not public.
termsOfService: https://maya.net/terms
contact:
name: Maya Mobile Partnerships
url: https://maya.net/business
version: '1.0'
servers:
- url: https://api.maya.net/connectivity/v1
description: >-
Connect+ Connectivity API base URL (representative; confirm exact host and
version path against partner documentation during onboarding).
security:
- bearerAuth: []
tags:
- name: Plans
description: Pre-made data plans and the catalog of countries, regions, and networks.
- name: eSIMs
description: eSIM provisioning, activation codes/QR, suspend and reactivate.
- name: Usage
description: Real-time eSIM status and data-usage reporting.
- name: Orders
description: Placing and assigning data-package orders, including top-ups.
- name: Webhooks
description: Lifecycle and usage event callbacks.
paths:
/plans:
get:
operationId: listPlans
tags:
- Plans
summary: List available data plans and products
description: >-
Returns the catalog of pre-made data plans and the countries, regions,
and roaming networks available for building eSIM data packages.
parameters:
- name: country
in: query
required: false
schema:
type: string
description: ISO country code to filter the available plans/packages.
- name: region
in: query
required: false
schema:
type: string
description: Region identifier to filter the available plans/packages.
responses:
'200':
description: A list of available plans/products.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Plan'
/esims:
post:
operationId: createEsim
tags:
- eSIMs
summary: Provision a new eSIM
description: >-
Requests an eSIM with the selected roaming profile and returns the
activation code and QR code ready to install.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEsimRequest'
responses:
'201':
description: The provisioned eSIM with activation details.
content:
application/json:
schema:
$ref: '#/components/schemas/Esim'
/esims/{esimId}:
get:
operationId: getEsim
tags:
- eSIMs
summary: Get an eSIM
description: Returns the current state and installation status of a single eSIM.
parameters:
- name: esimId
in: path
required: true
schema:
type: string
responses:
'200':
description: The requested eSIM.
content:
application/json:
schema:
$ref: '#/components/schemas/Esim'
/esims/{esimId}/suspend:
post:
operationId: suspendEsim
tags:
- eSIMs
summary: Suspend an eSIM
description: Suspends an active eSIM anywhere in the world.
parameters:
- name: esimId
in: path
required: true
schema:
type: string
responses:
'200':
description: The eSIM after suspension.
content:
application/json:
schema:
$ref: '#/components/schemas/Esim'
/esims/{esimId}/reactivate:
post:
operationId: reactivateEsim
tags:
- eSIMs
summary: Reactivate an eSIM
description: Reactivates a previously suspended eSIM.
parameters:
- name: esimId
in: path
required: true
schema:
type: string
responses:
'200':
description: The eSIM after reactivation.
content:
application/json:
schema:
$ref: '#/components/schemas/Esim'
/esims/{esimId}/usage:
get:
operationId: getEsimUsage
tags:
- Usage
summary: Get eSIM data usage
description: >-
Returns real-time data-usage and installation status for an eSIM.
parameters:
- name: esimId
in: path
required: true
schema:
type: string
responses:
'200':
description: Usage and status for the eSIM.
content:
application/json:
schema:
$ref: '#/components/schemas/Usage'
/esims/{esimId}/topup:
post:
operationId: topupEsim
tags:
- Orders
summary: Top up an eSIM
description: >-
Adds (tops up) an additional data package to an existing eSIM for the
specified country, region, or network.
parameters:
- name: esimId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TopupRequest'
responses:
'201':
description: The resulting order/top-up.
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
/orders:
post:
operationId: createOrder
tags:
- Orders
summary: Create a data-package order
description: >-
Places a data-package order and assigns it to an eSIM for specific
countries, regions, and networks. Supports one or multiple packages.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderRequest'
responses:
'201':
description: The created order.
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
get:
operationId: listOrders
tags:
- Orders
summary: List orders
description: Lists previously placed data-package orders.
responses:
'200':
description: A list of orders.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Order'
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: >-
Bearer token / API key supplied in the Authorization header
(`Authorization: Bearer <token>`). Credentials are issued to onboarded
Maya Mobile resellers/partners.
schemas:
Plan:
type: object
description: A pre-made data plan or data-package template.
properties:
id:
type: string
name:
type: string
type:
type: string
description: Traffic policy, e.g. fixed-limit, time-limited, unlimited, or throttled.
data_amount:
type: string
description: Included data allowance (e.g. in MB/GB) where applicable.
validity_days:
type: integer
description: Validity period in days where applicable.
countries:
type: array
items:
type: string
description: ISO country codes covered by the plan.
CreateEsimRequest:
type: object
properties:
plan_id:
type: string
description: Identifier of the plan/roaming profile to provision.
region:
type: string
country:
type: string
required:
- plan_id
Esim:
type: object
properties:
id:
type: string
iccid:
type: string
status:
type: string
description: Lifecycle status (e.g. provisioned, installed, active, suspended).
activation_code:
type: string
description: Manual activation code for the eSIM profile.
qr_code_url:
type: string
description: URL of the QR code used to install the eSIM.
Usage:
type: object
properties:
esim_id:
type: string
status:
type: string
data_used:
type: number
description: Data consumed.
data_remaining:
type: number
description: Data remaining where the policy is metered.
unit:
type: string
description: Unit for the usage values (e.g. MB).
TopupRequest:
type: object
properties:
plan_id:
type: string
country:
type: string
region:
type: string
required:
- plan_id
CreateOrderRequest:
type: object
properties:
esim_id:
type: string
description: Target eSIM to assign the package(s) to.
items:
type: array
items:
type: object
properties:
plan_id:
type: string
quantity:
type: integer
required:
- items
Order:
type: object
properties:
id:
type: string
esim_id:
type: string
status:
type: string
items:
type: array
items:
type: object
properties:
plan_id:
type: string
quantity:
type: integer