@1claw/openapi-spec 0.43.0 → 0.43.2

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 +568 -92
  2. package/openapi.yaml +379 -69
  3. package/package.json +1 -1
package/openapi.yaml CHANGED
@@ -2,12 +2,13 @@ openapi: 3.1.0
2
2
 
3
3
  info:
4
4
  title: 1Claw API
5
- version: 2.29.0
5
+ version: 2.31.0
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
9
- sharing, billing, and audit logging. Automations, cloud runtimes,
10
- agent memory, and discovery.
9
+ sharing, billing, and audit logging. Automations (workflow_spec,
10
+ webhook tokens, event triggers, Assist), cloud runtimes with
11
+ interactive shell sessions, agent memory, and discovery.
11
12
 
12
13
  All endpoints require JWT Bearer authentication unless marked with
13
14
  `security: []`.
@@ -6627,11 +6628,11 @@ paths:
6627
6628
  $ref: "#/components/schemas/CreateAutomationRequest"
6628
6629
  responses:
6629
6630
  "201":
6630
- description: Automation created
6631
+ description: Automation created (includes one-time webhook credentials when trigger_type is webhook)
6631
6632
  content:
6632
6633
  application/json:
6633
6634
  schema:
6634
- $ref: "#/components/schemas/AutomationResponse"
6635
+ $ref: "#/components/schemas/AutomationCreatedResponse"
6635
6636
  "400":
6636
6637
  $ref: "#/components/responses/BadRequest"
6637
6638
  "401":
@@ -6780,6 +6781,117 @@ paths:
6780
6781
  "404":
6781
6782
  $ref: "#/components/responses/NotFound"
6782
6783
 
6784
+ /v1/automations/assist/draft:
6785
+ post:
6786
+ tags: [Automations]
6787
+ summary: Draft automation from natural language
6788
+ operationId: assistDraftAutomation
6789
+ requestBody:
6790
+ required: true
6791
+ content:
6792
+ application/json:
6793
+ schema:
6794
+ type: object
6795
+ required: [message]
6796
+ properties:
6797
+ message:
6798
+ type: string
6799
+ agent_id:
6800
+ type: string
6801
+ format: uuid
6802
+ timezone:
6803
+ type: string
6804
+ responses:
6805
+ "200":
6806
+ description: Reviewable automation draft
6807
+ content:
6808
+ application/json:
6809
+ schema:
6810
+ $ref: "#/components/schemas/AssistDraftResponse"
6811
+ "401":
6812
+ $ref: "#/components/responses/Unauthorized"
6813
+
6814
+ /v1/automations/assist/session:
6815
+ post:
6816
+ tags: [Automations]
6817
+ summary: Mint short-lived Assist session token
6818
+ operationId: assistAutomationSession
6819
+ requestBody:
6820
+ content:
6821
+ application/json:
6822
+ schema:
6823
+ type: object
6824
+ properties:
6825
+ runtime_id:
6826
+ type: string
6827
+ format: uuid
6828
+ responses:
6829
+ "200":
6830
+ description: Assist session token
6831
+ content:
6832
+ application/json:
6833
+ schema:
6834
+ $ref: "#/components/schemas/AssistSessionResponse"
6835
+ "401":
6836
+ $ref: "#/components/responses/Unauthorized"
6837
+
6838
+ /v1/automations/webhook/{automationId}/{token}:
6839
+ post:
6840
+ tags: [Automations]
6841
+ summary: Public webhook trigger
6842
+ operationId: webhookTriggerAutomation
6843
+ security: []
6844
+ parameters:
6845
+ - name: automationId
6846
+ in: path
6847
+ required: true
6848
+ schema:
6849
+ type: string
6850
+ format: uuid
6851
+ - name: token
6852
+ in: path
6853
+ required: true
6854
+ schema:
6855
+ type: string
6856
+ description: whk_ prefixed webhook token (SHA-256 verified server-side)
6857
+ responses:
6858
+ "201":
6859
+ description: Automation run queued
6860
+ content:
6861
+ application/json:
6862
+ schema:
6863
+ $ref: "#/components/schemas/AutomationRunResponse"
6864
+ "401":
6865
+ $ref: "#/components/responses/Unauthorized"
6866
+ "404":
6867
+ $ref: "#/components/responses/NotFound"
6868
+
6869
+ /v1/automations/{automationId}/rotate-webhook-token:
6870
+ post:
6871
+ tags: [Automations]
6872
+ summary: Rotate webhook token
6873
+ operationId: rotateAutomationWebhookToken
6874
+ parameters:
6875
+ - name: automationId
6876
+ in: path
6877
+ required: true
6878
+ schema:
6879
+ type: string
6880
+ format: uuid
6881
+ responses:
6882
+ "200":
6883
+ description: New one-time webhook URL and token
6884
+ content:
6885
+ application/json:
6886
+ schema:
6887
+ $ref: "#/components/schemas/WebhookTokenRotatedResponse"
6888
+ "400":
6889
+ $ref: "#/components/responses/BadRequest"
6890
+ "401":
6891
+ $ref: "#/components/responses/Unauthorized"
6892
+ "404":
6893
+ $ref: "#/components/responses/NotFound"
6894
+
6783
6895
  # ---------------------------------------------------------------------------
