
This documentation is currently under development and subject to change. It reflects outcomes elaborated by 5G-MAG members. If you are interested in becoming a member of the 5G-MAG and actively participating in shaping this work, please contact the Project Office
CAMARA: Dedicated Networks API
Description
The “Dedicated Networks” APIs provide functionalities for reserving network connectivity resources, selecting network capabilities, and controlling access for devices.
Information: https://camaraproject.org/dedicated-networks/ and https://github.com/camaraproject/DedicatedNetworks
The API definitions can be obtained here: https://github.com/camaraproject/DedicatedNetworks/tree/main/code/API_definitions
Relation of APIs
Dedicated Network - Network Service Areas API
- POST /retrieve-service-areas - Retrieve dedicated network service areas, filtered by additional search criteria. The response includes an
idwith the supported network profiles and QoS profiles - GET /areas/{areaId} - Read a dedicated network service area
Dedicated Network - Network Profiles API
- GET /profiles - List of available network profiles. The response includes an
id, alongside themaxNumberOfDevices,aggregatedUlThroughput,aggregatedDlThroughput,qosProfiles,…- Dependency: Requires
qosProfileswhich can be retrieved from a previous call to the QoS Profiles API.
- Dependency: Requires
- GET /profiles/{profileId} - Read a dedicated network profile
Dedicated Network - Networks API
- GET /networks - List of dedicated networks (the list can be empty)
- POST /networks with the request body including the chose Network Profile
profileId,serviceTimestart and end,serviceAreais used to request the creation of a dedicated network. The response includes anidand thestatusof the request. Asinkfor notifications can be optionally indicated. - GET /networks/{networkId} - get the current information about a dedicated network
- DELETE /networks/{networkId} - delete a dedicated network
Dedicated Network - Accesses API
- GET /accesses - List of existing device accesses to dedicated networks, optionally filtered for a given device and/or for a dedicated network (the list can be empty)
- POST /accesses with the request body including the
networkIdreceived after invoking the Dedicated Network API (id), adeviceobject,qosProfiles, this request will crate a device access to a dedicated network with a given configutation. The response includes anid. - GET /accesses/{accessId} - get a device access to the dedicated network and its configuration
- DELETE /accesses/{accessId} - delete a device access to the dedicated network
Dedicated Network - Network Service Areas API Usage
This API allows for discovering available network service areas, which are the geographical areas offered by the network provider where consitent coverage according to indicated network profile(s) and QoS profiles is provided, and which is to be used in conjunction with the Dedicated Network API.
With POST /retrieve-service-areas a list of dedicated network service areas can be retrieved, filtered by additional search criteria
{
"atLocation": {
"latitude": 50.735851,
"longitude": 7.10066
},
"overlappingArea": {},
"coveringArea": {},
"byName": "string",
"byNetworkProfileId": "string",
"byQosProfileName": "QCI_1_voice"
}
Type of response: The list of areas:
[
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"description": "string",
"area": {},
"networkProfiles": [
"string"
],
"qosProfiles": [
"QCI_1_voice"
]
}
]
Dedicated Network - Network Profiles API Usage
This API allows for discovering available network profiles, which are offered by the network provider to be used in conjunction of the Dedicated Network API. Network profiles describe the capabilities and performance targets of a dedicated network.
With GET /profiles a list of available network profiles can be retrieved
[
{
"id": "string",
"maxNumberOfDevices": 0,
"aggregatedUlThroughput": {
"value": 10,
"unit": "bps"
},
"aggregatedDlThroughput": {
"value": 10,
"unit": "bps"
},
"qosProfiles": [
"QCI_1_voice"
],
"defaultQosProfile": "QCI_1_voice"
}
]
Dedicated Network - Networks API Usage
This API allows for requesting a Dedicated Network, which provides a set of capabilities and connectivity performance targets. The Dedicated Network may be requested for a particular geographical location and at a particular time window. Depending on the requested start time for the dedicated network, the network may first enter a reserved state.
Request the creation of a dedicated network
With POST /networks, passing a profileId, serviceTime, serviceArea, among others.
{
"profileId": "string",
"serviceTime": {
"start": "2025-11-05T14:14:35.390Z",
"end": "2025-11-05T14:14:35.390Z"
},
"serviceArea": {},
"sink": "https://1IG+u7oa.fNS?9-`Zg`Fi*'k",
"sinkCredential": {}
}
Type of response: Information about the status of the request.
{
"profileId": "string",
"serviceTime": {
"start": "2025-11-05T14:14:35.392Z",
"end": "2025-11-05T14:14:35.392Z"
},
"serviceArea": {},
"sink": "https://E@g-!#-fZu+}jH*Z~!HO1,!UmF'CA<19OpZ0Z))",
"sinkCredential": {},
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "REQUESTED"
}
Dedicated Network - Accesses API Usage
This API allows for requesting network access for devices. A device is identified by the CAMARA device object, containing either an MSIDSN or a Network Access Identifier. A Device Access represents the permission for a specific device to use a Dedicated Network’s reserved connectivity resources. Only devices for which a Device Access resource has been created can use the connectivity resources allocated for that network. The usage of resources can be tailored to each device within the constraints of the applicable Network Profile.
With POST /accesses a device access can be created
{
"networkId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"device": {
"phoneNumber": "+123456789",
"networkAccessIdentifier": "123456789@domain.com",
"ipv4Address": {
"publicAddress": "84.125.93.10",
"publicPort": 59765
},
"ipv6Address": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
},
"qosProfiles": [
"string"
],
"defaultQosProfile": "string"
}
Type of response: An id for the requested device access.
{
"networkId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"device": {
"phoneNumber": "+123456789",
"networkAccessIdentifier": "123456789@domain.com",
"ipv4Address": {
"publicAddress": "84.125.93.10",
"publicPort": 59765
},
"ipv6Address": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
},
"qosProfiles": [
"string"
],
"defaultQosProfile": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Device object
This is how a device is defined:
"device": {
"phoneNumber": "123456789",
"networkAccessIdentifier": "123456789@domain.com",
"ipv4Address": {
"publicAddress": "84.125.93.10",
"publicPort": 59765
},