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.