@1claw/openapi-spec 0.44.0 → 0.44.3

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.yaml CHANGED
@@ -94,6 +94,8 @@ tags:
94
94
  description: Chat with agents via Shroud LLM proxy
95
95
  - name: Agent Channels
96
96
  description: External messaging channels (Telegram, WhatsApp, Discord)
97
+ - name: OAuth Connect
98
+ description: OAuth connected accounts for agents (provider registry, connect flows, app credentials)
97
99
 
98
100
  # =============================================================================
99
101
  # PATHS
@@ -7701,6 +7703,46 @@ paths:
7701
7703
  schema:
7702
7704
  $ref: "#/components/schemas/DirectoryResponse"
7703
7705
 
7706
+ /v1/agents/org-directory:
7707
+ get:
7708
+ tags: [agents, discovery]
7709
+ summary: List org agents
7710
+ description: |
7711
+ List agents within the caller's organization for sub-agent discovery.
7712
+ Returns agents with their capabilities, enabling agent-to-agent
7713
+ coordination and discovery within an org. Requires authentication.
7714
+ operationId: listOrgDirectory
7715
+ parameters:
7716
+ - name: q
7717
+ in: query
7718
+ schema:
7719
+ type: string
7720
+ description: Search query to filter agents by name or description
7721
+ - name: tags
7722
+ in: query
7723
+ schema:
7724
+ type: string
7725
+ description: Comma-separated tag filter
7726
+ - name: page
7727
+ in: query
7728
+ schema:
7729
+ type: integer
7730
+ default: 1
7731
+ - name: page_size
7732
+ in: query
7733
+ schema:
7734
+ type: integer
7735
+ default: 20
7736
+ responses:
7737
+ "200":
7738
+ description: Org agent directory listing
7739
+ content:
7740
+ application/json:
7741
+ schema:
7742
+ $ref: "#/components/schemas/OrgDirectoryResponse"
7743
+ "401":
7744
+ $ref: "#/components/responses/Unauthorized"
7745
+
7704
7746
  /v1/agents/{agent_id}/discovery:
7705
7747
  patch:
7706
7748
  tags: [Discovery]
@@ -7770,6 +7812,11 @@ paths:
7770
7812
  description: |
7771
7813
  Send a message to an agent and receive a response via Shroud LLM.
7772
7814
  Supports SSE streaming when Accept: text/event-stream is set.
7815
+
7816
+ Agents can call this endpoint on other agents within the same
7817
+ organization for inter-agent communication (agent-to-agent chat).
7818
+ The caller must be authenticated and belong to the same org as
7819
+ the target agent.
7773
7820
  operationId: sendChatMessage
7774
7821
  parameters:
7775
7822
  - $ref: "#/components/parameters/AgentId"
@@ -8173,6 +8220,200 @@ paths:
8173
8220
  "200":
8174
8221
  description: Webhook processed
8175
8222
 
