@1claw/openapi-spec 0.61.34 → 0.61.35

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 +379 -3
  2. package/openapi.yaml +278 -3
  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.34",
5
+ "version": "0.61.35",
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"
@@ -18839,6 +18839,7 @@
18839
18839
  ],
18840
18840
  "summary": "Trigger automation",
18841
18841
  "operationId": "triggerAutomation",
18842
+ "description": "Start a run now. With an `idempotency_key` (body or `Idempotency-Key` header) the\nsame key returns the run already started for it (200) rather than a second run\n(201). `input` is exposed to steps as `{{trigger.*}}`.\n",
18842
18843
  "parameters": [
18843
18844
  {
18844
18845
  "name": "automationId",
@@ -18850,9 +18851,29 @@
18850
18851
  }
18851
18852
  }
18852
18853
  ],
18854
+ "requestBody": {
18855
+ "required": false,
18856
+ "content": {
18857
+ "application/json": {
18858
+ "schema": {
18859
+ "$ref": "#/components/schemas/TriggerAutomationRequest"
18860
+ }
18861
+ }
18862
+ }
18863
+ },
18853
18864
  "responses": {
18854
18865
  "200": {
18855
- "description": "Automation triggered",
18866
+ "description": "An earlier run with the same idempotency key",
18867
+ "content": {
18868
+ "application/json": {
18869
+ "schema": {
18870
+ "$ref": "#/components/schemas/AutomationRunResponse"
18871
+ }
18872
+ }
18873
+ }
18874
+ },
18875
+ "201": {
18876
+ "description": "Run started",
18856
18877
  "content": {
18857
18878
  "application/json": {
18858
18879
  "schema": {
@@ -19267,6 +19288,173 @@
19267
19288
  }
19268
19289
  }
19269
19290
  },
19291
+ "/v1/automations/{automationId}/runs/{runId}/callback/{token}": {
19292
+ "post": {
19293
+ "tags": [
19294
+ "Automations"
19295
+ ],
19296
+ "summary": "Continue a run parked on awaiting_callback",
19297
+ "operationId": "automationRunCallback",
19298
+ "security": [],
19299
+ "description": "Public, authenticated by the per-run token. A spec with an `awaiting_callback`\nstep gets the token at run start as `{{run.callback_url}}` / `{{run.callback_token}}`;\nan earlier step hands the URL to the external system, the step parks the run\n(`awaiting_callback`, up to its `timeout_secs`), and this POST continues it. The\nJSON body becomes `{{resume.*}}`. 409 when the run is not (yet) parked on a\ncallback; 401 for a wrong token.\n",
19300
+ "parameters": [
19301
+ {
19302
+ "name": "automationId",
19303
+ "in": "path",
19304
+ "required": true,
19305
+ "schema": {
19306
+ "type": "string",
19307
+ "format": "uuid"
19308
+ }
19309
+ },
19310
+ {
19311
+ "name": "runId",
19312
+ "in": "path",
19313
+ "required": true,
19314
+ "schema": {
19315
+ "type": "string",
19316
+ "format": "uuid"
19317
+ }
19318
+ },
19319
+ {
19320
+ "name": "token",
19321
+ "in": "path",
19322
+ "required": true,
19323
+ "schema": {
19324
+ "type": "string"
19325
+ }
19326
+ }
19327
+ ],
19328
+ "requestBody": {
19329
+ "required": false,
19330
+ "content": {
19331
+ "application/json": {
19332
+ "schema": {
19333
+ "type": "object",
19334
+ "additionalProperties": true
19335
+ }
19336
+ }
19337
+ }
19338
+ },
19339
+ "responses": {
19340
+ "202": {
19341
+ "description": "The run, continuing",
19342
+ "content": {
19343
+ "application/json": {
19344
+ "schema": {
19345
+ "$ref": "#/components/schemas/AutomationRunResponse"
19346
+ }
19347
+ }
19348
+ }
19349
+ },
19350
+ "401": {
19351
+ "$ref": "#/components/responses/Unauthorized"
19352
+ },
19353
+ "409": {
19354
+ "$ref": "#/components/responses/Conflict"
19355
+ }
19356
+ }
19357
+ }
19358
+ },
19359
+ "/v1/automations/{automationId}/versions": {
19360
+ "get": {
19361
+ "tags": [
19362
+ "Automations"
19363
+ ],
19364
+ "summary": "List spec versions",
19365
+ "operationId": "listAutomationVersions",
19366
+ "description": "Every `workflow_spec` the automation has had, newest first. Version 1 is the\nspec it was created with; every update that changes the spec publishes the\nnext one. Runs record the version they executed.\n",
19367
+ "parameters": [
19368
+ {
19369
+ "name": "automationId",
19370
+ "in": "path",
19371
+ "required": true,
19372
+ "schema": {
19373
+ "type": "string",
19374
+ "format": "uuid"
19375
+ }
19376
+ }
19377
+ ],
19378
+ "responses": {
19379
+ "200": {
19380
+ "description": "Versions",
19381
+ "content": {
19382
+ "application/json": {
19383
+ "schema": {
19384
+ "$ref": "#/components/schemas/AutomationVersionListResponse"
19385
+ }
19386
+ }
19387
+ }
19388
+ },
19389
+ "401": {
19390
+ "$ref": "#/components/responses/Unauthorized"
19391
+ },
19392
+ "404": {
19393
+ "$ref": "#/components/responses/NotFound"
19394
+ }
19395
+ }
19396
+ }
19397
+ },
19398
+ "/v1/automations/{automationId}/versions/{version}/rollback": {
19399
+ "post": {
19400
+ "tags": [
19401
+ "Automations"
19402
+ ],
19403
+ "summary": "Roll back to an earlier spec version",
19404
+ "operationId": "rollbackAutomationVersion",
19405
+ "description": "Publishes the chosen version's spec as a new version and makes it current.\nHuman-only. A rollback that widens what the automation can do relative to the\nlive spec goes through the `automation.widen` control-plane consensus gate,\nlike an edit would.\n",
19406
+ "parameters": [
19407
+ {
19408
+ "name": "automationId",
19409
+ "in": "path",
19410
+ "required": true,
19411
+ "schema": {
19412
+ "type": "string",
19413
+ "format": "uuid"
19414
+ }
19415
+ },
19416
+ {
19417
+ "name": "version",
19418
+ "in": "path",
19419
+ "required": true,
19420
+ "schema": {
19421
+ "type": "integer"
19422
+ }
19423
+ }
19424
+ ],
19425
+ "requestBody": {
19426
+ "required": false,
19427
+ "content": {
19428
+ "application/json": {
19429
+ "schema": {
19430
+ "$ref": "#/components/schemas/RollbackAutomationRequest"
19431
+ }
19432
+ }
19433
+ }
19434
+ },
19435
+ "responses": {
19436
+ "200": {
19437
+ "description": "The automation with the rolled-back spec current",
19438
+ "content": {
19439
+ "application/json": {
19440
+ "schema": {
19441
+ "$ref": "#/components/schemas/AutomationResponse"
19442
+ }
19443
+ }
19444
+ }
19445
+ },
19446
+ "401": {
19447
+ "$ref": "#/components/responses/Unauthorized"
19448
+ },
19449
+ "403": {
19450
+ "$ref": "#/components/responses/Forbidden"
19451
+ },
19452
+ "404": {
19453
+ "$ref": "#/components/responses/NotFound"
19454
+ }
19455
+ }
19456
+ }
19457
+ },
19270
19458
  "/v1/automations/presets": {
19271
19459
  "get": {
19272
19460
  "tags": [
@@ -42891,6 +43079,139 @@
42891
43079
  },
42892
43080
  "is_active": {
42893
43081
  "type": "boolean"
43082
+ },
43083
+ "approval_id": {
43084
+ "type": "string",
43085
+ "format": "uuid",
43086
+ "description": "Control-plane approval authorising a widening change (adding a step that\nmoves funds or reaches the network, raising or removing a `budget` cap).\nRequired only when the org's consensus policy gates `automation.widen`.\n"
43087
+ },
43088
+ "version_note": {
43089
+ "type": "string",
43090
+ "description": "Note recorded on the new spec version."
43091
+ },
43092
+ "webhook_signature": {
43093
+ "nullable": true,
43094
+ "description": "Inbound signature scheme for a webhook-triggered automation. `stripe`\n(`Stripe-Signature: t=…,v1=…` over `<t>.<body>`), `github`\n(`X-Hub-Signature-256: sha256=…` over the body) or `hmac_sha256`\n(`<header>: <hex|base64>` over the body). The secret is stored encrypted\nand never returned; `null` removes the scheme. With a scheme set, an\nunsigned or mis-signed delivery starts nothing.\n",
43095
+ "type": "object",
43096
+ "properties": {
43097
+ "scheme": {
43098
+ "type": "string",
43099
+ "enum": [
43100
+ "stripe",
43101
+ "github",
43102
+ "hmac_sha256"
43103
+ ]
43104
+ },
43105
+ "secret": {
43106
+ "type": "string",
43107
+ "minLength": 8,
43108
+ "maxLength": 512
43109
+ },
43110
+ "header": {
43111
+ "type": "string",
43112
+ "description": "Header carrying the signature (defaults per scheme)."
43113
+ },
43114
+ "tolerance_secs": {
43115
+ "type": "integer",
43116
+ "default": 300,
43117
+ "description": "Timestamp tolerance for schemes that carry one (stripe)."
43118
+ }
43119
+ }
43120
+ }
43121
+ }
43122
+ },
43123
+ "AutomationVersionResponse": {
43124
+ "type": "object",
43125
+ "required": [
43126
+ "version",
43127
+ "spec_hash",
43128
+ "workflow_spec",
43129
+ "created_by_type",
43130
+ "created_at",
43131
+ "current"
43132
+ ],
43133
+ "properties": {
43134
+ "version": {
43135
+ "type": "integer"
43136
+ },
43137
+ "spec_hash": {
43138
+ "type": "string",
43139
+ "description": "SHA-256 of the canonical (sorted-key) JSON of the spec."
43140
+ },
43141
+ "workflow_spec": {
43142
+ "oneOf": [
43143
+ {
43144
+ "type": "array",
43145
+ "items": {
43146
+ "type": "object",
43147
+ "additionalProperties": true
43148
+ }
43149
+ },
43150
+ {
43151
+ "type": "object",
43152
+ "additionalProperties": true
43153
+ }
43154
+ ]
43155
+ },
43156
+ "created_by_type": {
43157
+ "type": "string"
43158
+ },
43159
+ "note": {
43160
+ "type": "string",
43161
+ "nullable": true
43162
+ },
43163
+ "created_at": {
43164
+ "type": "string",
43165
+ "format": "date-time"
43166
+ },
43167
+ "current": {
43168
+ "type": "boolean"
43169
+ }
43170
+ }
43171
+ },
43172
+ "AutomationVersionListResponse": {
43173
+ "type": "object",
43174
+ "required": [
43175
+ "current_version",
43176
+ "versions"
43177
+ ],
43178
+ "properties": {
43179
+ "current_version": {
43180
+ "type": "integer"
43181
+ },
43182
+ "versions": {
43183
+ "type": "array",
43184
+ "items": {
43185
+ "$ref": "#/components/schemas/AutomationVersionResponse"
43186
+ }
43187
+ }
43188
+ }
43189
+ },
43190
+ "RollbackAutomationRequest": {
43191
+ "type": "object",
43192
+ "properties": {
43193
+ "note": {
43194
+ "type": "string"
43195
+ },
43196
+ "approval_id": {
43197
+ "type": "string",
43198
+ "format": "uuid",
43199
+ "description": "Control-plane approval when rolling back to a wider spec."
43200
+ }
43201
+ }
43202
+ },
43203
+ "TriggerAutomationRequest": {
43204
+ "type": "object",
43205
+ "properties": {
43206
+ "input": {
43207
+ "type": "object",
43208
+ "additionalProperties": true,
43209
+ "description": "Exposed to steps as `{{trigger.*}}`."
43210
+ },
43211
+ "idempotency_key": {
43212
+ "type": "string",
43213
+ "maxLength": 128,
43214
+ "description": "Same key twice for one automation returns the existing run (200) instead\nof starting a second (201). `Idempotency-Key` header is equivalent.\n"
42894
43215
  }
42895
43216
  }
42896
43217
  },
@@ -43003,6 +43324,15 @@
43003
43324
  "updated_at": {
43004
43325
  "type": "string",
43005
43326
  "format": "date-time"
43327
+ },
43328
+ "spec_version": {
43329
+ "type": "integer",
43330
+ "description": "Current `automation_versions` version."
43331
+ },
43332
+ "webhook_signature_scheme": {
43333
+ "type": "string",
43334
+ "nullable": true,
43335
+ "description": "Inbound signature scheme name, never the secret."
43006
43336
  }
43007
43337
  }
43008
43338
  },
