Authentication
The authentication of the API is based on a OAuth2 clients credentials flow, which generally speaking means you need to use a long-lived secret to generate a short-lived access token with which you can access the API resources.
API endpoints in this page
Your vendor id is:
{user.vendor_id}
Perquisites
To successfully authenticate your application and access our APIs, you will need the following five pieces of information:
- Tenant URL: The customer's specific Armis Centrix™ instance URL, including the trailing slash (e.g., https://acme.armis.com/). Please obtain this directly from your Armis customer representative.
- Vendor ID: An identifier unique to your developer account or integration, obtained when you register on our developer portal. Your vendor id is
{user.vendor_id}. - Client ID: The email address of the user account within Armis Centrix™ that was used to generate the Secret Key.
- Secret Key: The confidential credential generated by your customer within the Armis Centrix™ user interface, paired with the Client ID.
- Scopes: The specific permissions required by your access token to interact with the desired API endpoints. Each API endpoint's documentation will specify its necessary scopes.
Don't have a Secret Key yet?No problem! Just ask your customer to navigate to
/settings/api-managementwithin their Armis Centrix™ tenant. They can generate a Secret Key for you there. Once you receive it, make sure to store it somewhere safe and secure!
TheFULL_VISIBILITYscopeThis is a special scope that is automatically associated with any user that has access to data from all sites and all boundaries in a tenant.
Obtaining an access token
To access the API, you must first obtain an access token by making a POST request to the /oauth/token endpoint.
Example
curl -X 'POST' \
'https://api.armis.com/v3/oauth/token' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"audience": "<tenant_url>",
"client_id": "<client_id>",
"client_secret": "<client_secret>",
"grant_type": "client_credentials",
"vendor_id": "{user.vendor_id}",
"scopes": ["<scope1>", "<scope2>"]
}'{
"access_token": "<access_token>",
"token_type": "Bearer",
"expires_in": 900
}Detailed recipe
Calling API endpoints
Once you have obtained an access token, it must be included in the Authorization header as a Bearer token for all subsequent API calls.
## Example
curl 'https://api.armis.com/v3/some/endpoint' \
-H 'Authorization: Bearer <access_token>'Updated about 2 months ago
