forked from jdegre/5GC_APIs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TS29222_CAPIF_Logging_API_Invocation_API.yaml
154 lines (154 loc) · 5.75 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
openapi: 3.0.0
info:
title: CAPIF_Logging_API_Invocation_API
description: This API enables the API exposing function to communicate with the CAPIF core function to log the information related to service API invocations.
version: "1.0.0"
externalDocs:
description: 3GPP TS 29.222 V15.2.0 Common API Framework for 3GPP Northbound APIs
url: http://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 subclause 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
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
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 subclause 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