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 id with 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 the maxNumberOfDevices, aggregatedUlThroughput, aggregatedDlThroughput, qosProfiles,…
    • Dependency: Requires qosProfiles which can be retrieved from a previous call to the QoS Profiles API.
  • 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, serviceTime start and end, serviceArea is used to request the creation of a dedicated network. The response includes an id and the statusof the request. A sink for 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 networkId received after invoking the Dedicated Network API (id), a device object, qosProfiles, this request will crate a device access to a dedicated network with a given configutation. The response includes an id.
  • 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
    },

Back to top

Copyright © 5G-MAG - The Media Connectivity Association