8.1 CAPIF_Discover_Service_API
29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS
8.1.1 API URI
The CAPIF_Discover_Service_API service shall use the CAPIF_Discover_Service_API.
The request URIs used in HTTP requests from the API invoker towards the CAPIF core function shall have the Resource URI structure defined in clause 7.5 with the following clarifications:
– The <apiName> shall be "service-apis".
– The <apiVersion> shall be "v1".
– The <apiSpecificSuffixes> shall be set as described in clause 8.1.2.
8.1.2 Resources
8.1.2.1 Overview
This clause describes the structure for the Resource URIs and the resources and methods used for the service.
Figure 8.1.2.1-1 depicts the resource URIs structure for the CAPIF_Discover_Service_API.
Figure 8.1.2.1-1: Resource URI structure of the CAPIF_Discover_Service_API
Table 8.1.2.1-1 provides an overview of the resources and applicable HTTP methods.
Table 8.1.2.1-1: Resources and methods overview
Resource name |
Resource URI |
HTTP method or custom operation |
Description |
All published service APIs (Store) |
/allServiceAPIs (NOTE) |
GET |
Discover published service APIs and retrieve a collection of APIs according to certain filter criteria. |
NOTE: The path segment "allServiceAPIs" does not follow the related naming convention defined in subclause 7.5.1. The path segment is however kept as currently defined in this specification for backward compatibility considerations. |
8.1.2.2 Resource: All published service APIs
8.1.2.2.1 Description
The All published service APIs resource represents a collection of published service APIs on a CAPIF core function. The resource is modelled as a Store resource archetype (see Annex C.3 of 3GPP TS 29.501 [18])
8.1.2.2.2 Resource Definition
Resource URI: {apiRoot}/service-apis/<apiVersion>/allServiceAPIs
This resource shall support the resource URI variables defined in table 8.1.2.2.2-1.
Table 8.1.2.2.2-1: Resource URI variables for this resource
Name |
Data Type |
Definition |
apiRoot |
string |
See clause 7.5 |
8.1.2.2.3 Resource Standard Methods
8.1.2.2.3.1 GET
This operation enables to retrieve a list of APIs currently registered in the CAPIF core function, satisfying a number of filter criteria.
Table 8.1.2.2.3.1-1: URI query parameters supported by the GET method on this resource
Name |
Data type |
P |
Cardinality |
Description |
Applicability |
api-invoker-id |
string |
M |
1 |
It represents the identifier (assigned by the CCF) ofthe API invoker that is sending the request. It may also represent the identifier of the CCF that is sending the request if the request is sent over the CAPIF-6/6e reference point. (NOTE) |
|
api-name |
string |
O |
0..1 |
Contains the API name as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122 [14]. |
|
api-version |
string |
O |
0..1 |
Contains the API major version conveyed in the URI (e.g. v1). |
|
comm-type |
CommunicationType |
O |
0..1 |
Communication type used by the API (e.g. REQUEST_RESPONSE). |
|
protocol |
Protocol |
O |
0..1 |
Protocol used by the API. |
|
aef-id |
string |
O |
0..1 |
AEF identifier. |
|
data-format |
DataFormat |
O |
0..1 |
Data format used by the API (e.g. serialization protocol JSON). |
|
api-cat |
string |
O |
0..1 |
The service API category to which the service API belongs. |
|
preferred-aef-loc |
AefLocation |
O |
0..1 |
The preferred AEF location. If this parameter is present, the CCF shall try to discover a matched AEF location the service API supports. This parameter is ignored by the CCF if there is no matching record found. |
|
supported-features |
SupportedFeatures |
O |
0..1 |
To filter irrelevant responses related to unsupported features. |
|
api-supported-features |
SupportedFeatures |
C |
0..1 |
Features supported by the discovered service API indicated by api-name parameter. This may only be present if the api-name query parameter is present. |
ApiSupportedFeatureQuery |
NOTE: This parameter is not part of API filter criteria so that it is not used in matching APIs published in the CCF. |
This method shall support the request data structures specified in table 8.1.2.2.3.1-2 and the response data structures and response codes specified in table 8.1.2.2.3.1-3.
Table 8.1.2.2.3.1-2: Data structures supported by the GET Request Body on this resource
Data type |
P |
Cardinality |
Description |
n/a |
Table 8.1.2.2.3.1-3: Data structures supported by the GET Response Body on this resource
Data type |
P |
Cardinality |
Response codes |
Description |
DiscoveredAPIs |
M |
1 |
200 OK |
The response body contains the result of the search over the list of registered APIs. |
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]. |
||
ProblemDetails |
O |
0..1 |
414 URI Too Long |
Indicates that the server refuses to process the request because the request-target is too long. |
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.1.2.2.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.1.2.2.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.1.2.2.4 Resource Custom Operations
None.
8.1.3 Notifications
None.
8.1.4 Data Model
8.1.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.1.4.1-1 specifies the data types defined specifically for the CAPIF_Discover_Service_API.
Table 8.1.4.1-1: CAPIF_Discover_Service_API specific Data Types
Data type |
Section defined |
Description |
Applicability |
DiscoveredAPIs |
Clause 8.1.4.2.2 |
Represents a list of APIs currently registered in the CAPIF core function and satisfying a number of filter criteria provided by the API consumer. |
Table 8.1.4.1-2 specifies data types re-used by the CAPIF_Discover_Service_API service.
Table 8.1.4.1-2: Re-used Data Types
Data type |
Reference |
Comments |
Applicability |
AefLocation |
Clause 8.2.4.2.10 |
Used to indicate the AEF location. |
|
CommunicationType |
Clause 8.2.4.3.5 |
Used to indicate the communication type used by the API. |
|
ProblemDetails |
3GPP TS 29.122 [14] |
Used to represent additional information and details on an error response. |
|
SupportedFeatures |
3GPP TS 29.571 [19] |
Used to negotiate the applicability of optional features defined in table 8.1.6-1. |
8.1.4.2 Structured data types
8.1.4.2.1 Introduction
This clause defines the structured data types to be used in resource representations of the CAPIF_Discover_Service_API.
8.1.4.2.2 Type: DiscoveredAPIs
Table 8.1.4.2.2-1: Definition of type DiscoveredAPIs
Attribute name |
Data type |
P |
Cardinality |
Description |
Applicability |
serviceAPIDescriptions |
array(ServiceAPIDescription) |
O |
1..N |
Description of the service API as published by the service. (NOTE) |
|
NOTE: For the CAPIF_Discover_Service_API, the supportedFeatures attribute of the ServiceAPIDescription data type shall be provided in the HTTP GET response of a successful query. In addition, the supportedFeatures attribute may include one or more supported feature(s) as defined in clause 8.1.6. |
8.1.4.2.3 Void
8.1.4.3 Simple data types and enumerations
None.
8.1.5 Error Handling
8.1.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.1.5.2 Protocol Errors
In this Release of the specification, there are no additional protocol errors applicable for the CAPIF_Discover_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.1.6 Feature negotiation
General feature negotiation procedures are defined in clause 7.8.
Table 8.1.6-1: Supported Features
Feature number |
Feature Name |
Description |
1 |
ApiSupportedFeatureQuery |
Indicates the support of the query filter indicating the supported feature(s) of a service API. |