@1claw/openapi-spec 0.61.5 → 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.5",
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"
@@ -25248,6 +25248,124 @@
25248
25248
  }
25249
25249
  }
25250
25250
  },
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
+ },
25251
25369
  "/v1/otel/summary": {
25252
25370
  "get": {
25253
25371
  "tags": [
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.5"
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,
@@ -16230,6 +16230,78 @@ paths:
16230
16230
  description: Unauthenticated
16231
16231
  '403':
16232
16232
  description: Not a human user
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
16233
16305
  /v1/otel/summary:
16234
16306
  get:
16235
16307
  tags: [Observability]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.5",
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": {