---
title: "Update custom node"
method: PUT
path: "/api/v2/custom-nodes/{kind_name}"
tags: ["Custom Node Management", "Community", "Enterprise"]
---

# Update custom node

`PUT /api/v2/custom-nodes/{kind_name}`

This endpoint updates an existing node kind along with optional display metadata such as icons and colors.
The provided configuration controls how nodes of the specified kinds are interpreted and rendered in the UI.
Only free, solid-style Font Awesome icons are supported. Hex color codes must follow the format #RGB or #RRGGBB.
If no valid icon or color is provided, the system will fall back to a question mark icon and a white background color.

## Request body

- object
  - `config` ModelCustomNodeConfig
    - `icon` object
      - `type` string
      - `name` string
      - `color` string

## Response `200`

OK

- ModelCustomNode
  - `id` integer
  - `kindName` string
  - `config` ModelCustomNodeConfig
    - `icon` object
      - `type` string
      - `name` string
      - `color` string

## Other responses

- `401` — **Unauthorized** This endpoint failed an authentication requirement. Either the client tried to access a protected endpoint without being authenticated, or an auth validation failed (ex- invalid credentials or expired token).
- `404` — **Not Found** This error typically comes from operations where a valid ID was passed to the request to look up an entity but the entity could not be found.
- `409` — **Conflict** Kind name is owned by a schema extension
- `500` — **Internal Server Error** This is usually the result of either an unexpected database or application error. The client may try modifying or resending the request, but the error is likely not related to the client doing something wrong.

---

[API](https://skmtc.net/specterops/apis/bloodhound-api.md) · [All operations](https://skmtc.net/specterops/apis/bloodhound-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/specterops/bloodhound-api/versions/9e5dcb1a1b37/schema)
