Description
In the context of 3GPP standards, an Application Programming Interface (API) is a formally specified interface that defines how different software components, network functions, or external applications can interact with each other. It provides a contract that specifies the methods of communication, including the data formats (requests and responses), the operations that can be invoked, and the underlying protocols (often RESTful HTTP or gRPC). APIs abstract the complex internal implementations of network functions, exposing well-defined capabilities as reusable services. This abstraction is fundamental to service-based architectures (SBA) adopted in 5G Core (5GC), where Network Functions (NFs) like the AMF, SMF, and UDM interact via service-based interfaces, which are essentially a set of standardized APIs.
The architecture of 3GPP APIs is meticulously documented in technical specifications, detailing everything from the API endpoint URLs and HTTP methods (GET, POST, PUT, DELETE) to the exact JSON or XML schema of the messages exchanged. Key components include the API producer (the network function that hosts and implements the API), the API consumer (the entity invoking the API), and the API management layer, which may handle aspects like authentication, authorization, rate limiting, and analytics. APIs are often described using machine-readable formats like OpenAPI Specification (OAS), enabling automated code generation and validation. They operate over the Service-Based Interface (SBI) within the 5G Core, utilizing HTTP/2 for transport and JSON for payload serialization, ensuring efficient and flexible communication.
The role of APIs in the network is multifaceted. Internally, they enable the modular, decoupled design of the core network, allowing operators to deploy and upgrade Network Functions independently. Externally, they are the mechanism for service exposure, allowing authorized third-party application providers (e.g., in enterprise, IoT, or edge computing scenarios) to access network capabilities like quality of service (QoS) management, location information, or network status in a controlled manner through frameworks like the Network Exposure Function (NEF). APIs are also critical for network management and orchestration, enabling automated provisioning, configuration, and lifecycle management of network resources as part of broader frameworks like ETSI NFV-MANO. Ultimately, APIs transform the network from a static infrastructure into a programmable platform, fostering innovation and new service creation.
Purpose & Motivation
The standardization of APIs within 3GPP was motivated by the need to move away from monolithic, vendor-specific network architectures towards open, interoperable, and software-driven systems. Prior to widespread API adoption, network functions communicated via rigid, point-to-point, protocol-specific interfaces (often based on binary protocols like SS7 or Diameter), which made integration complex, slowed innovation, and created vendor lock-in. The purpose of defining common APIs is to solve these problems by establishing a universal 'language' for software components to communicate, thereby enabling multi-vendor interoperability, faster service deployment, and network agility.
Historically, the concept gained significant traction with the rise of web technologies and cloud-native principles. The shift to all-IP networks and the demand for Internet-style programmability drove 3GPP to embrace RESTful APIs and service-based architectures, particularly from 4G Evolved Packet Core (EPC) for certain interfaces and fully in the 5G Core. APIs address the limitation of previous 'closed' systems by providing a standardized, well-documented, and often HTTP-based method for interaction, which is familiar to a vast ecosystem of software developers. This lowers the barrier to entry for innovation, allowing both network operators and external developers to create new applications and services that leverage the unique capabilities of mobile networks, such as low latency, high bandwidth, and mobility support.
Furthermore, APIs are essential for enabling key 5G paradigms like network slicing, edge computing, and massive IoT. They provide the necessary hooks for orchestration systems to instantiate and manage end-to-end network slices on demand. They allow edge applications to request specific network treatments. In summary, APIs exist to transform telecom networks into open platforms, solving problems of integration complexity, operational rigidity, and limited service innovation, thereby unlocking the full economic and technological potential of 3GPP systems.
Key Features
- Standardized service-based interfaces for inter-NF communication (e.g., Nnrf, Nsmf)
- RESTful design principles using HTTP/2 and JSON for payloads
- Machine-readable definition via OpenAPI Specification (OAS) 3.0
- Support for third-party network capability exposure via the NEF
- Enables network slicing lifecycle management and orchestration
- Facilitates cloud-native, microservices-based network function deployment
Evolution Across Releases
Introduced the foundational concept of APIs for open service architecture (OSA) and customised applications for mobile network enhanced logic (CAMEL). These early APIs were primarily focused on enabling intelligent network (IN) services and third-party application access to core network capabilities like call control, though the interfaces were often more proprietary or used technologies like CORBA rather than modern web APIs.
Enhanced support for Open Service Access (OSA) and Parlay APIs, providing more standardized frameworks for third-party service creation. This release solidified the role of APIs in service exposure, moving towards a more structured approach for allowing external applications to interact with network functions for services like messaging and user location.
Introduced the IP Multimedia Subsystem (IMS), which relied heavily on SIP-based interfaces. While not RESTful APIs in the modern sense, IMS defined a suite of standardized reference points (e.g., ISC, Sh, Dh) that were essentially service interfaces, establishing the principle of a service-oriented architecture for delivering multimedia services over IP.
Introduced the fully cloud-native, service-based architecture (SBA) for the 5G Core (5GC). All interactions between core Network Functions (e.g., AMF, SMF, UDM) are defined as service-based interfaces, which are explicitly RESTful APIs with OpenAPI definitions. This release established HTTP/2 and JSON as the primary protocol and encoding, making APIs the central nervous system of the core network.
Enhanced the 5G SBA APIs with new capabilities, including improved support for edge computing (EC), network automation, and integration with management systems. It expanded the API framework for the Network Exposure Function (NEF) to expose more advanced capabilities like accurate device location and QoS monitoring to external applications.
Marked the beginning of the Evolved Packet Core (EPC) in LTE. While primary interfaces remained protocol-based (GTP, Diameter), concepts for network exposure started to evolve. The Policy and Charging Rules Function (PCRF) began to expose interfaces for service data flow-based policy control, laying groundwork for later API-driven architectures.
Saw significant work on service exposure for 4G, formalizing the Service Capability Exposure Function (SCEF). The SCEF provided a standardized, RESTful API (based on HTTP/JSON) for exposing network services to third-party applications, particularly for IoT use cases. This was a major step towards the modern API paradigm within 3GPP.
Further evolved APIs to support advanced 5G features like enhanced network slicing management, non-public networks (NPN), and expanded IoT and industrial IoT scenarios. APIs became more sophisticated in handling lifecycle operations for network slices and exposing new service capabilities for vertical industries, emphasizing automation and programmability.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 22.038 | 3GPP TS 22.038 |
| TS 22.057 | 3GPP TS 22.057 |
| TS 22.121 | 3GPP TS 22.121 |
| TS 22.127 | 3GPP TS 22.127 |
| TS 22.228 | 3GPP TS 22.228 |
| TS 22.907 | 3GPP TS 22.907 |
| TS 23.039 | 3GPP TS 23.039 |
| TS 23.057 | 3GPP TS 23.057 |
| TS 23.127 | 3GPP TS 23.127 |
| TS 23.198 | 3GPP TS 23.198 |
| TS 23.218 | 3GPP TS 23.218 |
| TS 23.222 | 3GPP TS 23.222 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.479 | 3GPP TS 23.479 |
| TS 23.700 | 3GPP TS 23.700 |
| TS 23.701 | 3GPP TS 23.701 |
| TS 23.722 | 3GPP TS 23.722 |
| TS 23.758 | 3GPP TS 23.758 |
| TS 23.792 | 3GPP TS 23.792 |
| TS 23.958 | 3GPP TS 23.958 |
| TS 24.523 | 3GPP TS 24.523 |
| TS 24.543 | 3GPP TS 24.543 |
| TS 24.558 | 3GPP TS 24.558 |
| TS 24.559 | 3GPP TS 24.559 |
| TS 24.560 | 3GPP TS 24.560 |
| TS 25.211 | 3GPP TS 25.211 |
| TS 26.118 | 3GPP TS 26.118 |
| TS 26.119 | 3GPP TS 26.119 |
| TS 26.142 | 3GPP TS 26.142 |
| TS 26.143 | 3GPP TS 26.143 |
| TS 26.307 | 3GPP TS 26.307 |
| TS 26.346 | 3GPP TS 26.346 |
| TS 26.347 | 3GPP TS 26.347 |
| TS 26.501 | 3GPP TS 26.501 |
| TS 26.510 | 3GPP TS 26.510 |
| TS 26.511 | 3GPP TS 26.511 |
| TS 26.567 | 3GPP TS 26.567 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.806 | 3GPP TS 26.806 |
| TS 26.841 | 3GPP TS 26.841 |
| TS 26.857 | 3GPP TS 26.857 |
| TS 26.891 | 3GPP TS 26.891 |
| TS 26.907 | 3GPP TS 26.907 |
| TS 26.926 | 3GPP TS 26.926 |
| TS 26.928 | 3GPP TS 26.928 |
| TS 26.942 | 3GPP TS 26.942 |
| TS 26.948 | 3GPP TS 26.948 |
| TS 26.953 | 3GPP TS 26.953 |
| TS 26.956 | 3GPP TS 26.956 |
| TS 26.981 | 3GPP TS 26.981 |
| TS 26.998 | 3GPP TS 26.998 |
| TS 28.816 | 3GPP TS 28.816 |
| TS 28.840 | 3GPP TS 28.840 |
| TS 28.843 | 3GPP TS 28.843 |
| TS 28.849 | 3GPP TS 28.849 |
| TS 28.851 | 3GPP TS 28.851 |
| TS 29.116 | 3GPP TS 29.116 |
| TS 29.198 | 3GPP TS 29.198 |
| TS 29.201 | 3GPP TS 29.201 |
| TS 29.508 | 3GPP TS 29.508 |
| TS 29.509 | 3GPP TS 29.509 |
| TS 29.512 | 3GPP TS 29.512 |
| TS 29.520 | 3GPP TS 29.520 |
| TS 29.523 | 3GPP TS 29.523 |
| TS 29.525 | 3GPP TS 29.525 |
| TS 29.549 | 3GPP TS 29.549 |
| TS 29.591 | 3GPP TS 29.591 |
| TS 29.817 | 3GPP TS 29.817 |
| TS 31.131 | 3GPP TR 31.131 |
| TS 31.213 | 3GPP TR 31.213 |
| TS 31.221 | 3GPP TR 31.221 |
| TS 31.822 | 3GPP TR 31.822 |
| TS 32.101 | 3GPP TR 32.101 |
| TS 32.140 | 3GPP TR 32.140 |
| TS 32.141 | 3GPP TR 32.141 |
| TS 32.240 | 3GPP TR 32.240 |
| TS 32.829 | 3GPP TR 32.829 |
| TS 32.831 | 3GPP TR 32.831 |
| TS 33.117 | 3GPP TR 33.117 |
| TS 33.122 | 3GPP TR 33.122 |
| TS 33.222 | 3GPP TR 33.222 |
| TS 33.739 | 3GPP TR 33.739 |
| TS 33.749 | 3GPP TR 33.749 |
| TS 33.823 | 3GPP TR 33.823 |
| TS 33.882 | 3GPP TR 33.882 |
| TS 33.884 | 3GPP TR 33.884 |
| TS 34.131 | 3GPP TR 34.131 |
| TS 38.843 | 3GPP TR 38.843 |
| TS 51.013 | 3GPP TR 51.013 |