@1claw/openapi-spec 0.44.3 → 0.45.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.
- package/README.md +8 -1
- package/openapi.json +406 -3
- package/openapi.yaml +271 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,7 +40,14 @@ openapi-generator generate \
|
|
|
40
40
|
import spec from "@1claw/openapi-spec/openapi.json";
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
## What's in the spec (v0.44.
|
|
43
|
+
## What's in the spec (v0.44.4 — API `info.version` 2.33.0)
|
|
44
|
+
|
|
45
|
+
### OAuth & Platform enhancements (0.44.4)
|
|
46
|
+
- **OAuth token revocation** — `POST /v1/oauth/revoke` (RFC 7009 token revocation)
|
|
47
|
+
- **Consent revocation** — `DELETE /v1/oauth/consents/{app_id}` (user revokes consent for a specific app)
|
|
48
|
+
- **Platform marketplace** — `GET /v1/platform/marketplace` (public listing of approved platform apps)
|
|
49
|
+
- **App statistics** — `GET /v1/platform/apps/{id}/stats` (usage and connection statistics for a platform app)
|
|
50
|
+
- **Webhook secret rotation** — `POST /v1/platform/apps/{id}/rotate-webhook-secret` (rotate a platform app's webhook signing secret)
|
|
44
51
|
|
|
45
52
|
### Automations v2 & Channels (2.33)
|
|
46
53
|
- **Automations v2** — Workflow engine with multi-step pipelines, 14 step types, `{{...}}` template variables, conditional logic (`skip_if`/`run_if`), 10 marketing presets, webhook/event/cron/manual triggers. Enriched list API with `last_run_status`, `total_runs`, `success_rate`, `agent_name`. Run detail with `context` JSONB. Assist NL→workflow drafting.
|
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.
|
|
5
|
+
"version": "2.34.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 (workflow_spec,\nwebhook tokens, event triggers, Assist), cloud runtimes with\ninteractive shell sessions, agent 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"
|
|
@@ -7712,6 +7712,106 @@
|
|
|
7712
7712
|
}
|
|
7713
7713
|
}
|
|
7714
7714
|
},
|
|
7715
|
+
"/v1/platform/apps/{appId}/stats": {
|
|
7716
|
+
"get": {
|
|
7717
|
+
"tags": [
|
|
7718
|
+
"Platform"
|
|
7719
|
+
],
|
|
7720
|
+
"summary": "Get platform app statistics",
|
|
7721
|
+
"description": "Returns aggregate statistics about a platform app's connected users, bootstraps, and grants.",
|
|
7722
|
+
"operationId": "getPlatformAppStats",
|
|
7723
|
+
"security": [
|
|
7724
|
+
{
|
|
7725
|
+
"BearerAuth": []
|
|
7726
|
+
}
|
|
7727
|
+
],
|
|
7728
|
+
"parameters": [
|
|
7729
|
+
{
|
|
7730
|
+
"name": "appId",
|
|
7731
|
+
"in": "path",
|
|
7732
|
+
"required": true,
|
|
7733
|
+
"schema": {
|
|
7734
|
+
"type": "string",
|
|
7735
|
+
"format": "uuid"
|
|
7736
|
+
}
|
|
7737
|
+
}
|
|
7738
|
+
],
|
|
7739
|
+
"responses": {
|
|
7740
|
+
"200": {
|
|
7741
|
+
"description": "App statistics",
|
|
7742
|
+
"content": {
|
|
7743
|
+
"application/json": {
|
|
7744
|
+
"schema": {
|
|
7745
|
+
"$ref": "#/components/schemas/PlatformAppStatsResponse"
|
|
7746
|
+
}
|
|
7747
|
+
}
|
|
7748
|
+
}
|
|
7749
|
+
},
|
|
7750
|
+
"401": {
|
|
7751
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
7752
|
+
},
|
|
7753
|
+
"404": {
|
|
7754
|
+
"$ref": "#/components/responses/NotFound"
|
|
7755
|
+
}
|
|
7756
|
+
}
|
|
7757
|
+
}
|
|
7758
|
+
},
|
|
7759
|
+
"/v1/platform/apps/{appId}/rotate-webhook-secret": {
|
|
7760
|
+
"post": {
|
|
7761
|
+
"tags": [
|
|
7762
|
+
"Platform"
|
|
7763
|
+
],
|
|
7764
|
+
"summary": "Rotate webhook secret",
|
|
7765
|
+
"description": "Generate a new webhook signing secret for the platform app. The old secret is immediately invalidated. Returns the new secret (one-time).",
|
|
7766
|
+
"operationId": "rotatePlatformWebhookSecret",
|
|
7767
|
+
"security": [
|
|
7768
|
+
{
|
|
7769
|
+
"BearerAuth": []
|
|
7770
|
+
}
|
|
7771
|
+
],
|
|
7772
|
+
"parameters": [
|
|
7773
|
+
{
|
|
7774
|
+
"name": "appId",
|
|
7775
|
+
"in": "path",
|
|
7776
|
+
"required": true,
|
|
7777
|
+
"schema": {
|
|
7778
|
+
"type": "string",
|
|
7779
|
+
"format": "uuid"
|
|
7780
|
+
}
|
|
7781
|
+
}
|
|
7782
|
+
],
|
|
7783
|
+
"responses": {
|
|
7784
|
+
"200": {
|
|
7785
|
+
"description": "New webhook secret generated",
|
|
7786
|
+
"content": {
|
|
7787
|
+
"application/json": {
|
|
7788
|
+
"schema": {
|
|
7789
|
+
"type": "object",
|
|
7790
|
+
"required": [
|
|
7791
|
+
"webhook_secret"
|
|
7792
|
+
],
|
|
7793
|
+
"properties": {
|
|
7794
|
+
"webhook_secret": {
|
|
7795
|
+
"type": "string",
|
|
7796
|
+
"description": "The new webhook signing secret (shown once)"
|
|
7797
|
+
}
|
|
7798
|
+
}
|
|
7799
|
+
}
|
|
7800
|
+
}
|
|
7801
|
+
}
|
|
7802
|
+
},
|
|
7803
|
+
"401": {
|
|
7804
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
7805
|
+
},
|
|
7806
|
+
"403": {
|
|
7807
|
+
"description": "Only human users can rotate webhook secrets"
|
|
7808
|
+
},
|
|
7809
|
+
"404": {
|
|
7810
|
+
"$ref": "#/components/responses/NotFound"
|
|
7811
|
+
}
|
|
7812
|
+
}
|
|
7813
|
+
}
|
|
7814
|
+
},
|
|
7715
7815
|
"/v1/platform/apps/{appId}/templates": {
|
|
7716
7816
|
"post": {
|
|
7717
7817
|
"tags": [
|
|
@@ -9911,6 +10011,117 @@
|
|
|
9911
10011
|
}
|
|
9912
10012
|
}
|
|
9913
10013
|
},
|
|
10014
|
+
"/v1/oauth/revoke": {
|
|
10015
|
+
"post": {
|
|
10016
|
+
"tags": [
|
|
10017
|
+
"OAuth"
|
|
10018
|
+
],
|
|
10019
|
+
"summary": "Revoke an OAuth token (RFC 7009)",
|
|
10020
|
+
"description": "Revokes an access token or refresh token. The authorization server\ninvalidates the token so it can no longer be used. Follows RFC 7009.\n",
|
|
10021
|
+
"operationId": "revokeOAuthToken",
|
|
10022
|
+
"security": [],
|
|
10023
|
+
"requestBody": {
|
|
10024
|
+
"required": true,
|
|
10025
|
+
"content": {
|
|
10026
|
+
"application/json": {
|
|
10027
|
+
"schema": {
|
|
10028
|
+
"type": "object",
|
|
10029
|
+
"required": [
|
|
10030
|
+
"token"
|
|
10031
|
+
],
|
|
10032
|
+
"properties": {
|
|
10033
|
+
"token": {
|
|
10034
|
+
"type": "string",
|
|
10035
|
+
"description": "The token to revoke (access_token or refresh_token)"
|
|
10036
|
+
},
|
|
10037
|
+
"token_type_hint": {
|
|
10038
|
+
"type": "string",
|
|
10039
|
+
"enum": [
|
|
10040
|
+
"access_token",
|
|
10041
|
+
"refresh_token"
|
|
10042
|
+
],
|
|
10043
|
+
"description": "Hint about the type of token being revoked"
|
|
10044
|
+
}
|
|
10045
|
+
}
|
|
10046
|
+
}
|
|
10047
|
+
}
|
|
10048
|
+
}
|
|
10049
|
+
},
|
|
10050
|
+
"responses": {
|
|
10051
|
+
"200": {
|
|
10052
|
+
"description": "Token revoked successfully (or was already invalid)",
|
|
10053
|
+
"content": {
|
|
10054
|
+
"application/json": {
|
|
10055
|
+
"schema": {
|
|
10056
|
+
"type": "object",
|
|
10057
|
+
"properties": {
|
|
10058
|
+
"revoked": {
|
|
10059
|
+
"type": "boolean",
|
|
10060
|
+
"example": true
|
|
10061
|
+
}
|
|
10062
|
+
}
|
|
10063
|
+
}
|
|
10064
|
+
}
|
|
10065
|
+
}
|
|
10066
|
+
}
|
|
10067
|
+
}
|
|
10068
|
+
}
|
|
10069
|
+
},
|
|
10070
|
+
"/v1/oauth/consents/{app_id}": {
|
|
10071
|
+
"delete": {
|
|
10072
|
+
"tags": [
|
|
10073
|
+
"OAuth"
|
|
10074
|
+
],
|
|
10075
|
+
"summary": "Revoke consent for a platform app",
|
|
10076
|
+
"description": "Revokes the user's previously granted OAuth consent for a specific platform app.\nAll active tokens issued to the app are invalidated and the consent record is deleted.\n",
|
|
10077
|
+
"operationId": "revokeOAuthConsent",
|
|
10078
|
+
"security": [
|
|
10079
|
+
{
|
|
10080
|
+
"BearerAuth": []
|
|
10081
|
+
}
|
|
10082
|
+
],
|
|
10083
|
+
"parameters": [
|
|
10084
|
+
{
|
|
10085
|
+
"name": "app_id",
|
|
10086
|
+
"in": "path",
|
|
10087
|
+
"required": true,
|
|
10088
|
+
"schema": {
|
|
10089
|
+
"type": "string",
|
|
10090
|
+
"format": "uuid"
|
|
10091
|
+
},
|
|
10092
|
+
"description": "The platform app ID whose consent to revoke"
|
|
10093
|
+
}
|
|
10094
|
+
],
|
|
10095
|
+
"responses": {
|
|
10096
|
+
"200": {
|
|
10097
|
+
"description": "Consent revoked",
|
|
10098
|
+
"content": {
|
|
10099
|
+
"application/json": {
|
|
10100
|
+
"schema": {
|
|
10101
|
+
"type": "object",
|
|
10102
|
+
"properties": {
|
|
10103
|
+
"revoked": {
|
|
10104
|
+
"type": "boolean",
|
|
10105
|
+
"example": true
|
|
10106
|
+
},
|
|
10107
|
+
"app_id": {
|
|
10108
|
+
"type": "string",
|
|
10109
|
+
"format": "uuid"
|
|
10110
|
+
}
|
|
10111
|
+
}
|
|
10112
|
+
}
|
|
10113
|
+
}
|
|
10114
|
+
}
|
|
10115
|
+
},
|
|
10116
|
+
"401": {
|
|
10117
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
10118
|
+
},
|
|
10119
|
+
"404": {
|
|
10120
|
+
"$ref": "#/components/responses/NotFound"
|
|
10121
|
+
}
|
|
10122
|
+
}
|
|
10123
|
+
}
|
|
10124
|
+
},
|
|
9914
10125
|
"/v1/risk/events": {
|
|
9915
10126
|
"get": {
|
|
9916
10127
|
"tags": [
|
|
@@ -12192,10 +12403,11 @@
|
|
|
12192
12403
|
"/v1/platform/marketplace": {
|
|
12193
12404
|
"get": {
|
|
12194
12405
|
"tags": [
|
|
12406
|
+
"Platform",
|
|
12195
12407
|
"Discovery"
|
|
12196
12408
|
],
|
|
12197
12409
|
"summary": "Public marketplace",
|
|
12198
|
-
"description": "Browse the public platform marketplace of agents and
|
|
12410
|
+
"description": "Browse the public platform marketplace of listed apps and agents. Returns approved platform apps with category, tags, pricing summaries, and screenshots.",
|
|
12199
12411
|
"operationId": "listMarketplace",
|
|
12200
12412
|
"security": [],
|
|
12201
12413
|
"parameters": [
|
|
@@ -12222,6 +12434,14 @@
|
|
|
12222
12434
|
"type": "string"
|
|
12223
12435
|
},
|
|
12224
12436
|
"description": "Search query"
|
|
12437
|
+
},
|
|
12438
|
+
{
|
|
12439
|
+
"name": "category",
|
|
12440
|
+
"in": "query",
|
|
12441
|
+
"schema": {
|
|
12442
|
+
"type": "string"
|
|
12443
|
+
},
|
|
12444
|
+
"description": "Filter by app category"
|
|
12225
12445
|
}
|
|
12226
12446
|
],
|
|
12227
12447
|
"responses": {
|
|
@@ -12230,7 +12450,7 @@
|
|
|
12230
12450
|
"content": {
|
|
12231
12451
|
"application/json": {
|
|
12232
12452
|
"schema": {
|
|
12233
|
-
"$ref": "#/components/schemas/
|
|
12453
|
+
"$ref": "#/components/schemas/MarketplaceResponse"
|
|
12234
12454
|
}
|
|
12235
12455
|
}
|
|
12236
12456
|
}
|
|
@@ -19656,6 +19876,14 @@
|
|
|
19656
19876
|
"format": "uuid",
|
|
19657
19877
|
"nullable": true
|
|
19658
19878
|
},
|
|
19879
|
+
"agent_ids": {
|
|
19880
|
+
"type": "array",
|
|
19881
|
+
"items": {
|
|
19882
|
+
"type": "string",
|
|
19883
|
+
"format": "uuid"
|
|
19884
|
+
},
|
|
19885
|
+
"description": "All agent IDs provisioned by the template (when multiple agents are defined)"
|
|
19886
|
+
},
|
|
19659
19887
|
"policy_ids": {
|
|
19660
19888
|
"type": "array",
|
|
19661
19889
|
"items": {
|
|
@@ -19721,6 +19949,88 @@
|
|
|
19721
19949
|
}
|
|
19722
19950
|
}
|
|
19723
19951
|
},
|
|
19952
|
+
"PlatformAppStatsResponse": {
|
|
19953
|
+
"type": "object",
|
|
19954
|
+
"required": [
|
|
19955
|
+
"total_connections",
|
|
19956
|
+
"active_connections",
|
|
19957
|
+
"claimed_connections",
|
|
19958
|
+
"total_bootstraps",
|
|
19959
|
+
"total_grants"
|
|
19960
|
+
],
|
|
19961
|
+
"properties": {
|
|
19962
|
+
"total_connections": {
|
|
19963
|
+
"type": "integer",
|
|
19964
|
+
"description": "Total number of user connections (all statuses)"
|
|
19965
|
+
},
|
|
19966
|
+
"active_connections": {
|
|
19967
|
+
"type": "integer",
|
|
19968
|
+
"description": "Number of active connections"
|
|
19969
|
+
},
|
|
19970
|
+
"claimed_connections": {
|
|
19971
|
+
"type": "integer",
|
|
19972
|
+
"description": "Number of claimed connections"
|
|
19973
|
+
},
|
|
19974
|
+
"total_bootstraps": {
|
|
19975
|
+
"type": "integer",
|
|
19976
|
+
"description": "Total bootstrap operations performed"
|
|
19977
|
+
},
|
|
19978
|
+
"total_grants": {
|
|
19979
|
+
"type": "integer",
|
|
19980
|
+
"description": "Total resource grants issued"
|
|
19981
|
+
}
|
|
19982
|
+
}
|
|
19983
|
+
},
|
|
19984
|
+
"MarketplaceResponse": {
|
|
19985
|
+
"type": "object",
|
|
19986
|
+
"properties": {
|
|
19987
|
+
"apps": {
|
|
19988
|
+
"type": "array",
|
|
19989
|
+
"items": {
|
|
19990
|
+
"type": "object",
|
|
19991
|
+
"properties": {
|
|
19992
|
+
"id": {
|
|
19993
|
+
"type": "string",
|
|
19994
|
+
"format": "uuid"
|
|
19995
|
+
},
|
|
19996
|
+
"name": {
|
|
19997
|
+
"type": "string"
|
|
19998
|
+
},
|
|
19999
|
+
"slug": {
|
|
20000
|
+
"type": "string"
|
|
20001
|
+
},
|
|
20002
|
+
"description": {
|
|
20003
|
+
"type": "string"
|
|
20004
|
+
},
|
|
20005
|
+
"logo_url": {
|
|
20006
|
+
"type": "string",
|
|
20007
|
+
"nullable": true
|
|
20008
|
+
},
|
|
20009
|
+
"category": {
|
|
20010
|
+
"type": "string",
|
|
20011
|
+
"nullable": true
|
|
20012
|
+
},
|
|
20013
|
+
"listing_tags": {
|
|
20014
|
+
"type": "array",
|
|
20015
|
+
"items": {
|
|
20016
|
+
"type": "string"
|
|
20017
|
+
}
|
|
20018
|
+
},
|
|
20019
|
+
"listing_screenshots": {
|
|
20020
|
+
"type": "array",
|
|
20021
|
+
"items": {
|
|
20022
|
+
"type": "string"
|
|
20023
|
+
}
|
|
20024
|
+
},
|
|
20025
|
+
"pricing_summary": {
|
|
20026
|
+
"type": "string",
|
|
20027
|
+
"nullable": true
|
|
20028
|
+
}
|
|
20029
|
+
}
|
|
20030
|
+
}
|
|
20031
|
+
}
|
|
20032
|
+
}
|
|
20033
|
+
},
|
|
19724
20034
|
"ConnectedAppResponse": {
|
|
19725
20035
|
"type": "object",
|
|
19726
20036
|
"properties": {
|
|
@@ -20344,6 +20654,11 @@
|
|
|
20344
20654
|
"type": "integer",
|
|
20345
20655
|
"description": "Token lifetime in seconds"
|
|
20346
20656
|
},
|
|
20657
|
+
"refresh_token": {
|
|
20658
|
+
"type": "string",
|
|
20659
|
+
"nullable": true,
|
|
20660
|
+
"description": "Refresh token for obtaining new access tokens (when offline_access scope was granted)"
|
|
20661
|
+
},
|
|
20347
20662
|
"id_token": {
|
|
20348
20663
|
"type": "string",
|
|
20349
20664
|
"nullable": true,
|
|
@@ -22359,6 +22674,25 @@
|
|
|
22359
22674
|
"type": "string"
|
|
22360
22675
|
},
|
|
22361
22676
|
"description": "Platform-specific config.\nTelegram: { bot_token }.\nWhatsApp: { phone_number_id, access_token, verify_token }.\nDiscord: { bot_token, application_id }.\n"
|
|
22677
|
+
},
|
|
22678
|
+
"slash_commands_enabled": {
|
|
22679
|
+
"type": "boolean",
|
|
22680
|
+
"description": "Enable slash commands on this channel"
|
|
22681
|
+
},
|
|
22682
|
+
"voice_transcription_enabled": {
|
|
22683
|
+
"type": "boolean",
|
|
22684
|
+
"description": "Enable voice message transcription"
|
|
22685
|
+
},
|
|
22686
|
+
"sender_allowlist": {
|
|
22687
|
+
"type": "array",
|
|
22688
|
+
"items": {
|
|
22689
|
+
"type": "string"
|
|
22690
|
+
},
|
|
22691
|
+
"description": "List of allowed sender IDs"
|
|
22692
|
+
},
|
|
22693
|
+
"auto_respond_enabled": {
|
|
22694
|
+
"type": "boolean",
|
|
22695
|
+
"description": "Enable auto-respond"
|
|
22362
22696
|
}
|
|
22363
22697
|
}
|
|
22364
22698
|
},
|
|
@@ -22376,6 +22710,21 @@
|
|
|
22376
22710
|
"additionalProperties": {
|
|
22377
22711
|
"type": "string"
|
|
22378
22712
|
}
|
|
22713
|
+
},
|
|
22714
|
+
"slash_commands_enabled": {
|
|
22715
|
+
"type": "boolean"
|
|
22716
|
+
},
|
|
22717
|
+
"voice_transcription_enabled": {
|
|
22718
|
+
"type": "boolean"
|
|
22719
|
+
},
|
|
22720
|
+
"sender_allowlist": {
|
|
22721
|
+
"type": "array",
|
|
22722
|
+
"items": {
|
|
22723
|
+
"type": "string"
|
|
22724
|
+
}
|
|
22725
|
+
},
|
|
22726
|
+
"auto_respond_enabled": {
|
|
22727
|
+
"type": "boolean"
|
|
22379
22728
|
}
|
|
22380
22729
|
}
|
|
22381
22730
|
},
|
|
@@ -22420,6 +22769,36 @@
|
|
|
22420
22769
|
"nullable": true,
|
|
22421
22770
|
"description": "Channel-specific configuration JSON. May include:\n- sender_allowlist (array of strings): restrict which external senders can trigger the agent\n- auto_respond_enabled (boolean): whether the agent auto-responds to inbound messages\n"
|
|
22422
22771
|
},
|
|
22772
|
+
"slash_commands_enabled": {
|
|
22773
|
+
"type": "boolean",
|
|
22774
|
+
"description": "Whether slash commands are enabled for this channel"
|
|
22775
|
+
},
|
|
22776
|
+
"voice_transcription_enabled": {
|
|
22777
|
+
"type": "boolean",
|
|
22778
|
+
"description": "Whether voice message transcription is enabled"
|
|
22779
|
+
},
|
|
22780
|
+
"unified_conversation_id": {
|
|
22781
|
+
"type": "string",
|
|
22782
|
+
"format": "uuid",
|
|
22783
|
+
"nullable": true,
|
|
22784
|
+
"description": "ID linking this channel to a unified cross-platform conversation"
|
|
22785
|
+
},
|
|
22786
|
+
"is_home_platform": {
|
|
22787
|
+
"type": "boolean",
|
|
22788
|
+
"description": "Whether this is the agent's home platform channel"
|
|
22789
|
+
},
|
|
22790
|
+
"sender_allowlist": {
|
|
22791
|
+
"type": "array",
|
|
22792
|
+
"items": {
|
|
22793
|
+
"type": "string"
|
|
22794
|
+
},
|
|
22795
|
+
"nullable": true,
|
|
22796
|
+
"description": "List of allowed sender IDs for auto-respond"
|
|
22797
|
+
},
|
|
22798
|
+
"auto_respond_enabled": {
|
|
22799
|
+
"type": "boolean",
|
|
22800
|
+
"description": "Whether auto-respond is enabled for this channel"
|
|
22801
|
+
},
|
|
22423
22802
|
"created_at": {
|
|
22424
22803
|
"type": "string",
|
|
22425
22804
|
"format": "date-time"
|
|
@@ -22494,6 +22873,30 @@
|
|
|
22494
22873
|
"media_url": {
|
|
22495
22874
|
"type": "string"
|
|
22496
22875
|
},
|
|
22876
|
+
"is_voice_message": {
|
|
22877
|
+
"type": "boolean",
|
|
22878
|
+
"description": "Whether this message was a voice message"
|
|
22879
|
+
},
|
|
22880
|
+
"voice_file_id": {
|
|
22881
|
+
"type": "string",
|
|
22882
|
+
"nullable": true,
|
|
22883
|
+
"description": "Telegram voice file ID"
|
|
22884
|
+
},
|
|
22885
|
+
"voice_duration_secs": {
|
|
22886
|
+
"type": "integer",
|
|
22887
|
+
"nullable": true,
|
|
22888
|
+
"description": "Duration of voice message in seconds"
|
|
22889
|
+
},
|
|
22890
|
+
"transcription_status": {
|
|
22891
|
+
"type": "string",
|
|
22892
|
+
"nullable": true,
|
|
22893
|
+
"enum": [
|
|
22894
|
+
"pending",
|
|
22895
|
+
"completed",
|
|
22896
|
+
"failed"
|
|
22897
|
+
],
|
|
22898
|
+
"description": "Status of voice transcription"
|
|
22899
|
+
},
|
|
22497
22900
|
"created_at": {
|
|
22498
22901
|
"type": "string",
|
|
22499
22902
|
"format": "date-time"
|
package/openapi.yaml
CHANGED
|
@@ -2,7 +2,7 @@ openapi: 3.1.0
|
|
|
2
2
|
|
|
3
3
|
info:
|
|
4
4
|
title: 1Claw API
|
|
5
|
-
version: 2.
|
|
5
|
+
version: 2.34.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,
|
|
@@ -4981,6 +4981,67 @@ paths:
|
|
|
4981
4981
|
"403":
|
|
4982
4982
|
description: Only human users can rotate platform keys
|
|
4983
4983
|
|
|
4984
|
+
/v1/platform/apps/{appId}/stats:
|
|
4985
|
+
get:
|
|
4986
|
+
tags: [Platform]
|
|
4987
|
+
summary: Get platform app statistics
|
|
4988
|
+
description: Returns aggregate statistics about a platform app's connected users, bootstraps, and grants.
|
|
4989
|
+
operationId: getPlatformAppStats
|
|
4990
|
+
security:
|
|
4991
|
+
- BearerAuth: []
|
|
4992
|
+
parameters:
|
|
4993
|
+
- name: appId
|
|
4994
|
+
in: path
|
|
4995
|
+
required: true
|
|
4996
|
+
schema:
|
|
4997
|
+
type: string
|
|
4998
|
+
format: uuid
|
|
4999
|
+
responses:
|
|
5000
|
+
"200":
|
|
5001
|
+
description: App statistics
|
|
5002
|
+
content:
|
|
5003
|
+
application/json:
|
|
5004
|
+
schema:
|
|
5005
|
+
$ref: "#/components/schemas/PlatformAppStatsResponse"
|
|
5006
|
+
"401":
|
|
5007
|
+
$ref: "#/components/responses/Unauthorized"
|
|
5008
|
+
"404":
|
|
5009
|
+
$ref: "#/components/responses/NotFound"
|
|
5010
|
+
|
|
5011
|
+
/v1/platform/apps/{appId}/rotate-webhook-secret:
|
|
5012
|
+
post:
|
|
5013
|
+
tags: [Platform]
|
|
5014
|
+
summary: Rotate webhook secret
|
|
5015
|
+
description: Generate a new webhook signing secret for the platform app. The old secret is immediately invalidated. Returns the new secret (one-time).
|
|
5016
|
+
operationId: rotatePlatformWebhookSecret
|
|
5017
|
+
security:
|
|
5018
|
+
- BearerAuth: []
|
|
5019
|
+
parameters:
|
|
5020
|
+
- name: appId
|
|
5021
|
+
in: path
|
|
5022
|
+
required: true
|
|
5023
|
+
schema:
|
|
5024
|
+
type: string
|
|
5025
|
+
format: uuid
|
|
5026
|
+
responses:
|
|
5027
|
+
"200":
|
|
5028
|
+
description: New webhook secret generated
|
|
5029
|
+
content:
|
|
5030
|
+
application/json:
|
|
5031
|
+
schema:
|
|
5032
|
+
type: object
|
|
5033
|
+
required: [webhook_secret]
|
|
5034
|
+
properties:
|
|
5035
|
+
webhook_secret:
|
|
5036
|
+
type: string
|
|
5037
|
+
description: The new webhook signing secret (shown once)
|
|
5038
|
+
"401":
|
|
5039
|
+
$ref: "#/components/responses/Unauthorized"
|
|
5040
|
+
"403":
|
|
5041
|
+
description: Only human users can rotate webhook secrets
|
|
5042
|
+
"404":
|
|
5043
|
+
$ref: "#/components/responses/NotFound"
|
|
5044
|
+
|
|
4984
5045
|
/v1/platform/apps/{appId}/templates:
|
|
4985
5046
|
post:
|
|
4986
5047
|
tags: [Platform]
|
|
@@ -6310,6 +6371,79 @@ paths:
|
|
|
6310
6371
|
"401":
|
|
6311
6372
|
$ref: "#/components/responses/Unauthorized"
|
|
6312
6373
|
|
|
6374
|
+
/v1/oauth/revoke:
|
|
6375
|
+
post:
|
|
6376
|
+
tags: [OAuth]
|
|
6377
|
+
summary: Revoke an OAuth token (RFC 7009)
|
|
6378
|
+
description: |
|
|
6379
|
+
Revokes an access token or refresh token. The authorization server
|
|
6380
|
+
invalidates the token so it can no longer be used. Follows RFC 7009.
|
|
6381
|
+
operationId: revokeOAuthToken
|
|
6382
|
+
security: []
|
|
6383
|
+
requestBody:
|
|
6384
|
+
required: true
|
|
6385
|
+
content:
|
|
6386
|
+
application/json:
|
|
6387
|
+
schema:
|
|
6388
|
+
type: object
|
|
6389
|
+
required: [token]
|
|
6390
|
+
properties:
|
|
6391
|
+
token:
|
|
6392
|
+
type: string
|
|
6393
|
+
description: The token to revoke (access_token or refresh_token)
|
|
6394
|
+
token_type_hint:
|
|
6395
|
+
type: string
|
|
6396
|
+
enum: [access_token, refresh_token]
|
|
6397
|
+
description: Hint about the type of token being revoked
|
|
6398
|
+
responses:
|
|
6399
|
+
"200":
|
|
6400
|
+
description: Token revoked successfully (or was already invalid)
|
|
6401
|
+
content:
|
|
6402
|
+
application/json:
|
|
6403
|
+
schema:
|
|
6404
|
+
type: object
|
|
6405
|
+
properties:
|
|
6406
|
+
revoked:
|
|
6407
|
+
type: boolean
|
|
6408
|
+
example: true
|
|
6409
|
+
|
|
6410
|
+
/v1/oauth/consents/{app_id}:
|
|
6411
|
+
delete:
|
|
6412
|
+
tags: [OAuth]
|
|
6413
|
+
summary: Revoke consent for a platform app
|
|
6414
|
+
description: |
|
|
6415
|
+
Revokes the user's previously granted OAuth consent for a specific platform app.
|
|
6416
|
+
All active tokens issued to the app are invalidated and the consent record is deleted.
|
|
6417
|
+
operationId: revokeOAuthConsent
|
|
6418
|
+
security:
|
|
6419
|
+
- BearerAuth: []
|
|
6420
|
+
parameters:
|
|
6421
|
+
- name: app_id
|
|
6422
|
+
in: path
|
|
6423
|
+
required: true
|
|
6424
|
+
schema:
|
|
6425
|
+
type: string
|
|
6426
|
+
format: uuid
|
|
6427
|
+
description: The platform app ID whose consent to revoke
|
|
6428
|
+
responses:
|
|
6429
|
+
"200":
|
|
6430
|
+
description: Consent revoked
|
|
6431
|
+
content:
|
|
6432
|
+
application/json:
|
|
6433
|
+
schema:
|
|
6434
|
+
type: object
|
|
6435
|
+
properties:
|
|
6436
|
+
revoked:
|
|
6437
|
+
type: boolean
|
|
6438
|
+
example: true
|
|
6439
|
+
app_id:
|
|
6440
|
+
type: string
|
|
6441
|
+
format: uuid
|
|
6442
|
+
"401":
|
|
6443
|
+
$ref: "#/components/responses/Unauthorized"
|
|
6444
|
+
"404":
|
|
6445
|
+
$ref: "#/components/responses/NotFound"
|
|
6446
|
+
|
|
6313
6447
|
# ---------------------------------------------------------------------------
|
|
6314
6448
|
# Risk Engine
|
|
6315
6449
|
# ---------------------------------------------------------------------------
|
|
@@ -7772,9 +7906,9 @@ paths:
|
|
|
7772
7906
|
|
|
7773
7907
|
/v1/platform/marketplace:
|
|
7774
7908
|
get:
|
|
7775
|
-
tags: [Discovery]
|
|
7909
|
+
tags: [Platform, Discovery]
|
|
7776
7910
|
summary: Public marketplace
|
|
7777
|
-
description: Browse the public platform marketplace of agents and
|
|
7911
|
+
description: Browse the public platform marketplace of listed apps and agents. Returns approved platform apps with category, tags, pricing summaries, and screenshots.
|
|
7778
7912
|
operationId: listMarketplace
|
|
7779
7913
|
security: []
|
|
7780
7914
|
parameters:
|
|
@@ -7793,13 +7927,18 @@ paths:
|
|
|
7793
7927
|
schema:
|
|
7794
7928
|
type: string
|
|
7795
7929
|
description: Search query
|
|
7930
|
+
- name: category
|
|
7931
|
+
in: query
|
|
7932
|
+
schema:
|
|
7933
|
+
type: string
|
|
7934
|
+
description: Filter by app category
|
|
7796
7935
|
responses:
|
|
7797
7936
|
"200":
|
|
7798
7937
|
description: Marketplace listing
|
|
7799
7938
|
content:
|
|
7800
7939
|
application/json:
|
|
7801
7940
|
schema:
|
|
7802
|
-
$ref: "#/components/schemas/
|
|
7941
|
+
$ref: "#/components/schemas/MarketplaceResponse"
|
|
7803
7942
|
|
|
7804
7943
|
# ---------------------------------------------------------------------------
|
|
7805
7944
|
# Agent Chat
|
|
@@ -12955,6 +13094,12 @@ components:
|
|
|
12955
13094
|
type: string
|
|
12956
13095
|
format: uuid
|
|
12957
13096
|
nullable: true
|
|
13097
|
+
agent_ids:
|
|
13098
|
+
type: array
|
|
13099
|
+
items:
|
|
13100
|
+
type: string
|
|
13101
|
+
format: uuid
|
|
13102
|
+
description: All agent IDs provisioned by the template (when multiple agents are defined)
|
|
12958
13103
|
policy_ids:
|
|
12959
13104
|
type: array
|
|
12960
13105
|
items:
|
|
@@ -13000,6 +13145,61 @@ components:
|
|
|
13000
13145
|
format: uuid
|
|
13001
13146
|
description: IDs of automations provisioned by the template
|
|
13002
13147
|
|
|
13148
|
+
PlatformAppStatsResponse:
|
|
13149
|
+
type: object
|
|
13150
|
+
required: [total_connections, active_connections, claimed_connections, total_bootstraps, total_grants]
|
|
13151
|
+
properties:
|
|
13152
|
+
total_connections:
|
|
13153
|
+
type: integer
|
|
13154
|
+
description: Total number of user connections (all statuses)
|
|
13155
|
+
active_connections:
|
|
13156
|
+
type: integer
|
|
13157
|
+
description: Number of active connections
|
|
13158
|
+
claimed_connections:
|
|
13159
|
+
type: integer
|
|
13160
|
+
description: Number of claimed connections
|
|
13161
|
+
total_bootstraps:
|
|
13162
|
+
type: integer
|
|
13163
|
+
description: Total bootstrap operations performed
|
|
13164
|
+
total_grants:
|
|
13165
|
+
type: integer
|
|
13166
|
+
description: Total resource grants issued
|
|
13167
|
+
|
|
13168
|
+
MarketplaceResponse:
|
|
13169
|
+
type: object
|
|
13170
|
+
properties:
|
|
13171
|
+
apps:
|
|
13172
|
+
type: array
|
|
13173
|
+
items:
|
|
13174
|
+
type: object
|
|
13175
|
+
properties:
|
|
13176
|
+
id:
|
|
13177
|
+
type: string
|
|
13178
|
+
format: uuid
|
|
13179
|
+
name:
|
|
13180
|
+
type: string
|
|
13181
|
+
slug:
|
|
13182
|
+
type: string
|
|
13183
|
+
description:
|
|
13184
|
+
type: string
|
|
13185
|
+
logo_url:
|
|
13186
|
+
type: string
|
|
13187
|
+
nullable: true
|
|
13188
|
+
category:
|
|
13189
|
+
type: string
|
|
13190
|
+
nullable: true
|
|
13191
|
+
listing_tags:
|
|
13192
|
+
type: array
|
|
13193
|
+
items:
|
|
13194
|
+
type: string
|
|
13195
|
+
listing_screenshots:
|
|
13196
|
+
type: array
|
|
13197
|
+
items:
|
|
13198
|
+
type: string
|
|
13199
|
+
pricing_summary:
|
|
13200
|
+
type: string
|
|
13201
|
+
nullable: true
|
|
13202
|
+
|
|
13003
13203
|
ConnectedAppResponse:
|
|
13004
13204
|
type: object
|
|
13005
13205
|
properties:
|
|
@@ -13412,6 +13612,10 @@ components:
|
|
|
13412
13612
|
expires_in:
|
|
13413
13613
|
type: integer
|
|
13414
13614
|
description: Token lifetime in seconds
|
|
13615
|
+
refresh_token:
|
|
13616
|
+
type: string
|
|
13617
|
+
nullable: true
|
|
13618
|
+
description: Refresh token for obtaining new access tokens (when offline_access scope was granted)
|
|
13415
13619
|
id_token:
|
|
13416
13620
|
type: string
|
|
13417
13621
|
nullable: true
|
|
@@ -14726,6 +14930,20 @@ components:
|
|
|
14726
14930
|
Telegram: { bot_token }.
|
|
14727
14931
|
WhatsApp: { phone_number_id, access_token, verify_token }.
|
|
14728
14932
|
Discord: { bot_token, application_id }.
|
|
14933
|
+
slash_commands_enabled:
|
|
14934
|
+
type: boolean
|
|
14935
|
+
description: Enable slash commands on this channel
|
|
14936
|
+
voice_transcription_enabled:
|
|
14937
|
+
type: boolean
|
|
14938
|
+
description: Enable voice message transcription
|
|
14939
|
+
sender_allowlist:
|
|
14940
|
+
type: array
|
|
14941
|
+
items:
|
|
14942
|
+
type: string
|
|
14943
|
+
description: List of allowed sender IDs
|
|
14944
|
+
auto_respond_enabled:
|
|
14945
|
+
type: boolean
|
|
14946
|
+
description: Enable auto-respond
|
|
14729
14947
|
|
|
14730
14948
|
UpdateChannelRequest:
|
|
14731
14949
|
type: object
|
|
@@ -14738,6 +14956,16 @@ components:
|
|
|
14738
14956
|
type: object
|
|
14739
14957
|
additionalProperties:
|
|
14740
14958
|
type: string
|
|
14959
|
+
slash_commands_enabled:
|
|
14960
|
+
type: boolean
|
|
14961
|
+
voice_transcription_enabled:
|
|
14962
|
+
type: boolean
|
|
14963
|
+
sender_allowlist:
|
|
14964
|
+
type: array
|
|
14965
|
+
items:
|
|
14966
|
+
type: string
|
|
14967
|
+
auto_respond_enabled:
|
|
14968
|
+
type: boolean
|
|
14741
14969
|
|
|
14742
14970
|
ChannelResponse:
|
|
14743
14971
|
type: object
|
|
@@ -14770,6 +14998,29 @@ components:
|
|
|
14770
14998
|
Channel-specific configuration JSON. May include:
|
|
14771
14999
|
- sender_allowlist (array of strings): restrict which external senders can trigger the agent
|
|
14772
15000
|
- auto_respond_enabled (boolean): whether the agent auto-responds to inbound messages
|
|
15001
|
+
slash_commands_enabled:
|
|
15002
|
+
type: boolean
|
|
15003
|
+
description: Whether slash commands are enabled for this channel
|
|
15004
|
+
voice_transcription_enabled:
|
|
15005
|
+
type: boolean
|
|
15006
|
+
description: Whether voice message transcription is enabled
|
|
15007
|
+
unified_conversation_id:
|
|
15008
|
+
type: string
|
|
15009
|
+
format: uuid
|
|
15010
|
+
nullable: true
|
|
15011
|
+
description: ID linking this channel to a unified cross-platform conversation
|
|
15012
|
+
is_home_platform:
|
|
15013
|
+
type: boolean
|
|
15014
|
+
description: Whether this is the agent's home platform channel
|
|
15015
|
+
sender_allowlist:
|
|
15016
|
+
type: array
|
|
15017
|
+
items:
|
|
15018
|
+
type: string
|
|
15019
|
+
nullable: true
|
|
15020
|
+
description: List of allowed sender IDs for auto-respond
|
|
15021
|
+
auto_respond_enabled:
|
|
15022
|
+
type: boolean
|
|
15023
|
+
description: Whether auto-respond is enabled for this channel
|
|
14773
15024
|
created_at:
|
|
14774
15025
|
type: string
|
|
14775
15026
|
format: date-time
|
|
@@ -14820,6 +15071,22 @@ components:
|
|
|
14820
15071
|
type: string
|
|
14821
15072
|
media_url:
|
|
14822
15073
|
type: string
|
|
15074
|
+
is_voice_message:
|
|
15075
|
+
type: boolean
|
|
15076
|
+
description: Whether this message was a voice message
|
|
15077
|
+
voice_file_id:
|
|
15078
|
+
type: string
|
|
15079
|
+
nullable: true
|
|
15080
|
+
description: Telegram voice file ID
|
|
15081
|
+
voice_duration_secs:
|
|
15082
|
+
type: integer
|
|
15083
|
+
nullable: true
|
|
15084
|
+
description: Duration of voice message in seconds
|
|
15085
|
+
transcription_status:
|
|
15086
|
+
type: string
|
|
15087
|
+
nullable: true
|
|
15088
|
+
enum: [pending, completed, failed]
|
|
15089
|
+
description: Status of voice transcription
|
|
14823
15090
|
created_at:
|
|
14824
15091
|
type: string
|
|
14825
15092
|
format: date-time
|