6784
6896
  # Runtimes
6785
6897
  # ---------------------------------------------------------------------------
@@ -6952,17 +7064,12 @@ paths:
6952
7064
  schema:
6953
7065
  type: string
6954
7066
  format: uuid
6955
- - name: since
6956
- in: query
6957
- schema:
6958
- type: string
6959
- format: date-time
6960
- description: Only return logs after this timestamp
6961
- - name: limit
7067
+ - name: tail
6962
7068
  in: query
6963
7069
  schema:
6964
7070
  type: integer
6965
7071
  default: 100
7072
+ description: Number of recent log lines to return
6966
7073
  responses:
6967
7074
  "200":
6968
7075
  description: Runtime logs
@@ -6970,11 +7077,13 @@ paths:
6970
7077
  application/json:
6971
7078
  schema:
6972
7079
  type: object
7080
+ required: [entries]
6973
7081
  properties:
6974
- lines:
7082
+ entries:
6975
7083
  type: array
6976
7084
  items:
6977
7085
  type: object
7086
+ required: [message]
6978
7087
  properties:
6979
7088
  timestamp:
6980
7089
  type: string
@@ -7009,6 +7118,78 @@ paths:
7009
7118
  "401":
7010
7119
  $ref: "#/components/responses/Unauthorized"
7011
7120
 
7121
+ /v1/runtimes/{runtimeId}/shell/session:
7122
+ post:
7123
+ tags: [Runtimes]
7124
+ summary: Create interactive shell session
7125
+ description: |
7126
+ Human-only. Creates a short-lived WebSocket session token for the
7127
+ runtime's PTY terminal. Requires step-up auth via `password`,
7128
+ `totp_code`, `passkey_credential`, or `reauth_token` (from
7129
+ `POST /v1/auth/reauth` with purpose `runtime_shell`).
7130
+ Runtime must have `shell_access_enabled` and be running.
7131
+ Enabling shell on a running runtime may require stop/start, or
7132
+ the server may auto-reconcile the sidecar on connect.
7133
+ operationId: createShellSession
7134
+ parameters:
7135
+ - name: runtimeId
7136
+ in: path
7137
+ required: true
7138
+ schema:
7139
+ type: string
7140
+ format: uuid
7141
+ requestBody:
7142
+ required: true
7143
+ content:
7144
+ application/json:
7145
+ schema:
7146
+ $ref: "#/components/schemas/ShellSessionRequest"
7147
+ responses:
7148
+ "200":
7149
+ description: Shell session created
7150
+ content:
7151
+ application/json:
7152
+ schema:
7153
+ $ref: "#/components/schemas/ShellSessionResponse"
7154
+ "400":
7155
+ $ref: "#/components/responses/BadRequest"
7156
+ "401":
7157
+ $ref: "#/components/responses/Unauthorized"
7158
+ "403":
7159
+ $ref: "#/components/responses/Forbidden"
7160
+ "404":
7161
+ $ref: "#/components/responses/NotFound"
7162
+
7163
+ /v1/runtimes/{runtimeId}/shell/passkey/begin:
7164
+ post:
7165
+ tags: [Runtimes]
7166
+ summary: Begin shell passkey assertion
7167
+ description: |
7168
+ Human-only. Starts a WebAuthn assertion ceremony for shell
7169
+ step-up auth (social/Google users without a password).
7170
+ operationId: beginShellPasskey
7171
+ parameters:
7172
+ - name: runtimeId
7173
+ in: path
7174
+ required: true
7175
+ schema:
7176
+ type: string
7177
+ format: uuid
7178
+ responses:
7179
+ "200":
7180
+ description: Passkey challenge for shell session
7181
+ content:
7182
+ application/json:
7183
+ schema:
7184
+ type: object
7185
+ additionalProperties: true
7186
+ "401":
7187
+ $ref: "#/components/responses/Unauthorized"
7188
+ "403":
7189
+ $ref: "#/components/responses/Forbidden"
7190
+ "404":
7191
+ $ref: "#/components/responses/NotFound"
7192
+
7012
7193
  # ---------------------------------------------------------------------------
