Description
The Resource URI is a fundamental concept in 3GPP's Service Based Architecture (SBA), introduced in Release 15 as part of the 5G System specifications. It provides a standardized way to identify and address resources exposed by Network Functions (NFs) through RESTful APIs. The term is defined in multiple 3GPP specifications including TS 28.531, 29.222, 29.501, 29.503, 29.504, 29.509, 29.511, 29.518, 29.520, 29.531, 29.540, 29.549, 29.562, 29.563, and 29.573, reflecting its pervasive role across the 5G core network.
A Resource URI identifies an abstract or physical resource, following the principles of IETF RFC 3986. In the context of 3GPP specifications, it generally means 'a URI of a resource' and its structure is defined in clause 4.4.1 of the relevant specifications. The URI structure typically follows a hierarchical pattern that includes an API root, the API name, an API version, and the resource path. For example, the resource URI for the SM contexts collection in the Nsmf_PDUSession API is '{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts'. This hierarchical structure enables logical organization of resources and supports RESTful operations such as GET, POST, PUT, PATCH, and DELETE.
The Resource URI plays a critical role in the Service Based Architecture by enabling service discovery, request routing, and resource management. When a consumer NF needs to interact with a producer NF, it first discovers the producer's services and obtains the base URI. It then constructs the specific Resource URI for the desired resource by appending the appropriate path segments. This URI is used in HTTP requests to identify the target resource. The producer NF processes the request based on the URI path and the HTTP method, performing the requested operation on the identified resource.
The structure of Resource URIs in 3GPP APIs follows a consistent pattern across all Network Functions. The '{apiRoot}' component is typically the scheme and authority (e.g., 'https://nf.example.com'), the API name identifies the specific service (e.g., 'nsmf-pdusession'), the '<apiVersion>' indicates the version of the API (e.g., 'v1'), and the remaining path segments identify the specific resource or collection. This consistency simplifies the development of client applications and enables generic HTTP intermediaries to route requests appropriately.
Resource URIs also support the concept of resource collections and individual resources. A collection URI (e.g., '/sm-contexts') represents a set of resources and typically supports GET (to retrieve the collection) and POST (to create a new resource in the collection). An individual resource URI (e.g., '/sm-contexts/{smContextId}') represents a specific resource and supports GET, PUT, PATCH, and DELETE operations. This RESTful design pattern provides a uniform interface for managing resources across all 5G Network Functions.
The introduction of Resource URIs in Release 15 marked a significant shift from the more procedural, message-based interfaces of previous generations to a modern, web-based API paradigm. This shift has enabled greater flexibility, scalability, and interoperability in the 5G core network. The definition and usage of Resource URIs have remained consistent through Release 19, with only minor wording clarifications, demonstrating the stability and maturity of the concept.
Purpose & Motivation
The Resource URI concept was created to provide a standardized, web-based addressing mechanism for resources in the 5G Service Based Architecture. Prior to Release 15, 3GPP core network interfaces were primarily based on procedural protocols like Diameter and GTP, which used different addressing schemes and message formats. These legacy protocols were optimized for specific use cases but lacked the flexibility and uniformity needed for a cloud-native, microservices-based architecture. The Resource URI, based on HTTP and REST principles, solves this problem by providing a uniform, extensible, and well-understood addressing scheme.
The adoption of Resource URIs enables several key capabilities that were difficult or impossible with previous approaches. First, it allows Network Functions to expose their capabilities as RESTful APIs, which can be discovered, invoked, and composed using standard web technologies. Second, it provides a natural way to model resources and their relationships, making the APIs more intuitive and self-describing. Third, it enables the use of standard HTTP infrastructure such as load balancers, API gateways, and caching proxies, which can improve scalability and performance.
Furthermore, the Resource URI concept supports the evolution and versioning of APIs. By including the API version in the URI, multiple versions of an API can coexist, allowing for graceful migration and backward compatibility. This is essential in a multi-vendor environment where different Network Functions may be upgraded at different times. The Resource URI also facilitates testing and debugging, as the resource being accessed is explicitly identified in the request, making it easier to trace and troubleshoot interactions between Network Functions.
What changed in its specifications
The latest release-to-release comparison of specifications that define Resource URI. Each summary describes the whole specification, not only this term.
Rel-19 adds management of IAB nodes to TS 28.531. The new clauses cover IAB-node configuration, location information, configuration via notifications, and a procedure with a sequence diagram.
Full comparison in TS 28.531 →Adds subscriber-aware northbound API access (OAuth grant types, API provider name, UE IP address types), SEAL Phase 3 (API status monitoring, protocol/data format support, CAPIF features), Edge Apps Phase 2 (8.2.4.1, ServiceKpis, AefProfile), and slice capability exposure expiration time.
Full comparison in TS 29.222 →Release Timeline
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (33 CRs across 6 releases). Complements the general historical overview above with the evidence-based evolution of this function.
- Datatype column in Resource URI variables Table TS 29.503CR0410
- Datatype column in Resource URI variables Table TS 29.509CR0091
- Datatype column in Resource URI variables Table TS 29.511CR0032
- Data type column in Resource URI variables Table TS 29.531CR0066
- Data type column in Resource URI variables Table TS 29.540CR0051
- Data type column in Resource URI variables Table TS 29.573CR0037
+ 1 more changes
- Resource URI correction on CAPIF APIs TS 29.222CR0210
- Resource URI overview and apiVersion placeholder TS 29.222CR0233
- Resource URI structure in the Guidelines for Services Definition TS 29.501CR0111
- Resource URI structure in the SBI skeleton TS 29.501CR0112
- Adding examples to the Resource URI structure clause TS 29.501CR0115
- Remove the apiVersion placeholder from the resource URI variables table TS 29.501CR0125
+ 8 more changes
Defining Specifications
3GPP specifications that define or reference Resource URI, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 28.531 vk10 | 5G Network Slice Provisioning Management | Rel-20 read |
| TS 29.222 vk10 | CAPIF Northbound API Protocol | Rel-20 read |
| TS 29.501 vk00 | 5GC SBI API Design Principles | Rel-20 read |
| TS 29.503 vk10 | UDM Service Based Interface | Rel-20 read |
| TS 29.504 vk10 | Nudr Unified Data Repository Services | Rel-20 read |
| TS 29.509 vk00 | 3GPP TS 29509: Nausf Service Based Interface | Rel-20 read |
| TS 29.511 vk00 | N5g-eir Service Based Interface | Rel-20 read |
| TS 29.518 vk10 | AMF Service Based Interface | Rel-20 read |
| TS 29.520 vk10 | 5G NWDAF Services | Rel-20 read |
| TS 29.531 vk00 | Nnssf Service Based Interface Stage 3 | Rel-20 read |
| TS 29.540 vk10 | Nsmsf Service-Based Interface for SMSF | Rel-20 read |
| TS 29.549 vk10 | SEAL Service APIs | Rel-20 read |
| TS 29.562 vk10 | HSS Nhss Services for IMS and GBA | Rel-20 read |
| TS 29.563 vk00 | Nhss Services for 5G SBA Stage 3 | Rel-20 read |
| TS 29.573 vk10 | 5G PLMN Interconnection Interface | Rel-20 read |