@1claw/openapi-spec 0.45.0 → 0.47.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/openapi.json +8008 -6082
- package/openapi.yaml +1346 -68
- package/package.json +1 -1
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.36.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,
|
|
@@ -96,6 +96,16 @@ tags:
|
|
|
96
96
|
description: External messaging channels (Telegram, WhatsApp, Discord)
|
|
97
97
|
- name: OAuth Connect
|
|
98
98
|
description: OAuth connected accounts for agents (provider registry, connect flows, app credentials)
|
|
99
|
+
- name: Delegations
|
|
100
|
+
description: Agent-to-agent delegation management (human-controlled authorization)
|
|
101
|
+
- name: Cedar Policies
|
|
102
|
+
description: Cedar policy engine (Team+ tier)
|
|
103
|
+
- name: OPA Policies
|
|
104
|
+
description: OPA policy engine (Business+ tier)
|
|
105
|
+
- name: Sub-Organizations
|
|
106
|
+
description: Sub-organization management
|
|
107
|
+
- name: Portfolio
|
|
108
|
+
description: Unified balance aggregator
|
|
99
109
|
|
|
100
110
|
# =============================================================================
|
|
101
111
|
# PATHS
|
|
@@ -2451,6 +2461,41 @@ paths:
|
|
|
2451
2461
|
"404":
|
|
2452
2462
|
$ref: "#/components/responses/NotFound"
|
|
2453
2463
|
|
|
2464
|
+
/v1/agents/{agent_id}/signing-keys/{chain}/import:
|
|
2465
|
+
post:
|
|
2466
|
+
tags: [Signing Keys]
|
|
2467
|
+
summary: Import a signing key for a chain
|
|
2468
|
+
description: |
|
|
2469
|
+
Import an existing private key for a specific chain. Human-only,
|
|
2470
|
+
requires password re-authentication.
|
|
2471
|
+
operationId: importSigningKey
|
|
2472
|
+
security:
|
|
2473
|
+
- BearerAuth: []
|
|
2474
|
+
parameters:
|
|
2475
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2476
|
+
- name: chain
|
|
2477
|
+
in: path
|
|
2478
|
+
required: true
|
|
2479
|
+
schema:
|
|
2480
|
+
type: string
|
|
2481
|
+
requestBody:
|
|
2482
|
+
required: true
|
|
2483
|
+
content:
|
|
2484
|
+
application/json:
|
|
2485
|
+
schema:
|
|
2486
|
+
$ref: "#/components/schemas/ImportKeyRequest"
|
|
2487
|
+
responses:
|
|
2488
|
+
"201":
|
|
2489
|
+
description: Signing key imported
|
|
2490
|
+
content:
|
|
2491
|
+
application/json:
|
|
2492
|
+
schema:
|
|
2493
|
+
$ref: "#/components/schemas/SigningKeyResponse"
|
|
2494
|
+
"401":
|
|
2495
|
+
$ref: "#/components/responses/Unauthorized"
|
|
2496
|
+
"403":
|
|
2497
|
+
$ref: "#/components/responses/Forbidden"
|
|
2498
|
+
|
|
2454
2499
|
# ---------------------------------------------------------------------------
|
|
2455
2500
|
# Bankr Dynamic Key Vending
|
|
2456
2501
|
# ---------------------------------------------------------------------------
|
|
@@ -2526,6 +2571,154 @@ paths:
|
|
|
2526
2571
|
"404":
|
|
2527
2572
|
$ref: "#/components/responses/NotFound"
|
|
2528
2573
|
|
|
2574
|
+
# ---------------------------------------------------------------------------
|
|
2575
|
+
# Agent Delegations
|
|
2576
|
+
# ---------------------------------------------------------------------------
|
|
2577
|
+
|
|
2578
|
+
/v1/agents/{agent_id}/delegations:
|
|
2579
|
+
post:
|
|
2580
|
+
tags: [Delegations]
|
|
2581
|
+
summary: Create a delegation
|
|
2582
|
+
description: |
|
|
2583
|
+
Grant an agent (delegator) permission to delegate tasks to another agent (delegate).
|
|
2584
|
+
Human-only — agents cannot create their own delegations.
|
|
2585
|
+
operationId: createDelegation
|
|
2586
|
+
parameters:
|
|
2587
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2588
|
+
requestBody:
|
|
2589
|
+
required: true
|
|
2590
|
+
content:
|
|
2591
|
+
application/json:
|
|
2592
|
+
schema:
|
|
2593
|
+
$ref: "#/components/schemas/CreateDelegationRequest"
|
|
2594
|
+
responses:
|
|
2595
|
+
"201":
|
|
2596
|
+
description: Delegation created
|
|
2597
|
+
content:
|
|
2598
|
+
application/json:
|
|
2599
|
+
schema:
|
|
2600
|
+
$ref: "#/components/schemas/DelegationResponse"
|
|
2601
|
+
"400":
|
|
2602
|
+
$ref: "#/components/responses/BadRequest"
|
|
2603
|
+
"403":
|
|
2604
|
+
$ref: "#/components/responses/Forbidden"
|
|
2605
|
+
"409":
|
|
2606
|
+
description: Delegation already exists for this delegator/delegate pair
|
|
2607
|
+
content:
|
|
2608
|
+
application/json:
|
|
2609
|
+
schema:
|
|
2610
|
+
$ref: "#/components/schemas/ProblemDetails"
|
|
2611
|
+
get:
|
|
2612
|
+
tags: [Delegations]
|
|
2613
|
+
summary: List delegations for an agent
|
|
2614
|
+
description: |
|
|
2615
|
+
List all delegations where this agent is the delegator.
|
|
2616
|
+
operationId: listDelegations
|
|
2617
|
+
parameters:
|
|
2618
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2619
|
+
responses:
|
|
2620
|
+
"200":
|
|
2621
|
+
description: List of delegations
|
|
2622
|
+
content:
|
|
2623
|
+
application/json:
|
|
2624
|
+
schema:
|
|
2625
|
+
$ref: "#/components/schemas/DelegationListResponse"
|
|
2626
|
+
"404":
|
|
2627
|
+
$ref: "#/components/responses/NotFound"
|
|
2628
|
+
|
|
2629
|
+
/v1/agents/{agent_id}/delegations/effective:
|
|
2630
|
+
get:
|
|
2631
|
+
tags: [Delegations]
|
|
2632
|
+
summary: Get effective delegations
|
|
2633
|
+
description: |
|
|
2634
|
+
Get the effective delegations for an agent, including daily usage statistics.
|
|
2635
|
+
Agents can call this on their own ID to discover what they are authorized to delegate to.
|
|
2636
|
+
operationId: getEffectiveDelegations
|
|
2637
|
+
parameters:
|
|
2638
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2639
|
+
responses:
|
|
2640
|
+
"200":
|
|
2641
|
+
description: Effective delegations with usage stats
|
|
2642
|
+
content:
|
|
2643
|
+
application/json:
|
|
2644
|
+
schema:
|
|
2645
|
+
$ref: "#/components/schemas/DelegationListResponse"
|
|
2646
|
+
"404":
|
|
2647
|
+
$ref: "#/components/responses/NotFound"
|
|
2648
|
+
|
|
2649
|
+
/v1/agents/{agent_id}/delegations/{delegation_id}:
|
|
2650
|
+
get:
|
|
2651
|
+
tags: [Delegations]
|
|
2652
|
+
summary: Get a specific delegation
|
|
2653
|
+
operationId: getDelegation
|
|
2654
|
+
parameters:
|
|
2655
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2656
|
+
- name: delegation_id
|
|
2657
|
+
in: path
|
|
2658
|
+
required: true
|
|
2659
|
+
schema:
|
|
2660
|
+
type: string
|
|
2661
|
+
format: uuid
|
|
2662
|
+
responses:
|
|
2663
|
+
"200":
|
|
2664
|
+
description: Delegation details
|
|
2665
|
+
content:
|
|
2666
|
+
application/json:
|
|
2667
|
+
schema:
|
|
2668
|
+
$ref: "#/components/schemas/DelegationResponse"
|
|
2669
|
+
"404":
|
|
2670
|
+
$ref: "#/components/responses/NotFound"
|
|
2671
|
+
patch:
|
|
2672
|
+
tags: [Delegations]
|
|
2673
|
+
summary: Update a delegation
|
|
2674
|
+
description: |
|
|
2675
|
+
Update delegation tools, limits, mode, or active status. Human-only.
|
|
2676
|
+
operationId: updateDelegation
|
|
2677
|
+
parameters:
|
|
2678
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2679
|
+
- name: delegation_id
|
|
2680
|
+
in: path
|
|
2681
|
+
required: true
|
|
2682
|
+
schema:
|
|
2683
|
+
type: string
|
|
2684
|
+
format: uuid
|
|
2685
|
+
requestBody:
|
|
2686
|
+
required: true
|
|
2687
|
+
content:
|
|
2688
|
+
application/json:
|
|
2689
|
+
schema:
|
|
2690
|
+
$ref: "#/components/schemas/UpdateDelegationRequest"
|
|
2691
|
+
responses:
|
|
2692
|
+
"200":
|
|
2693
|
+
description: Delegation updated
|
|
2694
|
+
content:
|
|
2695
|
+
application/json:
|
|
2696
|
+
schema:
|
|
2697
|
+
$ref: "#/components/schemas/DelegationResponse"
|
|
2698
|
+
"400":
|
|
2699
|
+
$ref: "#/components/responses/BadRequest"
|
|
2700
|
+
"403":
|
|
2701
|
+
$ref: "#/components/responses/Forbidden"
|
|
2702
|
+
"404":
|
|
2703
|
+
$ref: "#/components/responses/NotFound"
|
|
2704
|
+
delete:
|
|
2705
|
+
tags: [Delegations]
|
|
2706
|
+
summary: Revoke a delegation
|
|
2707
|
+
operationId: revokeDelegation
|
|
2708
|
+
parameters:
|
|
2709
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2710
|
+
- name: delegation_id
|
|
2711
|
+
in: path
|
|
2712
|
+
required: true
|
|
2713
|
+
schema:
|
|
2714
|
+
type: string
|
|
2715
|
+
format: uuid
|
|
2716
|
+
responses:
|
|
2717
|
+
"204":
|
|
2718
|
+
description: Delegation revoked
|
|
2719
|
+
"404":
|
|
2720
|
+
$ref: "#/components/responses/NotFound"
|
|
2721
|
+
|
|
2529
2722
|
# ---------------------------------------------------------------------------
|
|
2530
2723
|
# Unified Signing Intent
|
|
2531
2724
|
# ---------------------------------------------------------------------------
|
|
@@ -3383,6 +3576,23 @@ paths:
|
|
|
3383
3576
|
schema:
|
|
3384
3577
|
$ref: "#/components/schemas/LlmDisableResponse"
|
|
3385
3578
|
|
|
3579
|
+
/v1/billing/llm-token-billing/cancel-duplicates:
|
|
3580
|
+
post:
|
|
3581
|
+
tags: [Billing]
|
|
3582
|
+
summary: Cancel duplicate LLM billing subscriptions
|
|
3583
|
+
operationId: cancelLlmDuplicateSubscriptions
|
|
3584
|
+
description: >
|
|
3585
|
+
Cancels extra Stripe LLM billing subscriptions for the org,
|
|
3586
|
+
keeping a single primary subscription (active preferred over trialing).
|
|
3587
|
+
Does not change the org LLM billing enabled setting.
|
|
3588
|
+
responses:
|
|
3589
|
+
"200":
|
|
3590
|
+
description: Duplicate subscriptions cancelled
|
|
3591
|
+
content:
|
|
3592
|
+
application/json:
|
|
3593
|
+
schema:
|
|
3594
|
+
$ref: "#/components/schemas/LlmCancelDuplicatesResponse"
|
|
3595
|
+
|
|
3386
3596
|
/v1/billing/overage-method:
|
|
3387
3597
|
patch:
|
|
3388
3598
|
tags: [Billing]
|
|
@@ -4312,6 +4522,40 @@ paths:
|
|
|
4312
4522
|
"404":
|
|
4313
4523
|
$ref: "#/components/responses/NotFound"
|
|
4314
4524
|
|
|
4525
|
+
/v1/treasury/wallets/{chain}/import:
|
|
4526
|
+
post:
|
|
4527
|
+
tags: [Treasury Wallets]
|
|
4528
|
+
summary: Import a treasury wallet
|
|
4529
|
+
description: |
|
|
4530
|
+
Import an existing private key as a treasury wallet. Human-only,
|
|
4531
|
+
requires password re-authentication via X-Auth-Confirm header.
|
|
4532
|
+
operationId: importTreasuryWallet
|
|
4533
|
+
security:
|
|
4534
|
+
- BearerAuth: []
|
|
4535
|
+
parameters:
|
|
4536
|
+
- name: chain
|
|
4537
|
+
in: path
|
|
4538
|
+
required: true
|
|
4539
|
+
schema:
|
|
4540
|
+
type: string
|
|
4541
|
+
requestBody:
|
|
4542
|
+
required: true
|
|
4543
|
+
content:
|
|
4544
|
+
application/json:
|
|
4545
|
+
schema:
|
|
4546
|
+
$ref: "#/components/schemas/ImportKeyRequest"
|
|
4547
|
+
responses:
|
|
4548
|
+
"201":
|
|
4549
|
+
description: Treasury wallet imported
|
|
4550
|
+
content:
|
|
4551
|
+
application/json:
|
|
4552
|
+
schema:
|
|
4553
|
+
$ref: "#/components/schemas/TreasuryWalletResponse"
|
|
4554
|
+
"401":
|
|
4555
|
+
$ref: "#/components/responses/Unauthorized"
|
|
4556
|
+
"403":
|
|
4557
|
+
$ref: "#/components/responses/Forbidden"
|
|
4558
|
+
|
|
4315
4559
|
/v1/treasury/wallets/spend-policy:
|
|
4316
4560
|
get:
|
|
4317
4561
|
tags: [Treasury Wallets]
|
|
@@ -8553,66 +8797,586 @@ paths:
|
|
|
8553
8797
|
"302":
|
|
8554
8798
|
description: Redirect to dashboard with success or error status
|
|
8555
8799
|
|
|
8556
|
-
#
|
|
8557
|
-
#
|
|
8558
|
-
#
|
|
8800
|
+
# ---------------------------------------------------------------------------
|
|
8801
|
+
# Cedar Policies
|
|
8802
|
+
# ---------------------------------------------------------------------------
|
|
8559
8803
|
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
|
|
8568
|
-
|
|
8569
|
-
|
|
8804
|
+
/v1/org/cedar-policies:
|
|
8805
|
+
post:
|
|
8806
|
+
tags: [Cedar Policies]
|
|
8807
|
+
summary: Create a Cedar policy
|
|
8808
|
+
description: Create a new Cedar policy for the organization. Team+ tier required.
|
|
8809
|
+
operationId: createCedarPolicy
|
|
8810
|
+
security:
|
|
8811
|
+
- BearerAuth: []
|
|
8812
|
+
requestBody:
|
|
8813
|
+
required: true
|
|
8814
|
+
content:
|
|
8815
|
+
application/json:
|
|
8816
|
+
schema:
|
|
8817
|
+
$ref: "#/components/schemas/CreateCedarPolicyRequest"
|
|
8818
|
+
responses:
|
|
8819
|
+
"201":
|
|
8820
|
+
description: Cedar policy created
|
|
8821
|
+
content:
|
|
8822
|
+
application/json:
|
|
8823
|
+
schema:
|
|
8824
|
+
$ref: "#/components/schemas/CedarPolicyResponse"
|
|
8825
|
+
"400":
|
|
8826
|
+
$ref: "#/components/responses/BadRequest"
|
|
8827
|
+
"401":
|
|
8828
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8829
|
+
"403":
|
|
8830
|
+
$ref: "#/components/responses/Forbidden"
|
|
8831
|
+
get:
|
|
8832
|
+
tags: [Cedar Policies]
|
|
8833
|
+
summary: List Cedar policies
|
|
8834
|
+
description: List all Cedar policies for the organization.
|
|
8835
|
+
operationId: listCedarPolicies
|
|
8836
|
+
security:
|
|
8837
|
+
- BearerAuth: []
|
|
8838
|
+
responses:
|
|
8839
|
+
"200":
|
|
8840
|
+
description: Cedar policies list
|
|
8841
|
+
content:
|
|
8842
|
+
application/json:
|
|
8843
|
+
schema:
|
|
8844
|
+
$ref: "#/components/schemas/CedarPolicyListResponse"
|
|
8845
|
+
"401":
|
|
8846
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8570
8847
|
|
|
8571
|
-
|
|
8572
|
-
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
|
|
8576
|
-
|
|
8577
|
-
|
|
8578
|
-
|
|
8579
|
-
|
|
8580
|
-
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8587
|
-
|
|
8588
|
-
|
|
8589
|
-
|
|
8590
|
-
|
|
8591
|
-
|
|
8592
|
-
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8605
|
-
|
|
8606
|
-
|
|
8607
|
-
|
|
8608
|
-
|
|
8609
|
-
|
|
8610
|
-
|
|
8611
|
-
|
|
8612
|
-
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8848
|
+
/v1/org/cedar-policies/{id}:
|
|
8849
|
+
get:
|
|
8850
|
+
tags: [Cedar Policies]
|
|
8851
|
+
summary: Get a Cedar policy
|
|
8852
|
+
description: Retrieve a specific Cedar policy by ID.
|
|
8853
|
+
operationId: getCedarPolicy
|
|
8854
|
+
security:
|
|
8855
|
+
- BearerAuth: []
|
|
8856
|
+
parameters:
|
|
8857
|
+
- name: id
|
|
8858
|
+
in: path
|
|
8859
|
+
required: true
|
|
8860
|
+
schema:
|
|
8861
|
+
type: string
|
|
8862
|
+
format: uuid
|
|
8863
|
+
responses:
|
|
8864
|
+
"200":
|
|
8865
|
+
description: Cedar policy details
|
|
8866
|
+
content:
|
|
8867
|
+
application/json:
|
|
8868
|
+
schema:
|
|
8869
|
+
$ref: "#/components/schemas/CedarPolicyResponse"
|
|
8870
|
+
"401":
|
|
8871
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8872
|
+
"404":
|
|
8873
|
+
$ref: "#/components/responses/NotFound"
|
|
8874
|
+
delete:
|
|
8875
|
+
tags: [Cedar Policies]
|
|
8876
|
+
summary: Delete a Cedar policy
|
|
8877
|
+
description: Delete a Cedar policy by ID.
|
|
8878
|
+
operationId: deleteCedarPolicy
|
|
8879
|
+
security:
|
|
8880
|
+
- BearerAuth: []
|
|
8881
|
+
parameters:
|
|
8882
|
+
- name: id
|
|
8883
|
+
in: path
|
|
8884
|
+
required: true
|
|
8885
|
+
schema:
|
|
8886
|
+
type: string
|
|
8887
|
+
format: uuid
|
|
8888
|
+
responses:
|
|
8889
|
+
"204":
|
|
8890
|
+
description: Cedar policy deleted
|
|
8891
|
+
"401":
|
|
8892
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8893
|
+
"404":
|
|
8894
|
+
$ref: "#/components/responses/NotFound"
|
|
8895
|
+
|
|
8896
|
+
/v1/org/cedar-policies/test:
|
|
8897
|
+
post:
|
|
8898
|
+
tags: [Cedar Policies]
|
|
8899
|
+
summary: Test Cedar policy evaluation
|
|
8900
|
+
description: Evaluate the organization's Cedar policies against a test request.
|
|
8901
|
+
operationId: testCedarPolicy
|
|
8902
|
+
security:
|
|
8903
|
+
- BearerAuth: []
|
|
8904
|
+
requestBody:
|
|
8905
|
+
required: true
|
|
8906
|
+
content:
|
|
8907
|
+
application/json:
|
|
8908
|
+
schema:
|
|
8909
|
+
$ref: "#/components/schemas/CedarPolicyTestRequest"
|
|
8910
|
+
responses:
|
|
8911
|
+
"200":
|
|
8912
|
+
description: Policy evaluation result
|
|
8913
|
+
content:
|
|
8914
|
+
application/json:
|
|
8915
|
+
schema:
|
|
8916
|
+
$ref: "#/components/schemas/CedarPolicyTestResponse"
|
|
8917
|
+
"400":
|
|
8918
|
+
$ref: "#/components/responses/BadRequest"
|
|
8919
|
+
"401":
|
|
8920
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8921
|
+
|
|
8922
|
+
# ---------------------------------------------------------------------------
|
|
8923
|
+
# OPA Policies
|
|
8924
|
+
# ---------------------------------------------------------------------------
|
|
8925
|
+
|
|
8926
|
+
/v1/org/opa-policies:
|
|
8927
|
+
post:
|
|
8928
|
+
tags: [OPA Policies]
|
|
8929
|
+
summary: Create an OPA policy
|
|
8930
|
+
description: Create a new OPA Rego policy for the organization. Business+ tier required.
|
|
8931
|
+
operationId: createOpaPolicy
|
|
8932
|
+
security:
|
|
8933
|
+
- BearerAuth: []
|
|
8934
|
+
requestBody:
|
|
8935
|
+
required: true
|
|
8936
|
+
content:
|
|
8937
|
+
application/json:
|
|
8938
|
+
schema:
|
|
8939
|
+
$ref: "#/components/schemas/CreateOpaPolicyRequest"
|
|
8940
|
+
responses:
|
|
8941
|
+
"201":
|
|
8942
|
+
description: OPA policy created
|
|
8943
|
+
content:
|
|
8944
|
+
application/json:
|
|
8945
|
+
schema:
|
|
8946
|
+
$ref: "#/components/schemas/OpaPolicyResponse"
|
|
8947
|
+
"400":
|
|
8948
|
+
$ref: "#/components/responses/BadRequest"
|
|
8949
|
+
"401":
|
|
8950
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8951
|
+
"403":
|
|
8952
|
+
$ref: "#/components/responses/Forbidden"
|
|
8953
|
+
get:
|
|
8954
|
+
tags: [OPA Policies]
|
|
8955
|
+
summary: List OPA policies
|
|
8956
|
+
description: List all OPA policies for the organization.
|
|
8957
|
+
operationId: listOpaPolicies
|
|
8958
|
+
security:
|
|
8959
|
+
- BearerAuth: []
|
|
8960
|
+
responses:
|
|
8961
|
+
"200":
|
|
8962
|
+
description: OPA policies list
|
|
8963
|
+
content:
|
|
8964
|
+
application/json:
|
|
8965
|
+
schema:
|
|
8966
|
+
$ref: "#/components/schemas/OpaPolicyListResponse"
|
|
8967
|
+
"401":
|
|
8968
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8969
|
+
|
|
8970
|
+
/v1/org/opa-policies/{id}:
|
|
8971
|
+
get:
|
|
8972
|
+
tags: [OPA Policies]
|
|
8973
|
+
summary: Get an OPA policy
|
|
8974
|
+
description: Retrieve a specific OPA policy by ID.
|
|
8975
|
+
operationId: getOpaPolicy
|
|
8976
|
+
security:
|
|
8977
|
+
- BearerAuth: []
|
|
8978
|
+
parameters:
|
|
8979
|
+
- name: id
|
|
8980
|
+
in: path
|
|
8981
|
+
required: true
|
|
8982
|
+
schema:
|
|
8983
|
+
type: string
|
|
8984
|
+
format: uuid
|
|
8985
|
+
responses:
|
|
8986
|
+
"200":
|
|
8987
|
+
description: OPA policy details
|
|
8988
|
+
content:
|
|
8989
|
+
application/json:
|
|
8990
|
+
schema:
|
|
8991
|
+
$ref: "#/components/schemas/OpaPolicyResponse"
|
|
8992
|
+
"401":
|
|
8993
|
+
$ref: "#/components/responses/Unauthorized"
|
|
8994
|
+
"404":
|
|
8995
|
+
$ref: "#/components/responses/NotFound"
|
|
8996
|
+
delete:
|
|
8997
|
+
tags: [OPA Policies]
|
|
8998
|
+
summary: Delete an OPA policy
|
|
8999
|
+
description: Delete an OPA policy by ID.
|
|
9000
|
+
operationId: deleteOpaPolicy
|
|
9001
|
+
security:
|
|
9002
|
+
- BearerAuth: []
|
|
9003
|
+
parameters:
|
|
9004
|
+
- name: id
|
|
9005
|
+
in: path
|
|
9006
|
+
required: true
|
|
9007
|
+
schema:
|
|
9008
|
+
type: string
|
|
9009
|
+
format: uuid
|
|
9010
|
+
responses:
|
|
9011
|
+
"204":
|
|
9012
|
+
description: OPA policy deleted
|
|
9013
|
+
"401":
|
|
9014
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9015
|
+
"404":
|
|
9016
|
+
$ref: "#/components/responses/NotFound"
|
|
9017
|
+
|
|
9018
|
+
/v1/org/opa-policies/test:
|
|
9019
|
+
post:
|
|
9020
|
+
tags: [OPA Policies]
|
|
9021
|
+
summary: Test OPA policy evaluation
|
|
9022
|
+
description: Evaluate the organization's OPA policies against a test input.
|
|
9023
|
+
operationId: testOpaPolicy
|
|
9024
|
+
security:
|
|
9025
|
+
- BearerAuth: []
|
|
9026
|
+
requestBody:
|
|
9027
|
+
required: true
|
|
9028
|
+
content:
|
|
9029
|
+
application/json:
|
|
9030
|
+
schema:
|
|
9031
|
+
$ref: "#/components/schemas/OpaPolicyTestRequest"
|
|
9032
|
+
responses:
|
|
9033
|
+
"200":
|
|
9034
|
+
description: Policy evaluation result
|
|
9035
|
+
content:
|
|
9036
|
+
application/json:
|
|
9037
|
+
schema:
|
|
9038
|
+
$ref: "#/components/schemas/OpaPolicyTestResponse"
|
|
9039
|
+
"400":
|
|
9040
|
+
$ref: "#/components/responses/BadRequest"
|
|
9041
|
+
"401":
|
|
9042
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9043
|
+
|
|
9044
|
+
# ---------------------------------------------------------------------------
|
|
9045
|
+
# Sub-Organizations
|
|
9046
|
+
# ---------------------------------------------------------------------------
|
|
9047
|
+
|
|
9048
|
+
/v1/org/sub-orgs:
|
|
9049
|
+
post:
|
|
9050
|
+
tags: [Sub-Organizations]
|
|
9051
|
+
summary: Create a sub-organization
|
|
9052
|
+
description: Create a new sub-organization under the current org.
|
|
9053
|
+
operationId: createSubOrg
|
|
9054
|
+
security:
|
|
9055
|
+
- BearerAuth: []
|
|
9056
|
+
requestBody:
|
|
9057
|
+
required: true
|
|
9058
|
+
content:
|
|
9059
|
+
application/json:
|
|
9060
|
+
schema:
|
|
9061
|
+
$ref: "#/components/schemas/CreateSubOrgRequest"
|
|
9062
|
+
responses:
|
|
9063
|
+
"201":
|
|
9064
|
+
description: Sub-organization created
|
|
9065
|
+
content:
|
|
9066
|
+
application/json:
|
|
9067
|
+
schema:
|
|
9068
|
+
$ref: "#/components/schemas/SubOrgResponse"
|
|
9069
|
+
"400":
|
|
9070
|
+
$ref: "#/components/responses/BadRequest"
|
|
9071
|
+
"401":
|
|
9072
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9073
|
+
"403":
|
|
9074
|
+
$ref: "#/components/responses/Forbidden"
|
|
9075
|
+
get:
|
|
9076
|
+
tags: [Sub-Organizations]
|
|
9077
|
+
summary: List sub-organizations
|
|
9078
|
+
description: List all sub-organizations under the current org.
|
|
9079
|
+
operationId: listSubOrgs
|
|
9080
|
+
security:
|
|
9081
|
+
- BearerAuth: []
|
|
9082
|
+
responses:
|
|
9083
|
+
"200":
|
|
9084
|
+
description: Sub-organizations list
|
|
9085
|
+
content:
|
|
9086
|
+
application/json:
|
|
9087
|
+
schema:
|
|
9088
|
+
$ref: "#/components/schemas/SubOrgListResponse"
|
|
9089
|
+
"401":
|
|
9090
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9091
|
+
|
|
9092
|
+
/v1/org/sub-orgs/{sub_org_id}:
|
|
9093
|
+
get:
|
|
9094
|
+
tags: [Sub-Organizations]
|
|
9095
|
+
summary: Get a sub-organization
|
|
9096
|
+
description: Retrieve a specific sub-organization by ID.
|
|
9097
|
+
operationId: getSubOrg
|
|
9098
|
+
security:
|
|
9099
|
+
- BearerAuth: []
|
|
9100
|
+
parameters:
|
|
9101
|
+
- name: sub_org_id
|
|
9102
|
+
in: path
|
|
9103
|
+
required: true
|
|
9104
|
+
schema:
|
|
9105
|
+
type: string
|
|
9106
|
+
format: uuid
|
|
9107
|
+
responses:
|
|
9108
|
+
"200":
|
|
9109
|
+
description: Sub-organization details
|
|
9110
|
+
content:
|
|
9111
|
+
application/json:
|
|
9112
|
+
schema:
|
|
9113
|
+
$ref: "#/components/schemas/SubOrgResponse"
|
|
9114
|
+
"401":
|
|
9115
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9116
|
+
"404":
|
|
9117
|
+
$ref: "#/components/responses/NotFound"
|
|
9118
|
+
patch:
|
|
9119
|
+
tags: [Sub-Organizations]
|
|
9120
|
+
summary: Update a sub-organization
|
|
9121
|
+
description: Update sub-organization name, description, or billing model.
|
|
9122
|
+
operationId: updateSubOrg
|
|
9123
|
+
security:
|
|
9124
|
+
- BearerAuth: []
|
|
9125
|
+
parameters:
|
|
9126
|
+
- name: sub_org_id
|
|
9127
|
+
in: path
|
|
9128
|
+
required: true
|
|
9129
|
+
schema:
|
|
9130
|
+
type: string
|
|
9131
|
+
format: uuid
|
|
9132
|
+
requestBody:
|
|
9133
|
+
required: true
|
|
9134
|
+
content:
|
|
9135
|
+
application/json:
|
|
9136
|
+
schema:
|
|
9137
|
+
$ref: "#/components/schemas/CreateSubOrgRequest"
|
|
9138
|
+
responses:
|
|
9139
|
+
"200":
|
|
9140
|
+
description: Sub-organization updated
|
|
9141
|
+
content:
|
|
9142
|
+
application/json:
|
|
9143
|
+
schema:
|
|
9144
|
+
$ref: "#/components/schemas/SubOrgResponse"
|
|
9145
|
+
"401":
|
|
9146
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9147
|
+
"404":
|
|
9148
|
+
$ref: "#/components/responses/NotFound"
|
|
9149
|
+
delete:
|
|
9150
|
+
tags: [Sub-Organizations]
|
|
9151
|
+
summary: Archive a sub-organization
|
|
9152
|
+
description: Archive (soft-delete) a sub-organization.
|
|
9153
|
+
operationId: deleteSubOrg
|
|
9154
|
+
security:
|
|
9155
|
+
- BearerAuth: []
|
|
9156
|
+
parameters:
|
|
9157
|
+
- name: sub_org_id
|
|
9158
|
+
in: path
|
|
9159
|
+
required: true
|
|
9160
|
+
schema:
|
|
9161
|
+
type: string
|
|
9162
|
+
format: uuid
|
|
9163
|
+
responses:
|
|
9164
|
+
"204":
|
|
9165
|
+
description: Sub-organization archived
|
|
9166
|
+
"401":
|
|
9167
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9168
|
+
"404":
|
|
9169
|
+
$ref: "#/components/responses/NotFound"
|
|
9170
|
+
|
|
9171
|
+
/v1/org/sub-orgs/{sub_org_id}/users:
|
|
9172
|
+
post:
|
|
9173
|
+
tags: [Sub-Organizations]
|
|
9174
|
+
summary: Add a user to a sub-organization
|
|
9175
|
+
description: Add a user to a sub-organization with a specified role.
|
|
9176
|
+
operationId: addSubOrgUser
|
|
9177
|
+
security:
|
|
9178
|
+
- BearerAuth: []
|
|
9179
|
+
parameters:
|
|
9180
|
+
- name: sub_org_id
|
|
9181
|
+
in: path
|
|
9182
|
+
required: true
|
|
9183
|
+
schema:
|
|
9184
|
+
type: string
|
|
9185
|
+
format: uuid
|
|
9186
|
+
requestBody:
|
|
9187
|
+
required: true
|
|
9188
|
+
content:
|
|
9189
|
+
application/json:
|
|
9190
|
+
schema:
|
|
9191
|
+
$ref: "#/components/schemas/SubOrgAddUserRequest"
|
|
9192
|
+
responses:
|
|
9193
|
+
"201":
|
|
9194
|
+
description: User added to sub-organization
|
|
9195
|
+
"400":
|
|
9196
|
+
$ref: "#/components/responses/BadRequest"
|
|
9197
|
+
"401":
|
|
9198
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9199
|
+
"404":
|
|
9200
|
+
$ref: "#/components/responses/NotFound"
|
|
9201
|
+
|
|
9202
|
+
/v1/org/sub-orgs/{sub_org_id}/permissions:
|
|
9203
|
+
post:
|
|
9204
|
+
tags: [Sub-Organizations]
|
|
9205
|
+
summary: Grant permissions to a sub-organization
|
|
9206
|
+
description: Grant a permission scope to the sub-organization.
|
|
9207
|
+
operationId: grantSubOrgPermission
|
|
9208
|
+
security:
|
|
9209
|
+
- BearerAuth: []
|
|
9210
|
+
parameters:
|
|
9211
|
+
- name: sub_org_id
|
|
9212
|
+
in: path
|
|
9213
|
+
required: true
|
|
9214
|
+
schema:
|
|
9215
|
+
type: string
|
|
9216
|
+
format: uuid
|
|
9217
|
+
requestBody:
|
|
9218
|
+
required: true
|
|
9219
|
+
content:
|
|
9220
|
+
application/json:
|
|
9221
|
+
schema:
|
|
9222
|
+
$ref: "#/components/schemas/SubOrgPermissionRequest"
|
|
9223
|
+
responses:
|
|
9224
|
+
"201":
|
|
9225
|
+
description: Permission granted
|
|
9226
|
+
"400":
|
|
9227
|
+
$ref: "#/components/responses/BadRequest"
|
|
9228
|
+
"401":
|
|
9229
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9230
|
+
"404":
|
|
9231
|
+
$ref: "#/components/responses/NotFound"
|
|
9232
|
+
|
|
9233
|
+
/v1/org/sub-orgs/{sub_org_id}/wallets/generate:
|
|
9234
|
+
post:
|
|
9235
|
+
tags: [Sub-Organizations]
|
|
9236
|
+
summary: Generate wallets for a sub-organization
|
|
9237
|
+
description: Generate treasury wallets for specified chains within the sub-org.
|
|
9238
|
+
operationId: generateSubOrgWallets
|
|
9239
|
+
security:
|
|
9240
|
+
- BearerAuth: []
|
|
9241
|
+
parameters:
|
|
9242
|
+
- name: sub_org_id
|
|
9243
|
+
in: path
|
|
9244
|
+
required: true
|
|
9245
|
+
schema:
|
|
9246
|
+
type: string
|
|
9247
|
+
format: uuid
|
|
9248
|
+
requestBody:
|
|
9249
|
+
required: false
|
|
9250
|
+
content:
|
|
9251
|
+
application/json:
|
|
9252
|
+
schema:
|
|
9253
|
+
$ref: "#/components/schemas/SubOrgGenerateWalletsRequest"
|
|
9254
|
+
responses:
|
|
9255
|
+
"201":
|
|
9256
|
+
description: Wallets generated
|
|
9257
|
+
"401":
|
|
9258
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9259
|
+
"403":
|
|
9260
|
+
$ref: "#/components/responses/Forbidden"
|
|
9261
|
+
"404":
|
|
9262
|
+
$ref: "#/components/responses/NotFound"
|
|
9263
|
+
|
|
9264
|
+
# ---------------------------------------------------------------------------
|
|
9265
|
+
# Portfolio
|
|
9266
|
+
# ---------------------------------------------------------------------------
|
|
9267
|
+
|
|
9268
|
+
/v1/portfolio:
|
|
9269
|
+
get:
|
|
9270
|
+
tags: [Portfolio]
|
|
9271
|
+
summary: Get unified portfolio
|
|
9272
|
+
description: |
|
|
9273
|
+
Returns an aggregated view of all wallet balances (treasury wallets,
|
|
9274
|
+
signing keys, smart accounts) with USD estimates.
|
|
9275
|
+
operationId: getPortfolio
|
|
9276
|
+
security:
|
|
9277
|
+
- BearerAuth: []
|
|
9278
|
+
responses:
|
|
9279
|
+
"200":
|
|
9280
|
+
description: Portfolio summary
|
|
9281
|
+
content:
|
|
9282
|
+
application/json:
|
|
9283
|
+
schema:
|
|
9284
|
+
$ref: "#/components/schemas/PortfolioResponse"
|
|
9285
|
+
"401":
|
|
9286
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9287
|
+
|
|
9288
|
+
# ---------------------------------------------------------------------------
|
|
9289
|
+
# Smart Account Import
|
|
9290
|
+
# ---------------------------------------------------------------------------
|
|
9291
|
+
|
|
9292
|
+
/v1/agents/{agent_id}/smart-accounts/import:
|
|
9293
|
+
post:
|
|
9294
|
+
tags: [Agents]
|
|
9295
|
+
summary: Import an existing Safe smart account
|
|
9296
|
+
description: |
|
|
9297
|
+
Import an existing Safe smart account for an agent. Optionally verifies
|
|
9298
|
+
on-chain that the agent's EOA is a signer on the Safe.
|
|
9299
|
+
operationId: importSmartAccount
|
|
9300
|
+
security:
|
|
9301
|
+
- BearerAuth: []
|
|
9302
|
+
parameters:
|
|
9303
|
+
- $ref: "#/components/parameters/AgentId"
|
|
9304
|
+
requestBody:
|
|
9305
|
+
required: true
|
|
9306
|
+
content:
|
|
9307
|
+
application/json:
|
|
9308
|
+
schema:
|
|
9309
|
+
$ref: "#/components/schemas/ImportSmartAccountRequest"
|
|
9310
|
+
responses:
|
|
9311
|
+
"201":
|
|
9312
|
+
description: Smart account imported
|
|
9313
|
+
"400":
|
|
9314
|
+
$ref: "#/components/responses/BadRequest"
|
|
9315
|
+
"401":
|
|
9316
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9317
|
+
"403":
|
|
9318
|
+
$ref: "#/components/responses/Forbidden"
|
|
9319
|
+
|
|
9320
|
+
# =============================================================================
|
|
9321
|
+
# COMPONENTS
|
|
9322
|
+
# =============================================================================
|
|
9323
|
+
|
|
9324
|
+
components:
|
|
9325
|
+
securitySchemes:
|
|
9326
|
+
BearerAuth:
|
|
9327
|
+
type: http
|
|
9328
|
+
scheme: bearer
|
|
9329
|
+
bearerFormat: JWT
|
|
9330
|
+
ApiKeyAuth:
|
|
9331
|
+
type: http
|
|
9332
|
+
scheme: bearer
|
|
9333
|
+
description: 1ck_ prefixed API key used as Bearer token
|
|
9334
|
+
|
|
9335
|
+
parameters:
|
|
9336
|
+
VaultId:
|
|
9337
|
+
name: vault_id
|
|
9338
|
+
in: path
|
|
9339
|
+
required: true
|
|
9340
|
+
schema:
|
|
9341
|
+
type: string
|
|
9342
|
+
format: uuid
|
|
9343
|
+
SecretPath:
|
|
9344
|
+
name: path
|
|
9345
|
+
in: path
|
|
9346
|
+
required: true
|
|
9347
|
+
schema:
|
|
9348
|
+
type: string
|
|
9349
|
+
description: Secret path (e.g. "db/credentials")
|
|
9350
|
+
AgentId:
|
|
9351
|
+
name: agent_id
|
|
9352
|
+
in: path
|
|
9353
|
+
required: true
|
|
9354
|
+
schema:
|
|
9355
|
+
type: string
|
|
9356
|
+
format: uuid
|
|
9357
|
+
PolicyId:
|
|
9358
|
+
name: policy_id
|
|
9359
|
+
in: path
|
|
9360
|
+
required: true
|
|
9361
|
+
schema:
|
|
9362
|
+
type: string
|
|
9363
|
+
format: uuid
|
|
9364
|
+
CardId:
|
|
9365
|
+
name: card_id
|
|
9366
|
+
in: path
|
|
9367
|
+
required: true
|
|
9368
|
+
schema:
|
|
9369
|
+
type: string
|
|
9370
|
+
format: uuid
|
|
9371
|
+
IncludeSignedTx:
|
|
9372
|
+
name: include_signed_tx
|
|
9373
|
+
in: query
|
|
9374
|
+
required: false
|
|
9375
|
+
description: >
|
|
9376
|
+
Set to `true` or `1` to include the raw signed transaction hex in the response.
|
|
9377
|
+
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.
|
|
9378
|
+
Applies to GET /v1/agents/{agent_id}/transactions and GET /v1/agents/{agent_id}/transactions/{tx_id}.
|
|
9379
|
+
schema:
|
|
8616
9380
|
type: boolean
|
|
8617
9381
|
default: false
|
|
8618
9382
|
example: false
|
|
@@ -9525,6 +10289,17 @@ components:
|
|
|
9525
10289
|
expires_at:
|
|
9526
10290
|
type: string
|
|
9527
10291
|
format: date-time
|
|
10292
|
+
effect:
|
|
10293
|
+
type: string
|
|
10294
|
+
enum: [allow, deny]
|
|
10295
|
+
default: allow
|
|
10296
|
+
priority:
|
|
10297
|
+
type: integer
|
|
10298
|
+
minimum: 0
|
|
10299
|
+
default: 0
|
|
10300
|
+
attribute_conditions:
|
|
10301
|
+
type: object
|
|
10302
|
+
additionalProperties: true
|
|
9528
10303
|
|
|
9529
10304
|
UpdatePolicyRequest:
|
|
9530
10305
|
type: object
|
|
@@ -9539,6 +10314,17 @@ components:
|
|
|
9539
10314
|
expires_at:
|
|
9540
10315
|
type: string
|
|
9541
10316
|
format: date-time
|
|
10317
|
+
effect:
|
|
10318
|
+
type: string
|
|
10319
|
+
enum: [allow, deny]
|
|
10320
|
+
default: allow
|
|
10321
|
+
priority:
|
|
10322
|
+
type: integer
|
|
10323
|
+
minimum: 0
|
|
10324
|
+
default: 0
|
|
10325
|
+
attribute_conditions:
|
|
10326
|
+
type: object
|
|
10327
|
+
additionalProperties: true
|
|
9542
10328
|
|
|
9543
10329
|
PolicyResponse:
|
|
9544
10330
|
type: object
|
|
@@ -9582,6 +10368,17 @@ components:
|
|
|
9582
10368
|
created_at:
|
|
9583
10369
|
type: string
|
|
9584
10370
|
format: date-time
|
|
10371
|
+
effect:
|
|
10372
|
+
type: string
|
|
10373
|
+
enum: [allow, deny]
|
|
10374
|
+
default: allow
|
|
10375
|
+
priority:
|
|
10376
|
+
type: integer
|
|
10377
|
+
minimum: 0
|
|
10378
|
+
default: 0
|
|
10379
|
+
attribute_conditions:
|
|
10380
|
+
type: object
|
|
10381
|
+
additionalProperties: true
|
|
9585
10382
|
|
|
9586
10383
|
PolicyListResponse:
|
|
9587
10384
|
type: object
|
|
@@ -10998,24 +11795,154 @@ components:
|
|
|
10998
11795
|
format: uuid
|
|
10999
11796
|
wallet_id:
|
|
11000
11797
|
type: string
|
|
11001
|
-
bankr_key_id:
|
|
11798
|
+
bankr_key_id:
|
|
11799
|
+
type: string
|
|
11800
|
+
permissions:
|
|
11801
|
+
type: object
|
|
11802
|
+
expires_at:
|
|
11803
|
+
type: string
|
|
11804
|
+
format: date-time
|
|
11805
|
+
created_at:
|
|
11806
|
+
type: string
|
|
11807
|
+
format: date-time
|
|
11808
|
+
|
|
11809
|
+
BankrKeyLeaseListResponse:
|
|
11810
|
+
type: object
|
|
11811
|
+
properties:
|
|
11812
|
+
leases:
|
|
11813
|
+
type: array
|
|
11814
|
+
items:
|
|
11815
|
+
$ref: "#/components/schemas/BankrKeyLeaseResponse"
|
|
11816
|
+
|
|
11817
|
+
# Agent Delegations
|
|
11818
|
+
CreateDelegationRequest:
|
|
11819
|
+
type: object
|
|
11820
|
+
required: [delegate_id]
|
|
11821
|
+
properties:
|
|
11822
|
+
delegate_id:
|
|
11823
|
+
type: string
|
|
11824
|
+
format: uuid
|
|
11825
|
+
description: The agent ID to delegate to.
|
|
11826
|
+
allowed_tools:
|
|
11827
|
+
type: array
|
|
11828
|
+
items:
|
|
11829
|
+
type: string
|
|
11830
|
+
description: Tool names the delegate may use. Empty means all tools allowed.
|
|
11831
|
+
blocked_tools:
|
|
11832
|
+
type: array
|
|
11833
|
+
items:
|
|
11834
|
+
type: string
|
|
11835
|
+
description: Tool names the delegate may NOT use.
|
|
11836
|
+
max_daily_delegations:
|
|
11837
|
+
type: integer
|
|
11838
|
+
description: Maximum delegation calls per UTC day. NULL means unlimited.
|
|
11839
|
+
max_depth:
|
|
11840
|
+
type: integer
|
|
11841
|
+
description: Maximum delegation chain depth (default 3).
|
|
11842
|
+
default: 3
|
|
11843
|
+
guardrails:
|
|
11844
|
+
type: object
|
|
11845
|
+
description: Additional guardrail constraints for this delegation.
|
|
11846
|
+
delegation_mode:
|
|
11847
|
+
type: string
|
|
11848
|
+
enum: [caller, target, both]
|
|
11849
|
+
description: "Execution mode: caller (use delegator's creds), target (use delegate's config), or both."
|
|
11850
|
+
default: caller
|
|
11851
|
+
expires_at:
|
|
11852
|
+
type: string
|
|
11853
|
+
format: date-time
|
|
11854
|
+
description: Optional expiration timestamp.
|
|
11855
|
+
|
|
11856
|
+
UpdateDelegationRequest:
|
|
11857
|
+
type: object
|
|
11858
|
+
properties:
|
|
11859
|
+
allowed_tools:
|
|
11860
|
+
type: array
|
|
11861
|
+
items:
|
|
11862
|
+
type: string
|
|
11863
|
+
blocked_tools:
|
|
11864
|
+
type: array
|
|
11865
|
+
items:
|
|
11866
|
+
type: string
|
|
11867
|
+
max_daily_delegations:
|
|
11868
|
+
type: integer
|
|
11869
|
+
max_depth:
|
|
11870
|
+
type: integer
|
|
11871
|
+
guardrails:
|
|
11872
|
+
type: object
|
|
11873
|
+
delegation_mode:
|
|
11874
|
+
type: string
|
|
11875
|
+
enum: [caller, target, both]
|
|
11876
|
+
is_active:
|
|
11877
|
+
type: boolean
|
|
11878
|
+
expires_at:
|
|
11879
|
+
type: string
|
|
11880
|
+
format: date-time
|
|
11881
|
+
nullable: true
|
|
11882
|
+
|
|
11883
|
+
DelegationResponse:
|
|
11884
|
+
type: object
|
|
11885
|
+
properties:
|
|
11886
|
+
id:
|
|
11887
|
+
type: string
|
|
11888
|
+
format: uuid
|
|
11889
|
+
org_id:
|
|
11890
|
+
type: string
|
|
11891
|
+
format: uuid
|
|
11892
|
+
delegator_id:
|
|
11893
|
+
type: string
|
|
11894
|
+
format: uuid
|
|
11895
|
+
delegate_id:
|
|
11896
|
+
type: string
|
|
11897
|
+
format: uuid
|
|
11898
|
+
delegator_name:
|
|
11899
|
+
type: string
|
|
11900
|
+
delegate_name:
|
|
11901
|
+
type: string
|
|
11902
|
+
allowed_tools:
|
|
11903
|
+
type: array
|
|
11904
|
+
items:
|
|
11905
|
+
type: string
|
|
11906
|
+
blocked_tools:
|
|
11907
|
+
type: array
|
|
11908
|
+
items:
|
|
11909
|
+
type: string
|
|
11910
|
+
max_daily_delegations:
|
|
11911
|
+
type: integer
|
|
11912
|
+
nullable: true
|
|
11913
|
+
max_depth:
|
|
11914
|
+
type: integer
|
|
11915
|
+
guardrails:
|
|
11916
|
+
type: object
|
|
11917
|
+
delegation_mode:
|
|
11918
|
+
type: string
|
|
11919
|
+
enum: [caller, target, both]
|
|
11920
|
+
is_active:
|
|
11921
|
+
type: boolean
|
|
11922
|
+
created_by:
|
|
11002
11923
|
type: string
|
|
11003
|
-
|
|
11004
|
-
type: object
|
|
11924
|
+
format: uuid
|
|
11005
11925
|
expires_at:
|
|
11006
11926
|
type: string
|
|
11007
11927
|
format: date-time
|
|
11928
|
+
nullable: true
|
|
11008
11929
|
created_at:
|
|
11009
11930
|
type: string
|
|
11010
11931
|
format: date-time
|
|
11932
|
+
updated_at:
|
|
11933
|
+
type: string
|
|
11934
|
+
format: date-time
|
|
11935
|
+
delegations_today:
|
|
11936
|
+
type: integer
|
|
11937
|
+
description: Number of delegations used today (present in effective endpoint).
|
|
11011
11938
|
|
|
11012
|
-
|
|
11939
|
+
DelegationListResponse:
|
|
11013
11940
|
type: object
|
|
11014
11941
|
properties:
|
|
11015
|
-
|
|
11942
|
+
delegations:
|
|
11016
11943
|
type: array
|
|
11017
11944
|
items:
|
|
11018
|
-
$ref: "#/components/schemas/
|
|
11945
|
+
$ref: "#/components/schemas/DelegationResponse"
|
|
11019
11946
|
|
|
11020
11947
|
# Unified Signing Intent
|
|
11021
11948
|
SignIntentRequest:
|
|
@@ -11733,6 +12660,14 @@ components:
|
|
|
11733
12660
|
$ref: "#/components/schemas/LlmCreditBalance"
|
|
11734
12661
|
billing_cycle_usage:
|
|
11735
12662
|
$ref: "#/components/schemas/LlmBillingCycleUsage"
|
|
12663
|
+
active_subscription_count:
|
|
12664
|
+
type: integer
|
|
12665
|
+
subscription_ids:
|
|
12666
|
+
type: array
|
|
12667
|
+
items:
|
|
12668
|
+
type: string
|
|
12669
|
+
warning:
|
|
12670
|
+
type: string
|
|
11736
12671
|
|
|
11737
12672
|
LlmCheckoutResponse:
|
|
11738
12673
|
type: object
|
|
@@ -11740,6 +12675,25 @@ components:
|
|
|
11740
12675
|
checkout_url:
|
|
11741
12676
|
type: string
|
|
11742
12677
|
format: uri
|
|
12678
|
+
already_subscribed:
|
|
12679
|
+
type: boolean
|
|
12680
|
+
subscription_id:
|
|
12681
|
+
type: string
|
|
12682
|
+
|
|
12683
|
+
LlmCancelDuplicatesResponse:
|
|
12684
|
+
type: object
|
|
12685
|
+
required: [cancelled_count, cancelled_subscription_ids, remaining_subscription_ids]
|
|
12686
|
+
properties:
|
|
12687
|
+
cancelled_count:
|
|
12688
|
+
type: integer
|
|
12689
|
+
cancelled_subscription_ids:
|
|
12690
|
+
type: array
|
|
12691
|
+
items:
|
|
12692
|
+
type: string
|
|
12693
|
+
remaining_subscription_ids:
|
|
12694
|
+
type: array
|
|
12695
|
+
items:
|
|
12696
|
+
type: string
|
|
11743
12697
|
|
|
11744
12698
|
LlmDisableResponse:
|
|
11745
12699
|
type: object
|
|
@@ -12350,7 +13304,7 @@ components:
|
|
|
12350
13304
|
description: Destination address (0x-prefixed)
|
|
12351
13305
|
value_wei:
|
|
12352
13306
|
type: string
|
|
12353
|
-
description: Value in wei
|
|
13307
|
+
description: Value in wei (or major-unit decimal string for non-EVM)
|
|
12354
13308
|
data:
|
|
12355
13309
|
type: string
|
|
12356
13310
|
description: Hex-encoded calldata (optional)
|
|
@@ -12361,6 +13315,30 @@ components:
|
|
|
12361
13315
|
type: boolean
|
|
12362
13316
|
description: When true, submits as a gasless (ERC-4337) transaction via Pimlico paymaster. The paymaster sponsors the gas cost.
|
|
12363
13317
|
default: false
|
|
13318
|
+
token_mint:
|
|
13319
|
+
type: string
|
|
13320
|
+
description: Token contract address / mint (ERC-20, SPL, TRC-20, Cardano policy_id.asset_name)
|
|
13321
|
+
memo:
|
|
13322
|
+
type: string
|
|
13323
|
+
description: Transaction memo (Solana Memo Program, XRP Memos, Tron extra_data)
|
|
13324
|
+
destination_tag:
|
|
13325
|
+
type: integer
|
|
13326
|
+
description: XRP destination tag
|
|
13327
|
+
fee_rate_sat_per_vbyte:
|
|
13328
|
+
type: integer
|
|
13329
|
+
description: Bitcoin fee rate in sat/vbyte
|
|
13330
|
+
xrpl_tx_json:
|
|
13331
|
+
type: object
|
|
13332
|
+
description: Raw XRPL transaction JSON for advanced XRP transaction types
|
|
13333
|
+
fee_limit_sun:
|
|
13334
|
+
type: integer
|
|
13335
|
+
description: Tron fee limit in sun
|
|
13336
|
+
token_decimals:
|
|
13337
|
+
type: integer
|
|
13338
|
+
description: Token decimals (required for non-EVM token transfers when not in known_tokens)
|
|
13339
|
+
ttl:
|
|
13340
|
+
type: integer
|
|
13341
|
+
description: Cardano transaction TTL (slot number)
|
|
12364
13342
|
|
|
12365
13343
|
TreasuryWalletSendResponse:
|
|
12366
13344
|
type: object
|
|
@@ -14932,7 +15910,11 @@ components:
|
|
|
14932
15910
|
Discord: { bot_token, application_id }.
|
|
14933
15911
|
slash_commands_enabled:
|
|
14934
15912
|
type: boolean
|
|
14935
|
-
description:
|
|
15913
|
+
description: |
|
|
15914
|
+
Enable Hermes-compatible slash commands on this channel. When true,
|
|
15915
|
+
messages starting with `/` are handled before the LLM. Commands:
|
|
15916
|
+
/help, /new, /reset, /clear, /model, /mode, /personality, /retry,
|
|
15917
|
+
/undo, /compress, /summarize, /stop, /status, /skills, /usage, /sethome.
|
|
14936
15918
|
voice_transcription_enabled:
|
|
14937
15919
|
type: boolean
|
|
14938
15920
|
description: Enable voice message transcription
|
|
@@ -15000,7 +15982,10 @@ components:
|
|
|
15000
15982
|
- auto_respond_enabled (boolean): whether the agent auto-responds to inbound messages
|
|
15001
15983
|
slash_commands_enabled:
|
|
15002
15984
|
type: boolean
|
|
15003
|
-
description:
|
|
15985
|
+
description: |
|
|
15986
|
+
Whether Hermes-compatible slash commands are enabled for this channel.
|
|
15987
|
+
Commands: /help, /new, /reset, /clear, /model, /mode, /personality, /retry,
|
|
15988
|
+
/undo, /compress, /summarize, /stop, /status, /skills, /usage, /sethome.
|
|
15004
15989
|
voice_transcription_enabled:
|
|
15005
15990
|
type: boolean
|
|
15006
15991
|
description: Whether voice message transcription is enabled
|
|
@@ -15259,3 +16244,296 @@ components:
|
|
|
15259
16244
|
type: array
|
|
15260
16245
|
items:
|
|
15261
16246
|
$ref: "#/components/schemas/OAuthAppCredentialResponse"
|
|
16247
|
+
|
|
16248
|
+
# -------------------------------------------------------------------
|
|
16249
|
+
# Key Import
|
|
16250
|
+
# -------------------------------------------------------------------
|
|
16251
|
+
|
|
16252
|
+
ImportKeyRequest:
|
|
16253
|
+
type: object
|
|
16254
|
+
required: [private_key]
|
|
16255
|
+
properties:
|
|
16256
|
+
private_key:
|
|
16257
|
+
type: string
|
|
16258
|
+
description: The private key to import
|
|
16259
|
+
format:
|
|
16260
|
+
type: string
|
|
16261
|
+
enum: [hex, base64, wif]
|
|
16262
|
+
description: Key format (default hex)
|
|
16263
|
+
|
|
16264
|
+
# -------------------------------------------------------------------
|
|
16265
|
+
# Cedar Policies
|
|
16266
|
+
# -------------------------------------------------------------------
|
|
16267
|
+
|
|
16268
|
+
CreateCedarPolicyRequest:
|
|
16269
|
+
type: object
|
|
16270
|
+
required: [policy_text]
|
|
16271
|
+
properties:
|
|
16272
|
+
policy_text:
|
|
16273
|
+
type: string
|
|
16274
|
+
description: Cedar policy text
|
|
16275
|
+
description:
|
|
16276
|
+
type: string
|
|
16277
|
+
|
|
16278
|
+
CedarPolicyResponse:
|
|
16279
|
+
type: object
|
|
16280
|
+
properties:
|
|
16281
|
+
id:
|
|
16282
|
+
type: string
|
|
16283
|
+
format: uuid
|
|
16284
|
+
policy_text:
|
|
16285
|
+
type: string
|
|
16286
|
+
description:
|
|
16287
|
+
type: string
|
|
16288
|
+
created_at:
|
|
16289
|
+
type: string
|
|
16290
|
+
format: date-time
|
|
16291
|
+
created_by:
|
|
16292
|
+
type: string
|
|
16293
|
+
format: uuid
|
|
16294
|
+
|
|
16295
|
+
CedarPolicyListResponse:
|
|
16296
|
+
type: object
|
|
16297
|
+
properties:
|
|
16298
|
+
policies:
|
|
16299
|
+
type: array
|
|
16300
|
+
items:
|
|
16301
|
+
$ref: "#/components/schemas/CedarPolicyResponse"
|
|
16302
|
+
|
|
16303
|
+
CedarPolicyTestRequest:
|
|
16304
|
+
type: object
|
|
16305
|
+
required: [principal, action, resource]
|
|
16306
|
+
properties:
|
|
16307
|
+
principal:
|
|
16308
|
+
type: string
|
|
16309
|
+
action:
|
|
16310
|
+
type: string
|
|
16311
|
+
resource:
|
|
16312
|
+
type: string
|
|
16313
|
+
context:
|
|
16314
|
+
type: object
|
|
16315
|
+
|
|
16316
|
+
CedarPolicyTestResponse:
|
|
16317
|
+
type: object
|
|
16318
|
+
properties:
|
|
16319
|
+
decision:
|
|
16320
|
+
type: string
|
|
16321
|
+
enum: [allow, deny]
|
|
16322
|
+
reasons:
|
|
16323
|
+
type: array
|
|
16324
|
+
items:
|
|
16325
|
+
type: string
|
|
16326
|
+
|
|
16327
|
+
# -------------------------------------------------------------------
|
|
16328
|
+
# OPA Policies
|
|
16329
|
+
# -------------------------------------------------------------------
|
|
16330
|
+
|
|
16331
|
+
CreateOpaPolicyRequest:
|
|
16332
|
+
type: object
|
|
16333
|
+
required: [rego_module]
|
|
16334
|
+
properties:
|
|
16335
|
+
rego_module:
|
|
16336
|
+
type: string
|
|
16337
|
+
description: OPA Rego module source
|
|
16338
|
+
description:
|
|
16339
|
+
type: string
|
|
16340
|
+
data:
|
|
16341
|
+
type: object
|
|
16342
|
+
description: Static data document for the policy
|
|
16343
|
+
|
|
16344
|
+
OpaPolicyResponse:
|
|
16345
|
+
type: object
|
|
16346
|
+
properties:
|
|
16347
|
+
id:
|
|
16348
|
+
type: string
|
|
16349
|
+
format: uuid
|
|
16350
|
+
rego_module:
|
|
16351
|
+
type: string
|
|
16352
|
+
description:
|
|
16353
|
+
type: string
|
|
16354
|
+
data:
|
|
16355
|
+
type: object
|
|
16356
|
+
created_at:
|
|
16357
|
+
type: string
|
|
16358
|
+
format: date-time
|
|
16359
|
+
created_by:
|
|
16360
|
+
type: string
|
|
16361
|
+
format: uuid
|
|
16362
|
+
|
|
16363
|
+
OpaPolicyListResponse:
|
|
16364
|
+
type: object
|
|
16365
|
+
properties:
|
|
16366
|
+
policies:
|
|
16367
|
+
type: array
|
|
16368
|
+
items:
|
|
16369
|
+
$ref: "#/components/schemas/OpaPolicyResponse"
|
|
16370
|
+
|
|
16371
|
+
OpaPolicyTestRequest:
|
|
16372
|
+
type: object
|
|
16373
|
+
required: [input]
|
|
16374
|
+
properties:
|
|
16375
|
+
input:
|
|
16376
|
+
type: object
|
|
16377
|
+
description: Input document for policy evaluation
|
|
16378
|
+
data:
|
|
16379
|
+
type: object
|
|
16380
|
+
description: Optional data override
|
|
16381
|
+
|
|
16382
|
+
OpaPolicyTestResponse:
|
|
16383
|
+
type: object
|
|
16384
|
+
properties:
|
|
16385
|
+
result:
|
|
16386
|
+
type: object
|
|
16387
|
+
decision:
|
|
16388
|
+
type: string
|
|
16389
|
+
enum: [allow, deny]
|
|
16390
|
+
|
|
16391
|
+
# -------------------------------------------------------------------
|
|
16392
|
+
# Sub-Organizations
|
|
16393
|
+
# -------------------------------------------------------------------
|
|
16394
|
+
|
|
16395
|
+
CreateSubOrgRequest:
|
|
16396
|
+
type: object
|
|
16397
|
+
required: [name]
|
|
16398
|
+
properties:
|
|
16399
|
+
name:
|
|
16400
|
+
type: string
|
|
16401
|
+
minLength: 1
|
|
16402
|
+
maxLength: 128
|
|
16403
|
+
description:
|
|
16404
|
+
type: string
|
|
16405
|
+
billing_model:
|
|
16406
|
+
type: string
|
|
16407
|
+
enum: [inherit, independent]
|
|
16408
|
+
default: inherit
|
|
16409
|
+
|
|
16410
|
+
SubOrgResponse:
|
|
16411
|
+
type: object
|
|
16412
|
+
properties:
|
|
16413
|
+
id:
|
|
16414
|
+
type: string
|
|
16415
|
+
format: uuid
|
|
16416
|
+
parent_org_id:
|
|
16417
|
+
type: string
|
|
16418
|
+
format: uuid
|
|
16419
|
+
name:
|
|
16420
|
+
type: string
|
|
16421
|
+
description:
|
|
16422
|
+
type: string
|
|
16423
|
+
billing_model:
|
|
16424
|
+
type: string
|
|
16425
|
+
status:
|
|
16426
|
+
type: string
|
|
16427
|
+
enum: [active, archived]
|
|
16428
|
+
created_at:
|
|
16429
|
+
type: string
|
|
16430
|
+
format: date-time
|
|
16431
|
+
|
|
16432
|
+
SubOrgListResponse:
|
|
16433
|
+
type: object
|
|
16434
|
+
properties:
|
|
16435
|
+
sub_orgs:
|
|
16436
|
+
type: array
|
|
16437
|
+
items:
|
|
16438
|
+
$ref: "#/components/schemas/SubOrgResponse"
|
|
16439
|
+
|
|
16440
|
+
SubOrgPermissionRequest:
|
|
16441
|
+
type: object
|
|
16442
|
+
required: [permission]
|
|
16443
|
+
properties:
|
|
16444
|
+
permission:
|
|
16445
|
+
type: string
|
|
16446
|
+
description: "Permission to grant (e.g. vaults:read, agents:write)"
|
|
16447
|
+
resource_ids:
|
|
16448
|
+
type: array
|
|
16449
|
+
items:
|
|
16450
|
+
type: string
|
|
16451
|
+
format: uuid
|
|
16452
|
+
|
|
16453
|
+
SubOrgAddUserRequest:
|
|
16454
|
+
type: object
|
|
16455
|
+
required: [user_id]
|
|
16456
|
+
properties:
|
|
16457
|
+
user_id:
|
|
16458
|
+
type: string
|
|
16459
|
+
format: uuid
|
|
16460
|
+
role:
|
|
16461
|
+
type: string
|
|
16462
|
+
enum: [admin, member, viewer]
|
|
16463
|
+
default: member
|
|
16464
|
+
|
|
16465
|
+
SubOrgGenerateWalletsRequest:
|
|
16466
|
+
type: object
|
|
16467
|
+
properties:
|
|
16468
|
+
chains:
|
|
16469
|
+
type: array
|
|
16470
|
+
items:
|
|
16471
|
+
type: string
|
|
16472
|
+
|
|
16473
|
+
# -------------------------------------------------------------------
|
|
16474
|
+
# Portfolio
|
|
16475
|
+
# -------------------------------------------------------------------
|
|
16476
|
+
|
|
16477
|
+
PortfolioResponse:
|
|
16478
|
+
type: object
|
|
16479
|
+
properties:
|
|
16480
|
+
wallets:
|
|
16481
|
+
type: array
|
|
16482
|
+
items:
|
|
16483
|
+
$ref: "#/components/schemas/PortfolioWalletEntry"
|
|
16484
|
+
total_usd_estimate:
|
|
16485
|
+
type: string
|
|
16486
|
+
|
|
16487
|
+
PortfolioWalletEntry:
|
|
16488
|
+
type: object
|
|
16489
|
+
properties:
|
|
16490
|
+
wallet_type:
|
|
16491
|
+
type: string
|
|
16492
|
+
enum: [treasury, signing_key, smart_account]
|
|
16493
|
+
chain:
|
|
16494
|
+
type: string
|
|
16495
|
+
address:
|
|
16496
|
+
type: string
|
|
16497
|
+
native_balance:
|
|
16498
|
+
type: string
|
|
16499
|
+
native_balance_usd:
|
|
16500
|
+
type: string
|
|
16501
|
+
tokens:
|
|
16502
|
+
type: array
|
|
16503
|
+
items:
|
|
16504
|
+
$ref: "#/components/schemas/PortfolioTokenBalance"
|
|
16505
|
+
|
|
16506
|
+
PortfolioTokenBalance:
|
|
16507
|
+
type: object
|
|
16508
|
+
properties:
|
|
16509
|
+
contract_address:
|
|
16510
|
+
type: string
|
|
16511
|
+
symbol:
|
|
16512
|
+
type: string
|
|
16513
|
+
name:
|
|
16514
|
+
type: string
|
|
16515
|
+
balance:
|
|
16516
|
+
type: string
|
|
16517
|
+
balance_usd:
|
|
16518
|
+
type: string
|
|
16519
|
+
decimals:
|
|
16520
|
+
type: integer
|
|
16521
|
+
|
|
16522
|
+
# -------------------------------------------------------------------
|
|
16523
|
+
# Smart Account Import
|
|
16524
|
+
# -------------------------------------------------------------------
|
|
16525
|
+
|
|
16526
|
+
ImportSmartAccountRequest:
|
|
16527
|
+
type: object
|
|
16528
|
+
required: [chain, chain_id, safe_address]
|
|
16529
|
+
properties:
|
|
16530
|
+
chain:
|
|
16531
|
+
type: string
|
|
16532
|
+
chain_id:
|
|
16533
|
+
type: integer
|
|
16534
|
+
safe_address:
|
|
16535
|
+
type: string
|
|
16536
|
+
verify:
|
|
16537
|
+
type: boolean
|
|
16538
|
+
default: true
|
|
16539
|
+
description: Verify on-chain Safe ownership
|