@1claw/openapi-spec 0.61.35 → 0.61.36

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.
Files changed (3) hide show
  1. package/openapi.json +275 -1
  2. package/openapi.yaml +183 -1
  3. package/package.json +1 -1
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.35",
5
+ "version": "0.61.36",
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"
@@ -19356,6 +19356,159 @@
19356
19356
  }
19357
19357
  }
19358
19358
  },
19359
+ "/v1/automations/dry-run": {
19360
+ "post": {
19361
+ "tags": [
19362
+ "Automations"
19363
+ ],
19364
+ "summary": "Preview an unsaved workflow spec",
19365
+ "operationId": "dryRunAutomationSpec",
19366
+ "description": "What a run would do, with nothing done: every step after template substitution\nagainst a simulated context, its side effect, its `on_error` policy, templates\nthat would resolve to nothing, conditions, and the budget it would hit. Step\noutputs are placeholders, so later steps' `{{steps.N.output…}}` show empty here.\n",
19367
+ "requestBody": {
19368
+ "required": true,
19369
+ "content": {
19370
+ "application/json": {
19371
+ "schema": {
19372
+ "$ref": "#/components/schemas/DryRunRequest"
19373
+ }
19374
+ }
19375
+ }
19376
+ },
19377
+ "responses": {
19378
+ "200": {
19379
+ "description": "Preview",
19380
+ "content": {
19381
+ "application/json": {
19382
+ "schema": {
19383
+ "$ref": "#/components/schemas/DryRunResponse"
19384
+ }
19385
+ }
19386
+ }
19387
+ },
19388
+ "401": {
19389
+ "$ref": "#/components/responses/Unauthorized"
19390
+ }
19391
+ }
19392
+ }
19393
+ },
19394
+ "/v1/automations/{automationId}/dry-run": {
19395
+ "post": {
19396
+ "tags": [
19397
+ "Automations"
19398
+ ],
19399
+ "summary": "Preview a run of this automation",
19400
+ "operationId": "dryRunAutomation",
19401
+ "description": "Same as the unsaved preview, defaulting to the automation's current spec.",
19402
+ "parameters": [
19403
+ {
19404
+ "name": "automationId",
19405
+ "in": "path",
19406
+ "required": true,
19407
+ "schema": {
19408
+ "type": "string",
19409
+ "format": "uuid"
19410
+ }
19411
+ }
19412
+ ],
19413
+ "requestBody": {
19414
+ "required": false,
19415
+ "content": {
19416
+ "application/json": {
19417
+ "schema": {
19418
+ "$ref": "#/components/schemas/DryRunRequest"
19419
+ }
19420
+ }
19421
+ }
19422
+ },
19423
+ "responses": {
19424
+ "200": {
19425
+ "description": "Preview",
19426
+ "content": {
19427
+ "application/json": {
19428
+ "schema": {
19429
+ "$ref": "#/components/schemas/DryRunResponse"
19430
+ }
19431
+ }
19432
+ }
19433
+ },
19434
+ "401": {
19435
+ "$ref": "#/components/responses/Unauthorized"
19436
+ },
19437
+ "404": {
19438
+ "$ref": "#/components/responses/NotFound"
19439
+ }
19440
+ }
19441
+ }
19442
+ },
19443
+ "/v1/automations/{automationId}/runs/{runId}/rerun": {
19444
+ "post": {
19445
+ "tags": [
19446
+ "Automations"
19447
+ ],
19448
+ "summary": "Re-run from a step",
19449
+ "operationId": "rerunAutomationFromStep",
19450
+ "description": "Start a new run seeded with this run's results up to `from_step` and continue from\nthere, on the spec version the original run executed. Human-only; the original\nrun must be finished. The new run has `trigger_source: rerun` and `parent_run_id`.\n",
19451
+ "parameters": [
19452
+ {
19453
+ "name": "automationId",
19454
+ "in": "path",
19455
+ "required": true,
19456
+ "schema": {
19457
+ "type": "string",
19458
+ "format": "uuid"
19459
+ }
19460
+ },
19461
+ {
19462
+ "name": "runId",
19463
+ "in": "path",
19464
+ "required": true,
19465
+ "schema": {
19466
+ "type": "string",
19467
+ "format": "uuid"
19468
+ }
19469
+ }
19470
+ ],
19471
+ "requestBody": {
19472
+ "required": false,
19473
+ "content": {
19474
+ "application/json": {
19475
+ "schema": {
19476
+ "type": "object",
19477
+ "properties": {
19478
+ "from_step": {
19479
+ "type": "integer",
19480
+ "minimum": 0,
19481
+ "default": 0,
19482
+ "description": "Zero-based step index to start from."
19483
+ }
19484
+ }
19485
+ }
19486
+ }
19487
+ }
19488
+ },
19489
+ "responses": {
19490
+ "201": {
19491
+ "description": "The new run",
19492
+ "content": {
19493
+ "application/json": {
19494
+ "schema": {
19495
+ "$ref": "#/components/schemas/AutomationRunResponse"
19496
+ }
19497
+ }
19498
+ }
19499
+ },
19500
+ "400": {
19501
+ "$ref": "#/components/responses/BadRequest"
19502
+ },
19503
+ "401": {
19504
+ "$ref": "#/components/responses/Unauthorized"
19505
+ },
19506
+ "404": {
19507
+ "$ref": "#/components/responses/NotFound"
19508
+ }
19509
+ }
19510
+ }
19511
+ },
19359
19512
  "/v1/automations/{automationId}/versions": {
19360
19513
  "get": {
19361
19514
  "tags": [
@@ -43200,6 +43353,127 @@
43200
43353
  }
43201
43354
  }
43202
43355
  },
