Skip to main content
PUT
/
api
/
v2
/
extensions
curl --request PUT \
  --url https://your-tenant.bloodhoundenterprise.io/api/v2/extensions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "schema": {
    "name": "OpenGraph_Extension",
    "display_name": "OpenGraph Extension",
    "version": "v1.0.0",
    "namespace": "OGE"
  },
  "node_kinds": [
    {
      "name": "OGE_Node_Kind_1",
      "display_name": "Node Kind 1",
      "description": "A generic node kind",
      "is_display_kind": true,
      "icon": "computer",
      "color": "#FF0000"
    },
    {
      "name": "OGE_Node_Kind_2",
      "display_name": "Node Kind 2",
      "description": "A secondary generic node kind",
      "is_display_kind": false
    },
    {
      "name": "OGE_Environment_Kind",
      "display_name": "Environment",
      "description": "A generic environment kind",
      "icon": "sitemap",
      "color": "#00FF00",
      "is_display_kind": true
    }
  ],
  "relationship_kinds": [
    {
      "name": "OGE_ConnectedTo",
      "description": "A generic relationship kind",
      "is_traversable": true
    }
  ],
  "environments": [
    {
      "environment_kind": "OGE_Environment_Kind",
      "source_kind": "OGExtension",
      "principal_kinds": [
        "OGE_Node_Kind_1",
        "OGE_Node_Kind_2"
      ]
    }
  ],
  "relationship_findings": [
    {
      "name": "OGE_Finding_1",
      "display_name": "Finding 1",
      "relationship_kind": "OGE_ConnectedTo",
      "environment_kind": "OGE_Environment_Kind",
      "remediation": {
        "short_description": "a remediation",
        "long_description": "a remediation to fix Finding 1",
        "short_remediation": "Do X",
        "long_remediation": "Do X to fix Finding 1"
      }
    }
  ]
}
'
{
  "http_status": 400,
  "timestamp": "2024-02-19T19:27:43.866Z",
  "request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "errors": [
    {
      "context": "clients",
      "message": "The JSON payload could not be unmarshalled."
    }
  ]
}
Applies to BloodHound Enterprise and CE

Authorizations

Authorization
string
header
required

Authorization: Bearer $JWT_TOKEN

Body

application/json
schema
object
node_kinds
object[]
relationship_kinds
object[]
environments
object[]
relationship_findings
object[]

Response

OK