@@ -43135,12 +43465,58 @@
43135
43465
  "enum": [
43136
43466
  "running",
43137
43467
  "success",
43468
+ "completed_with_skips",
43138
43469
  "failed",
43139
43470
  "timed_out",
43140
43471
  "cancelled",
43141
- "awaiting_approval"
43472
+ "awaiting_approval",
43473
+ "waiting",
43474
+ "awaiting_callback"
43475
+ ],
43476
+ "description": "`awaiting_approval`, `waiting` (a `wait_until` park) and `awaiting_callback`\nare parked states: the run's clock is stopped and it continues when the\napproval is decided, the wake time passes, or the callback URL is posted to.\n"
43477
+ },
43478
+ "paused_reason": {
43479
+ "type": "string",
43480
+ "nullable": true,
43481
+ "enum": [
43482
+ "approval",
43483
+ "wait_until",
43484
+ "callback"
43142
43485
  ]
43143
43486
  },
43487
+ "paused_at_step": {
43488
+ "type": "integer",
43489
+ "nullable": true
43490
+ },
43491
+ "paused_approval_id": {
43492
+ "type": "string",
43493
+ "format": "uuid",
43494
+ "nullable": true
43495
+ },
43496
+ "paused_until": {
43497
+ "type": "string",
43498
+ "format": "date-time",
43499
+ "nullable": true
43500
+ },
43501
+ "paused_expires_at": {
43502
+ "type": "string",
43503
+ "format": "date-time",
43504
+ "nullable": true
43505
+ },
43506
+ "spec_version": {
43507
+ "type": "integer",
43508
+ "nullable": true
43509
+ },
43510
+ "idempotency_key": {
43511
+ "type": "string",
43512
+ "nullable": true
43513
+ },
43514
+ "parent_run_id": {
43515
+ "type": "string",
43516
+ "format": "uuid",
43517
+ "nullable": true,
43518
+ "description": "Set when a `call_automation` step started this run."
43519
+ },
43144
43520
  "step_results": {
43145
43521
  "nullable": true
43146
43522
  },
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.34"
5
+ version: "0.61.35"
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -11989,6 +11989,10 @@ paths:
11989
11989
  tags: [Automations]
