The Bonsai Asset Index application includes an application programming interface (API) for retrieving information about assets.
All API endpoints are rooted at the URL https://bonsai.sensu.io/api/v1/. All requests to the host must use the secure HTTPS protocol.
Currently, the Bonsai Asset Index application does not authenticate the caller making requests to the endpoints, and therefore does not authorize specific endpoints according to the caller’s permission level. In the future, this may change.
The responses returned by the API endpoints have JSON data payloads. The JSON format is custom to the Bonsai Asset Index application and does not follow any of the latest standards. Please see the documentation for each endpoint for a detailed example of the endpoint’s response payload.
Requests to the API endpoints may result in one of the following status codes:
200- Successful data retrieval
404- The requested item is not found
|GET /api/v1/assets||Retrieve data for all the assets in the Bonsai Asset Index. Results are paginated, with pagination controlled via the "start" and "items" params. If there are remaining pages to be retrieved, the payload will include a "next" URL.|
|GET /api/v1/assets/:username/:id||Retrieve data for a single asset, identified by a username and repo ID.|
|PUT /api/v1/assets/recompile/:username/:id||Recompile assets in the Bonsai Asset Index. This endpoint functions for authenticated users (via API auth), and authorized users (site owner, admin). Requires a header tag of X-Ops-Userid with the username of the authenticated user. Responds with either success or error.|
|PUT /api/v1/assets/:username/:id||Update data for a single asset, identified by a username and repo ID. Currently limited to just updating tags. The authentication headers consists of the following params: 'X-Ops-Userid' => "username" where username is the owner of the asset or the site admin. This is required as authentication for each request. Authentication headers example: "X-Ops-Userid": "username",|
|GET /api/v1/assets/:username/:id/:version/release_asset_builds||Retrieve an asset's multi-build details, suitable for consumption by the sensu tool.|
|GET /api/v1/assets/:username/:id/:version/:platform/:arch/release_asset||Retrieve an asset's build-specific details, suitable for consumption by the sensu tool.|