Appearance
API overview
The Enclave API is a RESTful API that allows you to manage your Enclave agents and enclaves. This API can be used to automate the creation and management of your agents and enclaves. The API is versioned and is currently in version 1. Documentation for the API can be found here: https://docs.enclave.sidechannel.com/api-docs/latest
Use cases
The Enclave API can be used for a number of potential use cases. Here are a few examples:
- Integrate with existing CI systems to automatically manage nodes, users, and enclaves
- Integrate with IAM system to manage users and their credentials
- Build your own internal tools to manage and visualize your network
Versioning
As with most APIs, the Enclave API is versioned. This allows us to make breaking changes to the API without breaking existing integrations. The API version is included in the URL path. For example, the current version of the API is 1. All API endpoints are prefixed with /api/v1
. If we were to make a breaking change to the API, we would increment the version to 2 and all endpoints would be prefixed with /api/v2
.
We follow semanic versioning practices. This means that breaking changes will increment the major version number. Non-breaking changes will increment the minor version number. Bug fixes will increment the patch version number. For more information on semantic versioning, see semver.org.
Authentication
The Enclave API currently uses API keys for authentication. API keys can be generated for your organization in the Enclave Management Console (EMC). You can find the API keys page by clicking Settings
on the left navigation and then clicking API Keys
under the security section.
To successfully authenticate with the API, a X-Api-Key
header must be included in the request. The value of the header should be the API key that you generated in the EMC.
Here is an example CURL request that includes the X-Api-Key
header:
bash
curl -X GET \
https://enclave.sidechannel.com/api/v1/nodes \
-H 'X-Api-Key: <YOUR_API_KEY>'