7013
7194
  # Agent Memory
7014
7195
  # ---------------------------------------------------------------------------
@@ -13124,97 +13305,110 @@ components:
13124
13305
 
13125
13306
  CreateAutomationRequest:
13126
13307
  type: object
13127
- required: [name]
13308
+ required: [name, agent_id, trigger_type, workflow_spec]
13309
+ description: |
13310
+ Create an automation. `workflow_spec` is required and must be either
13311
+ a JSON array of steps or `{ "steps": [...] }`. Dashboard `schedule`
13312
+ trigger_type is accepted and normalized to `cron`. For cron triggers,
13313
+ `cron_expr` is required.
13128
13314
  properties:
13129
13315
  name:
13130
13316
  type: string
13131
- description:
13132
- type: string
13133
13317
  agent_id:
13134
13318
  type: string
13135
13319
  format: uuid
13136
13320
  trigger_type:
13137
13321
  type: string
13138
- enum: [schedule, webhook, event, manual]
13139
- trigger_config:
13140
- type: object
13141
- additionalProperties: true
13142
- action_type:
13322
+ description: cron | event | webhook | manual (alias schedule → cron)
13323
+ enum: [cron, event, webhook, manual, schedule]
13324
+ cron_expr:
13325
+ type: string
13326
+ description: Required when trigger_type is cron (or schedule)
13327
+ example: "0 */6 * * *"
13328
+ timezone:
13143
13329
  type: string
13144
- action_config:
13330
+ default: UTC
13331
+ example: UTC
13332
+ event_filter:
13145
13333
  type: object
13146
13334
  additionalProperties: true
13147
- is_active:
13148
- type: boolean
13149
- default: true
13335
+ nullable: true
13336
+ workflow_spec:
13337
+ description: |
13338
+ Workflow steps. Accepts a bare array `[...]` or
13339
+ `{ "steps": [...] }` (dashboard / preset shape).
13340
+ oneOf:
13341
+ - type: array
13342
+ items:
13343
+ type: object
13344
+ additionalProperties: true
13345
+ - type: object
13346
+ additionalProperties: true
13150
13347
 
13151
13348
  UpdateAutomationRequest:
13152
13349
  type: object
13153
13350
  properties:
13154
13351
  name:
13155
13352
  type: string
13156
- description:
13353
+ cron_expr:
13157
13354
  type: string
13158
- agent_id:
13159
- type: string
13160
- format: uuid
13161
- trigger_type:
13162
- type: string
13163
- enum: [schedule, webhook, event, manual]
13164
- trigger_config:
13165
- type: object
13166
- additionalProperties: true
13167
- action_type:
13355
+ nullable: true
13356
+ timezone:
13168
13357
  type: string
13169
- action_config:
13358
+ event_filter:
13170
13359
  type: object
13171
13360
  additionalProperties: true
13361
+ nullable: true
13362
+ workflow_spec:
13363
+ oneOf:
13364
+ - type: array
13365
+ items:
13366
+ type: object
13367
+ additionalProperties: true
13368
+ - type: object
13369
+ additionalProperties: true
13172
13370
  is_active:
13173
13371
  type: boolean
