Reloadly · Capability

Reloadly Airtime API — Operators

Reloadly Airtime API — Operators. 3 operations. Lead operation: List Operators. Self-contained Naftiko capability covering one Reloadly business surface.

Run with Naftiko ReloadlyOperators

What You Can Do

GET
Listoperators — List Operators
/v1/operators
GET
Autodetectoperator — Auto-Detect Operator
/v1/operators/auto-detect/phone/{phone}/countries/{countrycode}
GET
Getoperator — Get Operator
/v1/operators/{operatorid}

MCP Tools

list-operators

List Operators

read-only idempotent
auto-detect-operator

Auto-Detect Operator

read-only idempotent
get-operator

Get Operator

read-only idempotent

Capability Spec

airtime-operators.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Reloadly Airtime API — Operators
  description: 'Reloadly Airtime API — Operators. 3 operations. Lead operation: List Operators. Self-contained Naftiko capability
    covering one Reloadly business surface.'
  tags:
  - Reloadly
  - Operators
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    RELOADLY_API_KEY: RELOADLY_API_KEY
capability:
  consumes:
  - type: http
    namespace: airtime-operators
    baseUri: https://topups.reloadly.com
    description: Reloadly Airtime API — Operators business capability. Self-contained, no shared references.
    resources:
    - name: operators
      path: /operators
      operations:
      - name: listoperators
        method: GET
        description: List Operators
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: countryCode
          in: query
          type: string
          description: Filter by ISO 3166-1 alpha-2 country code
        - name: includeBundles
          in: query
          type: boolean
          description: Include data bundle operators
        - name: includeData
          in: query
          type: boolean
          description: Include data-only operators
        - name: includePin
          in: query
          type: boolean
          description: Include PIN-based top-up operators
    - name: operators-auto-detect-phone-phone-countries-countryCode
      path: /operators/auto-detect/phone/{phone}/countries/{countryCode}
      operations:
      - name: autodetectoperator
        method: GET
        description: Auto-Detect Operator
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: phone
          in: path
          type: string
          description: Phone number in E.164 format (without leading +)
          required: true
        - name: countryCode
          in: path
          type: string
          description: ISO 3166-1 alpha-2 country code
          required: true
        - name: suggestedAmounts
          in: query
          type: boolean
          description: Include suggested top-up amounts
        - name: suggestedAmountsMap
          in: query
          type: boolean
          description: Include suggested amounts as a map
    - name: operators-operatorId
      path: /operators/{operatorId}
      operations:
      - name: getoperator
        method: GET
        description: Get Operator
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: operatorId
          in: path
          type: integer
          description: Unique identifier of the operator
          required: true
    authentication:
      type: bearer
      token: '{{env.RELOADLY_API_KEY}}'
  exposes:
  - type: rest
    namespace: airtime-operators-rest
    port: 8080
    description: REST adapter for Reloadly Airtime API — Operators. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/operators
      name: operators
      description: REST surface for operators.
      operations:
      - method: GET
        name: listoperators
        description: List Operators
        call: airtime-operators.listoperators
        with:
          countryCode: rest.countryCode
          includeBundles: rest.includeBundles
          includeData: rest.includeData
          includePin: rest.includePin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/operators/auto-detect/phone/{phone}/countries/{countrycode}
      name: operators-auto-detect-phone-phone-countries-countrycode
      description: REST surface for operators-auto-detect-phone-phone-countries-countryCode.
      operations:
      - method: GET
        name: autodetectoperator
        description: Auto-Detect Operator
        call: airtime-operators.autodetectoperator
        with:
          phone: rest.phone
          countryCode: rest.countryCode
          suggestedAmounts: rest.suggestedAmounts
          suggestedAmountsMap: rest.suggestedAmountsMap
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/operators/{operatorid}
      name: operators-operatorid
      description: REST surface for operators-operatorId.
      operations:
      - method: GET
        name: getoperator
        description: Get Operator
        call: airtime-operators.getoperator
        with:
          operatorId: rest.operatorId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: airtime-operators-mcp
    port: 9090
    transport: http
    description: MCP adapter for Reloadly Airtime API — Operators. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-operators
      description: List Operators
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airtime-operators.listoperators
      with:
        countryCode: tools.countryCode
        includeBundles: tools.includeBundles
        includeData: tools.includeData
        includePin: tools.includePin
      outputParameters:
      - type: object
        mapping: $.
    - name: auto-detect-operator
      description: Auto-Detect Operator
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airtime-operators.autodetectoperator
      with:
        phone: tools.phone
        countryCode: tools.countryCode
        suggestedAmounts: tools.suggestedAmounts
        suggestedAmountsMap: tools.suggestedAmountsMap
      outputParameters:
      - type: object
        mapping: $.
    - name: get-operator
      description: Get Operator
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: airtime-operators.getoperator
      with:
        operatorId: tools.operatorId
      outputParameters:
      - type: object
        mapping: $.