# HLR (Number Lookup)

Perform a **synchronous HLR (Home Location Register) lookup** to get detailed information about one or more mobile numbers. This is useful for verifying number validity, detecting ported numbers, and understanding the network associated with each recipient.

### <mark style="color:green;">`GET`</mark> `/hlr`

#### Required Permission

```
create:HLR
```

Your API key must have this permission enabled in order to use this endpoint.

#### Example Request

```bash
curl --location 'https://<hostname>/hlr?lookup=4400000000000,4400000000001,4400000000002' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

Replace `YOUR_API_KEY` with your API key.

{% hint style="info" %}
All endpoints shown in this documentation use a **sample base URL**. The production API endpoint is provided by our team upon request.
{% endhint %}

### Query Parameters

| Parameter | Type   | Required | Description                                                                        |
| --------- | ------ | -------- | ---------------------------------------------------------------------------------- |
| lookup    | string | Yes      | Comma-separated list of MSISDNs (phone numbers in international format) to verify. |

#### Response (HTTP 200)

```json
{
  "success": true,
  "batchID": "0c040d34-e2a-460a-97dd-66ffc235a7",
  "results": [
    {
      "to": "4400000000000",
      "mccMnc": "23410",
      "imsi": "234100000000000",
      "originalNetwork": {
        "networkName": "MNO - BT - Everything Everywhere Limited",
        "networkPrefix": "79324",
        "countryName": "United Kingdom",
        "countryPrefix": "44",
        "networkId": 791
      },
      "ported": true,
      "portedNetwork": {
        "networkName": "MNO - Virgin Media O2 (Telefonica UK Ltd)",
        "networkPrefix": "76020",
        "countryName": "United Kingdom",
        "countryPrefix": "44",
        "networkId": 785
      },
      "status": {
        "groupId": 3,
        "groupName": "DELIVERED",
        "id": 5,
        "name": "DELIVERED_TO_HANDSET",
        "description": "Message delivered to handset"
      },
      "error": {
        "groupId": 0,
        "groupName": "OK",
        "id": 0,
        "name": "NO_ERROR",
        "description": "No Error",
        "permanent": false
      }
    }
  ]
}
```

### Response Fields

| Field           | Type    | Description                                                     |
| --------------- | ------- | --------------------------------------------------------------- |
| batchID         | string  | Unique ID for this HLR lookup batch.                            |
| results         | array   | Array of objects, one per number looked up.                     |
| to              | string  | The phone number queried.                                       |
| mccMnc          | string  | Mobile Country Code & Mobile Network Code.                      |
| imsi            | string  | International Mobile Subscriber Identity.                       |
| originalNetwork | object  | Details about the number’s original network.                    |
| ported          | boolean | Indicates if the number has been ported to a different network. |
| portedNetwork   | object  | Details of the network the number is ported to (if applicable). |
| status          | object  | Current delivery/status group of the number.                    |
| error           | object  | Any errors encountered during the lookup.                       |

{% hint style="info" %}
You can lookup multiple MSISDNs at once using a **comma separated list**.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.mobivatebulksms.com/number-verification/hlr-number-lookup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
