{"docs":{"name":"Bonsai Asset Index","info":"\n\u003ch2 id=\"api_overview\"\u003eAPI Overview\u003c/h2\u003e\n\n\u003cp\u003eThe Bonsai Asset Index application includes an application programming interface (API) for retrieving information about assets.\u003c/p\u003e\n\n\u003ch3 id=\"service_endpoint\"\u003eService Endpoint\u003c/h3\u003e\n\n\u003cp\u003eAll API endpoints are rooted at the URL \u003ca href=\"/api/v1/\"\u003ehttps://bonsai.sensu.io/api/v1/\u003c/a\u003e. All requests to the host must use the secure HTTPS protocol.\u003c/p\u003e\n\n\u003ch3 id=\"authorization\"\u003eAuthorization\u003c/h3\u003e\n\n\u003cp\u003eCurrently, 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.\u003c/p\u003e\n\n\u003ch3 id=\"json_payloads\"\u003eJSON Payloads\u003c/h3\u003e\n\n\u003cp\u003eThe 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.\u003c/p\u003e\n\n\u003ch3 id=\"http_status_codes\"\u003eHTTP Status Codes\u003c/h3\u003e\n\n\u003cp\u003eRequests to the API endpoints may result in one of the following status codes:\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e200\u003c/code\u003e - Successful data retrieval\u003c/li\u003e\n\n\u003cli\u003e\u003ccode\u003e404\u003c/code\u003e - The requested item is not found\u003c/li\u003e\n\u003c/ul\u003e\n","copyright":null,"doc_url":"/apidoc/1.0","api_url":"/api/v1","resources":{"extensions":{"doc_url":"/apidoc/1.0/extensions","id":"extensions","api_url":"/api/v1","name":"Assets","short_description":null,"full_description":"","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/apidoc/1.0/extensions/index","name":"index","apis":[{"api_url":"/api/v1/assets","http_method":"GET","short_description":"Retrieve data for all the assets in the Bonsai Asset Index.\nResults are paginated, with pagination controlled via the \"start\" and \"items\" params.\nIf there are remaining pages to be retrieved, the payload will include a \"next\" URL.\n","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"start","full_name":"start","description":"\n\u003cp\u003ezero-based index of the starting asset (default is 0)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"items","full_name":"items","description":"\n\u003cp\u003ezero-based index of the starting asset (default is 10, max is 100)\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a Integer","expected_type":"numeric","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET https://bonsai.sensu.io/api/v1/assets","{\n\"start\": 0,\n\"total\": 2,\n\"next\": \"https://bonsai-asset-index.com/api/v1/assets?start=10\",\n\"assets\": [\n    {\n        \"name\": \"gofullstack/acms-admin-wildcard-redirect\",\n        \"description\": \"Average CMS Wildcard Admin Redirect WordPress Plugin\",\n        \"url\": \"https://bonsai-asset-index.com/api/v1/assets/gofullstack/acms-admin-wildcard-redirect\",\n        \"github_url\": \"https://github.com/gofullstack/acms-admin-wildcard-redirect\",\n        \"download_url\": \"https://bonsai-asset-index.com/assets/gofullstack/acms-admin-wildcard-redirect/download\",\n        \"builds\": []\n    },\n    {\n        \"name\": \"demillir/maruku\",\n        \"description\": \"A pure-Ruby Markdown-superset interpreter (Official Repo).\",\n        \"url\": \"https://bonsai-asset-index.com/api/v1/assets/demillir/maruku\",\n        \"github_url\": \"https://github.com/demillir/maruku\",\n        \"download_url\": \"https://bonsai-asset-index.com/assets/demillir/maruku/download\",\n        \"versions\": [\n          \"0.1.1-20181030\": {\n            \"assets\": [\n              {\n                \"platform\": \"linux\",\n                \"arch\": \"x86_64\",\n                \"version\": \"0.1.1-20181030\",\n                \"asset_sha\": \"6f2121a6c8690f229e9cb962d8d71f60851684284755d4cdba4e77ef7ba20c03283795c4fccb9d6ac8308b248f2538bf7497d6467de0cf9e9f0814625b4c6f91\",\n                \"asset_url\": \"http://srv2:3000/f60851684284755d4cdba4e77ef7ba2/test_asset-v0.1-20181030-linux-x86_64.tar.gz\",\n                \"last_modified\": \"2019-01-01 12:00:00\"\n              },\n              {\n                \"platform\": \"alpine\",\n                \"arch\": \"x86_64\",\n                \"version\": \"v0.1-20181030\",\n                \"asset_sha\": null,\n                \"asset_url\": null,\n                \"last_modified\": null\n              }\n            ]\n          }\n        ]\n    }\n]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/apidoc/1.0/extensions/show","name":"show","apis":[{"api_url":"/api/v1/assets/:username/:id","http_method":"GET","short_description":"Retrieve data for a single asset, identified by a username and repo ID.\n","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"username","full_name":"username","description":"\n\u003cp\u003eBonsai Asset Index user name of the asset owner\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"id","full_name":"id","description":"\n\u003cp\u003eBonsai Asset Index asset name\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET https://bonsai.sensu.io/api/v1/assets/demillir/maruku","{\n  \"name\": \"demillir/maruku\",\n  \"description\": \"A pure-Ruby Markdown-superset interpreter (Official Repo).\",\n  \"url\": \"https://bonsai-asset-index.com/api/v1/assets/demillir/maruku\",\n  \"github_url\": \"https://github.com/demillir/maruku\",\n  \"download_url\": \"https://bonsai-asset-index.com/assets/demillir/maruku/download\",\n  \"versions\": [\n    \"0.1.1-20181030\": {\n      \"assets\": [\n        {\n          \"platform\": \"linux\",\n          \"arch\": \"x86_64\",\n          \"version\": \"0.1.1-20181022\",\n          \"asset_sha\": \"6f2121a6c8690f229e9cb962d8d71f60851684284755d4cdba4e77ef7ba20c03283795c4fccb9d6ac8308b248f2538bf7497d6467de0cf9e9f0814625b4c6f91\",\n          \"asset_url\": \"http://srv2:3000/api/v1/assets/demillir/maruku/0.1.1-20181030/linux/x86_64/release_asset\",\n          \"last_modified\": \"2019-01-01 12:00:00\"\n        },\n        {\n          \"platform\": \"alpine\",\n          \"arch\": \"x86_64\",\n          \"version\": \"0.1.1-20181030\",\n          \"asset_sha\": null,\n          \"asset_url\": null,\n          \"last_modified\": null\n        }\n      ]\n    }\n  ]\n}\n"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/apidoc/1.0/extensions/sync_repo","name":"sync_repo","apis":[{"api_url":"/api/v1/assets/recompile/:username/:id","http_method":"PUT","short_description":"Recompile assets in the Bonsai Asset Index.\nThis endpoint functions for authenticated users (via API auth), and authorized users (site owner, admin).\nRequires a header tag of X-Ops-Userid with the username of the authenticated user.\nResponds with either success or error.\n","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"username","full_name":"username","description":"\n\u003cp\u003eBonsai Asset Index user name of the asset owner\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"id","full_name":"id","description":"\n\u003cp\u003eBonsai Asset Index asset name\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET https://bonsai.sensu.io/api/v1/assets/recompile/demillir/maruku/","{'message'=\u003e'Please wait a minute or so for the repository releases to be recompiled, then refresh this page to see the updates.'}"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/apidoc/1.0/extensions/update","name":"update","apis":[{"api_url":"/api/v1/assets/:username/:id","http_method":"PUT","short_description":"Update data for a single asset, identified by a username and repo ID.  \nCurrently limited to just updating tags.\nThe authentication headers consists of the following params:\n'X-Ops-Userid' =\u003e \"username\" where username is the owner of the asset or the site admin.  This is required as authentication for each request.\nAuthentication headers example:\n  \"X-Ops-Userid\": \"username\",\n","deprecated":null}],"formats":null,"full_description":"","errors":[{"code":401,"description":"You are not authorized to update this asset.","metadata":null}],"params":[{"name":"username","full_name":"username","description":"\n\u003cp\u003eBonsai Asset Index user name of the asset owner\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"id","full_name":"id","description":"\n\u003cp\u003eBonsai Asset Index asset name\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"extension","full_name":"extension","description":"","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a Hash","expected_type":"hash","metadata":null,"show":true,"validations":[],"deprecated":false,"params":[{"name":"tag_tokens","full_name":"extension[tag_tokens]","description":"\n\u003cp\u003eString of comma seperated tags\u003c/p\u003e\n","required":false,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}]}],"returns":[],"examples":["PUT https://bonsai.sensu.io/api/v1/assets/demillir/maruku"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":[],"deprecated":false},"release_assets":{"doc_url":"/apidoc/1.0/release_assets","id":"release_assets","api_url":"/api/v1","name":"Release_assets","short_description":null,"full_description":"","version":"1.0","formats":null,"metadata":null,"methods":[{"doc_url":"/apidoc/1.0/release_assets/index","name":"index","apis":[{"api_url":"/api/v1/assets/:username/:id/:version/release_asset_builds","http_method":"GET","short_description":"Retrieve an asset's multi-build details, suitable for consumption by the sensu tool.\n","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"username","full_name":"username","description":"\n\u003cp\u003eBonsai Asset Index user name of the asset owner\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"id","full_name":"id","description":"\n\u003cp\u003eBonsai Asset Index asset name\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"version","full_name":"version","description":"\n\u003cp\u003easset version\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET https://bonsai.sensu.io/api/v1/assets/sensu/sensu-email-handler/0.2.0/release_asset_builds"],"metadata":null,"see":[],"headers":[],"show":true},{"doc_url":"/apidoc/1.0/release_assets/show","name":"show","apis":[{"api_url":"/api/v1/assets/:username/:id/:version/:platform/:arch/release_asset","http_method":"GET","short_description":"Retrieve an asset's build-specific details, suitable for consumption by the sensu tool.\n","deprecated":null}],"formats":null,"full_description":"","errors":[],"params":[{"name":"username","full_name":"username","description":"\n\u003cp\u003eBonsai Asset Index user name of the asset owner\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"id","full_name":"id","description":"\n\u003cp\u003eBonsai Asset Index asset name\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"version","full_name":"version","description":"\n\u003cp\u003easset version\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"platform","full_name":"platform","description":"\n\u003cp\u003etarget platform\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false},{"name":"arch","full_name":"arch","description":"\n\u003cp\u003etarget architecture\u003c/p\u003e\n","required":true,"allow_nil":false,"allow_blank":false,"validator":"Must be a String","expected_type":"string","metadata":null,"show":true,"validations":[],"deprecated":false}],"returns":[],"examples":["GET https://bonsai.sensu.io/api/v1/assets/demillir/sensu-asset-playground/0.1.1-20181030/linux/aarch64/release_asset"],"metadata":null,"see":[],"headers":[],"show":true}],"headers":null,"deprecated":null}}}}