blob: 7d068c1e5affc45bcf35ffd062c98639b633766e [file] [log] [blame]
Pamela Dragoshb4a8ef22020-04-21 15:30:35 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2
3.. _decision-api-label:
4
5Decision API
Pamela Dragoshf65c8ff2020-04-29 08:23:12 -04006############
Pamela Dragoshb4a8ef22020-04-21 15:30:35 -04007
Pamela Dragoshf65c8ff2020-04-29 08:23:12 -04008The Decision API is used by ONAP components that enforce policies and need a decision on which policy to enforce for a
9specific situation. The Decision API mimics closely the XACML request standard in that it supports a subject, action
10and resource.
Pamela Dragoshb4a8ef22020-04-21 15:30:35 -040011
12.. csv-table::
13 :header: "Field", "Required", "XACML equivalent", "Description"
14
15 "ONAPName", "True", "subject", "The name of the ONAP project making the call"
16 "ONAPComponent", "True", "subject", "The name of the ONAP sub component making the call"
17 "ONAPInstance", "False", "subject", "An optional instance ID for that sub component"
18 "action", "True", "action", "The action being performed"
19 "resource", "True", "resource", "An object specific to the action that contains properties describing the resource"
20
21It is worth noting that we use basic authorization for API access with username and password set to *healthcheck* and *zb!XztG34* respectively.
22Also, the new APIs support both *http* and *https*.
23
24For every API call, the client is encouraged to insert an uuid-type requestID as parameter. It is helpful for tracking each http transaction
25and facilitates debugging. Most importantly, it complies with Logging requirements v1.2. If the client does not provide the requestID in the API call,
26one will be randomly generated and attached to the response header *x-onap-requestid*.
27
28In accordance with `ONAP API Common Versioning Strategy Guidelines <https://wiki.onap.org/display/DW/ONAP+API+Common+Versioning+Strategy+%28CVS%29+Guidelines>`_,
29in the response of each API call, several custom headers are added::
30
31 x-latestversion: 1.0.0
32 x-minorversion: 0
33 x-patchversion: 0
34 x-onap-requestid: e1763e61-9eef-4911-b952-1be1edd9812b
35
36x-latestversion is used only to communicate an API's latest version.
37
38x-minorversion is used to request or communicate a MINOR version back from the client to the server, and from the server back to the client.
39
40x-patchversion is used only to communicate a PATCH version in a response for troubleshooting purposes only, and will be provided to the client on request.
41
42x-onap-requestid is used to track REST transactions for logging purpose, as described above.
43
Pamela Dragosh1d101d22020-07-09 13:46:16 -040044:download:`Download the Decision API Swagger <swagger.json>`
45
Pamela Dragoshb4a8ef22020-04-21 15:30:35 -040046.. swaggerv2doc:: swagger.json
47
48
49End of Document