forked from jdegre/5GC_APIs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TS29222_CAPIF_Logging_API_Invocation_API.yaml
175 lines (173 loc) · 6.11 KB
/
TS29222_CAPIF_Logging_API_Invocation_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
171
172
173
174
175
openapi: 3.0.0
info:
title: CAPIF_Logging_API_Invocation_API
description: |
API for invocation logs.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
version: "1.2.0"
externalDocs:
description: 3GPP TS 29.222 V17.5.0 Common API Framework for 3GPP Northbound APIs
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/
servers:
- url: '{apiRoot}/api-invocation-logs/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222
paths:
/{aefId}/logs:
post:
description: Creates a new log entry for service API invocations.
parameters:
- name: aefId
in: path
description: Identifier of the API exposing function
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InvocationLog'
responses:
'201':
description: >
Log of service API invocations provided by API exposing function successfully
stored on the CAPIF core function.
content:
application/json:
schema:
$ref: '#/components/schemas/InvocationLog'
headers:
Location:
description: >
Contains the URI of the newly created resource, according to the structure
{apiRoot}/api-invocation-logs/v1/{aefId}/logs/{logId}
required: true
schema:
type: string
'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'
'411':
$ref: 'TS29122_CommonData.yaml#/components/responses/411'
'413':
$ref: 'TS29122_CommonData.yaml#/components/responses/413'
'415':
$ref: 'TS29122_CommonData.yaml#/components/responses/415'
'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'
/{aefId}/logs/{logId}:
description: Creates a new log entry for service API invocations.
parameters:
- name: aefId
in: path
description: Identifier of the API exposing function
required: true
schema:
type: string
- name: logId
in: path
description: Identifier of individual log entry
required: true
schema:
type: string
components:
schemas:
InvocationLog:
type: object
description: >
Represents a set of Service API invocation logs to be stored in a CAPIF core function.
properties:
aefId:
type: string
description: >
Identity information of the API exposing function requesting logging of
service API invocations
apiInvokerId:
type: string
description: Identity of the API invoker which invoked the service API
logs:
type: array
items:
$ref: '#/components/schemas/Log'
minItems: 1
description: Service API invocation log
supportedFeatures:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
required:
- aefId
- apiInvokerId
- logs
Log:
type: object
description: Represents an individual service API invocation log entry.
properties:
apiId:
type: string
description: String identifying the API invoked.
apiName:
type: string
description: >
Name of the API which was invoked, it is set as {apiName} part of the URI
structure as defined in clause 4.4 of 3GPP TS 29.501.
apiVersion:
type: string
description: Version of the API which was invoked
resourceName:
type: string
description: Name of the specific resource invoked
uri:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Uri'
protocol:
$ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Protocol'
operation:
$ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/Operation'
result:
type: string
description: For HTTP protocol, it contains HTTP status code of the invocation
invocationTime:
$ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
invocationLatency:
$ref: '#/components/schemas/DurationMs'
inputParameters:
description: >
List of input parameters. Can be any value - string, number, boolean, array or object.
outputParameters:
description: >
List of output parameters. Can be any value - string, number, boolean, array or object.
srcInterface:
$ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription'
destInterface:
$ref: 'TS29222_CAPIF_Publish_Service_API.yaml#/components/schemas/InterfaceDescription'
fwdInterface:
type: string
description: >
It includes the node identifier (as defined in IETF RFC 7239 of all forwarding
entities between the API invoker and the AEF, concatenated with comma and space,
e.g. 192.0.2.43:80, unknown:_OBFport, 203.0.113.60
required:
- apiId
- apiName
- apiVersion
- resourceName
- protocol
- result
DurationMs:
type: integer
description: Unsigned integer identifying a period of time in units of milliseconds.
minimum: 0