8223
+ # ---------------------------------------------------------------------------
8224
+ # OAuth Connect
8225
+ # ---------------------------------------------------------------------------
8226
+
8227
+ /v1/oauth/providers:
8228
+ get:
8229
+ tags: [OAuth Connect]
8230
+ summary: List OAuth providers
8231
+ description: |
8232
+ Returns the list of supported OAuth providers with their metadata,
8233
+ available scopes, and authorization URLs. No authentication required.
8234
+ operationId: listOAuthProviders
8235
+ security: []
8236
+ responses:
8237
+ "200":
8238
+ description: Provider list
8239
+ content:
8240
+ application/json:
8241
+ schema:
8242
+ $ref: "#/components/schemas/OAuthProviderListResponse"
8243
+
8244
+ /v1/agents/{agent_id}/oauth/connect:
8245
+ post:
8246
+ tags: [OAuth Connect]
8247
+ summary: Initiate OAuth connection
8248
+ description: |
8249
+ Start an OAuth authorization flow for the specified agent and provider.
8250
+ Returns the authorization URL to redirect the user to. Human-only.
8251
+ operationId: connectOAuth
8252
+ parameters:
8253
+ - $ref: "#/components/parameters/AgentId"
8254
+ requestBody:
8255
+ required: true
8256
+ content:
8257
+ application/json:
8258
+ schema:
8259
+ $ref: "#/components/schemas/ConnectOAuthRequest"
8260
+ responses:
8261
+ "200":
8262
+ description: Authorization URL generated
8263
+ content:
8264
+ application/json:
8265
+ schema:
8266
+ $ref: "#/components/schemas/ConnectOAuthResponse"
8267
+ "400":
8268
+ $ref: "#/components/responses/BadRequest"
8269
+ "403":
8270
+ $ref: "#/components/responses/Forbidden"
8271
+ "404":
8272
+ $ref: "#/components/responses/NotFound"
8273
+
8274
+ /v1/agents/{agent_id}/oauth/connections:
8275
+ get:
8276
+ tags: [OAuth Connect]
8277
+ summary: List OAuth connections
8278
+ description: List all active OAuth connections for the specified agent.
8279
+ operationId: listOAuthConnections
8280
+ parameters:
8281
+ - $ref: "#/components/parameters/AgentId"
8282
+ responses:
8283
+ "200":
8284
+ description: Connection list
8285
+ content:
8286
+ application/json:
8287
+ schema:
8288
+ $ref: "#/components/schemas/OAuthConnectionListResponse"
8289
+ "404":
8290
+ $ref: "#/components/responses/NotFound"
8291
+
8292
+ /v1/agents/{agent_id}/oauth/disconnect/{binding_id}:
8293
+ post:
8294
+ tags: [OAuth Connect]
8295
+ summary: Disconnect OAuth connection
8296
+ description: |
8297
+ Disconnect an OAuth connection by revoking tokens and removing the binding.
8298
+ Human-only.
8299
+ operationId: disconnectOAuth
8300
+ parameters:
8301
+ - $ref: "#/components/parameters/AgentId"
8302
+ - name: binding_id
8303
+ in: path
8304
+ required: true
8305
+ schema:
8306
+ type: string
8307
+ format: uuid
8308
+ responses:
8309
+ "204":
8310
+ description: Connection disconnected
8311
+ "403":
8312
+ $ref: "#/components/responses/Forbidden"
8313
+ "404":
8314
+ $ref: "#/components/responses/NotFound"
8315
+
8316
+ /v1/agents/{agent_id}/oauth/app-credentials:
8317
+ post:
8318
+ tags: [OAuth Connect]
8319
+ summary: Save OAuth app credentials
8320
+ description: |
8321
+ Store custom OAuth app credentials (client ID/secret) for a provider.
8322
+ Allows the agent to use a BYOA (Bring Your Own App) OAuth application
8323
+ instead of 1Claw's shared credentials. Human-only.
8324
+ operationId: saveOAuthAppCredentials
8325
+ parameters:
8326
+ - $ref: "#/components/parameters/AgentId"
8327
+ requestBody:
8328
+ required: true
8329
+ content:
8330
+ application/json:
8331
+ schema:
8332
+ $ref: "#/components/schemas/SaveOAuthAppCredentialsRequest"
8333
+ responses:
8334
+ "201":
8335
+ description: Credentials saved
8336
+ content:
8337
+ application/json:
8338
+ schema:
8339
+ $ref: "#/components/schemas/OAuthAppCredentialResponse"
8340
+ "400":
8341
+ $ref: "#/components/responses/BadRequest"
8342
+ "403":
8343
+ $ref: "#/components/responses/Forbidden"
8344
+ "404":
8345
+ $ref: "#/components/responses/NotFound"
8346
+ get:
8347
+ tags: [OAuth Connect]
8348
+ summary: List OAuth app credentials
8349
+ description: |
8350
+ List stored OAuth app credentials for the agent. Client secrets
8351
+ are never returned in the response.
8352
+ operationId: listOAuthAppCredentials
8353
+ parameters:
8354
+ - $ref: "#/components/parameters/AgentId"
8355
+ responses:
8356
+ "200":
8357
+ description: Credential list
8358
+ content:
8359
+ application/json:
8360
+ schema:
8361
+ $ref: "#/components/schemas/OAuthAppCredentialListResponse"
8362
+ "404":
8363
+ $ref: "#/components/responses/NotFound"
8364
+
8365
+ /v1/agents/{agent_id}/oauth/app-credentials/{provider_slug}:
8366
+ delete:
8367
+ tags: [OAuth Connect]
8368
+ summary: Delete OAuth app credentials
8369
+ description: |
8370
+ Remove stored OAuth app credentials for a specific provider. Human-only.
8371
+ operationId: deleteOAuthAppCredentials
8372
+ parameters:
8373
+ - $ref: "#/components/parameters/AgentId"
8374
+ - name: provider_slug
8375
+ in: path
8376
+ required: true
8377
+ schema:
8378
+ type: string
8379
+ description: Provider identifier (e.g. "github", "google", "slack")
8380
+ responses:
8381
+ "204":
8382
+ description: Credentials deleted
8383
+ "403":
8384
+ $ref: "#/components/responses/Forbidden"
8385
+ "404":
8386
+ $ref: "#/components/responses/NotFound"
8387
+
8388
+ /v1/oauth/callback:
8389
+ get:
8390
+ tags: [OAuth Connect]
8391
+ summary: OAuth callback
8392
+ description: |
8393
+ Public callback URL that OAuth providers redirect to after user authorization.
8394
+ Exchanges the authorization code for tokens and redirects to the dashboard.
8395
+ operationId: oauthConnectCallback
8396
+ security: []
8397
+ parameters:
8398
+ - name: code
8399
+ in: query
8400
+ schema:
8401
+ type: string
8402
+ description: Authorization code from the OAuth provider
8403
+ - name: state
8404
+ in: query
8405
+ schema:
8406
+ type: string
8407
+ description: Opaque state parameter for CSRF protection and session binding
8408
+ - name: error
8409
+ in: query
8410
+ schema:
8411
+ type: string
8412
+ description: Error code if the authorization was denied or failed
8413
+ responses:
8414
+ "302":
8415
+ description: Redirect to dashboard with success or error status
8416
+
8176
8417
  # =============================================================================
