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
27 description: 'Array of all policy identities'
33 "$ref": "#/components/schemas/PolicyId"
36 "$ref": "#/components/responses/429-TooManyRequests"
38 "$ref": "#/components/responses/503-ServiceUnavailable"
40 '/policies/{policyId}':
46 "$ref": "#/components/schemas/PolicyId"
48 operationId: a1.put_policy
49 description: 'Create, or update, a policy'
51 - Individual Policy Object
53 - name: notificationDestination
57 "$ref": "#/components/schemas/NotificationDestination"
63 "$ref": "#/components/schemas/PolicyObject"
66 description: 'The policy was updated'
70 "$ref": "#/components/schemas/PolicyObject"
72 description: 'The policy was created'
76 "$ref": "#/components/schemas/PolicyObject"
79 description: 'Contains the URI of the created policy'
85 "$ref": "#/components/responses/400-BadRequest"
87 "$ref": "#/components/responses/409-Conflict"
89 "$ref": "#/components/responses/429-TooManyRequests"
91 "$ref": "#/components/responses/503-ServiceUnavailable"
93 "$ref": "#/components/responses/507-InsufficientStorage"
95 policyStatusNotification:
96 '{$request.query.notificationDestination}':
98 description: 'Notify about status changes for this policy'
104 "$ref": "#/components/schemas/PolicyStatusObject"
107 description: 'Notification received'
109 operationId: a1.get_policy
110 description: 'Query a policy'
112 - Individual Policy Object
115 description: 'The requested policy'
119 "$ref": "#/components/schemas/PolicyObject"
121 "$ref": "#/components/responses/404-NotFound"
123 "$ref": "#/components/responses/409-Conflict"
125 "$ref": "#/components/responses/429-TooManyRequests"
127 "$ref": "#/components/responses/503-ServiceUnavailable"
129 operationId: a1.delete_policy
130 description: 'Delete a policy'
132 - Individual Policy Object
135 description: 'The policy was deleted'
137 "$ref": "#/components/responses/404-NotFound"
139 "$ref": "#/components/responses/429-TooManyRequests"
141 "$ref": "#/components/responses/503-ServiceUnavailable"
143 '/policies/{policyId}/status':
149 "$ref": "#/components/schemas/PolicyId"
151 operationId: a1.get_policy_status
152 description: 'Query a policy status'
154 - Individual Policy Status Object
157 description: 'The requested policy status'
161 "$ref": "#/components/schemas/PolicyStatusObject"
163 "$ref": "#/components/responses/404-NotFound"
165 "$ref": "#/components/responses/409-Conflict"
167 "$ref": "#/components/responses/429-TooManyRequests"
169 "$ref": "#/components/responses/503-ServiceUnavailable"
174 # Representation objects
177 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.'
181 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.'
185 description: 'A problem detail to carry details in a HTTP response according to RFC 7807'
202 NotificationDestination:
203 description: 'A complete callback URI defined according to IETF RFC 3986 where to send notifications'
207 description: 'Policy identifier assigned by the A1-P Consumer when a policy is created'
212 description: 'Object in payload not properly formulated or not related to the method'
214 application/problem+json:
216 "$ref": "#/components/schemas/ProblemDetails"
219 description: 'No resource found at the URI'
221 application/problem+json:
223 "$ref": "#/components/schemas/ProblemDetails"
225 405-MethodNotAllowed:
226 description: 'Method not allowed for the URI'
228 application/problem+json:
230 "$ref": "#/components/schemas/ProblemDetails"
233 description: 'Request could not be processed in the current state of the resource'
235 application/problem+json:
237 "$ref": "#/components/schemas/ProblemDetails"
240 description: 'Too many requests have been sent in a given amount of time'
242 application/problem+json:
244 "$ref": "#/components/schemas/ProblemDetails"
246 503-ServiceUnavailable:
247 description: 'The provider is currently unable to handle the request due to a temporary overload'
249 application/problem+json:
251 "$ref": "#/components/schemas/ProblemDetails"
253 507-InsufficientStorage:
254 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'
256 application/problem+json:
258 "$ref": "#/components/schemas/ProblemDetails"