8.9 CAPIF_API_Provider_Management_API
29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS
8.9.1 API URI
The CAPIF_API_Provider_Management_API service shall use the CAPIF_API_Provider_Management_API.
The request URIs used in HTTP requests from the API management function towards the CAPIF core function shall have the Resource URI structure as defined in clause 7.5 with the following clarifications:
– The <apiName> shall be "api-provider-management".
– The <apiVersion> shall be "v1".
– The <apiSpecificSuffixes> shall be set as described in clause 8.9.2.
8.9.2 Resources
8.9.2.1 Overview
This clause describes the structure for the Resource URIs and the resources and methods used for the service.
Figure 8.9.2.1-1 depicts the resource URIs structure for the CAPIF_API_Provider_Management_API.
Figure 8.9.2.1-1: Resource URI structure of the CAPIF_API_Provider_Management_API
Table 8.9.2.1-1 provides an overview of the resources and applicable HTTP methods.
Table 8.9.2.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
All API Provider Domains Registrations |
/registrations |
POST |
Registers a new API provider domain by creating an API provider domain with API provider domain functions profiles. |
Individual API Provider Domain Registration |
/registrations/{registrationId} |
PUT |
Updates an individual API provider domain identified by {registrationId} |
PATCH |
Modifies an individual API provider domain identified by {registrationId} |
||
DELETE |
Deregisters an API provider domain by deleting the API provider domain and functions, identified by {registrationId}. |
8.9.2.2 Resource: All API Provider Domains Registrations
8.9.2.2.1 Description
The All API provider domains registrations resource represents all the API provider domains that are registered at a given CAPIF core function.
8.9.2.2.2 Resource Definition
Resource URI: {apiRoot}/api-provider-management/<apiVersion>/registrations
This resource shall support the resource URI variables defined in table 8.9.2.2.2-1.
Table 8.9.2.2.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
8.9.2.2.3 Resource Standard Methods
8.9.2.2.3.1 POST
This method shall support the URI query parameters specified in table 8.9.2.2.3.1-1.
Table 8.9.2.2.3.1-1: URI query parameters supported by the POST method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.9.2.2.3.1-2 and the response data structures and response codes specified in table 8.9.2.2.3.1-3.
Table 8.9.2.2.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
APIProviderEnrolmentDetails |
M |
1 |
Enrolment details of the API provider domain including individual API provider domain function details. |
Table 8.9.2.2.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
APIProviderEnrolmentDetails |
M |
1 |
201 Created |
API provider domain registered successfully The URI of the created resource shall be returned in the "Location" HTTP header. The list of successfully registered individual API provider domain functions, registration specific failure information of failed API provider domain function registrations, are included in APIProviderEnrolmentDetails which is provided in the response body. |
NOTE: The mandatory HTTP error status codes for the POST method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.9.2.2.3.1-4: Headers supported by the 201 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
Contains the URI of the newly created resource, according to the structure: {apiRoot}/api-provider-management/<apiVersion>/registrations/{registrationId} |
8.9.2.2.4 Resource Custom Operations
None.
8.9.2.3 Resource: Individual API Provider Domain Registration
8.9.2.3.1 Description
The Individual API Provide Domain Registration resource represents an individual API provider domain that is registered at a given CAPIF core function.
8.9.2.3.2 Resource Definition
Resource URI: {apiRoot}/api-provider-management/<apiVersion>/registrations/{registrationId}
This resource shall support the resource URI variables defined in table 8.9.2.3.2-1.
Table 8.9.2.3.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
registrationId |
string |
Identifies an individual registered API Provider domain resource |
8.9.2.3.3 Resource Standard Methods
8.9.2.3.3.1 PUT
The PUT method allows updating the registered API provider domain’s detail. The properties "apiProviderDomainId", and "supportedFeatures" shall remain unchanged from previously provided values. This method shall support the URI query parameters specified in table 8.9.2.3.3.1-1.
Table 8.9.2.3.3.1-1: URI query parameters supported by the PUT method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in the table 8.9.2.3.3.1-2 and the response data structures and response codes specified in the table 8.9.2.3.3.1-3.
Table 8.9.2.3.3.1-2: Data structures supported by the PUT Request Body on this resource
Data type |
P |
Cardinality |
Description |
APIProviderEnrolmentDetails |
M |
1 |
Updated details of the API provider domain. |
Table 8.9.2.3.3.1-3: Data structures supported by the PUT Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
APIProviderEnrolmentDetails |
M |
1 |
200 OK |
API provider domain’s information updated successfully. Updated details of the API provider domain is part of the APIProviderEnrolmentDetails, which is provided in the response body. The list of successfully updated individual API provider domain functions, registration update specific failure information of failed API provider domain function registration updates, are included in APIProviderEnrolmentDetails which is provided in the response body. |
n/a |
204 No Content |
API provider domain’s information updated successfully. |
||
n/a |
307 Temporary Redirect |
Temporary redirection, during resource modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
n/a |
308 Permanent Redirect |
Permanent redirection, during resource modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
NOTE: The mandatory HTTP error status codes for the PUT method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.9.2.3.3.1-4: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
Table 8.9.2.3.3.1-5: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
8.9.2.3.3.2 DELETE
This method shall support the URI query parameters specified in table 8.9.2.3.3.2-1.
Table 8.9.2.3.3.2-1: URI query parameters supported by the DELETE method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the response codes specified in table 8.9.2.3.3.2-2 and the response data structures and response codes specified in table 8.9.2.3.3.2-3.
Table 8.9.2.3.3.2-2: Data structures supported by the DELETE Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 8.9.2.3.3.2-3: Data structures supported by the DELETE Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
n/a |
204 No Content |
The individual registered API provider domain matching the registrationId is deleted. All the individual API provider domain functions of the API provider domain are deleted. |
||
n/a |
307 Temporary Redirect |
Temporary redirection, during resource termination. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
n/a |
308 Permanent Redirect |
Permanent redirection, during resource termination. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
NOTE: The mandatory HTTP error status codes for the DELETE method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.9.2.3.3.2-4: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
Table 8.9.2.3.3.2-5: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
8.9.2.3.3.3 PATCH
This method shall support the URI query parameters specified in table 8.9.2.3.3.3-1.
Table 8.9.2.3.3.3-1: URI query parameters supported by the PATCH method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.9.2.3.3.3-2 and the response data structures and response codes specified in table 8.9.2.3.3.3-3.
Table 8.9.2.3.3.3-2: Data structures supported by the PATCH Request Body on this resource
Data type |
P |
Cardinality |
Description |
APIProviderEnrolmentDetailsPatch |
M |
1 |
Modified details of the API provider domain. |
Table 8.9.2.3.3.3-3: Data structures supported by the PATCH Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
APIProviderEnrolmentDetails |
M |
1 |
200 OK |
API provider domain’s information updated successfully. Updated details of the API provider domain is part of the APIProviderEnrolmentDetails, which is provided in the response body. The list of successfully updated individual API provider domain functions, registration update specific failure information of failed API provider domain function registration updates, are included in APIProviderEnrolmentDetails which is provided in the response body. |
n/a |
204 No Content |
API provider domain’s information modified successfully. |
||
n/a |
307 Temporary Redirect |
Temporary redirection, during resource modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
n/a |
308 Permanent Redirect |
Permanent redirection, during resource modification. The response shall include a Location header field containing an alternative URI of the resource located in an alternative CAPIF core function. Redirection handling is described in clause 5.2.10 of 3GPP TS 29.122 [14]. |
||
NOTE: The mandatory HTTP error status codes for the HTTP PATCH method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.9.2.3.3.3-4: Headers supported by the 307 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
Table 8.9.2.3.3.3-5: Headers supported by the 308 Response Code on this resource
Name |
Data type |
P |
Cardinality |
Description |
Location |
string |
M |
1 |
An alternative URI of the resource located in an alternative CAPIF core function. |
8.9.2.3.4 Resource Custom Operations
None.
8.9.3 Notifications
None.
8.9.4 Data Model
8.9.4.1 General
This clause specifies the application data model supported by the API. Data types listed in clause 7.2 also apply to this API.
Table 8.9.4.1-1 specifies the data types defined specifically for the CAPIF_API_Provider_Management_API service.
Table 8.9.4.1-1: CAPIF_API_Provider_Management_API specific Data Types
Data type |
Section defined |
Description |
Applicability |
APIProviderEnrolmentDetails |
Clause 8.9.4.2.2 |
Represents the API provider domain’s enrolment details. |
|
APIProviderEnrolmentDetailsPatch |
Clause 8.9.4.2.5 |
Represents the list of modifications for the API provider domain’s enrolment details. |
PatchUpdate |
ApiProviderFuncRole |
Clause 8.9.4.3.3 |
Indicates the role (e.g. AEF, APF, etc.) of an API provider domain function. |
|
APIProviderFunctionDetails |
Clause 8.9.4.2.3 |
Represents the API provider domain function’s details. |
|
RegistrationInformation |
Clause 8.9.4.2.4 |
Represents registration information of an individual API provider domain function. |
Table 8.9.4.1-2 specifies data types re-used by the CAPIF_API_Provider_Management_API service.
Table 8.9.4.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
SupportedFeatures |
3GPP TS 29.571 [19] |
Used to negotiate the applicability of optional features defined in table 8.9.6-1. |
8.9.4.2 Structured data types
8.9.4.2.1 Introduction
8.9.4.2.2 Type: APIProviderEnrolmentDetails
Table 8.9.4.2.2-1: Definition of type APIProviderEnrolmentDetails
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiProvDomId |
string |
O |
0..1 |
API provider domain ID assigned by the CAPIF core function to the API management function while registering the API provider domain. Shall not be present in the HTTP POST request from the API management function to the CAPIF core function, to on-board itself. Shall be present in all other HTTP requests and responses. |
|
regSec |
string |
M |
1 |
Security information necessary for the CAPIF core function to validate the registration of the API provider domain. Shall be present in HTTP request from API management function to CAPIF core function for API provider domain registration. |
|
apiProvFuncs |
array(APIProviderFunctionDetails) |
O |
1..N |
A list of individual API provider domain functions details. When included by the API management function in the HTTP request message, it lists the API provider domain functions that the API management function intends to register/update in registration or update registration procedure. When included by the CAPIF core function in the HTTP response message, it lists the API domain functions details that are registered or updated successfully. |
|
apiProvDomInfo |
string |
O |
0..1 |
Generic information related to the API provider domain such as details of the API provider applications. |
|
suppFeat |
SupportedFeatures |
O |
0..1 |
Used to negotiate the supported optional features of the API as described in clause 7.8. This attribute shall be provided in the HTTP POST request and in the response of successful resource creation. |
|
failReason |
string |
O |
0..1 |
Registration or update specific failure information of failed API provider domain function registrations. Shall be present in the HTTP response body if atleast one of the API provider domain function registration or update registration fails. |
8.9.4.2.3 Type: APIProviderFunctionDetails
Table 8.9.4.2.3-1: Definition of type APIProviderFunctionDetails
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiProvFuncId |
string |
O |
0..1 |
API provider domain functionID assigned by the CAPIF core function to the API provider domain function while registering/updating the API provider domain. Shall not be present in the HTTP POST request from the API management function to the CAPIF core function, to register itself. Shall be present in all other HTTP requests and responses. |
|
regInfo |
RegistrationInformation |
M |
1 |
Information necessary for the CAPIF core function to register the API provider domain function. This information shall be present in HTTP POST/PUT request from API management function to CAPIF core function for API provider domain registration. In the HTTP response message from CAPIF core function, shall include the updated registration information for API provider domain function. |
|
apiProvFuncRole |
ApiProviderFuncRole |
M |
1 |
Role of API provider domain function. The role shall be present in the HTTP POST/PUT request that the API management function intends to register/update the API provider domain function as. CAPIF core function shall register the role of API provider domain function as per the request. |
|
apiProvFuncInfo |
string |
O |
0..1 |
Generic information related to the API provider domain function such as details of the API provider applications. |
8.9.4.2.4 Type: RegistrationInformation
Table 8.9.4.2.4-1: Definition of type RegistrationInformation
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiProvPubKey |
string |
M |
1 |
Public Key of API Provider domain function. |
|
apiProvCert |
string |
O |
0..1 |
API provider domain function’s generic client certificate |
8.9.4.2.5 Type: APIProviderEnrolmentDetailsPatch
Table 8.9.4.2.5-1: Definition of type APIProviderEnrolmentDetailsPatch
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiProvFuncs |
array(APIProviderFunctionDetails) |
O |
1..N |
A list of individual API provider domain functions details. When included by the API management function in the HTTP request message, it lists the API provider domain functions that the API management function intends to register/update in registration or update registration procedure. |
|
apiProvDomInfo |
string |
O |
0..1 |
Generic information related to the API provider domain such as details of the API provider applications. |
8.9.4.3 Simple data types and enumerations
8.9.4.3.1 Introduction
This clause defines simple data types and enumerations that will be referenced from data structures defined in the previous clauses.
8.9.4.3.2 Simple data types
The simple data types defined in table 8.9.4.3.2-1 shall be supported.
Table 8.9.4.3.2-1: Simple data types
Type Name |
Type Definition |
Description |
Applicability |
n/a |
8.9.4.3.3 Enumeration: ApiProviderFuncRole
Table 8.9.4.3.3-1: Enumeration ApiProviderFuncRole
Enumeration value |
Description |
Applicability |
AEF |
API provider function is API Exposing Function. |
|
APF |
API provider function is API Publishing Function. |
|
AMF |
API provider function is API Management Function. |
8.9.5 Error Handling
8.9.5.1 General
HTTP error handling shall be supported as specified in clause 7.7.
In addition, the requirements in the following clauses shall apply.
8.9.5.2 Protocol Errors
In this Release of the specification, there are no additional protocol errors applicable for the CAPIF_API_Provider_Management_API.
8.9.5.3 Application Errors
The application errors defined for the CAPIF_API_Provider_Management_API are listed in table 8.9.5.3-1.
Table 8.9.5.3-1: Application errors
Application Error |
HTTP status code |
Description |
Applicability |
8.9.6 Feature negotiation
General feature negotiation procedures are defined in clause 7.8. Table 8.9.6-1 lists the supported features for CAPIF_API_Invoker_Management_API.
Table 8.9.6-1: Supported Features
Feature number |
Feature Name |
Description |
1 |
PatchUpdate |
Indicates the support of the PATCH method for updating an API Provider Domain Registration resource. |