forked from jdegre/5GC_APIs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TS29222_CAPIF_Discover_Service_API.yaml
136 lines (136 loc) · 5.17 KB
/
TS29222_CAPIF_Discover_Service_API.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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.2.1"
externalDocs:
description: 3GPP TS 29.222 V17.6.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.