8177
8418
  # COMPONENTS
8178
8419
  # =============================================================================
@@ -14311,6 +14552,52 @@ components:
14311
14552
  per_page:
14312
14553
  type: integer
14313
14554
 
14555
+ OrgDirectoryAgent:
14556
+ type: object
14557
+ required: [id, name, intents_api_enabled, execution_intents_enabled, memory_enabled, shroud_enabled]
14558
+ properties:
14559
+ id:
14560
+ type: string
14561
+ format: uuid
14562
+ name:
14563
+ type: string
14564
+ public_description:
14565
+ type: string
14566
+ nullable: true
14567
+ public_tags:
14568
+ type: array
14569
+ items:
14570
+ type: string
14571
+ a2a_url:
14572
+ type: string
14573
+ nullable: true
14574
+ mcp_url:
14575
+ type: string
14576
+ nullable: true
14577
+ intents_api_enabled:
14578
+ type: boolean
14579
+ execution_intents_enabled:
14580
+ type: boolean
14581
+ memory_enabled:
14582
+ type: boolean
14583
+ shroud_enabled:
14584
+ type: boolean
14585
+
14586
+ OrgDirectoryResponse:
14587
+ type: object
14588
+ required: [agents, total, page, page_size]
14589
+ properties:
14590
+ agents:
14591
+ type: array
14592
+ items:
14593
+ $ref: "#/components/schemas/OrgDirectoryAgent"
14594
+ total:
14595
+ type: integer
14596
+ page:
14597
+ type: integer
14598
+ page_size:
14599
+ type: integer
14600
+
14314
14601
  UpdateDiscoveryRequest:
14315
14602
  type: object
14316
14603
  properties:
@@ -14544,3 +14831,164 @@ components:
14544
14831
  type: array
14545
14832
  items:
14546
14833
  $ref: "#/components/schemas/ChannelMessageResponse"