11990
11990
  summary: Trigger automation
11991
11991
  operationId: triggerAutomation
11992
+ description: |
11993
+ Start a run now. With an `idempotency_key` (body or `Idempotency-Key` header) the
11994
+ same key returns the run already started for it (200) rather than a second run
11995
+ (201). `input` is exposed to steps as `{{trigger.*}}`.
11992
11996
  parameters:
11993
11997
  - name: automationId
11994
11998
  in: path
@@ -11996,9 +12000,21 @@ paths:
11996
12000
  schema:
11997
12001
  type: string
11998
12002
  format: uuid
12003
+ requestBody:
12004
+ required: false
12005
+ content:
12006
+ application/json:
12007
+ schema:
12008
+ $ref: "#/components/schemas/TriggerAutomationRequest"
11999
12009
  responses:
12010
+ "201":
12011
+ description: Run started
12012
+ content:
12013
+ application/json:
12014
+ schema:
12015
+ $ref: "#/components/schemas/AutomationRunResponse"
12000
12016
  "200":
12001
- description: Automation triggered
12017
+ description: An earlier run with the same idempotency key
12002
12018
  content:
12003
12019
  application/json:
12004
12020
  schema:
@@ -12272,6 +12288,126 @@ paths:
12272
12288
  "404":
12273
12289
  $ref: "#/components/responses/NotFound"
