adjutant/api-ref/source/v1-api-reference.rst
Amelia Cordwell 6cbf3fa7f7 Documentation and Api Reference
* API Reference and documentation as two seperate sphinx
  document sets
* Information from the Devstack guide and README moved over
  to the new documentation
* Configuration examples
* Examples of building plugins
* Both use the new sphinx-rtd-theme

Change-Id: If347905aa14b77b5943f1a9de97f6e287b98ce95
2017-11-04 18:00:28 +13:00

2.1 KiB

Version 1 API reference

This is the reference for Adjutant when it is using the default configuration. Different deployments may exclude certain task views or include their own additional ones.

The core functionality of Adjutant is built around the concept of tasks and actions.

Actions are both concepts in the database and code that can execute whatever logic is necessary at each stage.

Tasks can bundle a number of actions and have 3 main steps.

  1. A user submits a request to the specified endpoint.
  2. An admin approves the request, or it is automatically approved. At this point the admin can also update invalid data inside the task.
  3. If necessary a user will be emailed a token and will submit additional data (ie passwords or a confirmation) to finish the task.

Depending on the task and the data provided some steps may be skipped.

Authentication

The 'X-Auth-Token' header value should be provided for authentication with a valid Keystone token.

HTTP Status Codes

  • 200
  • 200: task-view
  • 202
  • 400
  • 401
  • 403
  • 404
  • 405
  • 409
  • 500
  • 503

Service Discovery

Version Discovery Endpoint

Unauthenticated.

JSON containing details of the currently available versions (just v1 for now)

Normal response code: 200

Version One Details Endpoint

Unauthenticated.

Details V1 version details and the available taskviews and their fields. See below for further details on the individual taskviews.

Normal response code: 200

Additional API Documentation:

While in debug mode the service will supply online browsable documentation via Django REST Swagger.

This is viewable at: ../docs