@1claw/openapi-spec 0.42.0 → 0.43.0

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 +1027 -147
  2. package/openapi.yaml +586 -1
  3. package/package.json +1 -1
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "2.28.0",
5
+ "version": "2.29.0",
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, cloud runtimes,\nagent memory, and discovery.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.xyz"
@@ -150,6 +150,14 @@
150
150
  {
151
151
  "name": "Discovery",
152
152
  "description": "Agent directory and platform marketplace"
153
+ },
154
+ {
155
+ "name": "Agent Chat",
156
+ "description": "Chat with agents via Shroud LLM proxy"
157
+ },
158
+ {
159
+ "name": "Agent Channels",
160
+ "description": "External messaging channels (Telegram, WhatsApp, Discord)"
153
161
  }
154
162
  ],
155
163
  "paths": {
@@ -11444,177 +11452,748 @@
11444
11452
  }
11445
11453
  }
11446
11454
  }
11447
- }
11448
- },
11449
- "components": {
11450
- "securitySchemes": {
11451
- "BearerAuth": {
11452
- "type": "http",
11453
- "scheme": "bearer",
11454
- "bearerFormat": "JWT"
11455
- },
11456
- "ApiKeyAuth": {
11457
- "type": "http",
11458
- "scheme": "bearer",
11459
- "description": "1ck_ prefixed API key used as Bearer token"
11460
- }
11461
11455
  },
11462
- "parameters": {
11463
- "VaultId": {
11464
- "name": "vault_id",
11465
- "in": "path",
11466
- "required": true,
11467
- "schema": {
11468
- "type": "string",
11469
- "format": "uuid"
11470
- }
11471
- },
11472
- "SecretPath": {
11473
- "name": "path",
11474
- "in": "path",
11475
- "required": true,
11476
- "schema": {
11477
- "type": "string"
11456
+ "/v1/agents/{agent_id}/chat": {
11457
+ "post": {
11458
+ "tags": [
11459
+ "Agent Chat"
11460
+ ],
11461
+ "summary": "Send chat message",
11462
+ "description": "Send a message to an agent and receive a response via Shroud LLM.\nSupports SSE streaming when Accept: text/event-stream is set.\n",
11463
+ "operationId": "sendChatMessage",
11464
+ "parameters": [
11465
+ {
11466
+ "$ref": "#/components/parameters/AgentId"
11467
+ }
11468
+ ],
11469
+ "requestBody": {
11470
+ "required": true,
11471
+ "content": {
11472
+ "application/json": {
11473
+ "schema": {
11474
+ "$ref": "#/components/schemas/SendChatMessageRequest"
11475
+ }
11476
+ }
11477
+ }
11478
11478
  },
11479
- "description": "Secret path (e.g. \"db/credentials\")"
11480
- },
11481
- "AgentId": {
11482
- "name": "agent_id",
11483
- "in": "path",
11484
- "required": true,
11485
- "schema": {
11486
- "type": "string",
11487
- "format": "uuid"
11488
- }
11489
- },
11490
- "PolicyId": {
11491
- "name": "policy_id",
11492
- "in": "path",
11493
- "required": true,
11494
- "schema": {
11495
- "type": "string",
11496
- "format": "uuid"
11497
- }
11498
- },
11499
- "CardId": {
11500
- "name": "card_id",
11501
- "in": "path",
11502
- "required": true,
11503
- "schema": {
11504
- "type": "string",
11505
- "format": "uuid"
11506
- }
11507
- },
11508
- "IncludeSignedTx": {
11509
- "name": "include_signed_tx",
11510
- "in": "query",
11511
- "required": false,
11512
- "description": "Set to `true` or `1` to include the raw signed transaction hex in the response. Omitted by default to reduce key exfiltration risk. Only the literal values \"true\" or \"1\" enable inclusion; any other value or omission returns responses without signed_tx. Applies to GET /v1/agents/{agent_id}/transactions and GET /v1/agents/{agent_id}/transactions/{tx_id}.\n",
11513
- "schema": {
11514
- "type": "boolean",
11515
- "default": false,
11516
- "example": false
11479
+ "responses": {
11480
+ "200": {
11481
+ "description": "Chat response",
11482
+ "content": {
11483
+ "application/json": {
11484
+ "schema": {
11485
+ "$ref": "#/components/schemas/SendChatMessageResponse"
11486
+ }
11487
+ },
11488
+ "text/event-stream": {
11489
+ "schema": {
11490
+ "type": "string",
11491
+ "description": "SSE stream of response chunks"
11492
+ }
11493
+ }
11494
+ }
11495
+ },
11496
+ "401": {
11497
+ "$ref": "#/components/responses/Unauthorized"
11498
+ },
11499
+ "403": {
11500
+ "$ref": "#/components/responses/Forbidden"
11501
+ }
11517
11502
  }
11518
11503
  }
11519
11504
  },
11520
- "responses": {
11521
- "BadRequest": {
11522
- "description": "Invalid request",
11523
- "content": {
11524
- "application/json": {
11525
- "schema": {
11526
- "$ref": "#/components/schemas/ProblemDetails"
11527
- }
11505
+ "/v1/agents/{agent_id}/chat/conversations": {
11506
+ "get": {
11507
+ "tags": [
11508
+ "Agent Chat"
11509
+ ],
11510
+ "summary": "List conversations",
11511
+ "description": "List all chat conversations for an agent.",
11512
+ "operationId": "listChatConversations",
11513
+ "parameters": [
11514
+ {
11515
+ "$ref": "#/components/parameters/AgentId"
11528
11516
  }
11529
- }
11530
- },
11531
- "Unauthorized": {
11532
- "description": "Authentication required or invalid",
11533
- "content": {
11534
- "application/json": {
11535
- "schema": {
11536
- "$ref": "#/components/schemas/ProblemDetails"
11517
+ ],
11518
+ "responses": {
11519
+ "200": {
11520
+ "description": "Conversation list",
11521
+ "content": {
11522
+ "application/json": {
11523
+ "schema": {
11524
+ "$ref": "#/components/schemas/ChatConversationListResponse"
11525
+ }
11526
+ }
11537
11527
  }
11528
+ },
11529
+ "401": {
11530
+ "$ref": "#/components/responses/Unauthorized"
11538
11531
  }
11539
11532
  }
11540
- },
11541
- "Forbidden": {
11542
- "description": "Insufficient permissions",
11543
- "content": {
11544
- "application/json": {
11533
+ }
11534
+ },
11535
+ "/v1/agents/{agent_id}/chat/conversations/{conversation_id}": {
11536
+ "get": {
11537
+ "tags": [
11538
+ "Agent Chat"
11539
+ ],
11540
+ "summary": "Get conversation",
11541
+ "description": "Get a conversation with its full message history.",
11542
+ "operationId": "getChatConversation",
11543
+ "parameters": [
11544
+ {
11545
+ "$ref": "#/components/parameters/AgentId"
11546
+ },
11547
+ {
11548
+ "name": "conversation_id",
11549
+ "in": "path",
11550
+ "required": true,
11545
11551
  "schema": {
11546
- "$ref": "#/components/schemas/ProblemDetails"
11552
+ "type": "string",
11553
+ "format": "uuid"
11547
11554
  }
11548
11555
  }
11549
- }
11550
- },
11551
- "NotFound": {
11552
- "description": "Resource not found",
11553
- "content": {
11554
- "application/json": {
11555
- "schema": {
11556
- "$ref": "#/components/schemas/ProblemDetails"
11556
+ ],
11557
+ "responses": {
11558
+ "200": {
11559
+ "description": "Conversation detail",
11560
+ "content": {
11561
+ "application/json": {
11562
+ "schema": {
11563
+ "$ref": "#/components/schemas/ConversationDetailResponse"
11564
+ }
11565
+ }
11557
11566
  }
11567
+ },
11568
+ "401": {
11569
+ "$ref": "#/components/responses/Unauthorized"
11570
+ },
11571
+ "404": {
11572
+ "$ref": "#/components/responses/NotFound"
11558
11573
  }
11559
11574
  }
11560
11575
  },
11561
- "PaymentRequired": {
11562
- "description": "x402 payment required",
11563
- "content": {
11564
- "application/json": {
11576
+ "delete": {
11577
+ "tags": [
11578
+ "Agent Chat"
11579
+ ],
11580
+ "summary": "Archive conversation",
11581
+ "description": "Archive (soft-delete) a chat conversation.",
11582
+ "operationId": "deleteChatConversation",
11583
+ "parameters": [
11584
+ {
11585
+ "$ref": "#/components/parameters/AgentId"
11586
+ },
11587
+ {
11588
+ "name": "conversation_id",
11589
+ "in": "path",
11590
+ "required": true,
11565
11591
  "schema": {
11566
- "$ref": "#/components/schemas/PaymentRequirement"
11592
+ "type": "string",
11593
+ "format": "uuid"
11567
11594
  }
11568
11595
  }
11569
- }
11570
- },
11571
- "Conflict": {
11572
- "description": "Resource already exists or conflict",
11573
- "content": {
11574
- "application/json": {
11575
- "schema": {
11576
- "$ref": "#/components/schemas/ProblemDetails"
11577
- }
11596
+ ],
11597
+ "responses": {
11598
+ "204": {
11599
+ "description": "Conversation archived"
11600
+ },
11601
+ "401": {
11602
+ "$ref": "#/components/responses/Unauthorized"
11603
+ },
11604
+ "404": {
11605
+ "$ref": "#/components/responses/NotFound"
11578
11606
  }
11579
11607
  }
11580
11608
  }
11581
11609
  },
11582
- "schemas": {
11583
- "OrderCardRequest": {
11584
- "type": "object",
11585
- "required": [
11586
- "kind",
11587
- "amount_usd"
11610
+ "/v1/agents/{agent_id}/channels": {
11611
+ "post": {
11612
+ "tags": [
11613
+ "Agent Channels"
11588
11614
  ],
11589
- "properties": {
11590
- "kind": {
11591
- "type": "string",
11592
- "enum": [
11593
- "prepaid",
11594
- "gift_card"
11595
- ]
11596
- },
11597
- "amount_usd": {
11598
- "type": "string",
11599
- "description": "USD amount to load onto the card.",
11600
- "example": "25.00"
11601
- },
11602
- "laso_server_id": {
11603
- "type": "string",
11604
- "description": "Optional Laso gift-card server/brand id (gift cards only)."
11605
- },
11606
- "country": {
11607
- "type": "string",
11608
- "description": "Optional country (prepaid cards; defaults to US)."
11615
+ "summary": "Register channel",
11616
+ "description": "Register a new external messaging channel (Telegram, WhatsApp, Discord)\nfor an agent. Human-only. Returns the channel with its webhook URL.\n",
11617
+ "operationId": "createChannel",
11618
+ "parameters": [
11619
+ {
11620
+ "$ref": "#/components/parameters/AgentId"
11609
11621
  }
11610
- }
11611
- },
11612
- "CardResponse": {
11613
- "type": "object",
11614
- "description": "Masked card view — never contains PAN/CVV.",
11615
- "required": [
11616
- "id",
11617
- "issuer",
11622
+ ],
11623
+ "requestBody": {
11624
+ "required": true,
11625
+ "content": {
11626
+ "application/json": {
11627
+ "schema": {
11628
+ "$ref": "#/components/schemas/CreateChannelRequest"
11629
+ }
11630
+ }
11631
+ }
11632
+ },
11633
+ "responses": {
11634
+ "201": {
11635
+ "description": "Channel created",
11636
+ "content": {
11637
+ "application/json": {
11638
+ "schema": {
11639
+ "$ref": "#/components/schemas/ChannelResponse"
11640
+ }
11641
+ }
11642
+ }
11643
+ },
11644
+ "400": {
11645
+ "$ref": "#/components/responses/BadRequest"
11646
+ },
11647
+ "401": {
11648
+ "$ref": "#/components/responses/Unauthorized"
11649
+ },
11650
+ "403": {
11651
+ "$ref": "#/components/responses/Forbidden"
11652
+ }
11653
+ }
11654
+ },
11655
+ "get": {
11656
+ "tags": [
11657
+ "Agent Channels"
11658
+ ],
11659
+ "summary": "List channels",
11660
+ "description": "List all messaging channels for an agent.",
11661
+ "operationId": "listChannels",
11662
+ "parameters": [
11663
+ {
11664
+ "$ref": "#/components/parameters/AgentId"
11665
+ }
11666
+ ],
11667
+ "responses": {
11668
+ "200": {
11669
+ "description": "Channel list",
11670
+ "content": {
11671
+ "application/json": {
11672
+ "schema": {
11673
+ "$ref": "#/components/schemas/ChannelListResponse"
11674
+ }
11675
+ }
11676
+ }
11677
+ },
11678
+ "401": {
11679
+ "$ref": "#/components/responses/Unauthorized"
11680
+ }
11681
+ }
11682
+ }
11683
+ },
11684
+ "/v1/agents/{agent_id}/channels/{channel_id}": {
11685
+ "patch": {
11686
+ "tags": [
11687
+ "Agent Channels"
11688
+ ],
11689
+ "summary": "Update channel",
11690
+ "description": "Update a channel's name, active status, or config. Human-only.",
11691
+ "operationId": "updateChannel",
11692
+ "parameters": [
11693
+ {
11694
+ "$ref": "#/components/parameters/AgentId"
11695
+ },
11696
+ {
11697
+ "name": "channel_id",
11698
+ "in": "path",
11699
+ "required": true,
11700
+ "schema": {
11701
+ "type": "string",
11702
+ "format": "uuid"
11703
+ }
11704
+ }
11705
+ ],
11706
+ "requestBody": {
11707
+ "required": true,
11708
+ "content": {
11709
+ "application/json": {
11710
+ "schema": {
11711
+ "$ref": "#/components/schemas/UpdateChannelRequest"
11712
+ }
11713
+ }
11714
+ }
11715
+ },
11716
+ "responses": {
11717
+ "200": {
11718
+ "description": "Channel updated",
11719
+ "content": {
11720
+ "application/json": {
11721
+ "schema": {
11722
+ "$ref": "#/components/schemas/ChannelResponse"
11723
+ }
11724
+ }
11725
+ }
11726
+ },
11727
+ "401": {
11728
+ "$ref": "#/components/responses/Unauthorized"
11729
+ },
11730
+ "403": {
11731
+ "$ref": "#/components/responses/Forbidden"
11732
+ },
11733
+ "404": {
11734
+ "$ref": "#/components/responses/NotFound"
11735
+ }
11736
+ }
11737
+ },
11738
+ "delete": {
11739
+ "tags": [
11740
+ "Agent Channels"
11741
+ ],
11742
+ "summary": "Delete channel",
11743
+ "description": "Delete a messaging channel. Human-only.",
11744
+ "operationId": "deleteChannel",
11745
+ "parameters": [
11746
+ {
11747
+ "$ref": "#/components/parameters/AgentId"
11748
+ },
11749
+ {
11750
+ "name": "channel_id",
11751
+ "in": "path",
11752
+ "required": true,
11753
+ "schema": {
11754
+ "type": "string",
11755
+ "format": "uuid"
11756
+ }
11757
+ }
11758
+ ],
11759
+ "responses": {
11760
+ "204": {
11761
+ "description": "Channel deleted"
11762
+ },
11763
+ "401": {
11764
+ "$ref": "#/components/responses/Unauthorized"
11765
+ },
11766
+ "403": {
11767
+ "$ref": "#/components/responses/Forbidden"
11768
+ },
11769
+ "404": {
11770
+ "$ref": "#/components/responses/NotFound"
11771
+ }
11772
+ }
11773
+ }
11774
+ },
11775
+ "/v1/agents/{agent_id}/channels/{channel_id}/send": {
11776
+ "post": {
11777
+ "tags": [
11778
+ "Agent Channels"
11779
+ ],
11780
+ "summary": "Send outbound message",
11781
+ "description": "Send an outbound message via a registered channel.",
11782
+ "operationId": "sendChannelMessage",
11783
+ "parameters": [
11784
+ {
11785
+ "$ref": "#/components/parameters/AgentId"
11786
+ },
11787
+ {
11788
+ "name": "channel_id",
11789
+ "in": "path",
11790
+ "required": true,
11791
+ "schema": {
11792
+ "type": "string",
11793
+ "format": "uuid"
11794
+ }
11795
+ }
11796
+ ],
11797
+ "requestBody": {
11798
+ "required": true,
11799
+ "content": {
11800
+ "application/json": {
11801
+ "schema": {
11802
+ "$ref": "#/components/schemas/SendChannelMessageRequest"
11803
+ }
11804
+ }
11805
+ }
11806
+ },
11807
+ "responses": {
11808
+ "200": {
11809
+ "description": "Message sent",
11810
+ "content": {
11811
+ "application/json": {
11812
+ "schema": {
11813
+ "$ref": "#/components/schemas/ChannelMessageResponse"
11814
+ }
11815
+ }
11816
+ }
11817
+ },
11818
+ "401": {
11819
+ "$ref": "#/components/responses/Unauthorized"
11820
+ },
11821
+ "404": {
11822
+ "$ref": "#/components/responses/NotFound"
11823
+ }
11824
+ }
11825
+ }
11826
+ },
11827
+ "/v1/agents/{agent_id}/channels/{channel_id}/messages": {
11828
+ "get": {
11829
+ "tags": [
11830
+ "Agent Channels"
11831
+ ],
11832
+ "summary": "Channel message history",
11833
+ "description": "List inbound and outbound messages for a channel.",
11834
+ "operationId": "listChannelMessages",
11835
+ "parameters": [
11836
+ {
11837
+ "$ref": "#/components/parameters/AgentId"
11838
+ },
11839
+ {
11840
+ "name": "channel_id",
11841
+ "in": "path",
11842
+ "required": true,
11843
+ "schema": {
11844
+ "type": "string",
11845
+ "format": "uuid"
11846
+ }
11847
+ },
11848
+ {
11849
+ "name": "limit",
11850
+ "in": "query",
11851
+ "schema": {
11852
+ "type": "integer",
11853
+ "default": 50
11854
+ }
11855
+ }
11856
+ ],
11857
+ "responses": {
11858
+ "200": {
11859
+ "description": "Message list",
11860
+ "content": {
11861
+ "application/json": {
11862
+ "schema": {
11863
+ "$ref": "#/components/schemas/ChannelMessageListResponse"
11864
+ }
11865
+ }
11866
+ }
11867
+ },
11868
+ "401": {
11869
+ "$ref": "#/components/responses/Unauthorized"
11870
+ }
11871
+ }
11872
+ }
11873
+ },
11874
+ "/v1/webhooks/telegram/{webhook_path}": {
11875
+ "post": {
11876
+ "tags": [
11877
+ "Agent Channels"
11878
+ ],
11879
+ "summary": "Telegram webhook",
11880
+ "description": "Public webhook endpoint for receiving Telegram bot updates.",
11881
+ "operationId": "telegramWebhook",
11882
+ "security": [],
11883
+ "parameters": [
11884
+ {
11885
+ "name": "webhook_path",
11886
+ "in": "path",
11887
+ "required": true,
11888
+ "schema": {
11889
+ "type": "string"
11890
+ }
11891
+ }
11892
+ ],
11893
+ "requestBody": {
11894
+ "required": true,
11895
+ "content": {
11896
+ "application/json": {
11897
+ "schema": {
11898
+ "type": "object"
11899
+ }
11900
+ }
11901
+ }
11902
+ },
11903
+ "responses": {
11904
+ "200": {
11905
+ "description": "Webhook processed"
11906
+ }
11907
+ }
11908
+ }
11909
+ },
11910
+ "/v1/webhooks/whatsapp/{webhook_path}": {
11911
+ "get": {
11912
+ "tags": [
11913
+ "Agent Channels"
11914
+ ],
11915
+ "summary": "WhatsApp webhook verification",
11916
+ "description": "Verification endpoint for WhatsApp Cloud API webhook setup.",
11917
+ "operationId": "whatsappWebhookVerify",
11918
+ "security": [],
11919
+ "parameters": [
11920
+ {
11921
+ "name": "webhook_path",
11922
+ "in": "path",
11923
+ "required": true,
11924
+ "schema": {
11925
+ "type": "string"
11926
+ }
11927
+ },
11928
+ {
11929
+ "name": "hub.mode",
11930
+ "in": "query",
11931
+ "schema": {
11932
+ "type": "string"
11933
+ }
11934
+ },
11935
+ {
11936
+ "name": "hub.verify_token",
11937
+ "in": "query",
11938
+ "schema": {
11939
+ "type": "string"
11940
+ }
11941
+ },
11942
+ {
11943
+ "name": "hub.challenge",
11944
+ "in": "query",
11945
+ "schema": {
11946
+ "type": "string"
11947
+ }
11948
+ }
11949
+ ],
11950
+ "responses": {
11951
+ "200": {
11952
+ "description": "Challenge response"
11953
+ }
11954
+ }
11955
+ },
11956
+ "post": {
11957
+ "tags": [
11958
+ "Agent Channels"
11959
+ ],
11960
+ "summary": "WhatsApp webhook",
11961
+ "description": "Public webhook endpoint for receiving WhatsApp Cloud API events.",
11962
+ "operationId": "whatsappWebhook",
11963
+ "security": [],
11964
+ "parameters": [
11965
+ {
11966
+ "name": "webhook_path",
11967
+ "in": "path",
11968
+ "required": true,
11969
+ "schema": {
11970
+ "type": "string"
11971
+ }
11972
+ }
11973
+ ],
11974
+ "requestBody": {
11975
+ "required": true,
11976
+ "content": {
11977
+ "application/json": {
11978
+ "schema": {
11979
+ "type": "object"
11980
+ }
11981
+ }
11982
+ }
11983
+ },
11984
+ "responses": {
11985
+ "200": {
11986
+ "description": "Webhook processed"
11987
+ }
11988
+ }
11989
+ }
11990
+ },
11991
+ "/v1/webhooks/discord/{webhook_path}": {
11992
+ "post": {
11993
+ "tags": [
11994
+ "Agent Channels"
11995
+ ],
11996
+ "summary": "Discord webhook",
11997
+ "description": "Public webhook endpoint for receiving Discord bot interactions.",
11998
+ "operationId": "discordWebhook",
11999
+ "security": [],
12000
+ "parameters": [
12001
+ {
12002
+ "name": "webhook_path",
12003
+ "in": "path",
12004
+ "required": true,
12005
+ "schema": {
12006
+ "type": "string"
12007
+ }
12008
+ }
12009
+ ],
12010
+ "requestBody": {
12011
+ "required": true,
12012
+ "content": {
12013
+ "application/json": {
12014
+ "schema": {
12015
+ "type": "object"
12016
+ }
12017
+ }
12018
+ }
12019
+ },
12020
+ "responses": {
12021
+ "200": {
12022
+ "description": "Webhook processed"
12023
+ }
12024
+ }
12025
+ }
12026
+ }
12027
+ },
12028
+ "components": {
12029
+ "securitySchemes": {
12030
+ "BearerAuth": {
12031
+ "type": "http",
12032
+ "scheme": "bearer",
12033
+ "bearerFormat": "JWT"
12034
+ },
12035
+ "ApiKeyAuth": {
12036
+ "type": "http",
12037
+ "scheme": "bearer",
12038
+ "description": "1ck_ prefixed API key used as Bearer token"
12039
+ }
12040
+ },
12041
+ "parameters": {
12042
+ "VaultId": {
12043
+ "name": "vault_id",
12044
+ "in": "path",
12045
+ "required": true,
12046
+ "schema": {
12047
+ "type": "string",
12048
+ "format": "uuid"
12049
+ }
12050
+ },
12051
+ "SecretPath": {
12052
+ "name": "path",
12053
+ "in": "path",
12054
+ "required": true,
12055
+ "schema": {
12056
+ "type": "string"
12057
+ },
12058
+ "description": "Secret path (e.g. \"db/credentials\")"
12059
+ },
12060
+ "AgentId": {
12061
+ "name": "agent_id",
12062
+ "in": "path",
12063
+ "required": true,
12064
+ "schema": {
12065
+ "type": "string",
12066
+ "format": "uuid"
12067
+ }
12068
+ },
12069
+ "PolicyId": {
12070
+ "name": "policy_id",
12071
+ "in": "path",
12072
+ "required": true,
12073
+ "schema": {
12074
+ "type": "string",
12075
+ "format": "uuid"
12076
+ }
12077
+ },
12078
+ "CardId": {
12079
+ "name": "card_id",
12080
+ "in": "path",
12081
+ "required": true,
12082
+ "schema": {
12083
+ "type": "string",
12084
+ "format": "uuid"
12085
+ }
12086
+ },
12087
+ "IncludeSignedTx": {
12088
+ "name": "include_signed_tx",
12089
+ "in": "query",
12090
+ "required": false,
12091
+ "description": "Set to `true` or `1` to include the raw signed transaction hex in the response. Omitted by default to reduce key exfiltration risk. Only the literal values \"true\" or \"1\" enable inclusion; any other value or omission returns responses without signed_tx. Applies to GET /v1/agents/{agent_id}/transactions and GET /v1/agents/{agent_id}/transactions/{tx_id}.\n",
12092
+ "schema": {
12093
+ "type": "boolean",
12094
+ "default": false,
12095
+ "example": false
12096
+ }
12097
+ }
12098
+ },
12099
+ "responses": {
12100
+ "BadRequest": {
12101
+ "description": "Invalid request",
12102
+ "content": {
12103
+ "application/json": {
12104
+ "schema": {
12105
+ "$ref": "#/components/schemas/ProblemDetails"
12106
+ }
12107
+ }
12108
+ }
12109
+ },
12110
+ "Unauthorized": {
12111
+ "description": "Authentication required or invalid",
12112
+ "content": {
12113
+ "application/json": {
12114
+ "schema": {
12115
+ "$ref": "#/components/schemas/ProblemDetails"
12116
+ }
12117
+ }
12118
+ }
12119
+ },
12120
+ "Forbidden": {
12121
+ "description": "Insufficient permissions",
12122
+ "content": {
12123
+ "application/json": {
12124
+ "schema": {
12125
+ "$ref": "#/components/schemas/ProblemDetails"
12126
+ }
12127
+ }
12128
+ }
12129
+ },
12130
+ "NotFound": {
12131
+ "description": "Resource not found",
12132
+ "content": {
12133
+ "application/json": {
12134
+ "schema": {
12135
+ "$ref": "#/components/schemas/ProblemDetails"
12136
+ }
12137
+ }
12138
+ }
12139
+ },
12140
+ "PaymentRequired": {
12141
+ "description": "x402 payment required",
12142
+ "content": {
12143
+ "application/json": {
12144
+ "schema": {
12145
+ "$ref": "#/components/schemas/PaymentRequirement"
12146
+ }
12147
+ }
12148
+ }
12149
+ },
12150
+ "Conflict": {
12151
+ "description": "Resource already exists or conflict",
12152
+ "content": {
12153
+ "application/json": {
12154
+ "schema": {
12155
+ "$ref": "#/components/schemas/ProblemDetails"
12156
+ }
12157
+ }
12158
+ }
12159
+ }
12160
+ },
12161
+ "schemas": {
12162
+ "OrderCardRequest": {
12163
+ "type": "object",
12164
+ "required": [
12165
+ "kind",
12166
+ "amount_usd"
12167
+ ],
12168
+ "properties": {
12169
+ "kind": {
12170
+ "type": "string",
12171
+ "enum": [
12172
+ "prepaid",
12173
+ "gift_card"
12174
+ ]
12175
+ },
12176
+ "amount_usd": {
12177
+ "type": "string",
12178
+ "description": "USD amount to load onto the card.",
12179
+ "example": "25.00"
12180
+ },
12181
+ "laso_server_id": {
12182
+ "type": "string",
12183
+ "description": "Optional Laso gift-card server/brand id (gift cards only)."
12184
+ },
12185
+ "country": {
12186
+ "type": "string",
12187
+ "description": "Optional country (prepaid cards; defaults to US)."
12188
+ }
12189
+ }
12190
+ },
12191
+ "CardResponse": {
12192
+ "type": "object",
12193
+ "description": "Masked card view — never contains PAN/CVV.",
12194
+ "required": [
12195
+ "id",
12196
+ "issuer",
11618
12197
  "kind",
11619
12198
  "currency",
11620
12199
  "status",
@@ -20089,6 +20668,307 @@
20089
20668
  }
20090
20669
  }
20091
20670
  }
20671
+ },
20672
+ "SendChatMessageRequest": {
20673
+ "type": "object",
20674
+ "required": [
20675
+ "message"
20676
+ ],
20677
+ "properties": {
20678
+ "message": {
20679
+ "type": "string"
20680
+ },
20681
+ "conversation_id": {
20682
+ "type": "string",
20683
+ "format": "uuid"
20684
+ },
20685
+ "mode": {
20686
+ "type": "string"
20687
+ },
20688
+ "model": {
20689
+ "type": "string"
20690
+ },
20691
+ "provider": {
20692
+ "type": "string"
20693
+ },
20694
+ "system_prompt": {
20695
+ "type": "string"
20696
+ }
20697
+ }
20698
+ },
20699
+ "ChatMessageResponse": {
20700
+ "type": "object",
20701
+ "properties": {
20702
+ "id": {
20703
+ "type": "string",
20704
+ "format": "uuid"
20705
+ },
20706
+ "conversation_id": {
20707
+ "type": "string",
20708
+ "format": "uuid"
20709
+ },
20710
+ "role": {
20711
+ "type": "string"
20712
+ },
20713
+ "content": {
20714
+ "type": "string"
20715
+ },
20716
+ "tool_calls": {},
20717
+ "tool_results": {},
20718
+ "tokens_prompt": {
20719
+ "type": "integer"
20720
+ },
20721
+ "tokens_completion": {
20722
+ "type": "integer"
20723
+ },
20724
+ "model": {
20725
+ "type": "string"
20726
+ },
20727
+ "created_at": {
20728
+ "type": "string",
20729
+ "format": "date-time"
20730
+ }
20731
+ }
20732
+ },
20733
+ "ChatConversationResponse": {
20734
+ "type": "object",
20735
+ "properties": {
20736
+ "id": {
20737
+ "type": "string",
20738
+ "format": "uuid"
20739
+ },
20740
+ "agent_id": {
20741
+ "type": "string",
20742
+ "format": "uuid"
20743
+ },
20744
+ "title": {
20745
+ "type": "string"
20746
+ },
20747
+ "mode": {
20748
+ "type": "string"
20749
+ },
20750
+ "model": {
20751
+ "type": "string"
20752
+ },
20753
+ "provider": {
20754
+ "type": "string"
20755
+ },
20756
+ "created_at": {
20757
+ "type": "string",
20758
+ "format": "date-time"
20759
+ },
20760
+ "updated_at": {
20761
+ "type": "string",
20762
+ "format": "date-time"
20763
+ }
20764
+ }
20765
+ },
20766
+ "ChatConversationListResponse": {
20767
+ "type": "object",
20768
+ "properties": {
20769
+ "conversations": {
20770
+ "type": "array",
20771
+ "items": {
20772
+ "$ref": "#/components/schemas/ChatConversationResponse"
20773
+ }
20774
+ }
20775
+ }
20776
+ },
20777
+ "ConversationDetailResponse": {
20778
+ "type": "object",
20779
+ "properties": {
20780
+ "conversation": {
20781
+ "$ref": "#/components/schemas/ChatConversationResponse"
20782
+ },
20783
+ "messages": {
20784
+ "type": "array",
20785
+ "items": {
20786
+ "$ref": "#/components/schemas/ChatMessageResponse"
20787
+ }
20788
+ }
20789
+ }
20790
+ },
20791
+ "SendChatMessageResponse": {
20792
+ "type": "object",
20793
+ "properties": {
20794
+ "conversation_id": {
20795
+ "type": "string",
20796
+ "format": "uuid"
20797
+ },
20798
+ "message": {
20799
+ "$ref": "#/components/schemas/ChatMessageResponse"
20800
+ }
20801
+ }
20802
+ },
20803
+ "CreateChannelRequest": {
20804
+ "type": "object",
20805
+ "required": [
20806
+ "channel_type",
20807
+ "config"
20808
+ ],
20809
+ "properties": {
20810
+ "channel_type": {
20811
+ "type": "string",
20812
+ "enum": [
20813
+ "telegram",
20814
+ "whatsapp",
20815
+ "discord"
20816
+ ]
20817
+ },
20818
+ "channel_name": {
20819
+ "type": "string"
20820
+ },
20821
+ "config": {
20822
+ "type": "object",
20823
+ "additionalProperties": {
20824
+ "type": "string"
20825
+ },
20826
+ "description": "Platform-specific config.\nTelegram: { bot_token }.\nWhatsApp: { phone_number_id, access_token, verify_token }.\nDiscord: { bot_token, application_id }.\n"
20827
+ }
20828
+ }
20829
+ },
20830
+ "UpdateChannelRequest": {
20831
+ "type": "object",
20832
+ "properties": {
20833
+ "channel_name": {
20834
+ "type": "string"
20835
+ },
20836
+ "is_active": {
20837
+ "type": "boolean"
20838
+ },
20839
+ "config": {
20840
+ "type": "object",
20841
+ "additionalProperties": {
20842
+ "type": "string"
20843
+ }
20844
+ }
20845
+ }
20846
+ },
20847
+ "ChannelResponse": {
20848
+ "type": "object",
20849
+ "properties": {
20850
+ "id": {
20851
+ "type": "string",
20852
+ "format": "uuid"
20853
+ },
20854
+ "org_id": {
20855
+ "type": "string",
20856
+ "format": "uuid"
20857
+ },
20858
+ "agent_id": {
20859
+ "type": "string",
20860
+ "format": "uuid"
20861
+ },
20862
+ "channel_type": {
20863
+ "type": "string",
20864
+ "enum": [
20865
+ "telegram",
20866
+ "whatsapp",
20867
+ "discord"
20868
+ ]
20869
+ },
20870
+ "channel_name": {
20871
+ "type": "string"
20872
+ },
20873
+ "webhook_path": {
20874
+ "type": "string"
20875
+ },
20876
+ "webhook_url": {
20877
+ "type": "string"
20878
+ },
20879
+ "is_active": {
20880
+ "type": "boolean"
20881
+ },
20882
+ "created_at": {
20883
+ "type": "string",
20884
+ "format": "date-time"
20885
+ },
20886
+ "updated_at": {
20887
+ "type": "string",
20888
+ "format": "date-time"
20889
+ }
20890
+ }
20891
+ },
20892
+ "ChannelListResponse": {
20893
+ "type": "object",
20894
+ "properties": {
20895
+ "channels": {
20896
+ "type": "array",
20897
+ "items": {
20898
+ "$ref": "#/components/schemas/ChannelResponse"
20899
+ }
20900
+ }
20901
+ }
20902
+ },
20903
+ "SendChannelMessageRequest": {
20904
+ "type": "object",
20905
+ "required": [
20906
+ "external_chat_id",
20907
+ "content"
20908
+ ],
20909
+ "properties": {
20910
+ "external_chat_id": {
20911
+ "type": "string",
20912
+ "description": "External platform chat/user ID"
20913
+ },
20914
+ "content": {
20915
+ "type": "string"
20916
+ },
20917
+ "reply_to": {
20918
+ "type": "string",
20919
+ "description": "External message ID to reply to"
20920
+ }
20921
+ }
20922
+ },
20923
+ "ChannelMessageResponse": {
20924
+ "type": "object",
20925
+ "properties": {
20926
+ "id": {
20927
+ "type": "string",
20928
+ "format": "uuid"
20929
+ },
20930
+ "channel_id": {
20931
+ "type": "string",
20932
+ "format": "uuid"
20933
+ },
20934
+ "direction": {
20935
+ "type": "string",
20936
+ "enum": [
20937
+ "inbound",
20938
+ "outbound"
20939
+ ]
20940
+ },
20941
+ "external_chat_id": {
20942
+ "type": "string"
20943
+ },
20944
+ "external_message_id": {
20945
+ "type": "string"
20946
+ },
20947
+ "sender_name": {
20948
+ "type": "string"
20949
+ },
20950
+ "content": {
20951
+ "type": "string"
20952
+ },
20953
+ "media_url": {
20954
+ "type": "string"
20955
+ },
20956
+ "created_at": {
20957
+ "type": "string",
20958
+ "format": "date-time"
20959
+ }
20960
+ }
20961
+ },
20962
+ "ChannelMessageListResponse": {
20963
+ "type": "object",
20964
+ "properties": {
20965
+ "messages": {
20966
+ "type": "array",
20967
+ "items": {
20968
+ "$ref": "#/components/schemas/ChannelMessageResponse"
20969
+ }
20970
+ }
20971
+ }
20092
20972
  }
20093
20973
  }
20094
20974
  }