How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SpecterOps BloodHound Users API

The BloodHound Users API from SpecterOps — 6 operation(s) for bloodhound users.

SpecterOps BloodHound Users API is one of 43 APIs that SpecterOps publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include BloodHound Users. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 12 operations across 6 paths, and defines 20 schemas. It is described by OpenAPI 3.2.0, at version v2.

Requests are made against a single base URL, /.

12 operations 6 paths 20 schemas 3 DELETE4 GET1 PATCH3 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v2
Base URL
https://bloodhoundenterprise.io/api/v2
Authentication
HTTP Bearer, API Key, API Key, API Key
License
Resource Areas
1

Authentication & Security 4

SpecterOps BloodHound Users API declares 4 security schemes for authenticating requests. It accepts HTTP bearer tokens (JWT) (JWTBearerToken). An API key is passed in the header as Authorization (SignedRequest). An API key is passed in the header as RequestDate (RequestDate). An API key is passed in the header as Signature (HMACSignature). By default, every request must be authenticated.

  • JWTBearerToken — Authorization: Bearer $JWTTOKEN
  • SignedRequest — Authorization: bhesignature $TOKENID
  • RequestDate — RequestDate: $RFC3339DATETIME
  • HMACSignature — Signature: $BASE64ENCODEDHMACSIGNATURE

Paths & Operations 12

Across 6 paths, the API surfaces 12 operations — 3 DELETE, 4 GET, 1 PATCH, 3 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

BloodHound Users 12
GET
/api/v2/bloodhound-users
List Users
ListUsers 11 params → 200400401403429500
POST
/api/v2/bloodhound-users
Create a New User
CreateUser 1 param body → 200400401403429500
GET
/api/v2/bloodhound-users-minimal
List Users Minimal
ListUsersMinimal 6 params → 200400401403429500
GET
/api/v2/bloodhound-users/{user_id}
Get a user
GetUser 2 params → 200400401403404429500
PATCH
/api/v2/bloodhound-users/{user_id}
Update a User
UpdateUser 2 params body → 200400401403404429500
DELETE
/api/v2/bloodhound-users/{user_id}
Delete a User
DeleteUser 2 params → 200400401403404429500default
PUT
/api/v2/bloodhound-users/{user_id}/secret
Create or Set User Secret
CreateOrSetUserSecret 2 params body → 200400401403404429500
DELETE
/api/v2/bloodhound-users/{user_id}/secret
Expire User Secret
DeleteUserSecret 2 params → 200400401403404429500
POST
/api/v2/bloodhound-users/{user_id}/mfa
Enrolls user in multi-factor authentication
AddUserMfa 2 params body → 200400401403404429500
DELETE
/api/v2/bloodhound-users/{user_id}/mfa
Unenroll user from multi-factor authentication
RemoveUserMfa 2 params body → 200400401403404429500
GET
/api/v2/bloodhound-users/{user_id}/mfa-activation
Returns MFA activation status for a user
GetMfaActivationStatus 2 params → 200400401403404429500
POST
/api/v2/bloodhound-users/{user_id}/mfa-activation
Activates MFA for an enrolled user
ActivateUserMfa 2 params body → 200400401403404429500

Schemas 20

The contract defines 20 schemas that model the data the API accepts and returns. The most detailed are api.requests.user.update (8 properties), api.error-wrapper (4 properties), model.components.timestamps (3 properties), api.error-detail (2 properties). Each schema is shown below with its type and property counts.

model.role
api.error-detail
object
2 properties
null.time
object
2 properties
model.users-minimal
api.params.predicate.filter.time
string
Filter results by column timestamp value formatted as an RFC-3339 string. Valid filter predicates are eq, neq, gt, gte, lt, lte.
api.params.predicate.filter.uuid
string
Filter results by column string-formatted uuid value. Valid filter predicates are eq, neq.
api.params.predicate.filter.string
string
Filter results by column string value. Valid filter predicates are eq, ~eq, neq.
model.user
api.params.query.sort-by
string
Sort by column. Can be used multiple times; prepend a hyphen for descending order. See parameter description for details about which columns are sortable.
null.int32
object
2 properties
model.permission
model.components.uuid
object
1 property
null.string
object
2 properties
model.components.int32.id
object
1 property
api.requests.user.set-secret
object
2 properties
enum.mfa-activation-status
string
The activation status of multi-factor authentication on a BloodHound user.
model.auth-secret
api.error-wrapper
object
4 properties
api.requests.user.update
object
8 properties
model.components.timestamps
object
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

specterops-bloodhound-users-api-openapi.yml Raw ↑

Other APIs SpecterOps publishes across the network.

SpecterOps AD Base Entities API
SpecterOps AD Users API
SpecterOps AIA CAs API
SpecterOps Analysis API
SpecterOps API Info API
SpecterOps API Tokens API
SpecterOps Asset Isolation API
SpecterOps Attack Paths API
SpecterOps Audit API
SpecterOps Auth API
SpecterOps Azure Entities API
SpecterOps Cert Templates API
Where this information came from

This is an independent, third-party profile of SpecterOps BloodHound Users API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.