3 title: 'A1-P Policy Management Service'
6 API for Policy Management Service.
7 © 2019, O-RAN Alliance.
10 description: 'ORAN-WG2.A1.AP-v01.01 A1 interface: Application protocol'
11 url: 'https://www.o-ran.org/specifications'
13 - url: '{apiRoot}/A1-P/v1'
16 default: 'https://example.com'
17 description: 'apiRoot as defined in clause 4.2.1 in ORAN-WG2.A1.AP'
21 operationId: a1.get_all_policy_identities
22 description: 'Get all policy identities'
24 - All Policy Identities
30 "$ref": "#/components/schemas/PolicyTypeId"
33 description: 'Array of all policy identities'
39 "$ref": "#/components/schemas/PolicyId"
42 "$ref": "#/components/responses/429-TooManyRequests"
44 "$ref": "#/components/responses/503-ServiceUnavailable"
46 '/policies/{policyId}':
52 "$ref": "#/components/schemas/PolicyId"
54 operationId: a1.put_policy
55 description: 'Create, or update, a policy'
57 - Individual Policy Object
63 "$ref": "#/components/schemas/PolicyTypeId"
68 "$ref": "#/components/schemas/PolicyObject"
71 description: 'The policy was updated'
75 "$ref": "#/components/schemas/PolicyObject"
77 description: 'The policy was created'
81 "$ref": "#/components/schemas/PolicyObject"
84 description: 'Contains the URI of the created policy'
89 "$ref": "#/components/responses/400-BadRequest"
91 "$ref": "#/components/responses/429-TooManyRequests"
93 "$ref": "#/components/responses/503-ServiceUnavailable"
95 "$ref": "#/components/responses/507-InsufficientStorage"
97 operationId: a1.get_policy
98 description: 'Query a policy'
100 - Individual Policy Object
103 description: 'The requested policy'
107 "$ref": "#/components/schemas/PolicyObject"
109 "$ref": "#/components/responses/404-NotFound"
111 "$ref": "#/components/responses/429-TooManyRequests"
113 "$ref": "#/components/responses/503-ServiceUnavailable"
115 operationId: a1.delete_policy
116 description: 'Delete a policy'
118 - Individual Policy Object
121 description: 'The policy was deleted'
123 "$ref": "#/components/responses/404-NotFound"
125 "$ref": "#/components/responses/429-TooManyRequests"
127 "$ref": "#/components/responses/503-ServiceUnavailable"
129 '/policystatus/{policyId}':
135 "$ref": "#/components/schemas/PolicyId"
137 operationId: a1.get_policy_status
138 description: 'Query a policy status'
140 - Individual Policy Status Object
143 description: 'The requested policy status'
147 "$ref": "#/components/schemas/PolicyStatusObject"
149 "$ref": "#/components/responses/404-NotFound"
151 "$ref": "#/components/responses/429-TooManyRequests"
153 "$ref": "#/components/responses/503-ServiceUnavailable"
157 operationId: a1.get_all_policytypes_identities
158 description: 'Get all policy type identities'
160 - All Policy Type Identities
163 description: 'Array of all policy type identities'
169 "$ref": "#/components/schemas/PolicyTypeId"
172 "$ref": "#/components/responses/429-TooManyRequests"
174 "$ref": "#/components/responses/503-ServiceUnavailable"
176 '/policytypes/{policyTypeId}':
182 "$ref": "#/components/schemas/PolicyTypeId"
184 operationId: a1.get_policytypes
185 description: 'Get the schemas for a policy type'
187 - Individual Policy Type
190 description: 'The policy type schemas'
194 "$ref": "#/components/schemas/PolicyTypeObject"
196 "$ref": "#/components/responses/404-NotFound"
198 "$ref": "#/components/responses/429-TooManyRequests"
200 "$ref": "#/components/responses/503-ServiceUnavailable"
205 # Representation objects
208 description: 'A generic policy object that can be used to transport any policy. Additionally, a policy shall be valid according to the schema of its specific policy type.'
212 description: 'A generic policy status object that can be used to transport any policy status. Additionally, a policy status shall be valid according to the schema of its specific policy type.'
216 description: 'A definition of a policy type, i.e. the schemas for a policy respectively its status'
220 "$ref": "#/components/schemas/JsonSchema"
222 "$ref": "#/components/schemas/JsonSchema"
227 description: 'A problem detail to carry details in a HTTP response according to RFC 7807 extended with A1 specific attributes'
245 "$ref": "#/components/schemas/InvalidParam"
249 # Structured data types
252 description: 'Used in a ProblemDetails to indicate a specific invalid parameter'
266 description: 'A JSON schema following http://json-schema.org/draft-07/schema'
270 description: 'Policy identifier assigned by the A1-P Consumer when a policy is created'
274 description: 'Policy type identifier assigned by the A1-P Provider'
279 description: 'Object in payload not properly formulated or not related to the method'
281 application/problem+json:
283 "$ref": "#/components/schemas/ProblemDetails"
286 description: 'No resource found at the URI'
288 application/problem+json:
290 "$ref": "#/components/schemas/ProblemDetails"
292 405-MethodNotAllowed:
293 description: 'Method not allowed for the URI'
295 application/problem+json:
297 "$ref": "#/components/schemas/ProblemDetails"
300 description: 'Too many requests have been sent in a given amount of time'
302 application/problem+json:
304 "$ref": "#/components/schemas/ProblemDetails"
306 503-ServiceUnavailable:
307 description: 'The provider is currently unable to handle the request due to a temporary overload'
309 application/problem+json:
311 "$ref": "#/components/schemas/ProblemDetails"
313 507-InsufficientStorage:
314 description: 'The method could not be performed on the resource because the provider is unable to store the representation needed to successfully complete the request'
316 application/problem+json:
318 "$ref": "#/components/schemas/ProblemDetails"