Telefónica Device Roaming Status API

The Device Roaming Status API verifies the roaming status of a SIM-based device securely using carrier network data, without relying on GPS or identity theft risks. Enables fraud detection, access control, and compliance for applications requiring location awareness. Available in Spain and Brazil.

OpenAPI Specification

telefonica-device-roaming-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Telefónica Device Roaming Status API
  description: >-
    The Device Roaming Status API verifies the roaming status of a SIM-based
    device using carrier network data, without relying on GPS or risking
    identity information exposure. Enables fraud detection, content
    geo-restriction, and compliance workflows. Based on CAMARA open standards.
    Available in Spain and Brazil.
  version: 0.5.0
  contact:
    url: https://opengateway.telefonica.com/en/apis/device-roaming-status
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://opengateway.telefonica.com/v1
    description: Telefónica Open Gateway - Production
  - url: https://sandbox.opengateway.telefonica.com/v1
    description: Telefónica Open Gateway - Sandbox
paths:
  /device-roaming/retrieve:
    post:
      operationId: getDeviceRoamingStatus
      summary: Get Device Roaming Status
      description: >-
        Returns the current roaming status of a device. Indicates whether
        the device is roaming and, if available, the country code of the
        network the device is currently connected to.
      tags:
        - Device Roaming
      security:
        - openIdConnect:
            - device-roaming-status:read
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - device
              properties:
                device:
                  $ref: '#/components/schemas/Device'
      responses:
        '200':
          description: Device roaming status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoamingStatusResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized.
        '403':
          description: Forbidden.
        '422':
          description: Unable to determine roaming status.
components:
  securitySchemes:
    openIdConnect:
      type: openIdConnect
      openIdConnectUrl: https://opengateway.telefonica.com/.well-known/openid-configuration
  schemas:
    Device:
      type: object
      properties:
        phoneNumber:
          type: string
          pattern: '^\+[1-9][0-9]{4,14}$'
        networkAccessIdentifier:
          type: string
        ipv4Address:
          type: object
          properties:
            publicAddress:
              type: string
            publicPort:
              type: integer
        ipv6Address:
          type: string
    RoamingStatusResponse:
      type: object
      properties:
        roaming:
          type: boolean
          description: True if the device is currently roaming.
        countryCode:
          type: integer
          description: MCC (Mobile Country Code) of the network the device is connected to.
        countryName:
          type: array
          description: Name of the country in multiple languages.
          items:
            type: string
        lastStatusTime:
          type: string
          format: date-time
          description: Timestamp when the roaming status was last updated.
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
        code:
          type: string
        message:
          type: string