43356
+ "DryRunRequest": {
43357
+ "type": "object",
43358
+ "properties": {
43359
+ "workflow_spec": {
43360
+ "description": "Spec to preview (required on the unsaved-spec route).",
43361
+ "oneOf": [
43362
+ {
43363
+ "type": "array",
43364
+ "items": {
43365
+ "type": "object",
43366
+ "additionalProperties": true
43367
+ }
43368
+ },
43369
+ {
43370
+ "type": "object",
43371
+ "additionalProperties": true
43372
+ }
43373
+ ]
43374
+ },
43375
+ "input": {
43376
+ "type": "object",
43377
+ "additionalProperties": true,
43378
+ "description": "Simulated trigger payload (`{{trigger.*}}`)."
43379
+ }
43380
+ }
43381
+ },
43382
+ "DryRunResponse": {
43383
+ "type": "object",
43384
+ "required": [
43385
+ "ok"
43386
+ ],
43387
+ "properties": {
43388
+ "ok": {
43389
+ "type": "boolean",
43390
+ "description": "True when there are no warnings."
43391
+ },
43392
+ "error": {
43393
+ "type": "string"
43394
+ },
43395
+ "warnings": {
43396
+ "type": "array",
43397
+ "items": {
43398
+ "type": "string"
43399
+ }
43400
+ },
43401
+ "parks": {
43402
+ "type": "integer",
43403
+ "description": "How many steps park the run."
43404
+ },
43405
+ "budget": {
43406
+ "type": "object",
43407
+ "additionalProperties": true
43408
+ },
43409
+ "steps": {
43410
+ "type": "array",
43411
+ "items": {
43412
+ "type": "object",
43413
+ "required": [
43414
+ "index",
43415
+ "type",
43416
+ "known",
43417
+ "resolved",
43418
+ "effect",
43419
+ "on_error",
43420
+ "unresolved_templates"
43421
+ ],
43422
+ "properties": {
43423
+ "index": {
43424
+ "type": "integer"
43425
+ },
43426
+ "name": {
43427
+ "type": "string",
43428
+ "nullable": true
43429
+ },
43430
+ "type": {
43431
+ "type": "string"
43432
+ },
43433
+ "known": {
43434
+ "type": "boolean"
43435
+ },
43436
+ "resolved": {
43437
+ "type": "object",
43438
+ "additionalProperties": true,
43439
+ "description": "The step after template substitution."
43440
+ },
43441
+ "skipped_by": {
43442
+ "type": "string",
43443
+ "nullable": true
43444
+ },
43445
+ "effect": {
43446
+ "type": "string"
43447
+ },
43448
+ "on_error": {
43449
+ "type": "object",
43450
+ "properties": {
43451
+ "action": {
43452
+ "type": "string"
43453
+ },
43454
+ "max_attempts": {
43455
+ "type": "integer"
43456
+ },
43457
+ "backoff_secs": {
43458
+ "type": "integer"
43459
+ }
43460
+ }
43461
+ },
43462
+ "unresolved_templates": {
43463
+ "type": "array",
43464
+ "items": {
43465
+ "type": "string"
43466
+ }
43467
+ },
43468
+ "budget_exceeded": {
43469
+ "type": "string",
43470
+ "nullable": true
43471
+ }
43472
+ }
43473
+ }
43474
+ }
43475
+ }
43476
+ },
43203
43477
  "TriggerAutomationRequest": {
43204
43478
  "type": "object",
43205
43479
  "properties": {
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.35"
5
+ version: "0.61.36"
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -12338,6 +12338,111 @@ paths:
12338
12338
  "409":
12339
12339
  $ref: "#/components/responses/Conflict"
12340
12340
 
12341
+ /v1/automations/dry-run:
12342
+ post:
12343
+ tags: [Automations]
12344
+ summary: Preview an unsaved workflow spec
12345
+ operationId: dryRunAutomationSpec
12346
+ description: |
12347
+ What a run would do, with nothing done: every step after template substitution
12348
+ against a simulated context, its side effect, its `on_error` policy, templates
12349
+ that would resolve to nothing, conditions, and the budget it would hit. Step
12350
+ outputs are placeholders, so later steps' `{{steps.N.output…}}` show empty here.
12351
+ requestBody:
12352
+ required: true
12353
+ content:
12354
+ application/json:
12355
+ schema:
12356
+ $ref: "#/components/schemas/DryRunRequest"
12357
+ responses:
12358
+ "200":
12359
+ description: Preview
12360
+ content:
12361
+ application/json:
12362
+ schema:
12363
+ $ref: "#/components/schemas/DryRunResponse"
12364
+ "401":
12365
+ $ref: "#/components/responses/Unauthorized"
12366
+
12367
+ /v1/automations/{automationId}/dry-run:
12368
+ post:
12369
+ tags: [Automations]
12370
+ summary: Preview a run of this automation
12371
+ operationId: dryRunAutomation
12372
+ description: Same as the unsaved preview, defaulting to the automation's current spec.
12373
+ parameters:
12374
+ - name: automationId
12375
+ in: path
12376
+ required: true
12377
+ schema:
12378
+ type: string
12379
+ format: uuid
12380
+ requestBody:
12381
+ required: false
12382
+ content:
12383
+ application/json:
12384
+ schema:
12385
+ $ref: "#/components/schemas/DryRunRequest"
12386
+ responses:
12387
+ "200":
12388
+ description: Preview
12389
+ content:
12390
+ application/json:
12391
+ schema:
12392
+ $ref: "#/components/schemas/DryRunResponse"
12393
+ "401":
12394
+ $ref: "#/components/responses/Unauthorized"
12395
+ "404":
12396
+ $ref: "#/components/responses/NotFound"
12397
+
12398
+ /v1/automations/{automationId}/runs/{runId}/rerun:
12399
+ post:
12400
+ tags: [Automations]
12401
+ summary: Re-run from a step
12402
+ operationId: rerunAutomationFromStep
12403
+ description: |
12404
+ Start a new run seeded with this run's results up to `from_step` and continue from
12405
+ there, on the spec version the original run executed. Human-only; the original
12406
+ run must be finished. The new run has `trigger_source: rerun` and `parent_run_id`.
12407
+ parameters:
12408
+ - name: automationId
12409
+ in: path
12410
+ required: true
12411
+ schema:
12412
+ type: string
12413
+ format: uuid
12414
+ - name: runId
12415
+ in: path
12416
+ required: true
12417
+ schema:
12418
+ type: string
12419
+ format: uuid
12420
+ requestBody:
12421
+ required: false
12422
+ content:
12423
+ application/json:
12424
+ schema:
12425
+ type: object
12426
+ properties:
12427
+ from_step:
12428
+ type: integer
12429
+ minimum: 0
12430
+ default: 0
12431
+ description: Zero-based step index to start from.
12432
+ responses:
12433
+ "201":
12434
+ description: The new run
12435
+ content:
12436
+ application/json:
12437
+ schema:
12438
+ $ref: "#/components/schemas/AutomationRunResponse"
12439
+ "400":
12440
+ $ref: "#/components/responses/BadRequest"
12441
+ "401":
12442
+ $ref: "#/components/responses/Unauthorized"
12443
+ "404":
12444
+ $ref: "#/components/responses/NotFound"
12445
+
12341
12446
  /v1/automations/{automationId}/versions:
12342
12447
  get:
12343
12448
  tags: [Automations]
@@ -27956,6 +28061,83 @@ components:
27956
28061
  format: uuid
27957
28062
  description: Control-plane approval when rolling back to a wider spec.
27958
28063
 
28064
+ DryRunRequest:
28065
+ type: object
28066
+ properties:
28067
+ workflow_spec:
28068
+ description: Spec to preview (required on the unsaved-spec route).
28069
+ oneOf:
28070
+ - type: array
28071
+ items:
28072
+ type: object
28073
+ additionalProperties: true
28074
+ - type: object
28075
+ additionalProperties: true
28076
+ input:
28077
+ type: object
28078
+ additionalProperties: true
28079
+ description: Simulated trigger payload (`{{trigger.*}}`).
28080
+
28081
+ DryRunResponse:
28082
+ type: object
28083
+ required: [ok]
28084
+ properties:
28085
+ ok:
28086
+ type: boolean
28087
+ description: True when there are no warnings.
28088
+ error:
28089
+ type: string
28090
+ warnings:
28091
+ type: array
28092
+ items:
28093
+ type: string
28094
+ parks:
28095
+ type: integer
28096
+ description: How many steps park the run.
28097
+ budget:
28098
+ type: object
28099
+ additionalProperties: true
28100
+ steps:
28101
+ type: array
28102
+ items:
28103
+ type: object
28104
+ required: [index, type, known, resolved, effect, on_error, unresolved_templates]
28105
+ properties:
28106
+ index:
28107
+ type: integer
28108
+ name:
28109
+ type: string
28110
+ nullable: true
28111
+ type:
28112
+ type: string
28113
+ known:
28114
+ type: boolean
28115
+ resolved:
28116
+ type: object
28117
+ additionalProperties: true
28118
+ description: The step after template substitution.
28119
+ skipped_by:
28120
+ type: string
28121
+ nullable: true
28122
+ effect:
28123
+ type: string
28124
+ on_error:
28125
+ type: object
28126
+ properties:
28127
+ action:
28128
+ type: string
28129
+ max_attempts:
28130
+ type: integer
28131
+ backoff_secs:
28132
+ type: integer
28133
+ unresolved_templates:
28134
+ type: array
28135
+ items:
28136
+ type: string
28137
+ budget_exceeded:
28138
+ type: string
28139
+ nullable: true
28140
+
27959
28141
  TriggerAutomationRequest:
27960
28142
  type: object
27961
28143
  properties:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.35",
3
+ "version": "0.61.36",
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": {