Zendit eSIM API

eSIM plans and activation

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/zendit-esim-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 email required.

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

OpenAPI Specification

zendit-esim-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Zendit Account eSIM API
  description: The Zendit API provides programmatic access to a global prepaid ecosystem, enabling mobile credit top-ups, data packages, digital gift cards, prepaid utility bill payments, and eSIM products through a unified integration.
  version: 1.0.0
  x-generated-from: documentation
  x-source-url: https://developers.zendit.io/api/
  contact:
    name: Zendit
    url: https://zendit.io
servers:
- url: https://api.zendit.io/v1
  description: Zendit Production
tags:
- name: eSIM
  description: eSIM plans and activation
paths:
  /esim/offers:
    get:
      operationId: listEsimOffers
      summary: Zendit List ESIM Offers
      description: Browse eSIM plans by region or country.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Country'
      - name: regions
        in: query
        schema:
          type: string
          enum:
          - Global
          - Africa
          - Asia
          - Caribbean
          - Europe
          - Americas
        example: Global
      responses:
        '200':
          description: List of eSIM offers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferList'
              examples:
                ListEsimOffers200Example:
                  summary: Default listEsimOffers 200 response
                  x-microcks-default: true
                  value:
                    list:
                    - {}
                    offset: 0
                    limit: 100
                    total: 1500
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /esim/offers/{offerId}:
    get:
      operationId: getEsimOffer
      summary: Zendit Get ESIM Offer
      description: Get eSIM plan specifications.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/OfferId'
      responses:
        '200':
          description: eSIM offer detail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Offer'
              examples:
                GetEsimOffer200Example:
                  summary: Default getEsimOffer 200 response
                  x-microcks-default: true
                  value:
                    offerId: offer-12345
                    name: Rebel Prepaid 10 USD
                    brand: rebel-prepaid
                    country: US
                    type: TOPUP
                    subType: Mobile Top Up
                    price:
                      amount: {}
                      currency: {}
                    send:
                      amount: {}
                      currency: {}
                    receive:
                      amount: {}
                      currency: {}
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /esim/purchases:
    get:
      operationId: listEsimPurchases
      summary: Zendit List ESIM Purchases
      description: List eSIM transactions.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Status'
      responses:
        '200':
          description: List of eSIM purchases
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PurchaseList'
              examples:
                ListEsimPurchases200Example:
                  summary: Default listEsimPurchases 200 response
                  x-microcks-default: true
                  value:
                    list:
                    - {}
                    offset: 0
                    limit: 100
                    total: 50
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEsimPurchase
      summary: Zendit Create ESIM Purchase
      description: Purchase new eSIM or add plan to existing eSIM.
      tags:
      - eSIM
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EsimPurchaseRequest'
            examples:
              CreateEsimPurchaseRequestExample:
                summary: Default createEsimPurchase request
                x-microcks-default: true
                value:
                  transactionId: my-txn-abc123
                  offerId: esim-offer-001
                  iccId: '8901260000000000001'
      responses:
        '201':
          description: Purchase created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Purchase'
              examples:
                CreateEsimPurchase201Example:
                  summary: Default createEsimPurchase 201 response
                  x-microcks-default: true
                  value:
                    transactionId: txn-abc123
                    offerId: offer-12345
                    status: DONE
                    type: TOPUP
                    createdAt: '2026-05-01T12:00:00Z'
                    send:
                      amount: {}
                      currency: {}
                    receive:
                      amount: {}
                      currency: {}
                    details: {}
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /esim/purchases/{transactionId}:
    get:
      operationId: getEsimPurchase
      summary: Zendit Get ESIM Purchase
      description: Check eSIM transaction status.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/TransactionId'
      responses:
        '200':
          description: eSIM purchase
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Purchase'
              examples:
                GetEsimPurchase200Example:
                  summary: Default getEsimPurchase 200 response
                  x-microcks-default: true
                  value:
                    transactionId: txn-abc123
                    offerId: offer-12345
                    status: DONE
                    type: TOPUP
                    createdAt: '2026-05-01T12:00:00Z'
                    send:
                      amount: {}
                      currency: {}
                    receive:
                      amount: {}
                      currency: {}
                    details: {}
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /esim/purchases/{transactionId}/qrcode:
    get:
      operationId: getEsimQrCode
      summary: Zendit Get ESIM QR Code
      description: Retrieve activation QR code as PNG image.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/TransactionId'
      responses:
        '200':
          description: QR code image
          content:
            image/png:
              schema:
                type: string
                format: binary
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /esim/{iccId}/plans:
    get:
      operationId: getEsimPlans
      summary: Zendit Get ESIM Plans
      description: Monitor active/queued plans and data usage.
      tags:
      - eSIM
      parameters:
      - name: iccId
        in: path
        required: true
        schema:
          type: string
        example: '8901260000000000001'
      responses:
        '200':
          description: List of eSIM plans
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EsimPlanList'
              examples:
                GetEsimPlans200Example:
                  summary: Default getEsimPlans 200 response
                  x-microcks-default: true
                  value:
                    iccId: '8901260000000000001'
                    plans:
                    - {}
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /esim/purchases/{transactionId}/refund:
    get:
      operationId: getEsimRefund
      summary: Zendit Get ESIM Refund
      description: Check refund status for eSIM purchase.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/TransactionId'
      responses:
        '200':
          description: Refund status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Refund'
              examples:
                GetEsimRefund200Example:
                  summary: Default getEsimRefund 200 response
                  x-microcks-default: true
                  value:
                    transactionId: '500123'
                    refundId: refund-abc123
                    status: APPROVED
                    amount:
                      amount: {}
                      currency: {}
                    createdAt: '2026-05-01T12:00:00Z'
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEsimRefund
      summary: Zendit Create ESIM Refund
      description: Initiate refund request for eSIM purchase.
      tags:
      - eSIM
      parameters:
      - $ref: '#/components/parameters/TransactionId'
      responses:
        '200':
          description: Refund initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Refund'
              examples:
                CreateEsimRefund200Example:
                  summary: Default createEsimRefund 200 response
                  x-microcks-default: true
                  value:
                    transactionId: '500123'
                    refundId: refund-abc123
                    status: APPROVED
                    amount:
                      amount: {}
                      currency: {}
                    createdAt: '2026-05-01T12:00:00Z'
      security:
      - BearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    EsimPurchaseRequest:
      type: object
      description: eSIM purchase request.
      required:
      - offerId
      properties:
        transactionId:
          type: string
          example: my-txn-abc123
        offerId:
          type: string
          example: esim-offer-001
        iccId:
          type: string
          description: ICC ID of existing eSIM (for adding plan to existing eSIM).
          example: '8901260000000000001'
    Offer:
      type: object
      description: Product offer (top-up, eSIM, voucher).
      properties:
        offerId:
          type: string
          description: Unique offer identifier.
          example: offer-12345
        name:
          type: string
          description: Offer display name.
          example: Rebel Prepaid 10 USD
        brand:
          type: string
          description: Brand identifier.
          example: rebel-prepaid
        country:
          type: string
          description: Country code.
          example: US
        type:
          type: string
          description: Offer type.
          example: TOPUP
        subType:
          type: string
          description: Offer sub-type.
          example: Mobile Top Up
        price:
          $ref: '#/components/schemas/Price'
        send:
          $ref: '#/components/schemas/Price'
        receive:
          $ref: '#/components/schemas/Price'
    Purchase:
      type: object
      description: Purchase transaction.
      properties:
        transactionId:
          type: string
          example: txn-abc123
        offerId:
          type: string
          example: offer-12345
        status:
          type: string
          enum:
          - DONE
          - FAILED
          - PENDING
          - ACCEPTED
          - AUTHORIZED
          - IN_PROGRESS
          example: DONE
        type:
          type: string
          example: TOPUP
        createdAt:
          type: string
          format: date-time
          example: '2026-05-01T12:00:00Z'
        send:
          $ref: '#/components/schemas/Price'
        receive:
          $ref: '#/components/schemas/Price'
        details:
          type: object
          additionalProperties: true
          description: Product-specific details (top-up subscriber, voucher recipient, eSIM activation code, etc).
          example: {}
    Refund:
      type: object
      description: Refund status for an eSIM purchase.
      properties:
        transactionId:
          type: string
          example: '500123'
        refundId:
          type: string
          example: refund-abc123
        status:
          type: string
          enum:
          - REQUESTED
          - APPROVED
          - COMPLETED
          - REJECTED
          example: APPROVED
        amount:
          $ref: '#/components/schemas/Price'
        createdAt:
          type: string
          format: date-time
          example: '2026-05-01T12:00:00Z'
    PurchaseList:
      type: object
      description: Paginated purchase list.
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/Purchase'
          example:
          - {}
        offset:
          type: integer
          example: 0
        limit:
          type: integer
          example: 100
        total:
          type: integer
          example: 50
    Price:
      type: object
      description: Monetary amount with currency.
      properties:
        amount:
          type: number
          example: 10.0
        currency:
          type: string
          example: USD
    EsimPlanList:
      type: object
      description: List of eSIM plans for an ICC ID.
      properties:
        iccId:
          type: string
          example: '8901260000000000001'
        plans:
          type: array
          items:
            $ref: '#/components/schemas/EsimPlan'
          example:
          - {}
    EsimPlan:
      type: object
      description: Active or queued eSIM plan.
      properties:
        planId:
          type: string
          example: plan-abc123
        status:
          type: string
          example: ACTIVE
        dataUsed:
          type: number
          description: Data used in MB.
          example: 1024.5
        dataTotal:
          type: number
          description: Total data in MB.
          example: 5120.0
        validUntil:
          type: string
          format: date-time
          example: '2026-06-01T00:00:00Z'
    OfferList:
      type: object
      description: Paginated offer list.
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/Offer'
          example:
          - {}
        offset:
          type: integer
          example: 0
        limit:
          type: integer
          example: 100
        total:
          type: integer
          example: 1500
  parameters:
    Limit:
      name: _limit
      in: query
      required: true
      description: Items per page (1-1024).
      schema:
        type: integer
        minimum: 1
        maximum: 1024
        default: 100
      example: 100
    OfferId:
      name: offerId
      in: path
      required: true
      description: Offer identifier.
      schema:
        type: string
      example: offer-12345
    Offset:
      name: _offset
      in: query
      required: true
      description: Pagination offset.
      schema:
        type: integer
        minimum: 0
        default: 0
      example: 0
    TransactionId:
      name: transactionId
      in: path
      required: true
      description: Transaction identifier.
      schema:
        type: string
      example: txn-abc123
    Country:
      name: country
      in: query
      description: Two-letter ISO country code.
      schema:
        type: string
        minLength: 2
        maxLength: 2
      example: US
    Status:
      name: status
      in: query
      description: Transaction status filter.
      schema:
        type: string
        enum:
        - DONE
        - FAILED
        - PENDING
        - ACCEPTED
        - AUTHORIZED
        - IN_PROGRESS
      example: DONE
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Bearer token authentication using your Zendit API key.