REST API: Difference between revisions
No edit summary |
|||
| Line 2: | Line 2: | ||
The REST API is exposed by both the standalone and bundled versions of the admin web application. | The REST API is exposed by both the standalone and bundled versions of the admin web application. | ||
For full details on the API endpoints, see [[REST Endpoints|Endpoints]]. | |||
==Overview== | ==Overview== | ||
Revision as of 19:37, 6 January 2013
Obsidian 1.5 introduced a REST API to ease integration into other applications and software environments, regardless of the technology used. A complete range of job, scheduling and host management features are exposed via the API.
The REST API is exposed by both the standalone and bundled versions of the admin web application.
For full details on the API endpoints, see Endpoints.
Overview
The Obsidian REST API allows other applications a way to access Obsidian data, schedule jobs, and control Obsidian in a variety of ways. It can be integrated with any programming language since it uses standards like HTTP and JSON.
The REST API gives users the power to do things like automate migration scripts, trigger jobs based on events in external applications, and expose pieces of the Obsidian API in their own custom user interfaces.
Endpoints
The API is exposed under the path /rest.
For example, if your web application is deployed at localhost, the jobs endpoint is accessible at http://localhost/rest/jobs.
For full details on the API endpoints, see Endpoints.
Data Format
JSON is used for all endpoints. This includes response data and PUT/POST data.
The returned Content-Type will always be application/json using the UTF-8 encoding.
All PUTs and POSTs must include Content-Type header set to application/json with a valid JSON body. UTF-8 should be used as the content encoding for maximum compatibility.
Authentication & Authorization
The REST API is secured by limiting access to users configured in User Management with the API Access role.
Valid basic access authentication must be supplied with every request. Valid API users are authorized to access any REST endpoint.