@1claw/openapi-spec 0.61.4 → 0.61.6

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/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "0.61.4",
5
+ "version": "0.61.6",
6
6
  "description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging. Automations (workflow_spec,\nwebhook tokens, event triggers, Assist), cloud runtimes with\ninteractive shell sessions, agent memory, and discovery.\n\n## Domains\n\n`api.1claw.co` is canonical: it is the OIDC issuer, the `aud` the API\nmints, and the first entry in `servers` — a generated client takes its\nbase URL from there, and the previous ordering pointed every SDK at the\ndomain the issuer had already left. `api.1claw.xyz` still answers and is\nstill accepted on token validation, because tokens minted before the\nmove carry it; it is never minted now.\n\nOne deliberate exception: the Shroud attestation identity token is\nrequested from GCP with `audience: https://api.1claw.xyz`, so\n`/v1/shroud/attestation` reports that as its `expected_audience`. That\nis accurate rather than stale — the audience is a verification contract\nwith anyone already checking the token, and moving it is a breaking\nchange for them, not a rename.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.co"
@@ -25057,7 +25057,7 @@
25057
25057
  }
25058
25058
  }
25059
25059
  },
25060
- "/otel/v1/stream": {
25060
+ "/v1/otel/stream": {
25061
25061
  "get": {
25062
25062
  "tags": [
25063
25063
  "Observability"
@@ -25112,7 +25112,7 @@
25112
25112
  }
25113
25113
  }
25114
25114
  },
25115
- "/otel/v1/threats": {
25115
+ "/v1/otel/threats": {
25116
25116
  "get": {
25117
25117
  "tags": [
25118
25118
  "Observability"
@@ -25248,13 +25248,131 @@
25248
25248
  }
25249
25249
  }
25250
25250
  },
25251
- "/otel/v1/summary": {
25251
+ "/v1/otel/metrics": {
25252
+ "get": {
25253
+ "tags": [
25254
+ "Observability"
25255
+ ],
25256
+ "summary": "Time-bucketed rollups from durable tables",
25257
+ "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.\n\nEvery 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.\n\n`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.",
25258
+ "operationId": "get_otel_metrics",
25259
+ "parameters": [
25260
+ {
25261
+ "name": "window",
25262
+ "in": "query",
25263
+ "required": false,
25264
+ "description": "Lookback, e.g. `30m`, `24h`, `7d`. Default 24h, maximum 30d.",
25265
+ "schema": {
25266
+ "type": "string",
25267
+ "default": "24h"
25268
+ }
25269
+ },
25270
+ {
25271
+ "name": "step",
25272
+ "in": "query",
25273
+ "required": false,
25274
+ "description": "Bucket width. Defaults to a twenty-fourth of the window, minimum 60s.",
25275
+ "schema": {
25276
+ "type": "string"
25277
+ }
25278
+ }
25279
+ ],
25280
+ "responses": {
25281
+ "200": {
25282
+ "description": "Bucketed metrics",
25283
+ "content": {
25284
+ "application/json": {
25285
+ "schema": {
25286
+ "type": "object",
25287
+ "required": [
25288
+ "window",
25289
+ "buckets",
25290
+ "total_executions",
25291
+ "total_denials"
25292
+ ],
25293
+ "properties": {
25294
+ "window": {
25295
+ "type": "object",
25296
+ "description": "The window and step actually used.",
25297
+ "properties": {
25298
+ "window_secs": {
25299
+ "type": "integer"
25300
+ },
25301
+ "step_secs": {
25302
+ "type": "integer"
25303
+ }
25304
+ }
25305
+ },
25306
+ "buckets": {
25307
+ "type": "array",
25308
+ "items": {
25309
+ "type": "object",
25310
+ "required": [
25311
+ "t",
25312
+ "executions",
25313
+ "denials",
25314
+ "transactions",
25315
+ "llm_calls"
25316
+ ],
25317
+ "properties": {
25318
+ "t": {
25319
+ "type": "string",
25320
+ "format": "date-time"
25321
+ },
25322
+ "executions": {
25323
+ "type": "integer"
25324
+ },
25325
+ "denials": {
25326
+ "type": "integer"
25327
+ },
25328
+ "transactions": {
25329
+ "type": "integer"
25330
+ },
25331
+ "llm_calls": {
25332
+ "type": "integer"
25333
+ }
25334
+ }
25335
+ }
25336
+ },
25337
+ "latency_p50_ms": {
25338
+ "type": "number",
25339
+ "nullable": true,
25340
+ "description": "Null when nothing in the window recorded a duration."
25341
+ },
25342
+ "latency_p95_ms": {
25343
+ "type": "number",
25344
+ "nullable": true
25345
+ },
25346
+ "total_executions": {
25347
+ "type": "integer"
25348
+ },
25349
+ "total_denials": {
25350
+ "type": "integer"
25351
+ }
25352
+ }
25353
+ }
25354
+ }
25355
+ }
25356
+ },
25357
+ "400": {
25358
+ "description": "Unparseable window or step, window over 30d, or step larger than window"
25359
+ },
25360
+ "401": {
25361
+ "description": "Unauthenticated"
25362
+ },
25363
+ "403": {
25364
+ "description": "Not a human user"
25365
+ }
25366
+ }
25367
+ }
25368
+ },
25369
+ "/v1/otel/summary": {
25252
25370
  "get": {
25253
25371
  "tags": [
25254
25372
  "Observability"
25255
25373
  ],
25256
25374
  "summary": "Posture score and the counts behind it",
25257
- "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.\n\nIt 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.\n\n`top_threats` uses the same ranking as `/otel/v1/threats`, so clicking through from the summary lands on the same first row.",
25375
+ "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.\n\nIt 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.\n\n`top_threats` uses the same ranking as `/v1/otel/threats`, so clicking through from the summary lands on the same first row.",
25258
25376
  "operationId": "get_otel_summary",
25259
25377
  "responses": {
25260
25378
  "200": {
@@ -25291,7 +25409,7 @@
25291
25409
  },
25292
25410
  "top_threats": {
25293
25411
  "type": "array",
25294
- "description": "At most five, same ranking as /otel/v1/threats.",
25412
+ "description": "At most five, same ranking as /v1/otel/threats.",
25295
25413
  "items": {
25296
25414
  "type": "object"
25297
25415
  }
@@ -25310,7 +25428,7 @@
25310
25428
  }
25311
25429
  }
25312
25430
  },
25313
- "/otel/v1/topology": {
25431
+ "/v1/otel/topology": {
25314
25432
  "get": {
25315
25433
  "tags": [
25316
25434
  "Observability"
package/openapi.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.1.0
2
2
 
3
3
  info:
4
4
  title: 1Claw API
5
- version: "0.61.4"
5
+ version: "0.61.6"
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -16118,7 +16118,7 @@ paths:
16118
16118
  description: Forbidden, or the plan does not include this
16119
16119
  '404':
16120
16120
  description: Not found
16121
- /otel/v1/stream:
16121
+ /v1/otel/stream:
16122
16122
  get:
16123
16123
  tags: [Observability]
16124
16124
  summary: "SSE stream of this org's telemetry signals"
@@ -16166,7 +16166,7 @@ paths:
16166
16166
  description: Not a human user, or fixtures are not available here
16167
16167
  '429':
16168
16168
  description: Too many concurrent streams for this user
16169
- /otel/v1/threats:
16169
+ /v1/otel/threats:
16170
16170
  get:
16171
16171
  tags: [Observability]
16172
16172
  summary: "Durable threat register for the org, worst reach first"
@@ -16230,7 +16230,79 @@ paths:
16230
16230
  description: Unauthenticated
16231
16231
  '403':
16232
16232
  description: Not a human user
16233
- /otel/v1/summary:
16233
+ /v1/otel/metrics:
16234
+ get:
16235
+ tags: [Observability]
16236
+ summary: "Time-bucketed rollups from durable tables"
16237
+ description: >-
16238
+ Volume, denials and latency over a window. Sourced from durable
16239
+ tables, never from in-process counters: an in-memory histogram
16240
+ is per-replica and resets on deploy, so a 24h chart drawn from
16241
+ one disagrees between instances and is wrong after every
16242
+ release.
16243
+
16244
+
16245
+ Every bucket in the range is returned, including empty ones. A
16246
+ quiet hour is a zero, not a missing point — a line chart given a
16247
+ hole joins across it as though nothing happened.
16248
+
16249
+
16250
+ `step` may be widened from what was requested when the window
16251
+ would otherwise produce more than 500 buckets. The response
16252
+ echoes the window and step actually used, so a chart can label
16253
+ its own resolution rather than the one it asked for.
16254
+ operationId: get_otel_metrics
16255
+ parameters:
16256
+ - name: window
16257
+ in: query
16258
+ required: false
16259
+ description: "Lookback, e.g. `30m`, `24h`, `7d`. Default 24h, maximum 30d."
16260
+ schema: { type: string, default: "24h" }
16261
+ - name: step
16262
+ in: query
16263
+ required: false
16264
+ description: "Bucket width. Defaults to a twenty-fourth of the window, minimum 60s."
16265
+ schema: { type: string }
16266
+ responses:
16267
+ '200':
16268
+ description: Bucketed metrics
16269
+ content:
16270
+ application/json:
16271
+ schema:
16272
+ type: object
16273
+ required: [window, buckets, total_executions, total_denials]
16274
+ properties:
16275
+ window:
16276
+ type: object
16277
+ description: The window and step actually used.
16278
+ properties:
16279
+ window_secs: { type: integer }
16280
+ step_secs: { type: integer }
16281
+ buckets:
16282
+ type: array
16283
+ items:
16284
+ type: object
16285
+ required: [t, executions, denials, transactions, llm_calls]
16286
+ properties:
16287
+ t: { type: string, format: date-time }
16288
+ executions: { type: integer }
16289
+ denials: { type: integer }
16290
+ transactions: { type: integer }
16291
+ llm_calls: { type: integer }
16292
+ latency_p50_ms:
16293
+ type: number
16294
+ nullable: true
16295
+ description: Null when nothing in the window recorded a duration.
16296
+ latency_p95_ms: { type: number, nullable: true }
16297
+ total_executions: { type: integer }
16298
+ total_denials: { type: integer }
16299
+ '400':
16300
+ description: Unparseable window or step, window over 30d, or step larger than window
16301
+ '401':
16302
+ description: Unauthenticated
16303
+ '403':
16304
+ description: Not a human user
16305
+ /v1/otel/summary:
16234
16306
  get:
16235
16307
  tags: [Observability]
16236
16308
  summary: "Posture score and the counts behind it"
@@ -16248,7 +16320,7 @@ paths:
16248
16320
  below 0.
16249
16321
 
16250
16322
 
16251
- `top_threats` uses the same ranking as `/otel/v1/threats`, so
16323
+ `top_threats` uses the same ranking as `/v1/otel/threats`, so
16252
16324
  clicking through from the summary lands on the same first row.
16253
16325
  operationId: get_otel_summary
16254
16326
  responses:
@@ -16267,13 +16339,13 @@ paths:
16267
16339
  agent_count: { type: integer }
16268
16340
  top_threats:
16269
16341
  type: array
16270
- description: At most five, same ranking as /otel/v1/threats.
16342
+ description: At most five, same ranking as /v1/otel/threats.
16271
16343
  items: { type: object }
16272
16344
  '401':
16273
16345
  description: Unauthenticated
16274
16346
  '403':
16275
16347
  description: Not a human user
16276
- /otel/v1/topology:
16348
+ /v1/otel/topology:
16277
16349
  get:
16278
16350
  tags: [Observability]
16279
16351
  summary: "Agent, vault, policy, connector and chain graph for the org"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.4",
3
+ "version": "0.61.6",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API \u2014 generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {