-
Notifications
You must be signed in to change notification settings - Fork 1
/
odrl.yaml
137 lines (135 loc) · 3.39 KB
/
odrl.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
openapi: 3.0.3
info:
title: ODRL PAP
description: ODRL PAP
version: 1.0.0
paths:
/policy:
post:
operationId: createPolicy
summary: Creates a new policy from the given odrl-json
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OdrlPolicyJson'
responses:
'200':
description: The rego policy
content:
text/plain:
schema:
type: string
headers:
Location:
schema:
type: string
description: location of the created policy
get:
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PageSize'
operationId: getPolicies
summary: Get the policies in the ODRL-Format
responses:
'200':
description: Successfully retrieved the policis.
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyList'
'404':
description: No such policy exists
/policy/{id}:
put:
parameters:
- $ref: '#/components/parameters/Id'
operationId: createPolicyWithId
summary: Creates or overwrites the given policy.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OdrlPolicyJson'
responses:
'200':
description: The rego policy
content:
text/plain:
schema:
type: string
headers:
Location:
schema:
type: string
description: location of the created policy
'409':
description: Should be returned in case the policy is not allowed to be modified
get:
parameters:
- $ref: '#/components/parameters/Id'
summary: Return the given policy by its ID.
operationId: getPolicyById
responses:
'200':
description: Successfully retrieved the policy.
content:
application/json:
schema:
$ref: '#/components/schemas/Policy'
'404':
description: No such policy exists
delete:
parameters:
- $ref: '#/components/parameters/Id'
summary: Delete the given policy.
operationId: deletePolicyById
responses:
'204':
description: Policy was successfully removed.
'404':
description: No such policy exists
components:
parameters:
Id:
name: id
in: path
required: true
schema:
$ref: '#/components/schemas/Uid'
Page:
name: page
in: query
required: false
schema:
type: integer
default: 0
PageSize:
name: pageSize
in: query
required: false
schema:
type: integer
default: 25
schemas:
Policy:
type: object
properties:
id:
type: string
odrl:
type: string
rego:
type: string
PolicyList:
type: array
items:
$ref: '#/components/schemas/Policy'
Uid:
type: string
format: https://datatracker.ietf.org/doc/html/rfc3987
OdrlPolicyJson:
type: object
additionalProperties: true