12274
12290
 
12291
+ /v1/automations/{automationId}/runs/{runId}/callback/{token}:
12292
+ post:
12293
+ tags: [Automations]
12294
+ summary: Continue a run parked on awaiting_callback
12295
+ operationId: automationRunCallback
12296
+ security: []
12297
+ description: |
12298
+ Public, authenticated by the per-run token. A spec with an `awaiting_callback`
12299
+ step gets the token at run start as `{{run.callback_url}}` / `{{run.callback_token}}`;
12300
+ an earlier step hands the URL to the external system, the step parks the run
12301
+ (`awaiting_callback`, up to its `timeout_secs`), and this POST continues it. The
12302
+ JSON body becomes `{{resume.*}}`. 409 when the run is not (yet) parked on a
12303
+ callback; 401 for a wrong token.
12304
+ parameters:
12305
+ - name: automationId
12306
+ in: path
12307
+ required: true
12308
+ schema:
12309
+ type: string
12310
+ format: uuid
12311
+ - name: runId
12312
+ in: path
12313
+ required: true
12314
+ schema:
12315
+ type: string
12316
+ format: uuid
12317
+ - name: token
12318
+ in: path
12319
+ required: true
12320
+ schema:
12321
+ type: string
12322
+ requestBody:
12323
+ required: false
12324
+ content:
12325
+ application/json:
12326
+ schema:
12327
+ type: object
12328
+ additionalProperties: true
12329
+ responses:
12330
+ "202":
12331
+ description: The run, continuing
12332
+ content:
12333
+ application/json:
12334
+ schema:
12335
+ $ref: "#/components/schemas/AutomationRunResponse"
12336
+ "401":
12337
+ $ref: "#/components/responses/Unauthorized"
12338
+ "409":
12339
+ $ref: "#/components/responses/Conflict"
12340
+
12341
+ /v1/automations/{automationId}/versions:
12342
+ get:
12343
+ tags: [Automations]
12344
+ summary: List spec versions
12345
+ operationId: listAutomationVersions
12346
+ description: |
12347
+ Every `workflow_spec` the automation has had, newest first. Version 1 is the
12348
+ spec it was created with; every update that changes the spec publishes the
12349
+ next one. Runs record the version they executed.
12350
+ parameters:
12351
+ - name: automationId
12352
+ in: path
12353
+ required: true
12354
+ schema:
12355
+ type: string
12356
+ format: uuid
12357
+ responses:
12358
+ "200":
12359
+ description: Versions
12360
+ content:
12361
+ application/json:
12362
+ schema:
12363
+ $ref: "#/components/schemas/AutomationVersionListResponse"
12364
+ "401":
12365
+ $ref: "#/components/responses/Unauthorized"
12366
+ "404":
12367
+ $ref: "#/components/responses/NotFound"
12368
+
12369
+ /v1/automations/{automationId}/versions/{version}/rollback:
12370
+ post:
12371
+ tags: [Automations]
12372
+ summary: Roll back to an earlier spec version
12373
+ operationId: rollbackAutomationVersion
12374
+ description: |
12375
+ Publishes the chosen version's spec as a new version and makes it current.
12376
+ Human-only. A rollback that widens what the automation can do relative to the
12377
+ live spec goes through the `automation.widen` control-plane consensus gate,
12378
+ like an edit would.
12379
+ parameters:
12380
+ - name: automationId
12381
+ in: path
12382
+ required: true
12383
+ schema:
12384
+ type: string
12385
+ format: uuid
12386
+ - name: version
12387
+ in: path
12388
+ required: true
12389
+ schema:
12390
+ type: integer
12391
+ requestBody:
12392
+ required: false
12393
+ content:
12394
+ application/json:
12395
+ schema:
12396
+ $ref: "#/components/schemas/RollbackAutomationRequest"
12397
+ responses:
12398
+ "200":
12399
+ description: The automation with the rolled-back spec current
12400
+ content:
12401
+ application/json:
12402
+ schema:
12403
+ $ref: "#/components/schemas/AutomationResponse"
12404
+ "401":
12405
+ $ref: "#/components/responses/Unauthorized"
12406
+ "403":
12407
+ $ref: "#/components/responses/Forbidden"
12408
+ "404":
12409
+ $ref: "#/components/responses/NotFound"
12410
+
12275
12411
  /v1/automations/presets:
