@1claw/sdk 0.61.2 → 0.61.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/core/client.d.ts +3 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +2 -0
- package/dist/core/client.js.map +1 -1
- package/dist/generated/api-types.d.ts +1090 -6
- package/dist/generated/api-types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/otel.d.ts +196 -0
- package/dist/resources/otel.d.ts.map +1 -0
- package/dist/resources/otel.js +157 -0
- package/dist/resources/otel.js.map +1 -0
- package/dist/resources/platform.d.ts +13 -0
- package/dist/resources/platform.d.ts.map +1 -1
- package/dist/resources/platform.js +25 -0
- package/dist/resources/platform.js.map +1 -1
- package/package.json +1 -1
|
@@ -10185,6 +10185,96 @@ export interface paths {
|
|
|
10185
10185
|
patch?: never;
|
|
10186
10186
|
trace?: never;
|
|
10187
10187
|
};
|
|
10188
|
+
"/v1/platform/connections/{connection_id}/otel/topology": {
|
|
10189
|
+
parameters: {
|
|
10190
|
+
query?: never;
|
|
10191
|
+
header?: never;
|
|
10192
|
+
path?: never;
|
|
10193
|
+
cookie?: never;
|
|
10194
|
+
};
|
|
10195
|
+
/**
|
|
10196
|
+
* Topology for one connection's agents
|
|
10197
|
+
* @description The same graph as `/v1/otel/topology`, restricted to what this connection's agents reach: the agents, the policies they hold, the vaults those grant, the chains they sign on and the systems they call. Restricted before the 500-node cap, so a large org's cap cannot cut the connection's own agents out. Walking is directed (agent → policy → vault), so a vault shared with another tenant's agent does not reveal that agent.
|
|
10198
|
+
*
|
|
10199
|
+
* A `plt_` key sees one connection's agents, never the end-user's org: that org may hold agents from other platforms or the user's own. The set is agents attributed to the connection plus the ones listed on it, constrained to the connection's org. A connection that does not belong to the calling app is a 404.
|
|
10200
|
+
*/
|
|
10201
|
+
get: operations["get_platform_connection_otel_topology"];
|
|
10202
|
+
put?: never;
|
|
10203
|
+
post?: never;
|
|
10204
|
+
delete?: never;
|
|
10205
|
+
options?: never;
|
|
10206
|
+
head?: never;
|
|
10207
|
+
patch?: never;
|
|
10208
|
+
trace?: never;
|
|
10209
|
+
};
|
|
10210
|
+
"/v1/platform/connections/{connection_id}/otel/threats": {
|
|
10211
|
+
parameters: {
|
|
10212
|
+
query?: never;
|
|
10213
|
+
header?: never;
|
|
10214
|
+
path?: never;
|
|
10215
|
+
cookie?: never;
|
|
10216
|
+
};
|
|
10217
|
+
/**
|
|
10218
|
+
* Open threats on one connection's agents
|
|
10219
|
+
* @description `/v1/otel/threats` filtered to the connection's agents, same ranking (blast radius, then recency).
|
|
10220
|
+
*
|
|
10221
|
+
* A `plt_` key sees one connection's agents, never the end-user's org: that org may hold agents from other platforms or the user's own. The set is agents attributed to the connection plus the ones listed on it, constrained to the connection's org. A connection that does not belong to the calling app is a 404.
|
|
10222
|
+
*/
|
|
10223
|
+
get: operations["get_platform_connection_otel_threats"];
|
|
10224
|
+
put?: never;
|
|
10225
|
+
post?: never;
|
|
10226
|
+
delete?: never;
|
|
10227
|
+
options?: never;
|
|
10228
|
+
head?: never;
|
|
10229
|
+
patch?: never;
|
|
10230
|
+
trace?: never;
|
|
10231
|
+
};
|
|
10232
|
+
"/v1/platform/connections/{connection_id}/otel/summary": {
|
|
10233
|
+
parameters: {
|
|
10234
|
+
query?: never;
|
|
10235
|
+
header?: never;
|
|
10236
|
+
path?: never;
|
|
10237
|
+
cookie?: never;
|
|
10238
|
+
};
|
|
10239
|
+
/**
|
|
10240
|
+
* Posture score and counts for one connection's agents
|
|
10241
|
+
* @description `/v1/otel/summary` over a smaller world: the posture score uses the connection's agents' trust scores and the resources they reach; threat and pending-approval counts are the connection's agents' only.
|
|
10242
|
+
*
|
|
10243
|
+
* A `plt_` key sees one connection's agents, never the end-user's org: that org may hold agents from other platforms or the user's own. The set is agents attributed to the connection plus the ones listed on it, constrained to the connection's org. A connection that does not belong to the calling app is a 404.
|
|
10244
|
+
*/
|
|
10245
|
+
get: operations["get_platform_connection_otel_summary"];
|
|
10246
|
+
put?: never;
|
|
10247
|
+
post?: never;
|
|
10248
|
+
delete?: never;
|
|
10249
|
+
options?: never;
|
|
10250
|
+
head?: never;
|
|
10251
|
+
patch?: never;
|
|
10252
|
+
trace?: never;
|
|
10253
|
+
};
|
|
10254
|
+
"/v1/platform/connections/{connection_id}/otel/stream": {
|
|
10255
|
+
parameters: {
|
|
10256
|
+
query?: never;
|
|
10257
|
+
header?: never;
|
|
10258
|
+
path?: never;
|
|
10259
|
+
cookie?: never;
|
|
10260
|
+
};
|
|
10261
|
+
/**
|
|
10262
|
+
* Live signal stream for one connection's agents (SSE)
|
|
10263
|
+
* @description The same protocol as `/v1/otel/stream` — `Last-Event-ID` resume, `event: gap` on a stale cursor or a lagged subscriber — filtered to signals whose agent is one of the connection's. Signals with no agent (a human's own dashboard actions) are never emitted here. The agent set is fixed at connect time; an agent added later appears on the next connect.
|
|
10264
|
+
*
|
|
10265
|
+
* Stream slots are counted per platform app (five), not per connection.
|
|
10266
|
+
*
|
|
10267
|
+
* A `plt_` key sees one connection's agents, never the end-user's org: that org may hold agents from other platforms or the user's own. The set is agents attributed to the connection plus the ones listed on it, constrained to the connection's org. A connection that does not belong to the calling app is a 404.
|
|
10268
|
+
*/
|
|
10269
|
+
get: operations["get_platform_connection_otel_stream"];
|
|
10270
|
+
put?: never;
|
|
10271
|
+
post?: never;
|
|
10272
|
+
delete?: never;
|
|
10273
|
+
options?: never;
|
|
10274
|
+
head?: never;
|
|
10275
|
+
patch?: never;
|
|
10276
|
+
trace?: never;
|
|
10277
|
+
};
|
|
10188
10278
|
"/v1/platform/connections/{connection_id}/resources": {
|
|
10189
10279
|
parameters: {
|
|
10190
10280
|
query?: never;
|
|
@@ -10334,6 +10424,218 @@ export interface paths {
|
|
|
10334
10424
|
patch?: never;
|
|
10335
10425
|
trace?: never;
|
|
10336
10426
|
};
|
|
10427
|
+
"/v1/otel/stream": {
|
|
10428
|
+
parameters: {
|
|
10429
|
+
query?: never;
|
|
10430
|
+
header?: never;
|
|
10431
|
+
path?: never;
|
|
10432
|
+
cookie?: never;
|
|
10433
|
+
};
|
|
10434
|
+
/**
|
|
10435
|
+
* SSE stream of this org's telemetry signals
|
|
10436
|
+
* @description Server-sent events carrying spans, metrics and events for the caller's organization. Human users only: an agent must not be able to subscribe to org-wide telemetry.
|
|
10437
|
+
*
|
|
10438
|
+
* Every message carries an `id:` field. On reconnect, send the last one back as the `Last-Event-ID` header to resume. If that id has fallen out of the server's buffer, or came from another replica, the stream opens with an `event: gap` message and the client must refetch topology rather than assume continuity. A `gap` is also emitted, without closing the connection, when a subscriber falls behind.
|
|
10439
|
+
*/
|
|
10440
|
+
get: operations["stream_otel_signals"];
|
|
10441
|
+
put?: never;
|
|
10442
|
+
post?: never;
|
|
10443
|
+
delete?: never;
|
|
10444
|
+
options?: never;
|
|
10445
|
+
head?: never;
|
|
10446
|
+
patch?: never;
|
|
10447
|
+
trace?: never;
|
|
10448
|
+
};
|
|
10449
|
+
"/v1/otel/threats": {
|
|
10450
|
+
parameters: {
|
|
10451
|
+
query?: never;
|
|
10452
|
+
header?: never;
|
|
10453
|
+
path?: never;
|
|
10454
|
+
cookie?: never;
|
|
10455
|
+
};
|
|
10456
|
+
/**
|
|
10457
|
+
* Durable threat register for the org, worst reach first
|
|
10458
|
+
* @description Threats are ranked by blast radius — the size of the affected agent's topology neighbourhood (vaults + connectors + chains) — not by recency or severity alone, so the row an operator should look at first is first. Ties fall back to recency.
|
|
10459
|
+
*
|
|
10460
|
+
* `shadow: true` marks a threat the trust engine produced while running in recommend-only mode. Those are shown with a badge and never acted on automatically.
|
|
10461
|
+
*
|
|
10462
|
+
* Evidence carries trace and span ids and a note. It never contains secret values or HTTP bodies.
|
|
10463
|
+
*/
|
|
10464
|
+
get: operations["list_otel_threats"];
|
|
10465
|
+
put?: never;
|
|
10466
|
+
post?: never;
|
|
10467
|
+
delete?: never;
|
|
10468
|
+
options?: never;
|
|
10469
|
+
head?: never;
|
|
10470
|
+
patch?: never;
|
|
10471
|
+
trace?: never;
|
|
10472
|
+
};
|
|
10473
|
+
"/v1/org/settings/otel-export": {
|
|
10474
|
+
parameters: {
|
|
10475
|
+
query?: never;
|
|
10476
|
+
header?: never;
|
|
10477
|
+
path?: never;
|
|
10478
|
+
cookie?: never;
|
|
10479
|
+
};
|
|
10480
|
+
/**
|
|
10481
|
+
* Read the org's OTLP export configuration
|
|
10482
|
+
* @description Owner or admin, Team tier and above. Returns header *names* only — the values are the customer's collector credentials and never round-trip through the browser.
|
|
10483
|
+
*/
|
|
10484
|
+
get: operations["get_otel_export_config"];
|
|
10485
|
+
put?: never;
|
|
10486
|
+
post?: never;
|
|
10487
|
+
delete?: never;
|
|
10488
|
+
options?: never;
|
|
10489
|
+
head?: never;
|
|
10490
|
+
/**
|
|
10491
|
+
* Update the org's OTLP export configuration
|
|
10492
|
+
* @description Every field is optional and only present fields change. The endpoint is validated *and DNS-resolved* on save: HTTPS only, no embedded credentials, and refused if any resolved address is private, loopback, link-local, metadata or ULA. A URL that resolves to a private address is the SSRF, and it is refused here rather than left in the database looking configured.
|
|
10493
|
+
*
|
|
10494
|
+
* `headers` replaces the whole map when present and is encrypted at rest under the org's key. Omit it to change other fields without touching stored header values you cannot read back.
|
|
10495
|
+
*
|
|
10496
|
+
* Transport is OTLP over HTTP with JSON encoding, posted to `<endpoint>/v1/traces`, `/v1/metrics` and `/v1/logs`. What leaves is exactly what the org's own dashboard stream carries — signals already through the collector's redaction pass.
|
|
10497
|
+
*/
|
|
10498
|
+
patch: operations["patch_otel_export_config"];
|
|
10499
|
+
trace?: never;
|
|
10500
|
+
};
|
|
10501
|
+
"/v1/org/settings/otel-export/test": {
|
|
10502
|
+
parameters: {
|
|
10503
|
+
query?: never;
|
|
10504
|
+
header?: never;
|
|
10505
|
+
path?: never;
|
|
10506
|
+
cookie?: never;
|
|
10507
|
+
};
|
|
10508
|
+
get?: never;
|
|
10509
|
+
put?: never;
|
|
10510
|
+
/**
|
|
10511
|
+
* Send one synthetic span to the configured endpoint
|
|
10512
|
+
* @description Re-resolves the endpoint at send time and pins the connection to the resolved address, with redirects disabled. Rate-limited to 5 per minute per org: even a validated endpoint is an outbound request the caller chose the target of.
|
|
10513
|
+
*/
|
|
10514
|
+
post: operations["test_otel_export"];
|
|
10515
|
+
delete?: never;
|
|
10516
|
+
options?: never;
|
|
10517
|
+
head?: never;
|
|
10518
|
+
patch?: never;
|
|
10519
|
+
trace?: never;
|
|
10520
|
+
};
|
|
10521
|
+
"/v1/otel/metrics": {
|
|
10522
|
+
parameters: {
|
|
10523
|
+
query?: never;
|
|
10524
|
+
header?: never;
|
|
10525
|
+
path?: never;
|
|
10526
|
+
cookie?: never;
|
|
10527
|
+
};
|
|
10528
|
+
/**
|
|
10529
|
+
* Time-bucketed rollups from durable tables
|
|
10530
|
+
* @description Volume, denials and latency over a window. Sourced from durable tables, never from in-process counters: an in-memory histogram is per-replica and resets on deploy, so a 24h chart drawn from one disagrees between instances and is wrong after every release.
|
|
10531
|
+
*
|
|
10532
|
+
* Every bucket in the range is returned, including empty ones. A quiet hour is a zero, not a missing point — a line chart given a hole joins across it as though nothing happened.
|
|
10533
|
+
*
|
|
10534
|
+
* `step` may be widened from what was requested when the window would otherwise produce more than 500 buckets. The response echoes the window and step actually used, so a chart can label its own resolution rather than the one it asked for.
|
|
10535
|
+
*/
|
|
10536
|
+
get: operations["get_otel_metrics"];
|
|
10537
|
+
put?: never;
|
|
10538
|
+
post?: never;
|
|
10539
|
+
delete?: never;
|
|
10540
|
+
options?: never;
|
|
10541
|
+
head?: never;
|
|
10542
|
+
patch?: never;
|
|
10543
|
+
trace?: never;
|
|
10544
|
+
};
|
|
10545
|
+
"/v1/otel/agents/{agent_id}/trust": {
|
|
10546
|
+
parameters: {
|
|
10547
|
+
query?: never;
|
|
10548
|
+
header?: never;
|
|
10549
|
+
path?: never;
|
|
10550
|
+
cookie?: never;
|
|
10551
|
+
};
|
|
10552
|
+
/**
|
|
10553
|
+
* The breakdown behind one agent's trust score
|
|
10554
|
+
* @description The topology carries a single 0-100 trust number per agent. This is what it is made of: each weighted component (`null` when this deployment has no source for it — not measured, not zero), a 24-hour history for a sparkline, and the agent's last audit actions. Actions and resource types only; audit `metadata` is where secret paths live and it is not returned.
|
|
10555
|
+
*
|
|
10556
|
+
* Scores are `shadow` until the engine is promoted out of recommend-only mode; an agent the engine has not yet reached returns `score: null` and `shadow: true`.
|
|
10557
|
+
*
|
|
10558
|
+
* Human users only. An agent id outside the caller's org is a 404, not a 403, so the response does not confirm the id exists.
|
|
10559
|
+
*/
|
|
10560
|
+
get: operations["get_otel_agent_trust"];
|
|
10561
|
+
put?: never;
|
|
10562
|
+
post?: never;
|
|
10563
|
+
delete?: never;
|
|
10564
|
+
options?: never;
|
|
10565
|
+
head?: never;
|
|
10566
|
+
patch?: never;
|
|
10567
|
+
trace?: never;
|
|
10568
|
+
};
|
|
10569
|
+
"/v1/otel/flows": {
|
|
10570
|
+
parameters: {
|
|
10571
|
+
query?: never;
|
|
10572
|
+
header?: never;
|
|
10573
|
+
path?: never;
|
|
10574
|
+
cookie?: never;
|
|
10575
|
+
};
|
|
10576
|
+
/**
|
|
10577
|
+
* Who actually read from which vault
|
|
10578
|
+
* @description Reachability (the topology's policy edges) says who *could* read a vault. This says who *did*, counted from `audit_events.action = 'secret.read'` — the durable record every read already writes — grouped by agent and vault. That is what lets a Sankey ribbon's width be a count of real reads rather than a guess.
|
|
10579
|
+
*
|
|
10580
|
+
* Agent actors only; a human reading a secret through the dashboard is not an agent flow. Deleted agents and vaults are kept and labelled as such — a read that happened is still a read.
|
|
10581
|
+
*/
|
|
10582
|
+
get: operations["get_otel_flows"];
|
|
10583
|
+
put?: never;
|
|
10584
|
+
post?: never;
|
|
10585
|
+
delete?: never;
|
|
10586
|
+
options?: never;
|
|
10587
|
+
head?: never;
|
|
10588
|
+
patch?: never;
|
|
10589
|
+
trace?: never;
|
|
10590
|
+
};
|
|
10591
|
+
"/v1/otel/summary": {
|
|
10592
|
+
parameters: {
|
|
10593
|
+
query?: never;
|
|
10594
|
+
header?: never;
|
|
10595
|
+
path?: never;
|
|
10596
|
+
cookie?: never;
|
|
10597
|
+
};
|
|
10598
|
+
/**
|
|
10599
|
+
* Posture score and the counts behind it
|
|
10600
|
+
* @description `posture_score` is the mean agent trust score, less a penalty per open critical threat scaled by the fraction of the organization that threat can reach. Scaling by fraction rather than count is what makes the number comparable between a seven-agent org and a fifty-agent one.
|
|
10601
|
+
*
|
|
10602
|
+
* It returns 100 when there are no agents, and also while the trust engine is still in shadow mode and no scores exist yet — absence of data is not evidence of compromise. It never goes below 0.
|
|
10603
|
+
*
|
|
10604
|
+
* `top_threats` uses the same ranking as `/v1/otel/threats`, so clicking through from the summary lands on the same first row.
|
|
10605
|
+
*/
|
|
10606
|
+
get: operations["get_otel_summary"];
|
|
10607
|
+
put?: never;
|
|
10608
|
+
post?: never;
|
|
10609
|
+
delete?: never;
|
|
10610
|
+
options?: never;
|
|
10611
|
+
head?: never;
|
|
10612
|
+
patch?: never;
|
|
10613
|
+
trace?: never;
|
|
10614
|
+
};
|
|
10615
|
+
"/v1/otel/topology": {
|
|
10616
|
+
parameters: {
|
|
10617
|
+
query?: never;
|
|
10618
|
+
header?: never;
|
|
10619
|
+
path?: never;
|
|
10620
|
+
cookie?: never;
|
|
10621
|
+
};
|
|
10622
|
+
/**
|
|
10623
|
+
* Agent, vault, policy, connector and chain graph for the org
|
|
10624
|
+
* @description A snapshot of the organization's resources and how they connect. Human users only.
|
|
10625
|
+
*
|
|
10626
|
+
* Capped at 500 nodes. When the cap applies, `truncated` is true and `total_nodes` reports the count before capping — a client must not present a truncated graph as complete. Agents are kept in preference to everything else, and edges that lose an endpoint to the cap are removed.
|
|
10627
|
+
*
|
|
10628
|
+
* Agent `status` is derived at request time, never stored, so it cannot go stale.
|
|
10629
|
+
*/
|
|
10630
|
+
get: operations["get_otel_topology"];
|
|
10631
|
+
put?: never;
|
|
10632
|
+
post?: never;
|
|
10633
|
+
delete?: never;
|
|
10634
|
+
options?: never;
|
|
10635
|
+
head?: never;
|
|
10636
|
+
patch?: never;
|
|
10637
|
+
trace?: never;
|
|
10638
|
+
};
|
|
10337
10639
|
"/v1/runtimes/{runtime_id}/logs/stream": {
|
|
10338
10640
|
parameters: {
|
|
10339
10641
|
query?: never;
|
|
@@ -10689,6 +10991,69 @@ export interface paths {
|
|
|
10689
10991
|
export type webhooks = Record<string, never>;
|
|
10690
10992
|
export interface components {
|
|
10691
10993
|
schemas: {
|
|
10994
|
+
OtelTopology: {
|
|
10995
|
+
nodes: {
|
|
10996
|
+
/** @description Namespaced by kind, e.g. `agent:<uuid>`. */
|
|
10997
|
+
id: string;
|
|
10998
|
+
/** @enum {string} */
|
|
10999
|
+
kind: "agent" | "vault" | "policy" | "connector" | "chain";
|
|
11000
|
+
label: string;
|
|
11001
|
+
/**
|
|
11002
|
+
* @description Agents only. Derived, not stored.
|
|
11003
|
+
* @enum {string}
|
|
11004
|
+
*/
|
|
11005
|
+
status?: "compromised" | "warn" | "suspended" | "ok";
|
|
11006
|
+
/** @description Agents only. Absent until the trust engine has scored the agent. */
|
|
11007
|
+
trust?: number;
|
|
11008
|
+
}[];
|
|
11009
|
+
edges: {
|
|
11010
|
+
from: string;
|
|
11011
|
+
to: string;
|
|
11012
|
+
/** @enum {string} */
|
|
11013
|
+
kind: "calls" | "grants" | "holds" | "signs";
|
|
11014
|
+
}[];
|
|
11015
|
+
truncated: boolean;
|
|
11016
|
+
/** @description Node count before the cap. */
|
|
11017
|
+
total_nodes: number;
|
|
11018
|
+
/** @description Present and true only for synthetic data. */
|
|
11019
|
+
fixture?: boolean;
|
|
11020
|
+
};
|
|
11021
|
+
OtelThreatList: {
|
|
11022
|
+
/** Format: uuid */
|
|
11023
|
+
id: string;
|
|
11024
|
+
/** Format: uuid */
|
|
11025
|
+
agent_id: string;
|
|
11026
|
+
/** @enum {string} */
|
|
11027
|
+
class: "prompt_injection" | "policy_breach" | "spend_anomaly" | "key_exfil" | "off_hours" | "consensus_bypass" | "trust_breach";
|
|
11028
|
+
/** @enum {string} */
|
|
11029
|
+
severity: "critical" | "warn";
|
|
11030
|
+
detected_by: string;
|
|
11031
|
+
/** @enum {string} */
|
|
11032
|
+
status: "open" | "acknowledged" | "resolved";
|
|
11033
|
+
shadow: boolean;
|
|
11034
|
+
evidence?: Record<string, never>[];
|
|
11035
|
+
blast_radius: {
|
|
11036
|
+
vaults?: number;
|
|
11037
|
+
connectors?: number;
|
|
11038
|
+
chains?: number;
|
|
11039
|
+
};
|
|
11040
|
+
/** @description Sum of the blast radius. The sort key. */
|
|
11041
|
+
blast_radius_size: number;
|
|
11042
|
+
resolved_by?: string | null;
|
|
11043
|
+
/** Format: date-time */
|
|
11044
|
+
created_at?: string;
|
|
11045
|
+
/** Format: date-time */
|
|
11046
|
+
updated_at?: string;
|
|
11047
|
+
}[];
|
|
11048
|
+
OtelSummary: {
|
|
11049
|
+
posture_score: number;
|
|
11050
|
+
open_threats: number;
|
|
11051
|
+
open_critical: number;
|
|
11052
|
+
pending_approvals: number;
|
|
11053
|
+
agent_count: number;
|
|
11054
|
+
/** @description At most five, same ranking as /v1/otel/threats. */
|
|
11055
|
+
top_threats: Record<string, never>[];
|
|
11056
|
+
};
|
|
10692
11057
|
UpdatePayGuardrailsRequest: {
|
|
10693
11058
|
pay_enabled?: boolean;
|
|
10694
11059
|
pay_max_usd?: string | null;
|
|
@@ -10917,13 +11282,21 @@ export interface components {
|
|
|
10917
11282
|
/** @enum {string} */
|
|
10918
11283
|
mfa_method?: "totp" | "passkey";
|
|
10919
11284
|
};
|
|
11285
|
+
/** @description Exactly one credential, decided by the agent's auth_method: api_key for api_key agents, oidc_token for oidc_client_credentials agents. mTLS agents send neither and present a client certificate through the TLS terminator. */
|
|
10920
11286
|
AgentTokenRequest: {
|
|
10921
11287
|
/**
|
|
10922
11288
|
* Format: uuid
|
|
10923
|
-
* @description Optional
|
|
11289
|
+
* @description Optional for api_key agents (ocv_ keys auto-resolve from their prefix). Required for OIDC and mTLS agents, which have no key to look up by.
|
|
10924
11290
|
*/
|
|
10925
11291
|
agent_id?: string;
|
|
10926
|
-
api_key
|
|
11292
|
+
/** @description The ocv_ key, for auth_method api_key. */
|
|
11293
|
+
api_key?: string;
|
|
11294
|
+
/** @description Token minted by the agent's OIDC provider, for auth_method oidc_client_credentials. Verified against the issuer and audience on the agent record, so nothing long-lived is stored where the agent runs. */
|
|
11295
|
+
oidc_token?: string;
|
|
11296
|
+
/** @description Optional DPoP public key (JWK) binding the issued JWT to a client keypair. */
|
|
11297
|
+
dpop_jwk?: {
|
|
11298
|
+
[key: string]: unknown;
|
|
11299
|
+
};
|
|
10927
11300
|
};
|
|
10928
11301
|
UserApiKeyTokenRequest: {
|
|
10929
11302
|
api_key: string;
|
|
@@ -32305,7 +32678,7 @@ export interface operations {
|
|
|
32305
32678
|
};
|
|
32306
32679
|
};
|
|
32307
32680
|
};
|
|
32308
|
-
|
|
32681
|
+
get_platform_connection_otel_topology: {
|
|
32309
32682
|
parameters: {
|
|
32310
32683
|
query?: never;
|
|
32311
32684
|
header?: never;
|
|
@@ -32316,13 +32689,196 @@ export interface operations {
|
|
|
32316
32689
|
};
|
|
32317
32690
|
requestBody?: never;
|
|
32318
32691
|
responses: {
|
|
32319
|
-
/** @description
|
|
32692
|
+
/** @description Nodes and edges reachable from the connection's agents */
|
|
32320
32693
|
200: {
|
|
32321
32694
|
headers: {
|
|
32322
32695
|
[name: string]: unknown;
|
|
32323
32696
|
};
|
|
32324
|
-
content
|
|
32325
|
-
|
|
32697
|
+
content: {
|
|
32698
|
+
"application/json": components["schemas"]["OtelTopology"];
|
|
32699
|
+
};
|
|
32700
|
+
};
|
|
32701
|
+
/** @description Unauthenticated */
|
|
32702
|
+
401: {
|
|
32703
|
+
headers: {
|
|
32704
|
+
[name: string]: unknown;
|
|
32705
|
+
};
|
|
32706
|
+
content?: never;
|
|
32707
|
+
};
|
|
32708
|
+
/** @description Not a plt_ key */
|
|
32709
|
+
403: {
|
|
32710
|
+
headers: {
|
|
32711
|
+
[name: string]: unknown;
|
|
32712
|
+
};
|
|
32713
|
+
content?: never;
|
|
32714
|
+
};
|
|
32715
|
+
/** @description Connection not found for this app */
|
|
32716
|
+
404: {
|
|
32717
|
+
headers: {
|
|
32718
|
+
[name: string]: unknown;
|
|
32719
|
+
};
|
|
32720
|
+
content?: never;
|
|
32721
|
+
};
|
|
32722
|
+
};
|
|
32723
|
+
};
|
|
32724
|
+
get_platform_connection_otel_threats: {
|
|
32725
|
+
parameters: {
|
|
32726
|
+
query?: {
|
|
32727
|
+
state?: "open" | "all";
|
|
32728
|
+
};
|
|
32729
|
+
header?: never;
|
|
32730
|
+
path: {
|
|
32731
|
+
connection_id: string;
|
|
32732
|
+
};
|
|
32733
|
+
cookie?: never;
|
|
32734
|
+
};
|
|
32735
|
+
requestBody?: never;
|
|
32736
|
+
responses: {
|
|
32737
|
+
/** @description Threats on the connection's agents, highest blast radius first */
|
|
32738
|
+
200: {
|
|
32739
|
+
headers: {
|
|
32740
|
+
[name: string]: unknown;
|
|
32741
|
+
};
|
|
32742
|
+
content: {
|
|
32743
|
+
"application/json": components["schemas"]["OtelThreatList"];
|
|
32744
|
+
};
|
|
32745
|
+
};
|
|
32746
|
+
/** @description Unauthenticated */
|
|
32747
|
+
401: {
|
|
32748
|
+
headers: {
|
|
32749
|
+
[name: string]: unknown;
|
|
32750
|
+
};
|
|
32751
|
+
content?: never;
|
|
32752
|
+
};
|
|
32753
|
+
/** @description Not a plt_ key */
|
|
32754
|
+
403: {
|
|
32755
|
+
headers: {
|
|
32756
|
+
[name: string]: unknown;
|
|
32757
|
+
};
|
|
32758
|
+
content?: never;
|
|
32759
|
+
};
|
|
32760
|
+
/** @description Connection not found for this app */
|
|
32761
|
+
404: {
|
|
32762
|
+
headers: {
|
|
32763
|
+
[name: string]: unknown;
|
|
32764
|
+
};
|
|
32765
|
+
content?: never;
|
|
32766
|
+
};
|
|
32767
|
+
};
|
|
32768
|
+
};
|
|
32769
|
+
get_platform_connection_otel_summary: {
|
|
32770
|
+
parameters: {
|
|
32771
|
+
query?: never;
|
|
32772
|
+
header?: never;
|
|
32773
|
+
path: {
|
|
32774
|
+
connection_id: string;
|
|
32775
|
+
};
|
|
32776
|
+
cookie?: never;
|
|
32777
|
+
};
|
|
32778
|
+
requestBody?: never;
|
|
32779
|
+
responses: {
|
|
32780
|
+
/** @description Posture and counts for the connection */
|
|
32781
|
+
200: {
|
|
32782
|
+
headers: {
|
|
32783
|
+
[name: string]: unknown;
|
|
32784
|
+
};
|
|
32785
|
+
content: {
|
|
32786
|
+
"application/json": components["schemas"]["OtelSummary"];
|
|
32787
|
+
};
|
|
32788
|
+
};
|
|
32789
|
+
/** @description Unauthenticated */
|
|
32790
|
+
401: {
|
|
32791
|
+
headers: {
|
|
32792
|
+
[name: string]: unknown;
|
|
32793
|
+
};
|
|
32794
|
+
content?: never;
|
|
32795
|
+
};
|
|
32796
|
+
/** @description Not a plt_ key */
|
|
32797
|
+
403: {
|
|
32798
|
+
headers: {
|
|
32799
|
+
[name: string]: unknown;
|
|
32800
|
+
};
|
|
32801
|
+
content?: never;
|
|
32802
|
+
};
|
|
32803
|
+
/** @description Connection not found for this app */
|
|
32804
|
+
404: {
|
|
32805
|
+
headers: {
|
|
32806
|
+
[name: string]: unknown;
|
|
32807
|
+
};
|
|
32808
|
+
content?: never;
|
|
32809
|
+
};
|
|
32810
|
+
};
|
|
32811
|
+
};
|
|
32812
|
+
get_platform_connection_otel_stream: {
|
|
32813
|
+
parameters: {
|
|
32814
|
+
query?: never;
|
|
32815
|
+
header?: {
|
|
32816
|
+
"Last-Event-ID"?: string;
|
|
32817
|
+
};
|
|
32818
|
+
path: {
|
|
32819
|
+
connection_id: string;
|
|
32820
|
+
};
|
|
32821
|
+
cookie?: never;
|
|
32822
|
+
};
|
|
32823
|
+
requestBody?: never;
|
|
32824
|
+
responses: {
|
|
32825
|
+
/** @description text/event-stream */
|
|
32826
|
+
200: {
|
|
32827
|
+
headers: {
|
|
32828
|
+
[name: string]: unknown;
|
|
32829
|
+
};
|
|
32830
|
+
content: {
|
|
32831
|
+
"text/event-stream": string;
|
|
32832
|
+
};
|
|
32833
|
+
};
|
|
32834
|
+
/** @description Unauthenticated */
|
|
32835
|
+
401: {
|
|
32836
|
+
headers: {
|
|
32837
|
+
[name: string]: unknown;
|
|
32838
|
+
};
|
|
32839
|
+
content?: never;
|
|
32840
|
+
};
|
|
32841
|
+
/** @description Not a plt_ key */
|
|
32842
|
+
403: {
|
|
32843
|
+
headers: {
|
|
32844
|
+
[name: string]: unknown;
|
|
32845
|
+
};
|
|
32846
|
+
content?: never;
|
|
32847
|
+
};
|
|
32848
|
+
/** @description Connection not found for this app */
|
|
32849
|
+
404: {
|
|
32850
|
+
headers: {
|
|
32851
|
+
[name: string]: unknown;
|
|
32852
|
+
};
|
|
32853
|
+
content?: never;
|
|
32854
|
+
};
|
|
32855
|
+
/** @description Stream slot cap for this app reached */
|
|
32856
|
+
429: {
|
|
32857
|
+
headers: {
|
|
32858
|
+
[name: string]: unknown;
|
|
32859
|
+
};
|
|
32860
|
+
content?: never;
|
|
32861
|
+
};
|
|
32862
|
+
};
|
|
32863
|
+
};
|
|
32864
|
+
list_connection_resources: {
|
|
32865
|
+
parameters: {
|
|
32866
|
+
query?: never;
|
|
32867
|
+
header?: never;
|
|
32868
|
+
path: {
|
|
32869
|
+
connection_id: string;
|
|
32870
|
+
};
|
|
32871
|
+
cookie?: never;
|
|
32872
|
+
};
|
|
32873
|
+
requestBody?: never;
|
|
32874
|
+
responses: {
|
|
32875
|
+
/** @description Success */
|
|
32876
|
+
200: {
|
|
32877
|
+
headers: {
|
|
32878
|
+
[name: string]: unknown;
|
|
32879
|
+
};
|
|
32880
|
+
content?: never;
|
|
32881
|
+
};
|
|
32326
32882
|
/** @description Unauthenticated */
|
|
32327
32883
|
401: {
|
|
32328
32884
|
headers: {
|
|
@@ -32731,6 +33287,534 @@ export interface operations {
|
|
|
32731
33287
|
};
|
|
32732
33288
|
};
|
|
32733
33289
|
};
|
|
33290
|
+
stream_otel_signals: {
|
|
33291
|
+
parameters: {
|
|
33292
|
+
query?: {
|
|
33293
|
+
/** @description Set to `1` to request synthetic data. Available only on deployments with fixtures enabled, or to callers in the platform organization; refused with 403 otherwise. */
|
|
33294
|
+
fixture?: "1" | "true";
|
|
33295
|
+
};
|
|
33296
|
+
header?: {
|
|
33297
|
+
/** @description Resume after this event id. */
|
|
33298
|
+
"Last-Event-ID"?: string;
|
|
33299
|
+
};
|
|
33300
|
+
path?: never;
|
|
33301
|
+
cookie?: never;
|
|
33302
|
+
};
|
|
33303
|
+
requestBody?: never;
|
|
33304
|
+
responses: {
|
|
33305
|
+
/** @description An event stream */
|
|
33306
|
+
200: {
|
|
33307
|
+
headers: {
|
|
33308
|
+
[name: string]: unknown;
|
|
33309
|
+
};
|
|
33310
|
+
content: {
|
|
33311
|
+
"text/event-stream": string;
|
|
33312
|
+
};
|
|
33313
|
+
};
|
|
33314
|
+
/** @description Unauthenticated */
|
|
33315
|
+
401: {
|
|
33316
|
+
headers: {
|
|
33317
|
+
[name: string]: unknown;
|
|
33318
|
+
};
|
|
33319
|
+
content?: never;
|
|
33320
|
+
};
|
|
33321
|
+
/** @description Not a human user, or fixtures are not available here */
|
|
33322
|
+
403: {
|
|
33323
|
+
headers: {
|
|
33324
|
+
[name: string]: unknown;
|
|
33325
|
+
};
|
|
33326
|
+
content?: never;
|
|
33327
|
+
};
|
|
33328
|
+
/** @description Too many concurrent streams for this user */
|
|
33329
|
+
429: {
|
|
33330
|
+
headers: {
|
|
33331
|
+
[name: string]: unknown;
|
|
33332
|
+
};
|
|
33333
|
+
content?: never;
|
|
33334
|
+
};
|
|
33335
|
+
};
|
|
33336
|
+
};
|
|
33337
|
+
list_otel_threats: {
|
|
33338
|
+
parameters: {
|
|
33339
|
+
query?: {
|
|
33340
|
+
/** @description `open` (default) returns anything not yet resolved; `all` includes resolved. */
|
|
33341
|
+
state?: "open" | "all";
|
|
33342
|
+
};
|
|
33343
|
+
header?: never;
|
|
33344
|
+
path?: never;
|
|
33345
|
+
cookie?: never;
|
|
33346
|
+
};
|
|
33347
|
+
requestBody?: never;
|
|
33348
|
+
responses: {
|
|
33349
|
+
/** @description Threats, highest blast radius first */
|
|
33350
|
+
200: {
|
|
33351
|
+
headers: {
|
|
33352
|
+
[name: string]: unknown;
|
|
33353
|
+
};
|
|
33354
|
+
content: {
|
|
33355
|
+
"application/json": components["schemas"]["OtelThreatList"];
|
|
33356
|
+
};
|
|
33357
|
+
};
|
|
33358
|
+
/** @description Unauthenticated */
|
|
33359
|
+
401: {
|
|
33360
|
+
headers: {
|
|
33361
|
+
[name: string]: unknown;
|
|
33362
|
+
};
|
|
33363
|
+
content?: never;
|
|
33364
|
+
};
|
|
33365
|
+
/** @description Not a human user */
|
|
33366
|
+
403: {
|
|
33367
|
+
headers: {
|
|
33368
|
+
[name: string]: unknown;
|
|
33369
|
+
};
|
|
33370
|
+
content?: never;
|
|
33371
|
+
};
|
|
33372
|
+
};
|
|
33373
|
+
};
|
|
33374
|
+
get_otel_export_config: {
|
|
33375
|
+
parameters: {
|
|
33376
|
+
query?: never;
|
|
33377
|
+
header?: never;
|
|
33378
|
+
path?: never;
|
|
33379
|
+
cookie?: never;
|
|
33380
|
+
};
|
|
33381
|
+
requestBody?: never;
|
|
33382
|
+
responses: {
|
|
33383
|
+
/** @description Current config, or null when unconfigured */
|
|
33384
|
+
200: {
|
|
33385
|
+
headers: {
|
|
33386
|
+
[name: string]: unknown;
|
|
33387
|
+
};
|
|
33388
|
+
content: {
|
|
33389
|
+
"application/json": {
|
|
33390
|
+
enabled?: boolean;
|
|
33391
|
+
endpoint?: string;
|
|
33392
|
+
header_names?: string[];
|
|
33393
|
+
resource_attributes?: {
|
|
33394
|
+
[key: string]: string;
|
|
33395
|
+
};
|
|
33396
|
+
signal_filter?: ("spans" | "metrics" | "logs")[];
|
|
33397
|
+
} | null;
|
|
33398
|
+
};
|
|
33399
|
+
};
|
|
33400
|
+
/** @description Unauthenticated */
|
|
33401
|
+
401: {
|
|
33402
|
+
headers: {
|
|
33403
|
+
[name: string]: unknown;
|
|
33404
|
+
};
|
|
33405
|
+
content?: never;
|
|
33406
|
+
};
|
|
33407
|
+
/** @description Requires the Team plan or higher */
|
|
33408
|
+
402: {
|
|
33409
|
+
headers: {
|
|
33410
|
+
[name: string]: unknown;
|
|
33411
|
+
};
|
|
33412
|
+
content?: never;
|
|
33413
|
+
};
|
|
33414
|
+
/** @description Not an owner or admin */
|
|
33415
|
+
403: {
|
|
33416
|
+
headers: {
|
|
33417
|
+
[name: string]: unknown;
|
|
33418
|
+
};
|
|
33419
|
+
content?: never;
|
|
33420
|
+
};
|
|
33421
|
+
};
|
|
33422
|
+
};
|
|
33423
|
+
patch_otel_export_config: {
|
|
33424
|
+
parameters: {
|
|
33425
|
+
query?: never;
|
|
33426
|
+
header?: never;
|
|
33427
|
+
path?: never;
|
|
33428
|
+
cookie?: never;
|
|
33429
|
+
};
|
|
33430
|
+
requestBody?: {
|
|
33431
|
+
content: {
|
|
33432
|
+
"application/json": {
|
|
33433
|
+
enabled?: boolean;
|
|
33434
|
+
/**
|
|
33435
|
+
* Format: uri
|
|
33436
|
+
* @description HTTPS only.
|
|
33437
|
+
*/
|
|
33438
|
+
endpoint?: string;
|
|
33439
|
+
/** @description Sent on every export request, e.g. an Authorization header. Reserved hop-by-hop names are refused. */
|
|
33440
|
+
headers?: {
|
|
33441
|
+
[key: string]: string;
|
|
33442
|
+
};
|
|
33443
|
+
resource_attributes?: {
|
|
33444
|
+
[key: string]: string;
|
|
33445
|
+
};
|
|
33446
|
+
signal_filter?: ("spans" | "metrics" | "logs")[];
|
|
33447
|
+
};
|
|
33448
|
+
};
|
|
33449
|
+
};
|
|
33450
|
+
responses: {
|
|
33451
|
+
/** @description The updated config, header names only */
|
|
33452
|
+
200: {
|
|
33453
|
+
headers: {
|
|
33454
|
+
[name: string]: unknown;
|
|
33455
|
+
};
|
|
33456
|
+
content?: never;
|
|
33457
|
+
};
|
|
33458
|
+
/** @description Endpoint refused (scheme */
|
|
33459
|
+
400: {
|
|
33460
|
+
headers: {
|
|
33461
|
+
[name: string]: unknown;
|
|
33462
|
+
};
|
|
33463
|
+
content?: never;
|
|
33464
|
+
};
|
|
33465
|
+
/** @description Unauthenticated */
|
|
33466
|
+
401: {
|
|
33467
|
+
headers: {
|
|
33468
|
+
[name: string]: unknown;
|
|
33469
|
+
};
|
|
33470
|
+
content?: never;
|
|
33471
|
+
};
|
|
33472
|
+
/** @description Requires the Team plan or higher */
|
|
33473
|
+
402: {
|
|
33474
|
+
headers: {
|
|
33475
|
+
[name: string]: unknown;
|
|
33476
|
+
};
|
|
33477
|
+
content?: never;
|
|
33478
|
+
};
|
|
33479
|
+
/** @description Not an owner or admin */
|
|
33480
|
+
403: {
|
|
33481
|
+
headers: {
|
|
33482
|
+
[name: string]: unknown;
|
|
33483
|
+
};
|
|
33484
|
+
content?: never;
|
|
33485
|
+
};
|
|
33486
|
+
};
|
|
33487
|
+
};
|
|
33488
|
+
test_otel_export: {
|
|
33489
|
+
parameters: {
|
|
33490
|
+
query?: never;
|
|
33491
|
+
header?: never;
|
|
33492
|
+
path?: never;
|
|
33493
|
+
cookie?: never;
|
|
33494
|
+
};
|
|
33495
|
+
requestBody?: never;
|
|
33496
|
+
responses: {
|
|
33497
|
+
/** @description The collector's HTTP status for the probe */
|
|
33498
|
+
200: {
|
|
33499
|
+
headers: {
|
|
33500
|
+
[name: string]: unknown;
|
|
33501
|
+
};
|
|
33502
|
+
content: {
|
|
33503
|
+
"application/json": {
|
|
33504
|
+
endpoint?: string;
|
|
33505
|
+
status?: number;
|
|
33506
|
+
ok?: boolean;
|
|
33507
|
+
};
|
|
33508
|
+
};
|
|
33509
|
+
};
|
|
33510
|
+
/** @description Not configured */
|
|
33511
|
+
400: {
|
|
33512
|
+
headers: {
|
|
33513
|
+
[name: string]: unknown;
|
|
33514
|
+
};
|
|
33515
|
+
content?: never;
|
|
33516
|
+
};
|
|
33517
|
+
/** @description Unauthenticated */
|
|
33518
|
+
401: {
|
|
33519
|
+
headers: {
|
|
33520
|
+
[name: string]: unknown;
|
|
33521
|
+
};
|
|
33522
|
+
content?: never;
|
|
33523
|
+
};
|
|
33524
|
+
/** @description Requires the Team plan or higher */
|
|
33525
|
+
402: {
|
|
33526
|
+
headers: {
|
|
33527
|
+
[name: string]: unknown;
|
|
33528
|
+
};
|
|
33529
|
+
content?: never;
|
|
33530
|
+
};
|
|
33531
|
+
/** @description Not an owner or admin */
|
|
33532
|
+
403: {
|
|
33533
|
+
headers: {
|
|
33534
|
+
[name: string]: unknown;
|
|
33535
|
+
};
|
|
33536
|
+
content?: never;
|
|
33537
|
+
};
|
|
33538
|
+
/** @description More than 5 test sends this minute */
|
|
33539
|
+
429: {
|
|
33540
|
+
headers: {
|
|
33541
|
+
[name: string]: unknown;
|
|
33542
|
+
};
|
|
33543
|
+
content?: never;
|
|
33544
|
+
};
|
|
33545
|
+
};
|
|
33546
|
+
};
|
|
33547
|
+
get_otel_metrics: {
|
|
33548
|
+
parameters: {
|
|
33549
|
+
query?: {
|
|
33550
|
+
/** @description Lookback, e.g. `30m`, `24h`, `7d`. Default 24h, maximum 30d. */
|
|
33551
|
+
window?: string;
|
|
33552
|
+
/** @description Bucket width. Defaults to a twenty-fourth of the window, minimum 60s. */
|
|
33553
|
+
step?: string;
|
|
33554
|
+
};
|
|
33555
|
+
header?: never;
|
|
33556
|
+
path?: never;
|
|
33557
|
+
cookie?: never;
|
|
33558
|
+
};
|
|
33559
|
+
requestBody?: never;
|
|
33560
|
+
responses: {
|
|
33561
|
+
/** @description Bucketed metrics */
|
|
33562
|
+
200: {
|
|
33563
|
+
headers: {
|
|
33564
|
+
[name: string]: unknown;
|
|
33565
|
+
};
|
|
33566
|
+
content: {
|
|
33567
|
+
"application/json": {
|
|
33568
|
+
/** @description The window and step actually used. */
|
|
33569
|
+
window: {
|
|
33570
|
+
window_secs?: number;
|
|
33571
|
+
step_secs?: number;
|
|
33572
|
+
};
|
|
33573
|
+
buckets: {
|
|
33574
|
+
/** Format: date-time */
|
|
33575
|
+
t: string;
|
|
33576
|
+
executions: number;
|
|
33577
|
+
denials: number;
|
|
33578
|
+
transactions: number;
|
|
33579
|
+
llm_calls: number;
|
|
33580
|
+
}[];
|
|
33581
|
+
/** @description Null when nothing in the window recorded a duration. */
|
|
33582
|
+
latency_p50_ms?: number | null;
|
|
33583
|
+
latency_p95_ms?: number | null;
|
|
33584
|
+
total_executions: number;
|
|
33585
|
+
total_denials: number;
|
|
33586
|
+
};
|
|
33587
|
+
};
|
|
33588
|
+
};
|
|
33589
|
+
/** @description Unparseable window or step, window over 30d, or step larger than window */
|
|
33590
|
+
400: {
|
|
33591
|
+
headers: {
|
|
33592
|
+
[name: string]: unknown;
|
|
33593
|
+
};
|
|
33594
|
+
content?: never;
|
|
33595
|
+
};
|
|
33596
|
+
/** @description Unauthenticated */
|
|
33597
|
+
401: {
|
|
33598
|
+
headers: {
|
|
33599
|
+
[name: string]: unknown;
|
|
33600
|
+
};
|
|
33601
|
+
content?: never;
|
|
33602
|
+
};
|
|
33603
|
+
/** @description Not a human user */
|
|
33604
|
+
403: {
|
|
33605
|
+
headers: {
|
|
33606
|
+
[name: string]: unknown;
|
|
33607
|
+
};
|
|
33608
|
+
content?: never;
|
|
33609
|
+
};
|
|
33610
|
+
};
|
|
33611
|
+
};
|
|
33612
|
+
get_otel_agent_trust: {
|
|
33613
|
+
parameters: {
|
|
33614
|
+
query?: never;
|
|
33615
|
+
header?: never;
|
|
33616
|
+
path: {
|
|
33617
|
+
agent_id: string;
|
|
33618
|
+
};
|
|
33619
|
+
cookie?: never;
|
|
33620
|
+
};
|
|
33621
|
+
requestBody?: never;
|
|
33622
|
+
responses: {
|
|
33623
|
+
/** @description Current score, components, history, recent actions */
|
|
33624
|
+
200: {
|
|
33625
|
+
headers: {
|
|
33626
|
+
[name: string]: unknown;
|
|
33627
|
+
};
|
|
33628
|
+
content: {
|
|
33629
|
+
"application/json": {
|
|
33630
|
+
/** Format: uuid */
|
|
33631
|
+
agent_id: string;
|
|
33632
|
+
score?: number | null;
|
|
33633
|
+
/** @description True while the engine is recommend-only or the agent is unscored. */
|
|
33634
|
+
shadow: boolean;
|
|
33635
|
+
/** Format: date-time */
|
|
33636
|
+
updated_at?: string | null;
|
|
33637
|
+
/** @description 0-100 per component; null means no source in this deployment. */
|
|
33638
|
+
components: {
|
|
33639
|
+
denial_rate?: number | null;
|
|
33640
|
+
threat_hits?: number | null;
|
|
33641
|
+
egress_blocks?: number | null;
|
|
33642
|
+
spend_velocity?: number | null;
|
|
33643
|
+
off_hours?: number | null;
|
|
33644
|
+
consensus_bypass?: number | null;
|
|
33645
|
+
};
|
|
33646
|
+
/** @description Oldest first, last 24 hours. */
|
|
33647
|
+
history: {
|
|
33648
|
+
/** Format: date-time */
|
|
33649
|
+
at: string;
|
|
33650
|
+
score: number;
|
|
33651
|
+
}[];
|
|
33652
|
+
/** @description Newest first. */
|
|
33653
|
+
recent: {
|
|
33654
|
+
/** Format: date-time */
|
|
33655
|
+
at: string;
|
|
33656
|
+
action: string;
|
|
33657
|
+
resource_type?: string | null;
|
|
33658
|
+
}[];
|
|
33659
|
+
};
|
|
33660
|
+
};
|
|
33661
|
+
};
|
|
33662
|
+
/** @description Unauthenticated */
|
|
33663
|
+
401: {
|
|
33664
|
+
headers: {
|
|
33665
|
+
[name: string]: unknown;
|
|
33666
|
+
};
|
|
33667
|
+
content?: never;
|
|
33668
|
+
};
|
|
33669
|
+
/** @description Not a human user */
|
|
33670
|
+
403: {
|
|
33671
|
+
headers: {
|
|
33672
|
+
[name: string]: unknown;
|
|
33673
|
+
};
|
|
33674
|
+
content?: never;
|
|
33675
|
+
};
|
|
33676
|
+
/** @description No such agent in the caller's organization */
|
|
33677
|
+
404: {
|
|
33678
|
+
headers: {
|
|
33679
|
+
[name: string]: unknown;
|
|
33680
|
+
};
|
|
33681
|
+
content?: never;
|
|
33682
|
+
};
|
|
33683
|
+
};
|
|
33684
|
+
};
|
|
33685
|
+
get_otel_flows: {
|
|
33686
|
+
parameters: {
|
|
33687
|
+
query?: {
|
|
33688
|
+
/** @description Lookback, e.g. `1h`, `24h`, `7d`. Default 24h, maximum 30d. */
|
|
33689
|
+
window?: string;
|
|
33690
|
+
};
|
|
33691
|
+
header?: never;
|
|
33692
|
+
path?: never;
|
|
33693
|
+
cookie?: never;
|
|
33694
|
+
};
|
|
33695
|
+
requestBody?: never;
|
|
33696
|
+
responses: {
|
|
33697
|
+
/** @description Read flows, highest first */
|
|
33698
|
+
200: {
|
|
33699
|
+
headers: {
|
|
33700
|
+
[name: string]: unknown;
|
|
33701
|
+
};
|
|
33702
|
+
content: {
|
|
33703
|
+
"application/json": {
|
|
33704
|
+
window: {
|
|
33705
|
+
window_secs?: number;
|
|
33706
|
+
step_secs?: number;
|
|
33707
|
+
};
|
|
33708
|
+
edges: {
|
|
33709
|
+
/** Format: uuid */
|
|
33710
|
+
agent_id: string;
|
|
33711
|
+
agent_name: string;
|
|
33712
|
+
/** Format: uuid */
|
|
33713
|
+
vault_id: string;
|
|
33714
|
+
vault_name: string;
|
|
33715
|
+
/** @description secret.read events in the window. */
|
|
33716
|
+
reads: number;
|
|
33717
|
+
/** @description Distinct secret paths touched. */
|
|
33718
|
+
distinct_paths: number;
|
|
33719
|
+
}[];
|
|
33720
|
+
total_reads: number;
|
|
33721
|
+
};
|
|
33722
|
+
};
|
|
33723
|
+
};
|
|
33724
|
+
/** @description Unparseable window or window over 30d */
|
|
33725
|
+
400: {
|
|
33726
|
+
headers: {
|
|
33727
|
+
[name: string]: unknown;
|
|
33728
|
+
};
|
|
33729
|
+
content?: never;
|
|
33730
|
+
};
|
|
33731
|
+
/** @description Unauthenticated */
|
|
33732
|
+
401: {
|
|
33733
|
+
headers: {
|
|
33734
|
+
[name: string]: unknown;
|
|
33735
|
+
};
|
|
33736
|
+
content?: never;
|
|
33737
|
+
};
|
|
33738
|
+
/** @description Not a human user */
|
|
33739
|
+
403: {
|
|
33740
|
+
headers: {
|
|
33741
|
+
[name: string]: unknown;
|
|
33742
|
+
};
|
|
33743
|
+
content?: never;
|
|
33744
|
+
};
|
|
33745
|
+
};
|
|
33746
|
+
};
|
|
33747
|
+
get_otel_summary: {
|
|
33748
|
+
parameters: {
|
|
33749
|
+
query?: never;
|
|
33750
|
+
header?: never;
|
|
33751
|
+
path?: never;
|
|
33752
|
+
cookie?: never;
|
|
33753
|
+
};
|
|
33754
|
+
requestBody?: never;
|
|
33755
|
+
responses: {
|
|
33756
|
+
/** @description Posture summary */
|
|
33757
|
+
200: {
|
|
33758
|
+
headers: {
|
|
33759
|
+
[name: string]: unknown;
|
|
33760
|
+
};
|
|
33761
|
+
content: {
|
|
33762
|
+
"application/json": components["schemas"]["OtelSummary"];
|
|
33763
|
+
};
|
|
33764
|
+
};
|
|
33765
|
+
/** @description Unauthenticated */
|
|
33766
|
+
401: {
|
|
33767
|
+
headers: {
|
|
33768
|
+
[name: string]: unknown;
|
|
33769
|
+
};
|
|
33770
|
+
content?: never;
|
|
33771
|
+
};
|
|
33772
|
+
/** @description Not a human user */
|
|
33773
|
+
403: {
|
|
33774
|
+
headers: {
|
|
33775
|
+
[name: string]: unknown;
|
|
33776
|
+
};
|
|
33777
|
+
content?: never;
|
|
33778
|
+
};
|
|
33779
|
+
};
|
|
33780
|
+
};
|
|
33781
|
+
get_otel_topology: {
|
|
33782
|
+
parameters: {
|
|
33783
|
+
query?: {
|
|
33784
|
+
/** @description Set to `1` to request a synthetic graph. Same gating as the stream endpoint. A fixture response carries `fixture: true`. */
|
|
33785
|
+
fixture?: "1" | "true";
|
|
33786
|
+
};
|
|
33787
|
+
header?: never;
|
|
33788
|
+
path?: never;
|
|
33789
|
+
cookie?: never;
|
|
33790
|
+
};
|
|
33791
|
+
requestBody?: never;
|
|
33792
|
+
responses: {
|
|
33793
|
+
/** @description Topology snapshot */
|
|
33794
|
+
200: {
|
|
33795
|
+
headers: {
|
|
33796
|
+
[name: string]: unknown;
|
|
33797
|
+
};
|
|
33798
|
+
content: {
|
|
33799
|
+
"application/json": components["schemas"]["OtelTopology"];
|
|
33800
|
+
};
|
|
33801
|
+
};
|
|
33802
|
+
/** @description Unauthenticated */
|
|
33803
|
+
401: {
|
|
33804
|
+
headers: {
|
|
33805
|
+
[name: string]: unknown;
|
|
33806
|
+
};
|
|
33807
|
+
content?: never;
|
|
33808
|
+
};
|
|
33809
|
+
/** @description Not a human user, or fixtures are not available here */
|
|
33810
|
+
403: {
|
|
33811
|
+
headers: {
|
|
33812
|
+
[name: string]: unknown;
|
|
33813
|
+
};
|
|
33814
|
+
content?: never;
|
|
33815
|
+
};
|
|
33816
|
+
};
|
|
33817
|
+
};
|
|
32734
33818
|
stream_runtime_logs: {
|
|
32735
33819
|
parameters: {
|
|
32736
33820
|
query?: never;
|