14834
+
14835
+ # ── OAuth Connect ──────────────────────────────────────────────
14836
+
14837
+ OAuthProviderScope:
14838
+ type: object
14839
+ properties:
14840
+ scope:
14841
+ type: string
14842
+ label:
14843
+ type: string
14844
+ description:
14845
+ type: string
14846
+ default:
14847
+ type: boolean
14848
+
14849
+ OAuthProvider:
14850
+ type: object
14851
+ properties:
14852
+ slug:
14853
+ type: string
14854
+ description: Unique provider identifier (e.g. "github", "google", "slack")
14855
+ display_name:
14856
+ type: string
14857
+ icon_url:
14858
+ type: string
14859
+ format: uri
14860
+ authorization_url:
14861
+ type: string
14862
+ format: uri
14863
+ token_url:
14864
+ type: string
14865
+ format: uri
14866
+ scopes_available:
14867
+ type: array
14868
+ items:
14869
+ $ref: "#/components/schemas/OAuthProviderScope"
14870
+ default_scopes:
14871
+ type: array
14872
+ items:
14873
+ type: string
14874
+ extra_auth_params:
14875
+ type: object
14876
+ additionalProperties:
14877
+ type: string
14878
+ nullable: true
14879
+ requires_app_credentials:
14880
+ type: boolean
14881
+ description: Whether custom app credentials are required (vs. shared 1Claw app)
14882
+ documentation_url:
14883
+ type: string
14884
+ format: uri
14885
+ nullable: true
14886
+
14887
+ OAuthProviderListResponse:
14888
+ type: object
14889
+ properties:
14890
+ providers:
14891
+ type: array
14892
+ items:
14893
+ $ref: "#/components/schemas/OAuthProvider"
14894
+
14895
+ ConnectOAuthRequest:
14896
+ type: object
14897
+ required: [provider_slug]
14898
+ properties:
14899
+ provider_slug:
14900
+ type: string
14901
+ description: Provider to connect (e.g. "github", "google", "slack")
14902
+ scopes:
14903
+ type: array
14904
+ items:
14905
+ type: string
14906
+ description: Override default scopes for this connection
14907
+ redirect_after:
14908
+ type: string
14909
+ description: URL to redirect to after the OAuth flow completes
14910
+
14911
+ ConnectOAuthResponse:
14912
+ type: object
14913
+ properties:
14914
+ authorization_url:
14915
+ type: string
14916
+ format: uri
14917
+ description: Redirect the user to this URL to authorize the connection
14918
+
14919
+ OAuthConnectionResponse:
14920
+ type: object
14921
+ properties:
14922
+ binding_id:
14923
+ type: string
14924
+ format: uuid
14925
+ provider_slug:
14926
+ type: string
14927
+ provider_name:
14928
+ type: string
14929
+ scopes:
14930
+ type: array
14931
+ items:
14932
+ type: string
14933
+ status:
14934
+ type: string
14935
+ enum: [active, expired, revoked]
14936
+ needs_reauth:
14937
+ type: boolean
14938
+ created_at:
14939
+ type: string
14940
+ format: date-time
14941
+
14942
+ OAuthConnectionListResponse:
14943
+ type: object
14944
+ properties:
14945
+ connections:
14946
+ type: array
14947
+ items:
14948
+ $ref: "#/components/schemas/OAuthConnectionResponse"
14949
+
14950
+ SaveOAuthAppCredentialsRequest:
14951
+ type: object
14952
+ required: [provider_slug, client_id, client_secret]
14953
+ properties:
14954
+ provider_slug:
14955
+ type: string
14956
+ description: Provider this credential is for
14957
+ client_id:
14958
+ type: string
14959
+ client_secret:
14960
+ type: string
14961
+ description: Write-only; never returned in responses
14962
+ redirect_uri:
14963
+ type: string
14964
+ format: uri
14965
+ description: Custom redirect URI override
14966
+
14967
+ OAuthAppCredentialResponse:
14968
+ type: object
14969
+ properties:
14970
+ id:
14971
+ type: string
14972
+ format: uuid
14973
+ provider_slug:
14974
+ type: string
14975
+ client_id:
14976
+ type: string
14977
+ redirect_uri:
14978
+ type: string
14979
+ format: uri
14980
+ nullable: true
14981
+ created_at:
14982
+ type: string
14983
+ format: date-time
14984
+ updated_at:
14985
+ type: string
14986
+ format: date-time
14987
+
14988
+ OAuthAppCredentialListResponse:
14989
+ type: object
14990
+ properties:
14991
+ credentials:
14992
+ type: array
14993
+ items:
14994
+ $ref: "#/components/schemas/OAuthAppCredentialResponse"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.44.0",
3
+ "version": "0.44.3",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API \u2014 generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {