8.2 CAPIF_Publish_Service_API
29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS
8.2.1 API URI
The CAPIF_Publish_Service_API service shall use the CAPIF_Publish_Service_API.
The request URIs used in HTTP requests from the API publishing 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 "published-apis".
– The <apiVersion> shall be "v1".
– The <apiSpecificSuffixes> shall be set as described in clause 8.2.2.
8.2.2 Resources
8.2.2.1 Overview
This clause describes the structure for the Resource URIs and the resources and methods used for the service.
Figure 8.2.2.1-1 depicts the resource URIs structure for the CAPIF_Publish_Service_API.
Figure 8.2.2.1-1: Resource URI structure of the CAPIF_Publish_Service_API
Table 8.2.2.1-1 provides an overview of the resources and applicable HTTP methods.
Table 8.2.2.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
APF published APIs |
/{apfId}/service-apis |
POST |
Publish a new API |
GET |
Retrieve all published service APIs |
||
Individual APF published API |
/{apfId}/service-apis/{serviceApiId} |
GET |
Retrieve a published service API |
PUT |
Update a published service API |
||
PATCH |
Modify a published service API. |
||
DELETE |
Unpublish a published service API. |
8.2.2.2 Resource: APF published APIs
8.2.2.2.1 Description
The APF published APIs resource represents all published service APIs of a API publishing function.
8.2.2.2.2 Resource Definition
Resource URI: {apiRoot}/published-apis/<apiVersion>/{apfId}/service-apis
This resource shall support the resource URI variables defined in table 8.2.2.2.2-1.
Table 8.2.2.2.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
apfId |
string |
Identifies the API publishing function; for CAPIF interconnection case, this string also identifies the CCF which is publishing the service API. |
8.2.2.2.3 Resource Standard Methods
8.2.2.2.3.1 POST
This method shall support the URI query parameters specified in table 8.2.2.2.3.1-1.
Table 8.2.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.2.2.2.3.1-2 and the response data structures and response codes specified in table 8.2.2.2.3.1-3.
Table 8.2.2.2.3.1-2: Data structures supported by the POST Request Body on this resource
Data type |
P |
Cardinality |
Description |
ServiceAPIDescription |
M |
1 |
Definition of the service API being published |
Table 8.2.2.2.3.1-3: Data structures supported by the POST Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
ServiceAPIDescription |
M |
1 |
201 Created |
Service API published successfully. The URI of the created resource shall be returned in the "Location" HTTP header |
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.2.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}/published-apis/<apiVersion>/{apfId}/service-apis/{serviceApiId} |
8.2.2.2.3.2 GET
This method shall support the URI query parameters specified in table 8.2.2.2.3.2-1.
Table 8.2.2.2.3.2-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.2.2.2.3.2-2 and the response data structures and response codes specified in table 8.2.2.2.3.2-3.
Table 8.2.2.2.3.2-2: Data structures supported by the GET Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 8.2.2.2.3.2-3: Data structures supported by the GET Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
array(ServiceAPIDescription) |
O |
0..N |
200 OK |
Definition of all service API(s) published by the API publishing function. |
n/a |
307 Temporary Redirect |
Temporary redirection, during resource retrieval. 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 retrieval. 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 GET method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.2.2.2.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.2.2.2.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.2.2.2.4 Resource Custom Operations
None.
8.2.2.3 Resource: Individual APF published API
8.2.2.3.1 Description
The Individual APF published API resource represents an individual published service API.
8.2.2.3.2 Resource Definition
Resource URI: {apiRoot}/published-apis/<apiVersion>/{apfId}/service-apis/{serviceApiId}
This resource shall support the resource URI variables defined in table 8.2.2.3.2-1.
Table 8.2.2.3.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
apfId |
string |
Identifies the API publishing function |
serviceApiId |
string |
Identifies an individual published service API |
8.2.2.3.3 Resource Standard Methods
8.2.2.3.3.1 GET
This method shall support the URI query parameters specified in table 8.2.2.3.3.1-1.
Table 8.2.2.3.3.1-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.2.2.3.3.1-2 and the response data structures and response codes specified in table 8.2.2.3.3.1-3.
Table 8.2.2.3.3.1-2: Data structures supported by the GET Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 8.2.2.3.3.1-3: Data structures supported by the GET Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
ServiceAPIDescription |
M |
1 |
200 OK |
Definition of individual service API published by the API publishing function. |
n/a |
307 Temporary Redirect |
Temporary redirection, during resource retrieval. 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 retrieval. 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 GET method listed in table 5.2.6-1 of 3GPP TS 29.122 [14] also apply. |
Table 8.2.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.2.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.2.2.3.3.2 PUT
This method shall support the URI query parameters specified in table 8.2.2.3.3.2-1.
Table 8.2.2.3.3.2-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 table 8.2.2.3.3.2-2 and the response data structures and response codes specified in table 8.2.2.3.3.2-3.
Table 8.2.2.3.3.2-2: Data structures supported by the PUT Request Body on this resource
Data type |
P |
Cardinality |
Description |
ServiceAPIDescription |
M |
1 |
Updated definition of the service API. |
Table 8.2.2.3.3.2-3: Data structures supported by the PUT Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
ServiceAPIDescription |
M |
1 |
200 OK |
Definition of the service API updated successfully and the updated service API definition is returned. |
n/a |
204 No Content |
Definition of the service API 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.2.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.2.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.2.2.3.3.3 DELETE
This method shall support the URI query parameters specified in table 8.2.2.3.3.3-1.
Table 8.2.2.3.3.3-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
P |
Cardinality |
Description |
n/a |
This method shall support the request data structures specified in table 8.2.2.3.3.3-2 and the response data structures and response codes specified in table 8.2.2.3.3.3-3.
Table 8.2.2.3.3.3-2: Data structures supported by the DELETE Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 8.2.2.3.3.3-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 published service API matching the serviceApiId is 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.2.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.2.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.2.2.3.3.4 PATCH
This method shall support the URI query parameters specified in table 8.2.2.3.3.4-1.
Table 8.2.2.3.3.4-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.2.2.3.3.4-2 and the response data structures and response codes specified in table 8.2.2.3.3.4-3.
Table 8.2.2.3.3.4-2: Data structures supported by the PATCH Request Body on this resource
Data type |
P |
Cardinality |
Description |
ServiceAPIDescriptionPatch |
M |
1 |
Contains the modifications to be applied to the concerned Individual APF published API resource. |
Table 8.2.2.3.3.4-3: Data structures supported by the PATCH Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
ServiceAPIDescription |
M |
1 |
200 OK |
The definition of the service API is updated successfully and a representation of the modified service API definition is returned. |
n/a |
204 No Content |
The definition of the service API is updated successfully. |
||
n/a |
307 Temporary Redirect |
Temporary redirection. 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. 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.2.2.3.3.4-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.2.2.3.3.4-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.2.2.3.4 Resource Custom Operations
None.
8.2.3 Notifications
None.
8.2.4 Data Model
8.2.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.2.4.1-1 specifies the data types defined specifically for the CAPIF_Publish_Service_API service.
specifies the data types defined specifically for the CAPIF_Publish_Service_API service.
Table 8.2.4.1-1: CAPIF_Publish_Service_API specific Data Types
Data type |
Section defined |
Description |
Applicability |
AefLocation |
Clause 8.2.4.2.10 |
Represents the location information (e.g. civic address, GPS coordinates, data center ID) where the AEF providing the service API is located. |
|
AefProfile |
Clause 8.2.4.2.4 |
Represents the AEF profile data. |
|
CommunicationType |
Clause 8.2.4.3.5 |
Indicates a communication type of the resource or a custom operation. |
|
CustomOperation |
Clause 8.2.4.2.7 |
Represents the description of a custom operation. |
|
DataFormat |
Clause 8.2.4.3.4 |
Indicates a data format, e.g., JSON. |
|
InterfaceDescription |
Clause 8.2.4.2.3 |
Represents the description of the API interface. |
|
Operation |
Clause 8.2.4.3.7 |
Indicates an HTTP method (e.g. PUT). |
|
Protocol |
Clause 8.2.4.3.3 |
Indicates a protocol and protocol version used by the API. |
|
PublishedApiPath |
Clause 8.2.4.2.9 |
Represents the published API path within the same CAPIF provider domain. |
|
Resource |
Clause 8.2.4.2.6 |
Represents the API resource data. |
|
SecurityMethod |
Clause 8.2.4.3.6 |
Indicates the security method (e.g. PKI). |
|
ServiceAPIDescription |
Clause 8.2.4.2.2 |
Represents the description of a service API as published by the APF. |
|
ServiceAPIDescriptionPatch |
Clause 8.2.4.2.11 |
Represents the parameters to request the modification of an APF published API resource. |
PatchUpdate |
ShareableInformation |
Clause 8.2.4.2.8 |
Indicates whether the service API and/or the service API category can be shared to the list of CAPIF provider domains. |
|
Version |
Clause 8.2.4.2.5 |
Represents the API version information |
Table 8.2.4.1-2 specifies data types re-used by the CAPIF_Publish_Service_API service:
Table 8.2.4.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
CivicAddress |
3GPP TS 29.572 [30] |
Used to indicate a civic address. |
|
DateTime |
3GPP TS 29.122 [14] |
Used to indicate an expiration timer. |
|
Fqdn |
3GPP TS 29.571 [19] |
||
GeographicArea |
3GPP TS 29.572 [30] |
Used to indicate a geographic area. |
|
Ipv4Addr |
3GPP TS 29.122 [14] |
Used to indicate an IPv4 address. |
|
Ipv6Addr |
3GPP TS 29.122 [14] |
Used to indicate an IPv6 address. |
|
Port |
3GPP TS 29.122 [14] |
Used to indicate a port. |
|
SupportedFeatures |
3GPP TS 29.571 [19] |
Used to negotiate the applicability of optional features defined in table 8.2.6-1. |
ApiSupportedFeaturePublishing |
8.2.4.2 Structured data types
8.2.4.2.1 Introduction
8.2.4.2.2 Type: ServiceAPIDescription
Table 8.2.4.2.2-1: Definition of type ServiceAPIDescription
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiName |
string |
M |
1 |
API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122 [14]. |
|
apiId |
string |
O |
0..1 |
API identifier assigned by the CAPIF core function to the published service API. Shall not be present in the HTTP POST request from the API publishing function to the CAPIF core function. Shall be present in the HTTP POST response from the CAPIF core function to the API publishing function and in the HTTP GET response from the CAPIF core function to the API invoker (discovery API). |
|
aefProfiles |
array(AefProfile) |
C |
1..N |
AEF profile information, which includes the exposed API details (e.g. protocol). For CAPIF-4/4e interface, API publishing function shall provide this attribute to the CAPIF core function in service API publishing. For CAPIF-1/1e interface, the CAPIF core function shall provide this attribute to the API Invoker during service API discovery. (NOTE 2) |
|
description |
string |
O |
0..1 |
Text description of the API |
|
supportedFeatures |
SupportedFeatures |
O |
0..1 |
The supported optional features of the CAPIF API. (NOTE 1) |
|
shareableInfo |
ShareableInformation |
O |
0..1 |
Represents whether the service API and/or the service API category can be published to other CCFs. |
|
serviceAPICategory |
string |
C |
0..1 |
The service API category to which the service API belongs to. This attribute is only applicable for CAPIF-6/6e interface. (NOTE 2) |
|
ccfId |
string |
C |
0..1 |
CAPIF core function identifier which can be contacted further for discovering the details of service API information. This attribute is only applicable for CAPIF-6/6e interface and shall be provided with serviceAPICategory. (NOTE 2) |
|
apiSuppFeats |
SupportedFeatures |
O |
0..1 |
Provided by the consumer to indicate the features supported by the service API. |
ApiSupportedFeaturePublishing |
pubApiPath |
PublishedApiPath |
C |
0..1 |
It contains the published API path within the same CAPIF provider domain. it shall be provided by the CCF when publishing the service API to other CCF via the CAPIF-6 reference point. |
|
NOTE 1: For CAPIF_Publish_Service_API, the supported features attribute shall be provided in the HTTP POST request and in the response of successful resource creation. In addition, the supportedFeatures attribute may include one or more the supported features as defined in clause 8.2.6. NOTE 2: For CAPIF-6/6e interface, at least one of aefProfiles or serviceAPICategory and the corresponding ccfId shall be provided. |
8.2.4.2.3 Type: InterfaceDescription
Table 8.2.4.2.3-1: Definition of type InterfaceDescription
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
ipv4Addr |
Ipv4Addr |
C |
0..1 |
String identifying an IPv4 address (NOTE 1) |
|
ipv6Addr |
Ipv6Addr |
C |
0..1 |
String identifying an IPv6 address (NOTE 1) |
|
fqdn |
Fqdn |
C |
0..1 |
String containing a Fully Qualified Domain Name. (NOTE 1) |
ExtendedIntfDesc |
port |
Port |
O |
0..1 |
Port |
|
apiPrefix |
string |
O |
0..1 |
A string representing an optional deployment-specific string (API prefix) in the form of a sequence of path segments that starts with a "/" character. |
ExtendedIntfDesc |
securityMethods |
array(SecurityMethod) |
M |
1..N |
Security methods supported by the interface. It takes precedence over the security methods provided in AefProfile, for this specific interface |
|
NOTE 1: Exactly one of the attributes "ipv4Addr", "ipv6Addr" and "fqdn" shall be included. NOTE 2: When the contents of this data type are used to construct the apiRoot of an API, they are used as described in clause 4.4.1 of 3GPP TS 29.501 [18]. |
8.2.4.2.4 Type: AefProfile
Table 8.2.4.2.4-1: Definition of type AefProfile
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
aefId |
string |
M |
1 |
AEF identifier |
|
versions |
array(Version) |
M |
1..N |
API version |
|
protocol |
Protocol |
O |
0..1 |
Protocol used by the API. |
|
dataFormat |
DataFormat |
O |
0..1 |
Data format used by the API |
|
securityMethods |
array(SecurityMethod) |
O |
1..N |
Security methods supported by the AEF for all interfaces. Certain interfaces may have different security methods supported in the attribute interfaceDescriptions. |
|
domainName |
string |
O |
0..1 |
Domain to which API belongs to (NOTE 1) |
|
interfaceDescriptions |
array(InterfaceDescription) |
O |
1..N |
Interface details (NOTE 1) |
|
aefLocation |
AefLocation |
O |
0..1 |
The location information (e.g. civic address, GPS coordinates, data center ID) where the AEF providing the service API is located. |
|
NOTE 1: Only one of the attributes "domainName" or "interfaceDescriptions" shall be included. NOTE 2: Notification or callback type of resource is not included. |
8.2.4.2.5 Type: Version
Table 8.2.4.2.5-1: Definition of type Version
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
apiVersion |
string |
M |
1 |
API major version in URI (e.g. v1) |
|
expiry |
DateTime |
O |
0..1 |
Expiry date and time of the AEF service. This represents the planned retirement date as specified in clause 4.3.1.5 of 3GPP TS 29.501 [18]. |
|
resources |
array(Resource) |
O |
1..N |
Resources supported by the API. It may include the custom operations with resource association. |
|
custOperations |
array(CustomOperation) |
O |
1..N |
Custom operations without resource association. |
8.2.4.2.6 Type: Resource
Table 8.2.4.2.6-1: Definition of type Resource
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
resourceName |
string |
M |
1 |
Resource name. |
|
commType |
CommunicationType |
M |
1 |
Communication type used by the API resource. (NOTE 1) |
|
uri |
string |
M |
1 |
Relative URI of the API resource, it is set as {apiSpecificSuffixes} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122 [14]. |
|
custOpName |
string |
O |
0..1 |
it is set as {custOpName} part of the URI structure for the case where there is only a single custom operation associated with this resource as defined in clause 5.2.4 of 3GPP TS 29.122 [14]. (NOTE 2) |
|
custOperations |
array(CustomOperation) |
O |
1..N |
List of custom operations associated to this resource. (NOTE 2) |
MultipleCustomOperations |
operations |
array(Operation) |
C |
1..N |
Supported HTTP methods for the API resource. Only applicable when the protocol in AefProfile indicates HTTP. |
|
description |
string |
O |
0..1 |
Text description of the API resource. |
|
NOTE 1: The communication type refers to the semantics of the resource or custom operation and is independent of the HTTP methods that are supported (e.g. if a resource is used for subscriptions then its CommunicationType shall be SUBSCRIBE_NOTIFY even if it supports also the GET method for retrieving the subscriptions). NOTE 2: The attributes "custOpName" and "custOperations" are mutually exclusive. |
8.2.4.2.7 Type: CustomOperation
Table 8.2.4.2.7-1: Definition of type CustomOperation
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
commType |
CommunicationType |
M |
1 |
Communication type used by the custom operation. |
|
custOpName |
string |
M |
1 |
it is set as {custOpName} part of the URI structure for a custom operation without resource association as defined in clause 5.2.4 of 3GPP TS 29.122 [14]. |
|
operations |
array(Operation) |
C |
1..N |
Supported HTTP methods for the custom operation. Only applicable when the protocol in AefProfile indicates HTTP. |
|
description |
string |
O |
0..1 |
Text description of the custom operation. |
8.2.4.2.8 Type: ShareableInformation
Table 8.2.4.2.8-1: Definition of type ShareableInformation
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
isShareable |
boolean |
M |
1 |
Set to "true" indicates that the service API and/or the service API category can be shared to the list of CAPIF provider domain information. Otherwise set to "false". |
|
capifProvDoms |
array(string) |
O |
1..N |
List of CAPIF provider domains to which the service API information to be shared. (NOTE) |
|
NOTE: Only one CAPIF provider domain information shall be provided via the CAPIF-6e interface. |
8.2.4.2.9 Type: PublishedApiPath
Table 8.2.4.2.9-1: Definition of type PublishedApiPath
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
ccfIds |
array(string) |
O |
1..N |
A list of CCF identifiers where the service API is already published. |
8.2.4.2.10 Type: AefLocation
Table 8.2.4.2.10-1: Definition of type AefLocation
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
civicAddr |
CivicAddress |
O |
0..1 |
Identifies the civic address where the AEF providing the service API is located. (NOTE) |
|
geoArea |
GeographicArea |
O |
0..1 |
Identifies the geographic area where the AEF providing the service API is located. (NOTE) |
|
dcId |
string |
O |
0..1 |
Identifies the data center where the AEF providing the service API is located. (NOTE) |
|
NOTE: At least one of the attributes shall be included. |
8.2.4.2.11 Type: ServiceAPIDescriptionPatch
Table 8.2.4.2.11-1: Definition of type ServiceAPIDescriptionPatch
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
aefProfiles |
array(AefProfile) |
O |
1..N |
AEF profile information, which includes the exposed API details (e.g. protocol). |
|
description |
string |
O |
0..1 |
Text description of the API |
|
shareableInfo |
ShareableInformation |
O |
0..1 |
Represents whether the service API and/or the service API category can be published to other CCFs. |
|
serviceAPICategory |
string |
O |
0..1 |
The service API category to which the service API belongs. This attribute is only applicable for CAPIF-6/6e interface. (NOTE) |
|
ccfId |
string |
O |
0..1 |
CAPIF core function identifier which can be contacted further for discovering the details of service API information. This attribute is only applicable for CAPIF-6/6e interface and shall be provided if the "serviceAPICategory" attribute is provided. (NOTE) |
|
apiSuppFeats |
SupportedFeatures |
O |
0..1 |
Indicates the features supported by the service API. |
ApiSupportedFeaturePublishing |
pubApiPath |
PublishedApiPath |
O |
0..1 |
It contains the published API path within the same CAPIF provider domain. It is applicable only for the CAPIF-6 reference point. |
|
NOTE: For CAPIF-6/6e interface, either the "aefProfiles" attribute or the "serviceAPICategory" attribute and the corresponding "ccfId" attribute may be provided. |
8.2.4.3 Simple data types and enumerations
8.2.4.3.1 Introduction
This clause defines simple data types and enumerations that can be referenced from data structures defined in the previous clauses.
8.2.4.3.2 Simple data types
The simple data types defined in table 8.2.4.3.2-1 shall be supported.
Table 8.2.4.3.2-1: Simple data types
Type Name |
Type Definition |
Description |
Applicability |
n/a |
8.2.4.3.3 Enumeration: Protocol
Table 8.2.4.3.3-1: Enumeration Protocol
Enumeration value |
Description |
Applicability |
HTTP_1_1 |
HTTP version 1.1 |
|
HTTP_2 |
HTTP version 2 |
8.2.4.3.4 Enumeration: DataFormat
Table 8.2.4.3.4-1: Enumeration DataFormat
Enumeration value |
Description |
Applicability |
JSON |
Serialization protocol: JavaScript Object Notation |
8.2.4.3.5 Enumeration: CommunicationType
Table 8.2.4.3.5-1: Enumeration CommunicationType
Enumeration value |
Description |
Applicability |
REQUEST_RESPONSE |
The communication is of the type request-response. |
|
SUBSCRIBE_NOTIFY |
The communication is of the type subscribe-notify |
8.2.4.3.6 Enumeration: SecurityMethod
Table 8.2.4.3.6-1: Enumeration SecurityMethod
Enumeration value |
Description |
Applicability |
PSK |
Security method 1 (Using TLS-PSK) as described in 3GPP TS 33.122 [16]. |
|
PKI |
Security method 2 (Using PKI) as described in 3GPP TS 33.122 [16]. |
|
OAUTH |
Security method 3 (TLS with OAuth token) as described in 3GPP TS 33.122 [16]. |
8.2.4.3.7 Enumeration: Operation
Table 8.2.4.3.7-1: Enumeration Operation
Enumeration value |
Description |
Applicability |
GET |
HTTP GET method |
|
POST |
HTTP POST method |
|
PUT |
HTTP PUT method |
|
PATCH |
HTTP PATCH method |
|
DELETE |
HTTP DELETE method |
8.2.5 Error Handling
8.2.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.2.5.2 Protocol Errors
In this Release of the specification, there are no additional protocol errors applicable for the CAPIF_Publish_Service_API.
8.2.5.3 Application Errors
The application errors defined for the CAPIF_Publish_Service_API are listed in table 8.2.5.3-1.
Table 8.2.5.3-1: Application errors
Application Error |
HTTP status code |
Description |
Applicability |
8.2.6 Feature negotiation
General feature negotiation procedures are defined in clause 7.8.
Table 8.2.6-1: Supported Features
Feature number |
Feature Name |
Description |
1 |
ApiSupportedFeaturePublishing |
Indicates the support of publishing with supported feature for a service API. |
2 |
PatchUpdate |
Indicates the support of the PATCH method for updating an APF published API resource. |
3 |
ExtendedIntfDesc |
Indicates the support of extended interface descriptions. |
4 |
MultipleCustomOperations |
Indicates the support of modelling multiple custom operations associated with a resource. |