# Reference Data (v2 API)

> For the complete documentation index, see [llms.txt](https://help.1nce.com/llms.txt).

# Reference Data: 1NCE Platform 2.0 API

In the 1NCE Platform 2.0, event and usage data streams contain **only IDs** (not names or descriptions). To resolve these IDs to human-readable information, use the **1NCE Platform 2.0 API**.

The 1NCE Platform 2.0 API provides the reference-data endpoints described below.

:::info Access via the API only
You do not have direct access to internal database tables. All reference-data lookups go through the 1NCE Platform 2.0 API endpoints below.
:::

## Available endpoints

### `GET /countries`

Resolves country IDs (`operator_country_id`, `detail_country_id`).

| Field | Description |
| --- | --- |
| `id` | Country identifier |
| `country_name` | Full country name (e.g., "Germany") |
| `iso_code` | ISO 3166-1 alpha-2 code (e.g., "DE") |
| `mcc` | Mobile Country Code (e.g., "262") |
| `country_code` | Numeric country code |

### `GET /operators`

Resolves operator IDs (`operator_id`, `detail_pdp_context_operator_id`).

| Field | Description |
| --- | --- |
| `id` | Operator identifier |
| `operator_name` | Operator name (e.g., "Vodafone D2") |
| `country_id` / `country_name` / `country_iso_code` / `country_mcc` | Operator country details |
| `mnc` | Mobile Network Code(s) |
| `tapcode` | Transfer Account Procedure code(s) |
| `ccndc` | Country Code + National Destination Code |

### `GET /organisations`

Resolves `organisation_id`.

| Field | Description |
| --- | --- |
| `id` | Organization identifier |
| `organisation_name` | Organization/customer name |
| `status_id` / `status_description` | Organization status |
| `type_id` / `type_description` | Organization type |
| `parent_org_id` | Parent organization (hierarchies) |
| `preferred_breakout_aws_region` | Preferred AWS breakout region |
| `created` | Creation timestamp |

### `GET /sims`

Resolves `sim_id`.

| Field | Description |
| --- | --- |
| `id` | SIM identifier |
| `iccid` | SIM card number |
| `msisdn` | Phone number |
| `imsi` / `imsi2` / `imsi3` / `imsi4` | Primary and additional IMSIs (multi-IMSI) |
| `eid` | eSIM identity document |
| `organisation_id` / `customer_org_id` / `customer_org_name` | Ownership |
| `status_id` / `status_description` | SIM status (e.g., "Activated") |
| `model_name_external` / `model_manufacturer_name` / `model_form_factor_name` | SIM model details (e.g., "2FF", "3FF", "MFF2") |

### `GET /tariffs`

Resolves `tariff_id`, `detail_pdp_context_tariff_id`.

| Field | Description |
| --- | --- |
| `id` | Tariff identifier |
| `tariff_name` | Tariff plan name |
| `description` | Tariff description |
| `organisation_id` | Owning organization |
| `apn` | Access Point Name(s) for this tariff |

### `GET /ratezones`

Resolves `tariff_ratezone_id`, `detail_pdp_context_ratezone_id`.

| Field | Description |
| --- | --- |
| `id` | Ratezone identifier |
| `ratezone_name` | Rate zone name |
| `operator_id` / `operator_name` | Associated operator |
| `country_id` / `country_name` / `country_iso_code` / `country_mcc` | Country details |
| `mncs` / `tapcodes` | MNCs and TAP codes in this ratezone |
| `tariff_id` / `organisation_id` | Associations |

### `GET /rat_types`

Resolves `rat_type`, `detail_pdp_context_rat_type`.

| ID | Technology | Description |
| --- | --- | --- |
| 1 | 3G | UMTS/WCDMA |
| 2 | 2G | GSM/GPRS/EDGE |
| 3 | WLAN | Wireless LAN |
| 4 | GAN | Generic Access Network |
| 5 | HSPA+ | High Speed Packet Access Plus |
| 6 | 4G | LTE |
| 8 | NB-IoT | Narrowband IoT |
| 9 | LTE-M | LTE for Machines (Cat-M1) |
| 10 | 5G | NR |

## Fixed mappings (no API call needed)

Some IDs have a small, fixed set of values you can hardcode:

**Event severity (`event_severity_id`):** 0 = Info, 1 = Warn, 2 = Critical.

**Event source (`event_source_id`):** 0 = Network, 1 = Policy Control, 2 = API.

**Traffic type (`traffic_type_id`):** 5 = Data, 6 = SMS.

**Event type (`event_type_id`):** a fixed set of roughly 70 values. The IDs are unchanged from the 1NCE Platform 1.0; if you need the full mapping table, contact [1NCE Technical Support](https://1nce.com/en-eu/support/contact).

## 1NCE Platform 1.0 vs 2.0 approach

| Aspect | 1NCE Platform 1.0 data stream | Data Streamer 2.0 |
| --- | --- | --- |
| Names in data records | No (IDs only) | No (IDs only) |
| How to get names | 1NCE Platform 1.0 API | 1NCE Platform 2.0 API |
| SIM / operator / country / tariff details | By ID | 1NCE Platform 2.0 API endpoints |
| RAT type name | Not available | `GET /rat_types` |

## Best practices

- **Cache reference data locally.** Countries, operators, tariffs, and ratezones change infrequently — refresh daily or weekly rather than per record.
- **Use bulk endpoints.** Fetch all operators once and build a local lookup map rather than querying per record.
- **Handle missing IDs gracefully.** New operators or ratezones may appear before your cache refreshes — do not fail on unknown IDs.
- **Hardcode fixed mappings.** Traffic type, event severity, and event source have small fixed value sets and need no API call.
