REST API
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.
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.