> ## Documentation Index
> Fetch the complete documentation index at: https://umbrella-docs.info/llms.txt
> Use this file to discover all available pages before exploring further.

# Phone Status Service

> Phone Status Service API Documentation

For a usage description of the Phone Status Service, please refer to the [Phone Status](/essentials/phoneServices) page.

## Endpoint

**POST** `/phone-service/phoneStatus`

## Swagger

<a href="/public/downloads/swagger/phoneServices/phoneService.postman_collection.json" download="phoneService.postman_collection.json">
  <button>⬇️ Download OpenAPI YAML</button>
</a>


## OpenAPI

````yaml POST /phone-service/phoneStatus
openapi: 3.1.0
info:
  title: Umbrella API
  version: 1.0.0
  description: >-
    API documentation for Umbrella services including KYB, KYC, AML, payments,
    phone intelligence, onboarding, and address verification.
servers:
  - url: https://api-umbrella.io/api/services
    description: Production
  - url: https://sandbox-umbrella-api.azurewebsites.net/api/services
    description: Sandbox
security:
  - bearerAuth: []
paths:
  /phone-service/phoneStatus:
    post:
      summary: Phone Status Check
      description: >-
        Get insights about a phone number such as whether it is active or
        disconnected, whether its associated device is reachable or unreachable,
        and its associated device's roaming status.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PhoneStatusRequest'
            examples:
              default:
                value:
                  phoneNumber: '+486504142304'
      responses:
        '200':
          description: Successfully retrieved phone status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhoneStatusResponse'
              examples:
                default:
                  value:
                    referenceId: ABC123XYZ789
                    subResource: live
                    status:
                      code: 300
                      description: Transaction successfully completed
                      updatedOn: '2025-08-01T14:32:10Z'
                    errors: []
                    phoneType:
                      code: '2'
                      description: MOBILE
                    blocklisting:
                      blocked: false
                      blockCode: 0
                      blockDescription: Not blocked
                    numbering:
                      cleansing:
                        call:
                          countryCode: '49'
                          phoneNumber: '15123456789'
                          cleansedCode: 100
                          minLength: 7
                          maxLength: 13
                        sms:
                          countryCode: '49'
                          phoneNumber: '15123456789'
                          cleansedCode: 100
                          minLength: 7
                          maxLength: 13
                      original:
                        completePhoneNumber: '+4915123456789'
                        countryCode: '49'
                        phoneNumber: '15123456789'
                    location:
                      city: Berlin
                      state: Berlin
                      zip: '10115'
                      metroCode: null
                      county: Berlin County
                      country:
                        name: Germany
                        iso2: DE
                        iso3: DEU
                      coordinates:
                        latitude: '52.5200'
                        longitude: '13.4050'
                      timeZone:
                        name: Europe/Berlin
                        utcOffsetMax: '+2'
                        utcOffsetMin: '+1'
                    carrier:
                      name: Generic Mobile GmbH
                    live:
                      subscriberStatus: ACTIVE
                      deviceStatus: REACHABLE
                      roaming: UNAVAILABLE
                      roamingCountry: null
                      roamingCountryIso2: null
        '400':
          description: Invalid request payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
components:
  schemas:
    PhoneStatusRequest:
      type: object
      required:
        - phoneNumber
      properties:
        phoneNumber:
          type: string
          description: The phone number to check, including country code (E.164).
          example: '+486504142304'
    PhoneStatusResponse:
      type: object
      properties:
        referenceId:
          type: string
          description: Unique reference ID for the transaction.
          example: ABC123XYZ789
        subResource:
          type: string
          description: Sub-resource type (e.g., 'live').
          example: live
        status:
          type: object
          properties:
            code:
              type: number
              description: Status code (e.g., 300 for success).
              example: 300
            description:
              type: string
              description: Status description.
              example: Transaction successfully completed
            updatedOn:
              type: string
              description: Timestamp of the last update (ISO 8601 format).
              example: '2025-08-01T14:32:10Z'
        errors:
          type: array
          description: List of errors, if any.
          items:
            type: string
        phoneType:
          type: object
          properties:
            code:
              type: string
              description: Phone type code (e.g., '2' for mobile).
              example: '2'
            description:
              type: string
              description: Phone type description.
              example: MOBILE
        blocklisting:
          type: object
          properties:
            blocked:
              type: boolean
              description: Whether the number is blocked.
              example: false
            blockCode:
              type: number
              description: Block code (0 = not blocked).
              example: 0
            blockDescription:
              type: string
              description: Block description.
              example: Not blocked
        numbering:
          type: object
          properties:
            cleansing:
              type: object
              properties:
                call:
                  type: object
                  properties:
                    countryCode:
                      type: string
                      example: '49'
                    phoneNumber:
                      type: string
                      example: '15123456789'
                    cleansedCode:
                      type: number
                      example: 100
                    minLength:
                      type: number
                      example: 7
                    maxLength:
                      type: number
                      example: 13
                sms:
                  type: object
                  properties:
                    countryCode:
                      type: string
                      example: '49'
                    phoneNumber:
                      type: string
                      example: '15123456789'
                    cleansedCode:
                      type: number
                      example: 100
                    minLength:
                      type: number
                      example: 7
                    maxLength:
                      type: number
                      example: 13
            original:
              type: object
              properties:
                completePhoneNumber:
                  type: string
                  example: '+4915123456789'
                countryCode:
                  type: string
                  example: '49'
                phoneNumber:
                  type: string
                  example: '15123456789'
        location:
          type: object
          properties:
            city:
              type: string
              example: Berlin
            state:
              type: string
              nullable: true
              example: Berlin
            zip:
              type: string
              nullable: true
              example: '10115'
            metroCode:
              type: string
              nullable: true
            county:
              type: string
              nullable: true
              example: Berlin County
            country:
              type: object
              properties:
                name:
                  type: string
                  example: Germany
                iso2:
                  type: string
                  example: DE
                iso3:
                  type: string
                  example: DEU
            coordinates:
              type: object
              properties:
                latitude:
                  type: string
                  nullable: true
                  example: '52.5200'
                longitude:
                  type: string
                  nullable: true
                  example: '13.4050'
            timeZone:
              type: object
              properties:
                name:
                  type: string
                  nullable: true
                  example: Europe/Berlin
                utcOffsetMax:
                  type: string
                  example: '+2'
                utcOffsetMin:
                  type: string
                  example: '+1'
        carrier:
          type: object
          properties:
            name:
              type: string
              description: Name of the carrier.
              example: Generic Mobile GmbH
        live:
          type: object
          properties:
            subscriberStatus:
              type: string
              example: ACTIVE
            deviceStatus:
              type: string
              example: REACHABLE
            roaming:
              type: string
              example: UNAVAILABLE
            roamingCountry:
              type: string
              nullable: true
            roamingCountryIso2:
              type: string
              nullable: true
    Error400:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          example: Invalid request payload
    Error401:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          example: Unauthorized request
    Error403:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          example: Forbidden
    Error500:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          example: Internal Server Error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token obtained from POST /auth. Valid for 60 minutes.

````