A.2 CAPIF_Discover_Service_API

29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS

openapi: 3.0.0

info:

title: CAPIF_Discover_Service_API

description: |

API for discovering service APIs.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

version: "1.3.0-alpha.1"

externalDocs:

description: 3GPP TS 29.222 V18.0.0 Common API Framework for 3GPP Northbound APIs

url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/

servers:

– url: ‘{apiRoot}/service-apis/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222.

paths:

/allServiceAPIs:

get:

description: >

Discover published service APIs and retrieve a collection of APIs according

to certain filter criteria.

parameters:

– name: api-invoker-id

in: query

description: >

String identifying the API invoker assigned by the CAPIF core function.

It also represents the CCF identifier in the CAPIF-6/6e interface.

required: true

schema:

type: string

– name: api-name

in: query

description: >

API name, it is set as {apiName} part of the URI structure as defined

in clause 5.2.4 of 3GPP TS 29.122.

schema:

type: string

– name: api-version

in: query

description: API major version the URI (e.g. v1).

schema:

type: string

– name: comm-type

in: query

description: Communication type used by the API (e.g. REQUEST_RESPONSE).

schema:

$ref: ‘TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/CommunicationType’

– name: protocol

in: query

description: Protocol used by the API.

schema:

$ref: ‘TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Protocol’

– name: aef-id

in: query

description: AEF identifer.

schema:

type: string

– name: data-format

in: query

description: Data formats used by the API (e.g. serialization protocol JSON used).

schema:

$ref: ‘TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/DataFormat’

– name: api-cat

in: query

description: The service API category to which the service API belongs to.

schema:

type: string

– name: preferred-aef-loc

in: query

description: The preferred AEF location.

content:

application/json:

schema:

$ref: ‘TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/AefLocation’

– name: supported-features

in: query

description: Features supported by the NF consumer for the CAPIF Discover Service API.

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

– name: api-supported-features

in: query

description: >

Features supported by the discovered service API indicated by api-name parameter.

This may only be present if api-name query parameter is present.

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

responses:

‘200’:

description: >

The response body contains the result of the search over the list of registered APIs.

content:

application/json:

schema:

$ref: ‘#/components/schemas/DiscoveredAPIs’

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘406’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/406’

‘414’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/414’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

components:

schemas:

DiscoveredAPIs:

type: object

description: >

Represents a list of APIs currently registered in the CAPIF core function

and satisfying a number of filter criteria provided by the API consumer.

properties:

serviceAPIDescriptions:

type: array

items:

$ref: ‘TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceAPIDescription’

minItems: 1

description: >

Description of the service API as published by the service. Each service

API description shall include AEF profiles matching the filter criteria.