-
Notifications
You must be signed in to change notification settings - Fork 255
/
TS29222_CAPIF_Discover_Service_API.yaml
170 lines (164 loc) · 6.18 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
openapi: 3.0.0
info:
title: CAPIF_Discover_Service_API
description: |
API for discovering service APIs.
© 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
version: "1.3.0-alpha.2"
externalDocs:
description: 3GPP TS 29.222 V18.4.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: req-api-prov-name
in: query
description: Represents the required API provider name.
schema:
type: string
- 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'
- name: ue-ip-addr
in: query
description: Represents the UE IP address information.
schema:
$ref: '#/components/schemas/IpAddrInfo'
- name: service-kpis
in: query
description: >
Contains iInformation about service characteristics provided by the targeted
service API(s).
schema:
$ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/ServiceKpis'
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.
IpAddrInfo:
type: object
description: Represents the UE IP address information.
properties:
ipv4Addr:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'
ipv6Addr:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr'
oneOf:
- required: [ipv4Addr]
- required: [ipv6Addr]