12276
12412
  get:
12277
12413
  tags: [Automations]
@@ -27735,6 +27871,104 @@ components:
27735
27871
  additionalProperties: true
27736
27872
  is_active:
27737
27873
  type: boolean
27874
+ approval_id:
27875
+ type: string
27876
+ format: uuid
27877
+ description: |
27878
+ Control-plane approval authorising a widening change (adding a step that
27879
+ moves funds or reaches the network, raising or removing a `budget` cap).
27880
+ Required only when the org's consensus policy gates `automation.widen`.
27881
+ version_note:
27882
+ type: string
27883
+ description: Note recorded on the new spec version.
27884
+ webhook_signature:
27885
+ nullable: true
27886
+ description: |
27887
+ Inbound signature scheme for a webhook-triggered automation. `stripe`
27888
+ (`Stripe-Signature: t=…,v1=…` over `<t>.<body>`), `github`
27889
+ (`X-Hub-Signature-256: sha256=…` over the body) or `hmac_sha256`
27890
+ (`<header>: <hex|base64>` over the body). The secret is stored encrypted
27891
+ and never returned; `null` removes the scheme. With a scheme set, an
27892
+ unsigned or mis-signed delivery starts nothing.
27893
+ type: object
27894
+ properties:
27895
+ scheme:
27896
+ type: string
27897
+ enum: [stripe, github, hmac_sha256]
27898
+ secret:
27899
+ type: string
27900
+ minLength: 8
27901
+ maxLength: 512
27902
+ header:
27903
+ type: string
27904
+ description: Header carrying the signature (defaults per scheme).
27905
+ tolerance_secs:
27906
+ type: integer
27907
+ default: 300
27908
+ description: Timestamp tolerance for schemes that carry one (stripe).
27909
+
27910
+ AutomationVersionResponse:
27911
+ type: object
27912
+ required: [version, spec_hash, workflow_spec, created_by_type, created_at, current]
27913
+ properties:
27914
+ version:
27915
+ type: integer
27916
+ spec_hash:
27917
+ type: string
27918
+ description: SHA-256 of the canonical (sorted-key) JSON of the spec.
27919
+ workflow_spec:
27920
+ oneOf:
27921
+ - type: array
27922
+ items:
27923
+ type: object
27924
+ additionalProperties: true
27925
+ - type: object
27926
+ additionalProperties: true
27927
+ created_by_type:
27928
+ type: string
27929
+ note:
27930
+ type: string
27931
+ nullable: true
27932
+ created_at:
27933
+ type: string
27934
+ format: date-time
27935
+ current:
27936
+ type: boolean
27937
+
27938
+ AutomationVersionListResponse:
27939
+ type: object
27940
+ required: [current_version, versions]
27941
+ properties:
27942
+ current_version:
27943
+ type: integer
27944
+ versions:
27945
+ type: array
27946
+ items:
27947
+ $ref: "#/components/schemas/AutomationVersionResponse"
27948
+
27949
+ RollbackAutomationRequest:
27950
+ type: object
27951
+ properties:
27952
+ note:
27953
+ type: string
27954
+ approval_id:
27955
+ type: string
27956
+ format: uuid
27957
+ description: Control-plane approval when rolling back to a wider spec.
27958
+
27959
+ TriggerAutomationRequest:
27960
+ type: object
27961
+ properties:
27962
+ input:
27963
+ type: object
27964
+ additionalProperties: true
27965
+ description: Exposed to steps as `{{trigger.*}}`.
27966
+ idempotency_key:
27967
+ type: string
27968
+ maxLength: 128
27969
+ description: |
27970
+ Same key twice for one automation returns the existing run (200) instead
27971
+ of starting a second (201). `Idempotency-Key` header is equivalent.
27738
27972
 
