@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.
- package/openapi.json +379 -3
- package/openapi.yaml +278 -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.
|
|
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": "
|
|
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.
|
|
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:
|
|
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:
|