13174
13372
 
13175
13373
  AutomationResponse:
13176
13374
  type: object
13177
- required: [id, name, trigger_type, is_active, created_at, updated_at]
13375
+ required: [id, agent_id, name, trigger_type, timezone, workflow_spec, is_active, created_at, updated_at]
13178
13376
  properties:
13179
13377
  id:
13180
13378
  type: string
13181
13379
  format: uuid
13182
- name:
13183
- type: string
13184
- description:
13185
- type: string
13186
- nullable: true
13187
13380
  agent_id:
13188
13381
  type: string
13189
13382
  format: uuid
13190
- nullable: true
13383
+ name:
13384
+ type: string
13191
13385
  trigger_type:
13192
13386
  type: string
13193
- enum: [schedule, webhook, event, manual]
13194
- trigger_config:
13195
- type: object
13196
- additionalProperties: true
13197
- nullable: true
13198
- action_type:
13387
+ enum: [cron, event, webhook, manual]
13388
+ cron_expr:
13199
13389
  type: string
13200
13390
  nullable: true
13201
- action_config:
13391
+ timezone:
13392
+ type: string
13393
+ event_filter:
13202
13394
  type: object
13203
13395
  additionalProperties: true
13204
13396
  nullable: true
13397
+ workflow_spec:
13398
+ oneOf:
13399
+ - type: array
13400
+ items:
13401
+ type: object
13402
+ additionalProperties: true
13403
+ - type: object
13404
+ additionalProperties: true
13205
13405
  is_active:
13206
13406
  type: boolean
13207
- webhook_url:
13208
- type: string
13209
- nullable: true
13210
- schedule_expression:
13211
- type: string
13212
- nullable: true
13213
- next_run_at:
13407
+ last_run_at:
13214
13408
  type: string
13215
13409
  format: date-time
13216
13410
  nullable: true
13217
- last_run_at:
13411
+ next_run_at:
13218
13412
  type: string
13219
13413
  format: date-time
13220
13414
  nullable: true
@@ -13225,6 +13419,59 @@ components:
13225
13419
  type: string
13226
13420
  format: date-time
13227
13421
 
13422
+ AutomationCreatedResponse:
13423
+ allOf:
13424
+ - $ref: "#/components/schemas/AutomationResponse"
13425
+ - type: object
13426
+ properties:
13427
+ webhook_url:
13428
+ type: string
13429
+ description: Full POST URL including token (one-time on create)
13430
+ webhook_token:
13431
+ type: string
13432
+ description: whk_ token segment (one-time on create)
13433
+
13434
+ WebhookTokenRotatedResponse:
13435
+ type: object
13436
+ required: [webhook_url, webhook_token]
13437
+ properties:
13438
+ webhook_url:
13439
+ type: string
13440
+ webhook_token:
13441
+ type: string
13442
+
13443
+ AssistDraftResponse:
13444
+ type: object
13445
+ required: [draft, reply]
13446
+ properties:
13447
+ draft:
13448
+ type: object
13449
+ additionalProperties: true
13450
+ reply:
13451
+ type: string
13452
+
13453
+ AssistSessionResponse:
13454
+ type: object
13455
+ required: [access_token, expires_in, scopes, cli_hint]
13456
+ properties:
13457
+ access_token:
13458
+ type: string
13459
+ expires_in:
13460
+ type: integer
13461
+ scopes:
13462
+ type: array
13463
+ items:
13464
+ type: string
13465
+ runtime_id:
13466
+ type: string
13467
+ format: uuid
13468
+ nullable: true
13469
+ runtime_status:
13470
+ type: string
13471
+ nullable: true
13472
+ cli_hint:
13473
+ type: string
13474
+
13228
13475
  AutomationListResponse:
13229
13476
  type: object
13230
13477
  required: [automations]
@@ -13236,7 +13483,7 @@ components:
13236
13483
 
13237
13484
  AutomationRunResponse:
13238
13485
  type: object
13239
- required: [id, automation_id, status, started_at]
13486
+ required: [id, automation_id, agent_id, status, started_at, tokens_used, cost_cents]
13240
13487
  properties:
13241
13488
  id:
13242
13489
  type: string
