forked from jdegre/5GC_APIs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TS29222_CAPIF_Access_Control_Policy_API.yaml
111 lines (109 loc) · 3.74 KB
/
TS29222_CAPIF_Access_Control_Policy_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
openapi: 3.0.0
info:
title: CAPIF_Access_Control_Policy_API
description: |
API for access control policy.
© 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
version: "1.0.3"
externalDocs:
description: 3GPP TS 29.222 V15.6.0 Common API Framework for 3GPP Northbound APIs
url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.222/
servers:
- url: '{apiRoot}/access-control-policy/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 7.5 of 3GPP TS 29.222
paths:
/accessControlPolicyList/{serviceApiId}:
get:
description: Retrieves the access control policy list.
parameters:
- name: serviceApiId
in: path
description: Identifier of a published service API
required: true
schema:
type: string
- name: aef-id
in: query
required: true
description: Identifier of the AEF
schema:
type: string
- name: api-invoker-id
in: query
description: Identifier of the API invoker
schema:
type: string
- name: supported-features
in: query
description: To filter irrelevant responses related to unsupported features
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
responses:
'200':
description: OK.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessControlPolicyList'
'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:
AccessControlPolicyList:
type: object
properties:
apiInvokerPolicies:
type: array
items:
$ref: '#/components/schemas/ApiInvokerPolicy'
minItems: 0
description: Policy of each API invoker.
ApiInvokerPolicy:
type: object
properties:
apiInvokerId:
type: string
description: API invoker ID assigned by the CAPIF core function
allowedTotalInvocations:
type: integer
description: Total number of invocations allowed on the service API by the API invoker.
allowedInvocationsPerSecond:
type: integer
description: Invocations per second allowed on the service API by the API invoker.
allowedInvocationTimeRangeList:
type: array
items:
$ref: '#/components/schemas/TimeRangeList'
minItems: 0
description: The time ranges during which the invocations are allowed on the service API by the API invoker.
required:
- apiInvokerId
TimeRangeList:
type: object
properties:
startTime:
$ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
stopTime:
$ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'