Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions doc-server/docs/api-docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4930,7 +4930,7 @@ query ListUserGroups($limit: Int) {

## Actions Without a Schema Entry

These 106 actions are routed by the gateway but declare no types in the schema, so they have no signature above. They are callable; their arguments and response shape have to be confirmed against a live environment. Descriptions come from the routing table.
These 113 actions are routed by the gateway but declare no types in the schema, so they have no signature above. They are callable; their arguments and response shape have to be confirmed against a live environment. Descriptions come from the routing table.

| Action | Description |
|---|---|
Expand Down Expand Up @@ -5004,11 +5004,18 @@ These 106 actions are routed by the gateway but declare no types in the schema,
| `kg_create_manual_dependency` | declare one service-to-service dependency. Endpoints take node_type + name (required) plus optional namespace/cluster/arn/account_id/region. Resolver runs synchronously; response carries post-resolve status. |
| `kg_update_manual_dependency` | edit endpoint identifiers (e.g. add a namespace to disambiguate) and auto-rerun the resolver. |
| `kg_delete_manual_dependency` | soft-delete one row AND remove the matching source='manual' edge from the KG in one transaction. Prevents ghost edges from outliving deleted declarations. |
| `kg_import_manual_dependencies` | bulk import declarations from CSV. Required header columns - source_node_type, source_name, dest_node_type, dest_name. Optional - source_namespace, source_cluster, source_arn, source_account_id, source_region, and the corresponding dest_ columns, plus relationship_type (defaults to CALLS) and notes. Returns per-row imported/rejected status. |
| `kg_resolve_manual_dependency` | operator-disambiguate an ambiguous row by picking source_node_id and/or destination_node_id from source_match_candidates / dest_match_candidates. |
| `kg_reresolve_manual_dependency` | force re-resolve a single row regardless of current status. Useful after the missing referenced node is later ingested into the KG. |
| `kg_reresolve_manual_dependencies` | bulk re-resolve. Default filter targets every non-resolved row (pending, unmatched, ambiguous, too_many_matches, node_inactive). Pass all_rows=true to also re-resolve already-resolved rows. |
| `kg_delete_all_manual_dependencies` | panic-button rollback. Soft-deletes every manual_dependencies row for the tenant AND removes every source='manual' edge from the KG. tenant_admin only. |
| `kg_get_manual_node_schema` | where nodes can be declared by hand (each connected cloud account, plus outside any connected account) and, per place, the declarable types with their compulsory key fields and optional schema properties. Drives the declare-node form. |
| `kg_list_manual_nodes` | list the tenant's manually declared KG nodes with status (active, adopted by a collector, possible_duplicate of a collected node). |
| `kg_create_manual_node` | declare one KG node and write it into the graph at once. In a connected account the node gets the id the collector writes for the same resource, so it merges when collected; 409 when the resource is already in the graph. |
| `kg_update_manual_node` | edit a declared node's description, optional properties and labels. Identity fields (account, type, name, region, network) cannot change - delete and declare again. |
| `kg_delete_manual_node` | withdraw a declaration and retire its node with the edges touching it. An adopted node is left to the collector that now owns it. |
| `kg_apply_manual_node_merge` | resolve a possible_duplicate declaration in favour of the collected node it matches - dependencies pinned to the declared node move to it and the declaration is withdrawn. |
Comment thread
mangglesh marked this conversation as resolved.
| `kg_create_manual_declarations` | declare KG nodes and dependencies from one JSON document, `{"nodes": [...], "dependencies": [...]}`. A node is a kg_create_manual_node request plus an optional ref (defaults to name, unique in the document). A dependency side is a ref to a node of the document, or an endpoint object with node_type, name and optional namespace, cluster, arn, account_id for a node already in the graph; relationship_type defaults to CALLS. Nodes land first; one already declared or collected comes back as existing and still links, and a dependency already declared comes back as existing. Invalid JSON, an unknown field, a duplicate or unknown ref, more than 1 MB or more than 500 items is a 400 with nothing written. Returns per-item results - nodes and dependencies, each created, existing or rejected. |
| `kg_delete_all_manual_nodes` | panic-button rollback. Withdraws every manual node declaration for the tenant and retires every node still owned by one, with its edges. tenant_admin only. |
| `product_updates_list` | List platform-wide product updates (changelog) |
| `notifications_list_watchable_channels` | List Slack channels Nubi can watch, with per-channel watch state |
| `notifications_enable_channel_watch` | Enable Nubi channel awareness for a channel (posts an in-channel disclosure) |
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion doc-server/docs/features/knowledge-graph/data-sources.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ You do not set up the graph separately. Connect a cluster, an account or an inte
| **PagerDuty** | On-call services, teams and users | An enabled PagerDuty integration |
| **Ownership** | Which user or team owns each workload, namespace, cluster and cloud resource | Owners set under **Admin → Access & Users → Ownership** |
| **Identity** | One node per NudgeBee user, linked to the same person's GitHub, GitLab or PagerDuty account | Users matched to their integration accounts |
| **You** | Dependencies and resources no collector can see | Declared in Knowledge Graph **Settings** |
| **You** | Dependencies and resources no collector can see | Declared in Knowledge Graph **Settings → Manual Declarations**. See [Manual Declarations](./manual-declarations.md). |

## Flow sources

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Either one nominates the workload for a higher tier. An AI review then sets the

- **Turn on flow sources.** eBPF, traces, Datadog APM and New Relic APM give the graph the calls between services. Without them it knows where things run, but much less about who talks to whom.
- **Set owners.** Owners set under **Admin → Access & Users → Ownership** appear in the graph as `OWNS` relationships.
- **Declare what NudgeBee cannot see.** A call that no flow source observes, or a database outside your connected accounts, can be added in Knowledge Graph **Settings**.
- **Declare what NudgeBee cannot see.** A call that no flow source observes, or a database outside your connected accounts, can be added in Knowledge Graph **Settings**. See [Manual Declarations](./manual-declarations.md).

## Related

Expand Down
3 changes: 2 additions & 1 deletion doc-server/docs/features/knowledge-graph/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,15 @@ The graph rebuilds every hour. The **Last synced** time at the top of the Filter

Every role that can use Troubleshoot can open the Knowledge Graph, from namespace admins to tenant admins. A user with a custom role needs the `kg:Read` permission; without it the tab is shown but grayed out.

Only tenant admins see the **Settings** button. It controls which accounts and flow sources feed the graph (see [Coverage](./data-sources.md#choose-what-feeds-the-graph-coverage)), and is where dependencies and resources no collector can see are declared by hand.
Only tenant admins see the **Settings** button. It controls which accounts and flow sources feed the graph (see [Coverage](./data-sources.md#choose-what-feeds-the-graph-coverage)), and is where dependencies and resources no collector can see are declared by hand (see [Manual Declarations](./manual-declarations.md)).

## In this section

- [Explore the Graph](./exploring.md) — filters, search, focus, traversal and the canvas controls
- [Nodes and Relationships](./nodes-and-relationships.md) — reading a node, node and edge details, and the full type reference
- [Where the Data Comes From](./data-sources.md) — every source, what it needs, rebuild timing, and the Coverage settings
- [How NudgeBee Uses the Graph](./how-nudgebee-uses-it.md) — AI answers, alert impact, blast radius and criticality
- [Manual Declarations](./manual-declarations.md) — add dependencies and resources the collectors cannot see, one at a time or from a JSON document

## Related

Expand Down
Loading
Loading