@@ -13244,23 +13491,31 @@ components:
13244
13491
  automation_id:
13245
13492
  type: string
13246
13493
  format: uuid
13494
+ agent_id:
13495
+ type: string
13496
+ format: uuid
13247
13497
  status:
13248
13498
  type: string
13249
- enum: [pending, running, completed, failed]
13499
+ enum: [pending, running, completed, failed, denied]
13500
+ step_results:
13501
+ nullable: true
13502
+ error:
13503
+ type: string
13504
+ nullable: true
13505
+ trigger_source:
13506
+ type: string
13507
+ nullable: true
13250
13508
  started_at:
13251
13509
  type: string
13252
13510
  format: date-time
13253
- completed_at:
13511
+ finished_at:
13254
13512
  type: string
13255
13513
  format: date-time
13256
13514
  nullable: true
13257
- result:
13258
- type: object
13259
- additionalProperties: true
13260
- nullable: true
13261
- error:
13262
- type: string
13263
- nullable: true
13515
+ tokens_used:
13516
+ type: integer
13517
+ cost_cents:
13518
+ type: integer
13264
13519
 
13265
13520
  AutomationRunListResponse:
13266
13521
  type: object
@@ -13304,6 +13559,14 @@ components:
13304
13559
  inbound_auth:
13305
13560
  type: string
13306
13561
  enum: [api_key, jwt, public]
13562
+ shell_access_enabled:
13563
+ type: boolean
13564
+ default: false
13565
+ shell_auth_policy:
13566
+ type: string
13567
+ description: Step-up auth policy for shell (e.g. password, passkey, totp)
13568
+ shell_max_session_minutes:
13569
+ type: integer
13307
13570
 
13308
13571
  UpdateRuntimeRequest:
13309
13572
  type: object
@@ -13331,6 +13594,12 @@ components:
13331
13594
  inbound_auth:
13332
13595
  type: string
13333
13596
  enum: [api_key, jwt, public]
13597
+ shell_access_enabled:
13598
+ type: boolean
13599
+ shell_auth_policy:
13600
+ type: string
13601
+ shell_max_session_minutes:
13602
+ type: integer
13334
13603
 
13335
13604
  RuntimeResponse:
13336
13605
  type: object
@@ -13383,6 +13652,12 @@ components:
13383
13652
  type: string
13384
13653
  enum: [api_key, jwt, public]
13385
13654
  nullable: true
13655
+ shell_access_enabled:
13656
+ type: boolean
13657
+ shell_auth_policy:
13658
+ type: string
13659
+ shell_max_session_minutes:
13660
+ type: integer
13386
13661
  monthly_hours_used:
13387
13662
  type: number
13388
13663
  nullable: true
@@ -13414,6 +13689,41 @@ components:
13414
13689
  type: string
13415
13690
  nullable: true
13416
13691
 
13692
+ ShellSessionRequest:
13693
+ type: object
13694
+ description: |
13695
+ Step-up credentials for an interactive shell session.
13696
+ Provide one of password, totp_code, passkey_credential, or reauth_token.
13697
+ properties:
13698
+ password:
13699
+ type: string
13700
+ totp_code:
13701
+ type: string
13702
+ passkey_credential:
13703
+ type: object
13704
+ additionalProperties: true
13705
+ reauth_token:
13706
+ type: string
13707
+ description: Single-use `rat_` token from POST /v1/auth/reauth (purpose runtime_shell)
13708
+
13709
+ ShellSessionResponse:
13710
+ type: object
13711
+ required: [session_token, ws_url, expires_in, runtime_id, max_session_minutes]
13712
+ properties:
13713
+ session_token:
13714
+ type: string
13715
+ ws_url:
13716
+ type: string
13717
+ description: WebSocket URL for the PTY terminal
13718
+ expires_in:
13719
+ type: integer
13720
+ format: int64
13721
+ runtime_id:
13722
+ type: string
13723
+ format: uuid
13724
+ max_session_minutes:
13725
+ type: integer
13726
+
13417
13727
  # --- Agent Memory ---
13418
13728
 
13419
13729
  MemoryEntry:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.43.0",
3
+ "version": "0.43.2",
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": {