27739
27973
  AutomationResponse:
27740
27974
  type: object
@@ -27804,6 +28038,13 @@ components:
27804
28038
  updated_at:
27805
28039
  type: string
27806
28040
  format: date-time
28041
+ spec_version:
28042
+ type: integer
28043
+ description: Current `automation_versions` version.
28044
+ webhook_signature_scheme:
28045
+ type: string
28046
+ nullable: true
28047
+ description: Inbound signature scheme name, never the secret.
27807
28048
 
27808
28049
  AutomationCreatedResponse:
27809
28050
  allOf:
@@ -27882,7 +28123,41 @@ components:
27882
28123
  format: uuid
27883
28124
  status:
27884
28125
  type: string
27885
- enum: [running, success, failed, timed_out, cancelled, awaiting_approval]
28126
+ enum: [running, success, completed_with_skips, failed, timed_out, cancelled, awaiting_approval, waiting, awaiting_callback]
28127
+ description: |
28128
+ `awaiting_approval`, `waiting` (a `wait_until` park) and `awaiting_callback`
28129
+ are parked states: the run's clock is stopped and it continues when the
28130
+ approval is decided, the wake time passes, or the callback URL is posted to.
28131
+ paused_reason:
28132
+ type: string
28133
+ nullable: true
28134
+ enum: [approval, wait_until, callback]
28135
+ paused_at_step:
28136
+ type: integer
28137
+ nullable: true
28138
+ paused_approval_id:
28139
+ type: string
28140
+ format: uuid
28141
+ nullable: true
28142
+ paused_until:
28143
+ type: string
28144
+ format: date-time
28145
+ nullable: true
28146
+ paused_expires_at:
28147
+ type: string
28148
+ format: date-time
28149
+ nullable: true
28150
+ spec_version:
28151
+ type: integer
28152
+ nullable: true
28153
+ idempotency_key:
28154
+ type: string
28155
+ nullable: true
28156
+ parent_run_id:
28157
+ type: string
28158
+ format: uuid
28159
+ nullable: true
28160
+ description: Set when a `call_automation` step started this run.
27886
28161
  step_results:
27887
28162
  nullable: true
27888
28163
  error:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.34",
3
+ "version": "0.61.35",
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": {