@1claw/openapi-spec 0.42.0 → 0.43.1
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 +1262 -167
- package/openapi.yaml +798 -64
- 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.
|
|
5
|
+
version: 2.30.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
|
|
10
|
-
agent memory,
|
|
9
|
+
sharing, billing, and audit logging. Automations (workflow_spec),
|
|
10
|
+
cloud runtimes with interactive shell sessions, agent memory,
|
|
11
|
+
and discovery.
|
|
11
12
|
|
|
12
13
|
All endpoints require JWT Bearer authentication unless marked with
|
|
13
14
|
`security: []`.
|
|
@@ -89,6 +90,10 @@ tags:
|
|
|
89
90
|
description: Agent memory storage (scratch, durable, semantic)
|
|
90
91
|
- name: Discovery
|
|
91
92
|
description: Agent directory and platform marketplace
|
|
93
|
+
- name: Agent Chat
|
|
94
|
+
description: Chat with agents via Shroud LLM proxy
|
|
95
|
+
- name: Agent Channels
|
|
96
|
+
description: External messaging channels (Telegram, WhatsApp, Discord)
|
|
92
97
|
|
|
93
98
|
# =============================================================================
|
|
94
99
|
# PATHS
|
|
@@ -7005,6 +7010,78 @@ paths:
|
|
|
7005
7010
|
"401":
|
|
7006
7011
|
$ref: "#/components/responses/Unauthorized"
|
|
7007
7012
|
|
|
7013
|
+
/v1/runtimes/{runtimeId}/shell/session:
|
|
7014
|
+
post:
|
|
7015
|
+
tags: [Runtimes]
|
|
7016
|
+
summary: Create interactive shell session
|
|
7017
|
+
description: |
|
|
7018
|
+
Human-only. Creates a short-lived WebSocket session token for the
|
|
7019
|
+
runtime's PTY terminal. Requires step-up auth via `password`,
|
|
7020
|
+
`totp_code`, `passkey_credential`, or `reauth_token` (from
|
|
7021
|
+
`POST /v1/auth/reauth` with purpose `runtime_shell`).
|
|
7022
|
+
Runtime must have `shell_access_enabled` and be running.
|
|
7023
|
+
Enabling shell on a running runtime may require stop/start, or
|
|
7024
|
+
the server may auto-reconcile the sidecar on connect.
|
|
7025
|
+
operationId: createShellSession
|
|
7026
|
+
parameters:
|
|
7027
|
+
- name: runtimeId
|
|
7028
|
+
in: path
|
|
7029
|
+
required: true
|
|
7030
|
+
schema:
|
|
7031
|
+
type: string
|
|
7032
|
+
format: uuid
|
|
7033
|
+
requestBody:
|
|
7034
|
+
required: true
|
|
7035
|
+
content:
|
|
7036
|
+
application/json:
|
|
7037
|
+
schema:
|
|
7038
|
+
$ref: "#/components/schemas/ShellSessionRequest"
|
|
7039
|
+
responses:
|
|
7040
|
+
"200":
|
|
7041
|
+
description: Shell session created
|
|
7042
|
+
content:
|
|
7043
|
+
application/json:
|
|
7044
|
+
schema:
|
|
7045
|
+
$ref: "#/components/schemas/ShellSessionResponse"
|
|
7046
|
+
"400":
|
|
7047
|
+
$ref: "#/components/responses/BadRequest"
|
|
7048
|
+
"401":
|
|
7049
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7050
|
+
"403":
|
|
7051
|
+
$ref: "#/components/responses/Forbidden"
|
|
7052
|
+
"404":
|
|
7053
|
+
$ref: "#/components/responses/NotFound"
|
|
7054
|
+
|
|
7055
|
+
/v1/runtimes/{runtimeId}/shell/passkey/begin:
|
|
7056
|
+
post:
|
|
7057
|
+
tags: [Runtimes]
|
|
7058
|
+
summary: Begin shell passkey assertion
|
|
7059
|
+
description: |
|
|
7060
|
+
Human-only. Starts a WebAuthn assertion ceremony for shell
|
|
7061
|
+
step-up auth (social/Google users without a password).
|
|
7062
|
+
operationId: beginShellPasskey
|
|
7063
|
+
parameters:
|
|
7064
|
+
- name: runtimeId
|
|
7065
|
+
in: path
|
|
7066
|
+
required: true
|
|
7067
|
+
schema:
|
|
7068
|
+
type: string
|
|
7069
|
+
format: uuid
|
|
7070
|
+
responses:
|
|
7071
|
+
"200":
|
|
7072
|
+
description: Passkey challenge for shell session
|
|
7073
|
+
content:
|
|
7074
|
+
application/json:
|
|
7075
|
+
schema:
|
|
7076
|
+
type: object
|
|
7077
|
+
additionalProperties: true
|
|
7078
|
+
"401":
|
|
7079
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7080
|
+
"403":
|
|
7081
|
+
$ref: "#/components/responses/Forbidden"
|
|
7082
|
+
"404":
|
|
7083
|
+
$ref: "#/components/responses/NotFound"
|
|
7084
|
+
|
|
7008
7085
|
# ---------------------------------------------------------------------------
|
|
7009
7086
|
# Agent Memory
|
|
7010
7087
|
# ---------------------------------------------------------------------------
|
|
@@ -7277,11 +7354,378 @@ paths:
|
|
|
7277
7354
|
description: Search query
|
|
7278
7355
|
responses:
|
|
7279
7356
|
"200":
|
|
7280
|
-
description: Marketplace listing
|
|
7281
|
-
content:
|
|
7282
|
-
application/json:
|
|
7283
|
-
schema:
|
|
7284
|
-
$ref: "#/components/schemas/DirectoryResponse"
|
|
7357
|
+
description: Marketplace listing
|
|
7358
|
+
content:
|
|
7359
|
+
application/json:
|
|
7360
|
+
schema:
|
|
7361
|
+
$ref: "#/components/schemas/DirectoryResponse"
|
|
7362
|
+
|
|
7363
|
+
# ---------------------------------------------------------------------------
|
|
7364
|
+
# Agent Chat
|
|
7365
|
+
# ---------------------------------------------------------------------------
|
|
7366
|
+
|
|
7367
|
+
/v1/agents/{agent_id}/chat:
|
|
7368
|
+
post:
|
|
7369
|
+
tags: [Agent Chat]
|
|
7370
|
+
summary: Send chat message
|
|
7371
|
+
description: |
|
|
7372
|
+
Send a message to an agent and receive a response via Shroud LLM.
|
|
7373
|
+
Supports SSE streaming when Accept: text/event-stream is set.
|
|
7374
|
+
operationId: sendChatMessage
|
|
7375
|
+
parameters:
|
|
7376
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7377
|
+
requestBody:
|
|
7378
|
+
required: true
|
|
7379
|
+
content:
|
|
7380
|
+
application/json:
|
|
7381
|
+
schema:
|
|
7382
|
+
$ref: "#/components/schemas/SendChatMessageRequest"
|
|
7383
|
+
responses:
|
|
7384
|
+
"200":
|
|
7385
|
+
description: Chat response
|
|
7386
|
+
content:
|
|
7387
|
+
application/json:
|
|
7388
|
+
schema:
|
|
7389
|
+
$ref: "#/components/schemas/SendChatMessageResponse"
|
|
7390
|
+
text/event-stream:
|
|
7391
|
+
schema:
|
|
7392
|
+
type: string
|
|
7393
|
+
description: SSE stream of response chunks
|
|
7394
|
+
"401":
|
|
7395
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7396
|
+
"403":
|
|
7397
|
+
$ref: "#/components/responses/Forbidden"
|
|
7398
|
+
|
|
7399
|
+
/v1/agents/{agent_id}/chat/conversations:
|
|
7400
|
+
get:
|
|
7401
|
+
tags: [Agent Chat]
|
|
7402
|
+
summary: List conversations
|
|
7403
|
+
description: List all chat conversations for an agent.
|
|
7404
|
+
operationId: listChatConversations
|
|
7405
|
+
parameters:
|
|
7406
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7407
|
+
responses:
|
|
7408
|
+
"200":
|
|
7409
|
+
description: Conversation list
|
|
7410
|
+
content:
|
|
7411
|
+
application/json:
|
|
7412
|
+
schema:
|
|
7413
|
+
$ref: "#/components/schemas/ChatConversationListResponse"
|
|
7414
|
+
"401":
|
|
7415
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7416
|
+
|
|
7417
|
+
/v1/agents/{agent_id}/chat/conversations/{conversation_id}:
|
|
7418
|
+
get:
|
|
7419
|
+
tags: [Agent Chat]
|
|
7420
|
+
summary: Get conversation
|
|
7421
|
+
description: Get a conversation with its full message history.
|
|
7422
|
+
operationId: getChatConversation
|
|
7423
|
+
parameters:
|
|
7424
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7425
|
+
- name: conversation_id
|
|
7426
|
+
in: path
|
|
7427
|
+
required: true
|
|
7428
|
+
schema:
|
|
7429
|
+
type: string
|
|
7430
|
+
format: uuid
|
|
7431
|
+
responses:
|
|
7432
|
+
"200":
|
|
7433
|
+
description: Conversation detail
|
|
7434
|
+
content:
|
|
7435
|
+
application/json:
|
|
7436
|
+
schema:
|
|
7437
|
+
$ref: "#/components/schemas/ConversationDetailResponse"
|
|
7438
|
+
"401":
|
|
7439
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7440
|
+
"404":
|
|
7441
|
+
$ref: "#/components/responses/NotFound"
|
|
7442
|
+
delete:
|
|
7443
|
+
tags: [Agent Chat]
|
|
7444
|
+
summary: Archive conversation
|
|
7445
|
+
description: Archive (soft-delete) a chat conversation.
|
|
7446
|
+
operationId: deleteChatConversation
|
|
7447
|
+
parameters:
|
|
7448
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7449
|
+
- name: conversation_id
|
|
7450
|
+
in: path
|
|
7451
|
+
required: true
|
|
7452
|
+
schema:
|
|
7453
|
+
type: string
|
|
7454
|
+
format: uuid
|
|
7455
|
+
responses:
|
|
7456
|
+
"204":
|
|
7457
|
+
description: Conversation archived
|
|
7458
|
+
"401":
|
|
7459
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7460
|
+
"404":
|
|
7461
|
+
$ref: "#/components/responses/NotFound"
|
|
7462
|
+
|
|
7463
|
+
# ---------------------------------------------------------------------------
|
|
7464
|
+
# Agent Channels
|
|
7465
|
+
# ---------------------------------------------------------------------------
|
|
7466
|
+
|
|
7467
|
+
/v1/agents/{agent_id}/channels:
|
|
7468
|
+
post:
|
|
7469
|
+
tags: [Agent Channels]
|
|
7470
|
+
summary: Register channel
|
|
7471
|
+
description: |
|
|
7472
|
+
Register a new external messaging channel (Telegram, WhatsApp, Discord)
|
|
7473
|
+
for an agent. Human-only. Returns the channel with its webhook URL.
|
|
7474
|
+
operationId: createChannel
|
|
7475
|
+
parameters:
|
|
7476
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7477
|
+
requestBody:
|
|
7478
|
+
required: true
|
|
7479
|
+
content:
|
|
7480
|
+
application/json:
|
|
7481
|
+
schema:
|
|
7482
|
+
$ref: "#/components/schemas/CreateChannelRequest"
|
|
7483
|
+
responses:
|
|
7484
|
+
"201":
|
|
7485
|
+
description: Channel created
|
|
7486
|
+
content:
|
|
7487
|
+
application/json:
|
|
7488
|
+
schema:
|
|
7489
|
+
$ref: "#/components/schemas/ChannelResponse"
|
|
7490
|
+
"400":
|
|
7491
|
+
$ref: "#/components/responses/BadRequest"
|
|
7492
|
+
"401":
|
|
7493
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7494
|
+
"403":
|
|
7495
|
+
$ref: "#/components/responses/Forbidden"
|
|
7496
|
+
get:
|
|
7497
|
+
tags: [Agent Channels]
|
|
7498
|
+
summary: List channels
|
|
7499
|
+
description: List all messaging channels for an agent.
|
|
7500
|
+
operationId: listChannels
|
|
7501
|
+
parameters:
|
|
7502
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7503
|
+
responses:
|
|
7504
|
+
"200":
|
|
7505
|
+
description: Channel list
|
|
7506
|
+
content:
|
|
7507
|
+
application/json:
|
|
7508
|
+
schema:
|
|
7509
|
+
$ref: "#/components/schemas/ChannelListResponse"
|
|
7510
|
+
"401":
|
|
7511
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7512
|
+
|
|
7513
|
+
/v1/agents/{agent_id}/channels/{channel_id}:
|
|
7514
|
+
patch:
|
|
7515
|
+
tags: [Agent Channels]
|
|
7516
|
+
summary: Update channel
|
|
7517
|
+
description: Update a channel's name, active status, or config. Human-only.
|
|
7518
|
+
operationId: updateChannel
|
|
7519
|
+
parameters:
|
|
7520
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7521
|
+
- name: channel_id
|
|
7522
|
+
in: path
|
|
7523
|
+
required: true
|
|
7524
|
+
schema:
|
|
7525
|
+
type: string
|
|
7526
|
+
format: uuid
|
|
7527
|
+
requestBody:
|
|
7528
|
+
required: true
|
|
7529
|
+
content:
|
|
7530
|
+
application/json:
|
|
7531
|
+
schema:
|
|
7532
|
+
$ref: "#/components/schemas/UpdateChannelRequest"
|
|
7533
|
+
responses:
|
|
7534
|
+
"200":
|
|
7535
|
+
description: Channel updated
|
|
7536
|
+
content:
|
|
7537
|
+
application/json:
|
|
7538
|
+
schema:
|
|
7539
|
+
$ref: "#/components/schemas/ChannelResponse"
|
|
7540
|
+
"401":
|
|
7541
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7542
|
+
"403":
|
|
7543
|
+
$ref: "#/components/responses/Forbidden"
|
|
7544
|
+
"404":
|
|
7545
|
+
$ref: "#/components/responses/NotFound"
|
|
7546
|
+
delete:
|
|
7547
|
+
tags: [Agent Channels]
|
|
7548
|
+
summary: Delete channel
|
|
7549
|
+
description: Delete a messaging channel. Human-only.
|
|
7550
|
+
operationId: deleteChannel
|
|
7551
|
+
parameters:
|
|
7552
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7553
|
+
- name: channel_id
|
|
7554
|
+
in: path
|
|
7555
|
+
required: true
|
|
7556
|
+
schema:
|
|
7557
|
+
type: string
|
|
7558
|
+
format: uuid
|
|
7559
|
+
responses:
|
|
7560
|
+
"204":
|
|
7561
|
+
description: Channel deleted
|
|
7562
|
+
"401":
|
|
7563
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7564
|
+
"403":
|
|
7565
|
+
$ref: "#/components/responses/Forbidden"
|
|
7566
|
+
"404":
|
|
7567
|
+
$ref: "#/components/responses/NotFound"
|
|
7568
|
+
|
|
7569
|
+
/v1/agents/{agent_id}/channels/{channel_id}/send:
|
|
7570
|
+
post:
|
|
7571
|
+
tags: [Agent Channels]
|
|
7572
|
+
summary: Send outbound message
|
|
7573
|
+
description: Send an outbound message via a registered channel.
|
|
7574
|
+
operationId: sendChannelMessage
|
|
7575
|
+
parameters:
|
|
7576
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7577
|
+
- name: channel_id
|
|
7578
|
+
in: path
|
|
7579
|
+
required: true
|
|
7580
|
+
schema:
|
|
7581
|
+
type: string
|
|
7582
|
+
format: uuid
|
|
7583
|
+
requestBody:
|
|
7584
|
+
required: true
|
|
7585
|
+
content:
|
|
7586
|
+
application/json:
|
|
7587
|
+
schema:
|
|
7588
|
+
$ref: "#/components/schemas/SendChannelMessageRequest"
|
|
7589
|
+
responses:
|
|
7590
|
+
"200":
|
|
7591
|
+
description: Message sent
|
|
7592
|
+
content:
|
|
7593
|
+
application/json:
|
|
7594
|
+
schema:
|
|
7595
|
+
$ref: "#/components/schemas/ChannelMessageResponse"
|
|
7596
|
+
"401":
|
|
7597
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7598
|
+
"404":
|
|
7599
|
+
$ref: "#/components/responses/NotFound"
|
|
7600
|
+
|
|
7601
|
+
/v1/agents/{agent_id}/channels/{channel_id}/messages:
|
|
7602
|
+
get:
|
|
7603
|
+
tags: [Agent Channels]
|
|
7604
|
+
summary: Channel message history
|
|
7605
|
+
description: List inbound and outbound messages for a channel.
|
|
7606
|
+
operationId: listChannelMessages
|
|
7607
|
+
parameters:
|
|
7608
|
+
- $ref: "#/components/parameters/AgentId"
|
|
7609
|
+
- name: channel_id
|
|
7610
|
+
in: path
|
|
7611
|
+
required: true
|
|
7612
|
+
schema:
|
|
7613
|
+
type: string
|
|
7614
|
+
format: uuid
|
|
7615
|
+
- name: limit
|
|
7616
|
+
in: query
|
|
7617
|
+
schema:
|
|
7618
|
+
type: integer
|
|
7619
|
+
default: 50
|
|
7620
|
+
responses:
|
|
7621
|
+
"200":
|
|
7622
|
+
description: Message list
|
|
7623
|
+
content:
|
|
7624
|
+
application/json:
|
|
7625
|
+
schema:
|
|
7626
|
+
$ref: "#/components/schemas/ChannelMessageListResponse"
|
|
7627
|
+
"401":
|
|
7628
|
+
$ref: "#/components/responses/Unauthorized"
|
|
7629
|
+
|
|
7630
|
+
# ---------------------------------------------------------------------------
|
|
7631
|
+
# Channel Webhooks (Public)
|
|
7632
|
+
# ---------------------------------------------------------------------------
|
|
7633
|
+
|
|
7634
|
+
/v1/webhooks/telegram/{webhook_path}:
|
|
7635
|
+
post:
|
|
7636
|
+
tags: [Agent Channels]
|
|
7637
|
+
summary: Telegram webhook
|
|
7638
|
+
description: Public webhook endpoint for receiving Telegram bot updates.
|
|
7639
|
+
operationId: telegramWebhook
|
|
7640
|
+
security: []
|
|
7641
|
+
parameters:
|
|
7642
|
+
- name: webhook_path
|
|
7643
|
+
in: path
|
|
7644
|
+
required: true
|
|
7645
|
+
schema:
|
|
7646
|
+
type: string
|
|
7647
|
+
requestBody:
|
|
7648
|
+
required: true
|
|
7649
|
+
content:
|
|
7650
|
+
application/json:
|
|
7651
|
+
schema:
|
|
7652
|
+
type: object
|
|
7653
|
+
responses:
|
|
7654
|
+
"200":
|
|
7655
|
+
description: Webhook processed
|
|
7656
|
+
|
|
7657
|
+
/v1/webhooks/whatsapp/{webhook_path}:
|
|
7658
|
+
get:
|
|
7659
|
+
tags: [Agent Channels]
|
|
7660
|
+
summary: WhatsApp webhook verification
|
|
7661
|
+
description: Verification endpoint for WhatsApp Cloud API webhook setup.
|
|
7662
|
+
operationId: whatsappWebhookVerify
|
|
7663
|
+
security: []
|
|
7664
|
+
parameters:
|
|
7665
|
+
- name: webhook_path
|
|
7666
|
+
in: path
|
|
7667
|
+
required: true
|
|
7668
|
+
schema:
|
|
7669
|
+
type: string
|
|
7670
|
+
- name: hub.mode
|
|
7671
|
+
in: query
|
|
7672
|
+
schema:
|
|
7673
|
+
type: string
|
|
7674
|
+
- name: hub.verify_token
|
|
7675
|
+
in: query
|
|
7676
|
+
schema:
|
|
7677
|
+
type: string
|
|
7678
|
+
- name: hub.challenge
|
|
7679
|
+
in: query
|
|
7680
|
+
schema:
|
|
7681
|
+
type: string
|
|
7682
|
+
responses:
|
|
7683
|
+
"200":
|
|
7684
|
+
description: Challenge response
|
|
7685
|
+
post:
|
|
7686
|
+
tags: [Agent Channels]
|
|
7687
|
+
summary: WhatsApp webhook
|
|
7688
|
+
description: Public webhook endpoint for receiving WhatsApp Cloud API events.
|
|
7689
|
+
operationId: whatsappWebhook
|
|
7690
|
+
security: []
|
|
7691
|
+
parameters:
|
|
7692
|
+
- name: webhook_path
|
|
7693
|
+
in: path
|
|
7694
|
+
required: true
|
|
7695
|
+
schema:
|
|
7696
|
+
type: string
|
|
7697
|
+
requestBody:
|
|
7698
|
+
required: true
|
|
7699
|
+
content:
|
|
7700
|
+
application/json:
|
|
7701
|
+
schema:
|
|
7702
|
+
type: object
|
|
7703
|
+
responses:
|
|
7704
|
+
"200":
|
|
7705
|
+
description: Webhook processed
|
|
7706
|
+
|
|
7707
|
+
/v1/webhooks/discord/{webhook_path}:
|
|
7708
|
+
post:
|
|
7709
|
+
tags: [Agent Channels]
|
|
7710
|
+
summary: Discord webhook
|
|
7711
|
+
description: Public webhook endpoint for receiving Discord bot interactions.
|
|
7712
|
+
operationId: discordWebhook
|
|
7713
|
+
security: []
|
|
7714
|
+
parameters:
|
|
7715
|
+
- name: webhook_path
|
|
7716
|
+
in: path
|
|
7717
|
+
required: true
|
|
7718
|
+
schema:
|
|
7719
|
+
type: string
|
|
7720
|
+
requestBody:
|
|
7721
|
+
required: true
|
|
7722
|
+
content:
|
|
7723
|
+
application/json:
|
|
7724
|
+
schema:
|
|
7725
|
+
type: object
|
|
7726
|
+
responses:
|
|
7727
|
+
"200":
|
|
7728
|
+
description: Webhook processed
|
|
7285
7729
|
|
|
7286
7730
|
# =============================================================================
|
|
7287
7731
|
# COMPONENTS
|
|
@@ -12753,97 +13197,110 @@ components:
|
|
|
12753
13197
|
|
|
12754
13198
|
CreateAutomationRequest:
|
|
12755
13199
|
type: object
|
|
12756
|
-
required: [name]
|
|
13200
|
+
required: [name, agent_id, trigger_type, workflow_spec]
|
|
13201
|
+
description: |
|
|
13202
|
+
Create an automation. `workflow_spec` is required and must be either
|
|
13203
|
+
a JSON array of steps or `{ "steps": [...] }`. Dashboard `schedule`
|
|
13204
|
+
trigger_type is accepted and normalized to `cron`. For cron triggers,
|
|
13205
|
+
`cron_expr` is required.
|
|
12757
13206
|
properties:
|
|
12758
13207
|
name:
|
|
12759
13208
|
type: string
|
|
12760
|
-
description:
|
|
12761
|
-
type: string
|
|
12762
13209
|
agent_id:
|
|
12763
13210
|
type: string
|
|
12764
13211
|
format: uuid
|
|
12765
13212
|
trigger_type:
|
|
12766
13213
|
type: string
|
|
12767
|
-
|
|
12768
|
-
|
|
12769
|
-
|
|
12770
|
-
additionalProperties: true
|
|
12771
|
-
action_type:
|
|
13214
|
+
description: cron | event | webhook | manual (alias schedule → cron)
|
|
13215
|
+
enum: [cron, event, webhook, manual, schedule]
|
|
13216
|
+
cron_expr:
|
|
12772
13217
|
type: string
|
|
12773
|
-
|
|
13218
|
+
description: Required when trigger_type is cron (or schedule)
|
|
13219
|
+
example: "0 */6 * * *"
|
|
13220
|
+
timezone:
|
|
13221
|
+
type: string
|
|
13222
|
+
default: UTC
|
|
13223
|
+
example: UTC
|
|
13224
|
+
event_filter:
|
|
12774
13225
|
type: object
|
|
12775
13226
|
additionalProperties: true
|
|
12776
|
-
|
|
12777
|
-
|
|
12778
|
-
|
|
13227
|
+
nullable: true
|
|
13228
|
+
workflow_spec:
|
|
13229
|
+
description: |
|
|
13230
|
+
Workflow steps. Accepts a bare array `[...]` or
|
|
13231
|
+
`{ "steps": [...] }` (dashboard / preset shape).
|
|
13232
|
+
oneOf:
|
|
13233
|
+
- type: array
|
|
13234
|
+
items:
|
|
13235
|
+
type: object
|
|
13236
|
+
additionalProperties: true
|
|
13237
|
+
- type: object
|
|
13238
|
+
additionalProperties: true
|
|
12779
13239
|
|
|
12780
13240
|
UpdateAutomationRequest:
|
|
12781
13241
|
type: object
|
|
12782
13242
|
properties:
|
|
12783
13243
|
name:
|
|
12784
13244
|
type: string
|
|
12785
|
-
|
|
12786
|
-
type: string
|
|
12787
|
-
agent_id:
|
|
12788
|
-
type: string
|
|
12789
|
-
format: uuid
|
|
12790
|
-
trigger_type:
|
|
13245
|
+
cron_expr:
|
|
12791
13246
|
type: string
|
|
12792
|
-
|
|
12793
|
-
|
|
12794
|
-
type: object
|
|
12795
|
-
additionalProperties: true
|
|
12796
|
-
action_type:
|
|
13247
|
+
nullable: true
|
|
13248
|
+
timezone:
|
|
12797
13249
|
type: string
|
|
12798
|
-
|
|
13250
|
+
event_filter:
|
|
12799
13251
|
type: object
|
|
12800
13252
|
additionalProperties: true
|
|
13253
|
+
nullable: true
|
|
13254
|
+
workflow_spec:
|
|
13255
|
+
oneOf:
|
|
13256
|
+
- type: array
|
|
13257
|
+
items:
|
|
13258
|
+
type: object
|
|
13259
|
+
additionalProperties: true
|
|
13260
|
+
- type: object
|
|
13261
|
+
additionalProperties: true
|
|
12801
13262
|
is_active:
|
|
12802
13263
|
type: boolean
|
|
12803
13264
|
|
|
12804
13265
|
AutomationResponse:
|
|
12805
13266
|
type: object
|
|
12806
|
-
required: [id, name, trigger_type, is_active, created_at, updated_at]
|
|
13267
|
+
required: [id, agent_id, name, trigger_type, timezone, workflow_spec, is_active, created_at, updated_at]
|
|
12807
13268
|
properties:
|
|
12808
13269
|
id:
|
|
12809
13270
|
type: string
|
|
12810
13271
|
format: uuid
|
|
12811
|
-
name:
|
|
12812
|
-
type: string
|
|
12813
|
-
description:
|
|
12814
|
-
type: string
|
|
12815
|
-
nullable: true
|
|
12816
13272
|
agent_id:
|
|
12817
13273
|
type: string
|
|
12818
13274
|
format: uuid
|
|
12819
|
-
|
|
13275
|
+
name:
|
|
13276
|
+
type: string
|
|
12820
13277
|
trigger_type:
|
|
12821
13278
|
type: string
|
|
12822
|
-
enum: [
|
|
12823
|
-
|
|
12824
|
-
type: object
|
|
12825
|
-
additionalProperties: true
|
|
12826
|
-
nullable: true
|
|
12827
|
-
action_type:
|
|
13279
|
+
enum: [cron, event, webhook, manual]
|
|
13280
|
+
cron_expr:
|
|
12828
13281
|
type: string
|
|
12829
13282
|
nullable: true
|
|
12830
|
-
|
|
13283
|
+
timezone:
|
|
13284
|
+
type: string
|
|
13285
|
+
event_filter:
|
|
12831
13286
|
type: object
|
|
12832
13287
|
additionalProperties: true
|
|
12833
13288
|
nullable: true
|
|
13289
|
+
workflow_spec:
|
|
13290
|
+
oneOf:
|
|
13291
|
+
- type: array
|
|
13292
|
+
items:
|
|
13293
|
+
type: object
|
|
13294
|
+
additionalProperties: true
|
|
13295
|
+
- type: object
|
|
13296
|
+
additionalProperties: true
|
|
12834
13297
|
is_active:
|
|
12835
13298
|
type: boolean
|
|
12836
|
-
|
|
12837
|
-
type: string
|
|
12838
|
-
nullable: true
|
|
12839
|
-
schedule_expression:
|
|
12840
|
-
type: string
|
|
12841
|
-
nullable: true
|
|
12842
|
-
next_run_at:
|
|
13299
|
+
last_run_at:
|
|
12843
13300
|
type: string
|
|
12844
13301
|
format: date-time
|
|
12845
13302
|
nullable: true
|
|
12846
|
-
|
|
13303
|
+
next_run_at:
|
|
12847
13304
|
type: string
|
|
12848
13305
|
format: date-time
|
|
12849
13306
|
nullable: true
|
|
@@ -12865,7 +13322,7 @@ components:
|
|
|
12865
13322
|
|
|
12866
13323
|
AutomationRunResponse:
|
|
12867
13324
|
type: object
|
|
12868
|
-
required: [id, automation_id, status, started_at]
|
|
13325
|
+
required: [id, automation_id, agent_id, status, started_at, tokens_used, cost_cents]
|
|
12869
13326
|
properties:
|
|
12870
13327
|
id:
|
|
12871
13328
|
type: string
|
|
@@ -12873,23 +13330,31 @@ components:
|
|
|
12873
13330
|
automation_id:
|
|
12874
13331
|
type: string
|
|
12875
13332
|
format: uuid
|
|
13333
|
+
agent_id:
|
|
13334
|
+
type: string
|
|
13335
|
+
format: uuid
|
|
12876
13336
|
status:
|
|
12877
13337
|
type: string
|
|
12878
|
-
enum: [pending, running, completed, failed]
|
|
13338
|
+
enum: [pending, running, completed, failed, denied]
|
|
13339
|
+
step_results:
|
|
13340
|
+
nullable: true
|
|
13341
|
+
error:
|
|
13342
|
+
type: string
|
|
13343
|
+
nullable: true
|
|
13344
|
+
trigger_source:
|
|
13345
|
+
type: string
|
|
13346
|
+
nullable: true
|
|
12879
13347
|
started_at:
|
|
12880
13348
|
type: string
|
|
12881
13349
|
format: date-time
|
|
12882
|
-
|
|
13350
|
+
finished_at:
|
|
12883
13351
|
type: string
|
|
12884
13352
|
format: date-time
|
|
12885
13353
|
nullable: true
|
|
12886
|
-
|
|
12887
|
-
type:
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
error:
|
|
12891
|
-
type: string
|
|
12892
|
-
nullable: true
|
|
13354
|
+
tokens_used:
|
|
13355
|
+
type: integer
|
|
13356
|
+
cost_cents:
|
|
13357
|
+
type: integer
|
|
12893
13358
|
|
|
12894
13359
|
AutomationRunListResponse:
|
|
12895
13360
|
type: object
|
|
@@ -12933,6 +13398,14 @@ components:
|
|
|
12933
13398
|
inbound_auth:
|
|
12934
13399
|
type: string
|
|
12935
13400
|
enum: [api_key, jwt, public]
|
|
13401
|
+
shell_access_enabled:
|
|
13402
|
+
type: boolean
|
|
13403
|
+
default: false
|
|
13404
|
+
shell_auth_policy:
|
|
13405
|
+
type: string
|
|
13406
|
+
description: Step-up auth policy for shell (e.g. password, passkey, totp)
|
|
13407
|
+
shell_max_session_minutes:
|
|
13408
|
+
type: integer
|
|
12936
13409
|
|
|
12937
13410
|
UpdateRuntimeRequest:
|
|
12938
13411
|
type: object
|
|
@@ -12960,6 +13433,12 @@ components:
|
|
|
12960
13433
|
inbound_auth:
|
|
12961
13434
|
type: string
|
|
12962
13435
|
enum: [api_key, jwt, public]
|
|
13436
|
+
shell_access_enabled:
|
|
13437
|
+
type: boolean
|
|
13438
|
+
shell_auth_policy:
|
|
13439
|
+
type: string
|
|
13440
|
+
shell_max_session_minutes:
|
|
13441
|
+
type: integer
|
|
12963
13442
|
|
|
12964
13443
|
RuntimeResponse:
|
|
12965
13444
|
type: object
|
|
@@ -13012,6 +13491,12 @@ components:
|
|
|
13012
13491
|
type: string
|
|
13013
13492
|
enum: [api_key, jwt, public]
|
|
13014
13493
|
nullable: true
|
|
13494
|
+
shell_access_enabled:
|
|
13495
|
+
type: boolean
|
|
13496
|
+
shell_auth_policy:
|
|
13497
|
+
type: string
|
|
13498
|
+
shell_max_session_minutes:
|
|
13499
|
+
type: integer
|
|
13015
13500
|
monthly_hours_used:
|
|
13016
13501
|
type: number
|
|
13017
13502
|
nullable: true
|
|
@@ -13043,6 +13528,41 @@ components:
|
|
|
13043
13528
|
type: string
|
|
13044
13529
|
nullable: true
|
|
13045
13530
|
|
|
13531
|
+
ShellSessionRequest:
|
|
13532
|
+
type: object
|
|
13533
|
+
description: |
|
|
13534
|
+
Step-up credentials for an interactive shell session.
|
|
13535
|
+
Provide one of password, totp_code, passkey_credential, or reauth_token.
|
|
13536
|
+
properties:
|
|
13537
|
+
password:
|
|
13538
|
+
type: string
|
|
13539
|
+
totp_code:
|
|
13540
|
+
type: string
|
|
13541
|
+
passkey_credential:
|
|
13542
|
+
type: object
|
|
13543
|
+
additionalProperties: true
|
|
13544
|
+
reauth_token:
|
|
13545
|
+
type: string
|
|
13546
|
+
description: Single-use `rat_` token from POST /v1/auth/reauth (purpose runtime_shell)
|
|
13547
|
+
|
|
13548
|
+
ShellSessionResponse:
|
|
13549
|
+
type: object
|
|
13550
|
+
required: [session_token, ws_url, expires_in, runtime_id, max_session_minutes]
|
|
13551
|
+
properties:
|
|
13552
|
+
session_token:
|
|
13553
|
+
type: string
|
|
13554
|
+
ws_url:
|
|
13555
|
+
type: string
|
|
13556
|
+
description: WebSocket URL for the PTY terminal
|
|
13557
|
+
expires_in:
|
|
13558
|
+
type: integer
|
|
13559
|
+
format: int64
|
|
13560
|
+
runtime_id:
|
|
13561
|
+
type: string
|
|
13562
|
+
format: uuid
|
|
13563
|
+
max_session_minutes:
|
|
13564
|
+
type: integer
|
|
13565
|
+
|
|
13046
13566
|
# --- Agent Memory ---
|
|
13047
13567
|
|
|
13048
13568
|
MemoryEntry:
|
|
@@ -13215,3 +13735,217 @@ components:
|
|
|
13215
13735
|
type: array
|
|
13216
13736
|
items:
|
|
13217
13737
|
type: string
|
|
13738
|
+
|
|
13739
|
+
# ── Agent Chat ────────────────────────────────────────────────
|
|
13740
|
+
|
|
13741
|
+
SendChatMessageRequest:
|
|
13742
|
+
type: object
|
|
13743
|
+
required: [message]
|
|
13744
|
+
properties:
|
|
13745
|
+
message:
|
|
13746
|
+
type: string
|
|
13747
|
+
conversation_id:
|
|
13748
|
+
type: string
|
|
13749
|
+
format: uuid
|
|
13750
|
+
mode:
|
|
13751
|
+
type: string
|
|
13752
|
+
model:
|
|
13753
|
+
type: string
|
|
13754
|
+
provider:
|
|
13755
|
+
type: string
|
|
13756
|
+
system_prompt:
|
|
13757
|
+
type: string
|
|
13758
|
+
|
|
13759
|
+
ChatMessageResponse:
|
|
13760
|
+
type: object
|
|
13761
|
+
properties:
|
|
13762
|
+
id:
|
|
13763
|
+
type: string
|
|
13764
|
+
format: uuid
|
|
13765
|
+
conversation_id:
|
|
13766
|
+
type: string
|
|
13767
|
+
format: uuid
|
|
13768
|
+
role:
|
|
13769
|
+
type: string
|
|
13770
|
+
content:
|
|
13771
|
+
type: string
|
|
13772
|
+
tool_calls: {}
|
|
13773
|
+
tool_results: {}
|
|
13774
|
+
tokens_prompt:
|
|
13775
|
+
type: integer
|
|
13776
|
+
tokens_completion:
|
|
13777
|
+
type: integer
|
|
13778
|
+
model:
|
|
13779
|
+
type: string
|
|
13780
|
+
created_at:
|
|
13781
|
+
type: string
|
|
13782
|
+
format: date-time
|
|
13783
|
+
|
|
13784
|
+
ChatConversationResponse:
|
|
13785
|
+
type: object
|
|
13786
|
+
properties:
|
|
13787
|
+
id:
|
|
13788
|
+
type: string
|
|
13789
|
+
format: uuid
|
|
13790
|
+
agent_id:
|
|
13791
|
+
type: string
|
|
13792
|
+
format: uuid
|
|
13793
|
+
title:
|
|
13794
|
+
type: string
|
|
13795
|
+
mode:
|
|
13796
|
+
type: string
|
|
13797
|
+
model:
|
|
13798
|
+
type: string
|
|
13799
|
+
provider:
|
|
13800
|
+
type: string
|
|
13801
|
+
created_at:
|
|
13802
|
+
type: string
|
|
13803
|
+
format: date-time
|
|
13804
|
+
updated_at:
|
|
13805
|
+
type: string
|
|
13806
|
+
format: date-time
|
|
13807
|
+
|
|
13808
|
+
ChatConversationListResponse:
|
|
13809
|
+
type: object
|
|
13810
|
+
properties:
|
|
13811
|
+
conversations:
|
|
13812
|
+
type: array
|
|
13813
|
+
items:
|
|
13814
|
+
$ref: "#/components/schemas/ChatConversationResponse"
|
|
13815
|
+
|
|
13816
|
+
ConversationDetailResponse:
|
|
13817
|
+
type: object
|
|
13818
|
+
properties:
|
|
13819
|
+
conversation:
|
|
13820
|
+
$ref: "#/components/schemas/ChatConversationResponse"
|
|
13821
|
+
messages:
|
|
13822
|
+
type: array
|
|
13823
|
+
items:
|
|
13824
|
+
$ref: "#/components/schemas/ChatMessageResponse"
|
|
13825
|
+
|
|
13826
|
+
SendChatMessageResponse:
|
|
13827
|
+
type: object
|
|
13828
|
+
properties:
|
|
13829
|
+
conversation_id:
|
|
13830
|
+
type: string
|
|
13831
|
+
format: uuid
|
|
13832
|
+
message:
|
|
13833
|
+
$ref: "#/components/schemas/ChatMessageResponse"
|
|
13834
|
+
|
|
13835
|
+
# ── Agent Channels ────────────────────────────────────────────
|
|
13836
|
+
|
|
13837
|
+
CreateChannelRequest:
|
|
13838
|
+
type: object
|
|
13839
|
+
required: [channel_type, config]
|
|
13840
|
+
properties:
|
|
13841
|
+
channel_type:
|
|
13842
|
+
type: string
|
|
13843
|
+
enum: [telegram, whatsapp, discord]
|
|
13844
|
+
channel_name:
|
|
13845
|
+
type: string
|
|
13846
|
+
config:
|
|
13847
|
+
type: object
|
|
13848
|
+
additionalProperties:
|
|
13849
|
+
type: string
|
|
13850
|
+
description: |
|
|
13851
|
+
Platform-specific config.
|
|
13852
|
+
Telegram: { bot_token }.
|
|
13853
|
+
WhatsApp: { phone_number_id, access_token, verify_token }.
|
|
13854
|
+
Discord: { bot_token, application_id }.
|
|
13855
|
+
|
|
13856
|
+
UpdateChannelRequest:
|
|
13857
|
+
type: object
|
|
13858
|
+
properties:
|
|
13859
|
+
channel_name:
|
|
13860
|
+
type: string
|
|
13861
|
+
is_active:
|
|
13862
|
+
type: boolean
|
|
13863
|
+
config:
|
|
13864
|
+
type: object
|
|
13865
|
+
additionalProperties:
|
|
13866
|
+
type: string
|
|
13867
|
+
|
|
13868
|
+
ChannelResponse:
|
|
13869
|
+
type: object
|
|
13870
|
+
properties:
|
|
13871
|
+
id:
|
|
13872
|
+
type: string
|
|
13873
|
+
format: uuid
|
|
13874
|
+
org_id:
|
|
13875
|
+
type: string
|
|
13876
|
+
format: uuid
|
|
13877
|
+
agent_id:
|
|
13878
|
+
type: string
|
|
13879
|
+
format: uuid
|
|
13880
|
+
channel_type:
|
|
13881
|
+
type: string
|
|
13882
|
+
enum: [telegram, whatsapp, discord]
|
|
13883
|
+
channel_name:
|
|
13884
|
+
type: string
|
|
13885
|
+
webhook_path:
|
|
13886
|
+
type: string
|
|
13887
|
+
webhook_url:
|
|
13888
|
+
type: string
|
|
13889
|
+
is_active:
|
|
13890
|
+
type: boolean
|
|
13891
|
+
created_at:
|
|
13892
|
+
type: string
|
|
13893
|
+
format: date-time
|
|
13894
|
+
updated_at:
|
|
13895
|
+
type: string
|
|
13896
|
+
format: date-time
|
|
13897
|
+
|
|
13898
|
+
ChannelListResponse:
|
|
13899
|
+
type: object
|
|
13900
|
+
properties:
|
|
13901
|
+
channels:
|
|
13902
|
+
type: array
|
|
13903
|
+
items:
|
|
13904
|
+
$ref: "#/components/schemas/ChannelResponse"
|
|
13905
|
+
|
|
13906
|
+
SendChannelMessageRequest:
|
|
13907
|
+
type: object
|
|
13908
|
+
required: [external_chat_id, content]
|
|
13909
|
+
properties:
|
|
13910
|
+
external_chat_id:
|
|
13911
|
+
type: string
|
|
13912
|
+
description: External platform chat/user ID
|
|
13913
|
+
content:
|
|
13914
|
+
type: string
|
|
13915
|
+
reply_to:
|
|
13916
|
+
type: string
|
|
13917
|
+
description: External message ID to reply to
|
|
13918
|
+
|
|
13919
|
+
ChannelMessageResponse:
|
|
13920
|
+
type: object
|
|
13921
|
+
properties:
|
|
13922
|
+
id:
|
|
13923
|
+
type: string
|
|
13924
|
+
format: uuid
|
|
13925
|
+
channel_id:
|
|
13926
|
+
type: string
|
|
13927
|
+
format: uuid
|
|
13928
|
+
direction:
|
|
13929
|
+
type: string
|
|
13930
|
+
enum: [inbound, outbound]
|
|
13931
|
+
external_chat_id:
|
|
13932
|
+
type: string
|
|
13933
|
+
external_message_id:
|
|
13934
|
+
type: string
|
|
13935
|
+
sender_name:
|
|
13936
|
+
type: string
|
|
13937
|
+
content:
|
|
13938
|
+
type: string
|
|
13939
|
+
media_url:
|
|
13940
|
+
type: string
|
|
13941
|
+
created_at:
|
|
13942
|
+
type: string
|
|
13943
|
+
format: date-time
|
|
13944
|
+
|
|
13945
|
+
ChannelMessageListResponse:
|
|
13946
|
+
type: object
|
|
13947
|
+
properties:
|
|
13948
|
+
messages:
|
|
13949
|
+
type: array
|
|
13950
|
+
items:
|
|
13951
|
+
$ref: "#/components/schemas/ChannelMessageResponse"
|