Community
and Enterprise
tags.
To get help with BloodHound Community Edition, join our Slack community.
BloodHound Enterprise customers can submit tickets.
Authentication
The BloodHound API supports two kinds of authentication: JWT bearer tokens and signed requests. For quick tests or one-time calls, the JWT used by your browser may be the simplest route. For more secure and long lived API integrations, we recommend using signed requests.JWT bearer token
The API accepts calls using the following header structure in the HTTP request:Signed requests
Signed requests are the recommended form of authentication for the BloodHound API. Not only are signed requests better for long lived integrations, they also provide more security for the requests being sent. They provide authentication of the client, as well as verification of request integrity when received by the server. Signed requests consist of three main parts: The client token ID, the request timestamp, and a base64 encoded HMAC signature. These three pieces of information are sent with the request using the following header structure:Authorization
header,
and the Token Key, which is used as part of the HMAC hashing process. The token ID should be
considered as public (like a username) and the token key should be considered secret (like a
password). Once an API token is generated, you can use the key to sign requests.
For more documentation about how to work with authentication in the API, including examples
of how to generate an API token in the BloodHound UI, see Working With the BloodHound API.