@1claw/openapi-spec 0.27.0 → 0.29.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 +3 -1
- package/openapi.json +3315 -2003
- package/openapi.yaml +845 -11
- package/package.json +2 -2
package/openapi.yaml
CHANGED
|
@@ -64,6 +64,10 @@ tags:
|
|
|
64
64
|
description: Service health checks
|
|
65
65
|
- name: Approvals
|
|
66
66
|
description: Human-in-the-loop approval workflow for agent actions
|
|
67
|
+
- name: Signing Keys
|
|
68
|
+
description: Per-agent multi-chain signing key management
|
|
69
|
+
- name: Webhooks
|
|
70
|
+
description: Event webhook registration and management
|
|
67
71
|
- name: Platform
|
|
68
72
|
description: Platform API for developers building on 1Claw (plt_ keys, user provisioning, bootstrap templates)
|
|
69
73
|
|
|
@@ -2378,6 +2382,37 @@ paths:
|
|
|
2378
2382
|
"404":
|
|
2379
2383
|
$ref: "#/components/responses/NotFound"
|
|
2380
2384
|
|
|
2385
|
+
/v1/agents/{agent_id}/signing-keys/{chain}/balance:
|
|
2386
|
+
get:
|
|
2387
|
+
tags: [Signing Keys]
|
|
2388
|
+
summary: Get signing key balance
|
|
2389
|
+
description: |
|
|
2390
|
+
Returns the native token balance for the agent's signing key address
|
|
2391
|
+
on the specified chain.
|
|
2392
|
+
operationId: getSigningKeyBalance
|
|
2393
|
+
security:
|
|
2394
|
+
- BearerAuth: []
|
|
2395
|
+
parameters:
|
|
2396
|
+
- $ref: "#/components/parameters/AgentId"
|
|
2397
|
+
- name: chain
|
|
2398
|
+
in: path
|
|
2399
|
+
required: true
|
|
2400
|
+
schema:
|
|
2401
|
+
type: string
|
|
2402
|
+
responses:
|
|
2403
|
+
"200":
|
|
2404
|
+
description: Signing key balance
|
|
2405
|
+
content:
|
|
2406
|
+
application/json:
|
|
2407
|
+
schema:
|
|
2408
|
+
$ref: "#/components/schemas/SigningKeyBalanceResponse"
|
|
2409
|
+
"401":
|
|
2410
|
+
$ref: "#/components/responses/Unauthorized"
|
|
2411
|
+
"403":
|
|
2412
|
+
$ref: "#/components/responses/Forbidden"
|
|
2413
|
+
"404":
|
|
2414
|
+
$ref: "#/components/responses/NotFound"
|
|
2415
|
+
|
|
2381
2416
|
# ---------------------------------------------------------------------------
|
|
2382
2417
|
# Unified Signing Intent
|
|
2383
2418
|
# ---------------------------------------------------------------------------
|
|
@@ -3356,6 +3391,220 @@ paths:
|
|
|
3356
3391
|
"404":
|
|
3357
3392
|
$ref: "#/components/responses/NotFound"
|
|
3358
3393
|
|
|
3394
|
+
# ---------------------------------------------------------------------------
|
|
3395
|
+
# Treasury Proposals (multisig propose / sign / execute)
|
|
3396
|
+
# ---------------------------------------------------------------------------
|
|
3397
|
+
|
|
3398
|
+
/v1/treasury/{treasury_id}/proposals:
|
|
3399
|
+
post:
|
|
3400
|
+
tags: [Treasury Proposals]
|
|
3401
|
+
summary: Create a multisig proposal
|
|
3402
|
+
description: |
|
|
3403
|
+
Create a new Safe multisig transaction proposal. The proposer must be a
|
|
3404
|
+
treasury signer or an agent with an active delegation for the treasury.
|
|
3405
|
+
If auto-approve rules match, the agent's signature is auto-inserted and
|
|
3406
|
+
auto-execute fires if threshold is met.
|
|
3407
|
+
operationId: createTreasuryProposal
|
|
3408
|
+
security:
|
|
3409
|
+
- BearerAuth: []
|
|
3410
|
+
parameters:
|
|
3411
|
+
- name: treasury_id
|
|
3412
|
+
in: path
|
|
3413
|
+
required: true
|
|
3414
|
+
schema:
|
|
3415
|
+
type: string
|
|
3416
|
+
format: uuid
|
|
3417
|
+
requestBody:
|
|
3418
|
+
required: true
|
|
3419
|
+
content:
|
|
3420
|
+
application/json:
|
|
3421
|
+
schema:
|
|
3422
|
+
$ref: "#/components/schemas/CreateTreasuryProposalRequest"
|
|
3423
|
+
responses:
|
|
3424
|
+
"201":
|
|
3425
|
+
description: Proposal created
|
|
3426
|
+
content:
|
|
3427
|
+
application/json:
|
|
3428
|
+
schema:
|
|
3429
|
+
$ref: "#/components/schemas/TreasuryProposalResponse"
|
|
3430
|
+
"400":
|
|
3431
|
+
$ref: "#/components/responses/BadRequest"
|
|
3432
|
+
"401":
|
|
3433
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3434
|
+
"403":
|
|
3435
|
+
$ref: "#/components/responses/Forbidden"
|
|
3436
|
+
get:
|
|
3437
|
+
tags: [Treasury Proposals]
|
|
3438
|
+
summary: List proposals for a treasury
|
|
3439
|
+
operationId: listTreasuryProposals
|
|
3440
|
+
security:
|
|
3441
|
+
- BearerAuth: []
|
|
3442
|
+
parameters:
|
|
3443
|
+
- name: treasury_id
|
|
3444
|
+
in: path
|
|
3445
|
+
required: true
|
|
3446
|
+
schema:
|
|
3447
|
+
type: string
|
|
3448
|
+
format: uuid
|
|
3449
|
+
- name: status
|
|
3450
|
+
in: query
|
|
3451
|
+
required: false
|
|
3452
|
+
schema:
|
|
3453
|
+
type: string
|
|
3454
|
+
enum: [pending, approved, executing, executed, rejected, expired]
|
|
3455
|
+
responses:
|
|
3456
|
+
"200":
|
|
3457
|
+
description: Proposal list
|
|
3458
|
+
content:
|
|
3459
|
+
application/json:
|
|
3460
|
+
schema:
|
|
3461
|
+
$ref: "#/components/schemas/TreasuryProposalListResponse"
|
|
3462
|
+
"401":
|
|
3463
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3464
|
+
"403":
|
|
3465
|
+
$ref: "#/components/responses/Forbidden"
|
|
3466
|
+
|
|
3467
|
+
/v1/treasury/{treasury_id}/proposals/{proposal_id}:
|
|
3468
|
+
get:
|
|
3469
|
+
tags: [Treasury Proposals]
|
|
3470
|
+
summary: Get a proposal with collected signatures
|
|
3471
|
+
operationId: getTreasuryProposal
|
|
3472
|
+
security:
|
|
3473
|
+
- BearerAuth: []
|
|
3474
|
+
parameters:
|
|
3475
|
+
- name: treasury_id
|
|
3476
|
+
in: path
|
|
3477
|
+
required: true
|
|
3478
|
+
schema:
|
|
3479
|
+
type: string
|
|
3480
|
+
format: uuid
|
|
3481
|
+
- name: proposal_id
|
|
3482
|
+
in: path
|
|
3483
|
+
required: true
|
|
3484
|
+
schema:
|
|
3485
|
+
type: string
|
|
3486
|
+
format: uuid
|
|
3487
|
+
responses:
|
|
3488
|
+
"200":
|
|
3489
|
+
description: Proposal details
|
|
3490
|
+
content:
|
|
3491
|
+
application/json:
|
|
3492
|
+
schema:
|
|
3493
|
+
$ref: "#/components/schemas/TreasuryProposalResponse"
|
|
3494
|
+
"401":
|
|
3495
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3496
|
+
"404":
|
|
3497
|
+
$ref: "#/components/responses/NotFound"
|
|
3498
|
+
delete:
|
|
3499
|
+
tags: [Treasury Proposals]
|
|
3500
|
+
summary: Cancel a pending proposal (proposer only)
|
|
3501
|
+
operationId: cancelTreasuryProposal
|
|
3502
|
+
security:
|
|
3503
|
+
- BearerAuth: []
|
|
3504
|
+
parameters:
|
|
3505
|
+
- name: treasury_id
|
|
3506
|
+
in: path
|
|
3507
|
+
required: true
|
|
3508
|
+
schema:
|
|
3509
|
+
type: string
|
|
3510
|
+
format: uuid
|
|
3511
|
+
- name: proposal_id
|
|
3512
|
+
in: path
|
|
3513
|
+
required: true
|
|
3514
|
+
schema:
|
|
3515
|
+
type: string
|
|
3516
|
+
format: uuid
|
|
3517
|
+
responses:
|
|
3518
|
+
"204":
|
|
3519
|
+
description: Proposal cancelled
|
|
3520
|
+
"401":
|
|
3521
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3522
|
+
"403":
|
|
3523
|
+
$ref: "#/components/responses/Forbidden"
|
|
3524
|
+
"404":
|
|
3525
|
+
$ref: "#/components/responses/NotFound"
|
|
3526
|
+
|
|
3527
|
+
/v1/treasury/{treasury_id}/proposals/{proposal_id}/sign:
|
|
3528
|
+
post:
|
|
3529
|
+
tags: [Treasury Proposals]
|
|
3530
|
+
summary: Sign a proposal (approve or reject)
|
|
3531
|
+
description: |
|
|
3532
|
+
Submit an EIP-712 signature for a pending proposal. When approve signatures
|
|
3533
|
+
reach the Safe threshold, auto-execute fires: signatures are collected in
|
|
3534
|
+
address-sorted order, `execTransaction` calldata is built, and the transaction
|
|
3535
|
+
is broadcast via RPC.
|
|
3536
|
+
operationId: signTreasuryProposal
|
|
3537
|
+
security:
|
|
3538
|
+
- BearerAuth: []
|
|
3539
|
+
parameters:
|
|
3540
|
+
- name: treasury_id
|
|
3541
|
+
in: path
|
|
3542
|
+
required: true
|
|
3543
|
+
schema:
|
|
3544
|
+
type: string
|
|
3545
|
+
format: uuid
|
|
3546
|
+
- name: proposal_id
|
|
3547
|
+
in: path
|
|
3548
|
+
required: true
|
|
3549
|
+
schema:
|
|
3550
|
+
type: string
|
|
3551
|
+
format: uuid
|
|
3552
|
+
requestBody:
|
|
3553
|
+
required: true
|
|
3554
|
+
content:
|
|
3555
|
+
application/json:
|
|
3556
|
+
schema:
|
|
3557
|
+
$ref: "#/components/schemas/SignTreasuryProposalRequest"
|
|
3558
|
+
responses:
|
|
3559
|
+
"200":
|
|
3560
|
+
description: Signature recorded (may include executed_tx_hash if auto-executed)
|
|
3561
|
+
content:
|
|
3562
|
+
application/json:
|
|
3563
|
+
schema:
|
|
3564
|
+
$ref: "#/components/schemas/TreasuryProposalResponse"
|
|
3565
|
+
"400":
|
|
3566
|
+
$ref: "#/components/responses/BadRequest"
|
|
3567
|
+
"401":
|
|
3568
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3569
|
+
"403":
|
|
3570
|
+
$ref: "#/components/responses/Forbidden"
|
|
3571
|
+
"404":
|
|
3572
|
+
$ref: "#/components/responses/NotFound"
|
|
3573
|
+
|
|
3574
|
+
/v1/treasury/{treasury_id}/proposals/{proposal_id}/execute:
|
|
3575
|
+
post:
|
|
3576
|
+
tags: [Treasury Proposals]
|
|
3577
|
+
summary: Force-execute a proposal if threshold is met (user-only)
|
|
3578
|
+
operationId: executeTreasuryProposal
|
|
3579
|
+
security:
|
|
3580
|
+
- BearerAuth: []
|
|
3581
|
+
parameters:
|
|
3582
|
+
- name: treasury_id
|
|
3583
|
+
in: path
|
|
3584
|
+
required: true
|
|
3585
|
+
schema:
|
|
3586
|
+
type: string
|
|
3587
|
+
format: uuid
|
|
3588
|
+
- name: proposal_id
|
|
3589
|
+
in: path
|
|
3590
|
+
required: true
|
|
3591
|
+
schema:
|
|
3592
|
+
type: string
|
|
3593
|
+
format: uuid
|
|
3594
|
+
responses:
|
|
3595
|
+
"200":
|
|
3596
|
+
description: Proposal executed
|
|
3597
|
+
content:
|
|
3598
|
+
application/json:
|
|
3599
|
+
schema:
|
|
3600
|
+
$ref: "#/components/schemas/TreasuryProposalResponse"
|
|
3601
|
+
"401":
|
|
3602
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3603
|
+
"403":
|
|
3604
|
+
$ref: "#/components/responses/Forbidden"
|
|
3605
|
+
"404":
|
|
3606
|
+
$ref: "#/components/responses/NotFound"
|
|
3607
|
+
|
|
3359
3608
|
# ---------------------------------------------------------------------------
|
|
3360
3609
|
# Treasury Wallets (multi-chain key generation for human users)
|
|
3361
3610
|
# ---------------------------------------------------------------------------
|
|
@@ -3509,24 +3758,276 @@ paths:
|
|
|
3509
3758
|
security:
|
|
3510
3759
|
- BearerAuth: []
|
|
3511
3760
|
parameters:
|
|
3512
|
-
- name: chain
|
|
3761
|
+
- name: chain
|
|
3762
|
+
in: path
|
|
3763
|
+
required: true
|
|
3764
|
+
schema:
|
|
3765
|
+
type: string
|
|
3766
|
+
responses:
|
|
3767
|
+
"200":
|
|
3768
|
+
description: Wallet rotated
|
|
3769
|
+
content:
|
|
3770
|
+
application/json:
|
|
3771
|
+
schema:
|
|
3772
|
+
$ref: "#/components/schemas/TreasuryWalletResponse"
|
|
3773
|
+
"400":
|
|
3774
|
+
$ref: "#/components/responses/BadRequest"
|
|
3775
|
+
"401":
|
|
3776
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3777
|
+
"403":
|
|
3778
|
+
$ref: "#/components/responses/Forbidden"
|
|
3779
|
+
"404":
|
|
3780
|
+
$ref: "#/components/responses/NotFound"
|
|
3781
|
+
|
|
3782
|
+
/v1/treasury/wallets/{chain}/balance:
|
|
3783
|
+
get:
|
|
3784
|
+
tags: [Treasury Wallets]
|
|
3785
|
+
summary: Get wallet balance
|
|
3786
|
+
description: |
|
|
3787
|
+
Returns the native and token balances for the user's active wallet
|
|
3788
|
+
on the specified chain.
|
|
3789
|
+
operationId: getTreasuryWalletBalance
|
|
3790
|
+
security:
|
|
3791
|
+
- BearerAuth: []
|
|
3792
|
+
parameters:
|
|
3793
|
+
- name: chain
|
|
3794
|
+
in: path
|
|
3795
|
+
required: true
|
|
3796
|
+
schema:
|
|
3797
|
+
type: string
|
|
3798
|
+
- name: tokens
|
|
3799
|
+
in: query
|
|
3800
|
+
required: false
|
|
3801
|
+
description: Optional list of ERC-20 contract addresses to query balances for
|
|
3802
|
+
schema:
|
|
3803
|
+
type: array
|
|
3804
|
+
items:
|
|
3805
|
+
type: string
|
|
3806
|
+
responses:
|
|
3807
|
+
"200":
|
|
3808
|
+
description: Wallet balance
|
|
3809
|
+
content:
|
|
3810
|
+
application/json:
|
|
3811
|
+
schema:
|
|
3812
|
+
$ref: "#/components/schemas/TreasuryWalletBalanceResponse"
|
|
3813
|
+
"401":
|
|
3814
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3815
|
+
"403":
|
|
3816
|
+
$ref: "#/components/responses/Forbidden"
|
|
3817
|
+
"404":
|
|
3818
|
+
$ref: "#/components/responses/NotFound"
|
|
3819
|
+
|
|
3820
|
+
/v1/treasury/wallets/{chain}/send:
|
|
3821
|
+
post:
|
|
3822
|
+
tags: [Treasury Wallets]
|
|
3823
|
+
summary: Send from treasury wallet
|
|
3824
|
+
description: |
|
|
3825
|
+
Signs and broadcasts a transaction from the user's active wallet on
|
|
3826
|
+
the specified chain. Requires re-authentication via `X-Auth-Confirm`
|
|
3827
|
+
header (account password). Human users only.
|
|
3828
|
+
operationId: sendFromTreasuryWallet
|
|
3829
|
+
security:
|
|
3830
|
+
- BearerAuth: []
|
|
3831
|
+
parameters:
|
|
3832
|
+
- name: chain
|
|
3833
|
+
in: path
|
|
3834
|
+
required: true
|
|
3835
|
+
schema:
|
|
3836
|
+
type: string
|
|
3837
|
+
- name: X-Auth-Confirm
|
|
3838
|
+
in: header
|
|
3839
|
+
required: true
|
|
3840
|
+
description: Account password for re-authentication
|
|
3841
|
+
schema:
|
|
3842
|
+
type: string
|
|
3843
|
+
format: password
|
|
3844
|
+
requestBody:
|
|
3845
|
+
required: true
|
|
3846
|
+
content:
|
|
3847
|
+
application/json:
|
|
3848
|
+
schema:
|
|
3849
|
+
$ref: "#/components/schemas/TreasuryWalletSendRequest"
|
|
3850
|
+
responses:
|
|
3851
|
+
"200":
|
|
3852
|
+
description: Transaction sent
|
|
3853
|
+
content:
|
|
3854
|
+
application/json:
|
|
3855
|
+
schema:
|
|
3856
|
+
$ref: "#/components/schemas/TreasuryWalletSendResponse"
|
|
3857
|
+
"400":
|
|
3858
|
+
$ref: "#/components/responses/BadRequest"
|
|
3859
|
+
"401":
|
|
3860
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3861
|
+
"403":
|
|
3862
|
+
$ref: "#/components/responses/Forbidden"
|
|
3863
|
+
"404":
|
|
3864
|
+
$ref: "#/components/responses/NotFound"
|
|
3865
|
+
|
|
3866
|
+
/v1/treasury/wallets/{chain}/swap:
|
|
3867
|
+
post:
|
|
3868
|
+
tags: [Treasury Wallets]
|
|
3869
|
+
summary: Swap tokens via DEX aggregator
|
|
3870
|
+
description: |
|
|
3871
|
+
Executes a token swap through a DEX aggregator from the user's active
|
|
3872
|
+
wallet on the specified chain. Requires re-authentication via
|
|
3873
|
+
`X-Auth-Confirm` header (account password). Human users only.
|
|
3874
|
+
operationId: swapFromTreasuryWallet
|
|
3875
|
+
security:
|
|
3876
|
+
- BearerAuth: []
|
|
3877
|
+
parameters:
|
|
3878
|
+
- name: chain
|
|
3879
|
+
in: path
|
|
3880
|
+
required: true
|
|
3881
|
+
schema:
|
|
3882
|
+
type: string
|
|
3883
|
+
- name: X-Auth-Confirm
|
|
3884
|
+
in: header
|
|
3885
|
+
required: true
|
|
3886
|
+
description: Account password for re-authentication
|
|
3887
|
+
schema:
|
|
3888
|
+
type: string
|
|
3889
|
+
format: password
|
|
3890
|
+
requestBody:
|
|
3891
|
+
required: true
|
|
3892
|
+
content:
|
|
3893
|
+
application/json:
|
|
3894
|
+
schema:
|
|
3895
|
+
$ref: "#/components/schemas/TreasuryWalletSwapRequest"
|
|
3896
|
+
responses:
|
|
3897
|
+
"200":
|
|
3898
|
+
description: Swap executed
|
|
3899
|
+
content:
|
|
3900
|
+
application/json:
|
|
3901
|
+
schema:
|
|
3902
|
+
$ref: "#/components/schemas/TreasuryWalletSwapResponse"
|
|
3903
|
+
"400":
|
|
3904
|
+
$ref: "#/components/responses/BadRequest"
|
|
3905
|
+
"401":
|
|
3906
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3907
|
+
"403":
|
|
3908
|
+
$ref: "#/components/responses/Forbidden"
|
|
3909
|
+
"404":
|
|
3910
|
+
$ref: "#/components/responses/NotFound"
|
|
3911
|
+
|
|
3912
|
+
# ---------------------------------------------------------------------------
|
|
3913
|
+
# Webhooks
|
|
3914
|
+
# ---------------------------------------------------------------------------
|
|
3915
|
+
|
|
3916
|
+
/v1/webhooks:
|
|
3917
|
+
post:
|
|
3918
|
+
tags: [Webhooks]
|
|
3919
|
+
summary: Register a webhook
|
|
3920
|
+
operationId: createWebhook
|
|
3921
|
+
security:
|
|
3922
|
+
- BearerAuth: []
|
|
3923
|
+
requestBody:
|
|
3924
|
+
required: true
|
|
3925
|
+
content:
|
|
3926
|
+
application/json:
|
|
3927
|
+
schema:
|
|
3928
|
+
$ref: "#/components/schemas/CreateWebhookRequest"
|
|
3929
|
+
responses:
|
|
3930
|
+
"201":
|
|
3931
|
+
description: Webhook registered
|
|
3932
|
+
content:
|
|
3933
|
+
application/json:
|
|
3934
|
+
schema:
|
|
3935
|
+
$ref: "#/components/schemas/WebhookCreatedResponse"
|
|
3936
|
+
"400":
|
|
3937
|
+
$ref: "#/components/responses/BadRequest"
|
|
3938
|
+
"401":
|
|
3939
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3940
|
+
get:
|
|
3941
|
+
tags: [Webhooks]
|
|
3942
|
+
summary: List webhooks
|
|
3943
|
+
operationId: listWebhooks
|
|
3944
|
+
security:
|
|
3945
|
+
- BearerAuth: []
|
|
3946
|
+
responses:
|
|
3947
|
+
"200":
|
|
3948
|
+
description: Webhook list
|
|
3949
|
+
content:
|
|
3950
|
+
application/json:
|
|
3951
|
+
schema:
|
|
3952
|
+
$ref: "#/components/schemas/WebhookListResponse"
|
|
3953
|
+
"401":
|
|
3954
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3955
|
+
|
|
3956
|
+
/v1/webhooks/{id}:
|
|
3957
|
+
get:
|
|
3958
|
+
tags: [Webhooks]
|
|
3959
|
+
summary: Get webhook
|
|
3960
|
+
operationId: getWebhook
|
|
3961
|
+
security:
|
|
3962
|
+
- BearerAuth: []
|
|
3963
|
+
parameters:
|
|
3964
|
+
- name: id
|
|
3965
|
+
in: path
|
|
3966
|
+
required: true
|
|
3967
|
+
schema:
|
|
3968
|
+
type: string
|
|
3969
|
+
format: uuid
|
|
3970
|
+
responses:
|
|
3971
|
+
"200":
|
|
3972
|
+
description: Webhook details
|
|
3973
|
+
content:
|
|
3974
|
+
application/json:
|
|
3975
|
+
schema:
|
|
3976
|
+
$ref: "#/components/schemas/WebhookResponse"
|
|
3977
|
+
"401":
|
|
3978
|
+
$ref: "#/components/responses/Unauthorized"
|
|
3979
|
+
"404":
|
|
3980
|
+
$ref: "#/components/responses/NotFound"
|
|
3981
|
+
patch:
|
|
3982
|
+
tags: [Webhooks]
|
|
3983
|
+
summary: Update webhook
|
|
3984
|
+
operationId: updateWebhook
|
|
3985
|
+
security:
|
|
3986
|
+
- BearerAuth: []
|
|
3987
|
+
parameters:
|
|
3988
|
+
- name: id
|
|
3989
|
+
in: path
|
|
3990
|
+
required: true
|
|
3991
|
+
schema:
|
|
3992
|
+
type: string
|
|
3993
|
+
format: uuid
|
|
3994
|
+
requestBody:
|
|
3995
|
+
required: true
|
|
3996
|
+
content:
|
|
3997
|
+
application/json:
|
|
3998
|
+
schema:
|
|
3999
|
+
$ref: "#/components/schemas/UpdateWebhookRequest"
|
|
4000
|
+
responses:
|
|
4001
|
+
"200":
|
|
4002
|
+
description: Webhook updated
|
|
4003
|
+
content:
|
|
4004
|
+
application/json:
|
|
4005
|
+
schema:
|
|
4006
|
+
$ref: "#/components/schemas/WebhookResponse"
|
|
4007
|
+
"400":
|
|
4008
|
+
$ref: "#/components/responses/BadRequest"
|
|
4009
|
+
"401":
|
|
4010
|
+
$ref: "#/components/responses/Unauthorized"
|
|
4011
|
+
"404":
|
|
4012
|
+
$ref: "#/components/responses/NotFound"
|
|
4013
|
+
delete:
|
|
4014
|
+
tags: [Webhooks]
|
|
4015
|
+
summary: Delete webhook
|
|
4016
|
+
operationId: deleteWebhook
|
|
4017
|
+
security:
|
|
4018
|
+
- BearerAuth: []
|
|
4019
|
+
parameters:
|
|
4020
|
+
- name: id
|
|
3513
4021
|
in: path
|
|
3514
4022
|
required: true
|
|
3515
4023
|
schema:
|
|
3516
4024
|
type: string
|
|
4025
|
+
format: uuid
|
|
3517
4026
|
responses:
|
|
3518
|
-
"
|
|
3519
|
-
description:
|
|
3520
|
-
content:
|
|
3521
|
-
application/json:
|
|
3522
|
-
schema:
|
|
3523
|
-
$ref: "#/components/schemas/TreasuryWalletResponse"
|
|
3524
|
-
"400":
|
|
3525
|
-
$ref: "#/components/responses/BadRequest"
|
|
4027
|
+
"204":
|
|
4028
|
+
description: Webhook deleted
|
|
3526
4029
|
"401":
|
|
3527
4030
|
$ref: "#/components/responses/Unauthorized"
|
|
3528
|
-
"403":
|
|
3529
|
-
$ref: "#/components/responses/Forbidden"
|
|
3530
4031
|
"404":
|
|
3531
4032
|
$ref: "#/components/responses/NotFound"
|
|
3532
4033
|
|
|
@@ -5626,6 +6127,10 @@ components:
|
|
|
5626
6127
|
format: date-time
|
|
5627
6128
|
nullable: true
|
|
5628
6129
|
description: Optional expiration time for the agent's API key.
|
|
6130
|
+
evm_address:
|
|
6131
|
+
type: string
|
|
6132
|
+
nullable: true
|
|
6133
|
+
description: Agent's Ethereum EOA address (used as Safe signer for smart accounts and Intents API).
|
|
5629
6134
|
created_at:
|
|
5630
6135
|
type: string
|
|
5631
6136
|
format: date-time
|
|
@@ -6156,6 +6661,10 @@ components:
|
|
|
6156
6661
|
description: Transaction mode
|
|
6157
6662
|
enum: [eoa, smart_account]
|
|
6158
6663
|
default: eoa
|
|
6664
|
+
gasless:
|
|
6665
|
+
type: boolean
|
|
6666
|
+
description: Whether to submit as a gasless (sponsored) transaction
|
|
6667
|
+
default: false
|
|
6159
6668
|
|
|
6160
6669
|
SignTransactionRequest:
|
|
6161
6670
|
type: object
|
|
@@ -7344,6 +7853,135 @@ components:
|
|
|
7344
7853
|
type: string
|
|
7345
7854
|
format: date-time
|
|
7346
7855
|
|
|
7856
|
+
# --- Treasury Proposals ---
|
|
7857
|
+
|
|
7858
|
+
CreateTreasuryProposalRequest:
|
|
7859
|
+
type: object
|
|
7860
|
+
required: [to_address, value_wei, chain]
|
|
7861
|
+
properties:
|
|
7862
|
+
to_address:
|
|
7863
|
+
type: string
|
|
7864
|
+
description: Destination address (0x-prefixed)
|
|
7865
|
+
value_wei:
|
|
7866
|
+
type: string
|
|
7867
|
+
description: Transaction value in wei
|
|
7868
|
+
chain:
|
|
7869
|
+
type: string
|
|
7870
|
+
description: Chain name (e.g. ethereum, base)
|
|
7871
|
+
chain_id:
|
|
7872
|
+
type: integer
|
|
7873
|
+
description: Numeric chain ID (alternative to chain name)
|
|
7874
|
+
data_hex:
|
|
7875
|
+
type: string
|
|
7876
|
+
description: Hex-encoded calldata (optional)
|
|
7877
|
+
operation:
|
|
7878
|
+
type: integer
|
|
7879
|
+
description: Safe operation type (0 = Call, 1 = DelegateCall)
|
|
7880
|
+
default: 0
|
|
7881
|
+
|
|
7882
|
+
SignTreasuryProposalRequest:
|
|
7883
|
+
type: object
|
|
7884
|
+
required: [decision]
|
|
7885
|
+
properties:
|
|
7886
|
+
decision:
|
|
7887
|
+
type: string
|
|
7888
|
+
enum: [approve, reject]
|
|
7889
|
+
description: Whether to approve or reject the proposal
|
|
7890
|
+
signature:
|
|
7891
|
+
type: string
|
|
7892
|
+
description: EIP-712 signature (hex). If omitted, server signs with caller's key.
|
|
7893
|
+
|
|
7894
|
+
TreasuryProposalResponse:
|
|
7895
|
+
type: object
|
|
7896
|
+
properties:
|
|
7897
|
+
id:
|
|
7898
|
+
type: string
|
|
7899
|
+
format: uuid
|
|
7900
|
+
treasury_id:
|
|
7901
|
+
type: string
|
|
7902
|
+
format: uuid
|
|
7903
|
+
proposed_by:
|
|
7904
|
+
type: string
|
|
7905
|
+
format: uuid
|
|
7906
|
+
proposed_by_type:
|
|
7907
|
+
type: string
|
|
7908
|
+
enum: [user, agent]
|
|
7909
|
+
chain:
|
|
7910
|
+
type: string
|
|
7911
|
+
chain_id:
|
|
7912
|
+
type: integer
|
|
7913
|
+
safe_address:
|
|
7914
|
+
type: string
|
|
7915
|
+
to_address:
|
|
7916
|
+
type: string
|
|
7917
|
+
value_wei:
|
|
7918
|
+
type: string
|
|
7919
|
+
data_hex:
|
|
7920
|
+
type: string
|
|
7921
|
+
nullable: true
|
|
7922
|
+
operation:
|
|
7923
|
+
type: integer
|
|
7924
|
+
safe_tx_hash:
|
|
7925
|
+
type: string
|
|
7926
|
+
nullable: true
|
|
7927
|
+
nonce:
|
|
7928
|
+
type: integer
|
|
7929
|
+
nullable: true
|
|
7930
|
+
status:
|
|
7931
|
+
type: string
|
|
7932
|
+
enum: [pending, approved, executing, executed, rejected, expired]
|
|
7933
|
+
threshold:
|
|
7934
|
+
type: integer
|
|
7935
|
+
expires_at:
|
|
7936
|
+
type: string
|
|
7937
|
+
format: date-time
|
|
7938
|
+
nullable: true
|
|
7939
|
+
executed_tx_hash:
|
|
7940
|
+
type: string
|
|
7941
|
+
nullable: true
|
|
7942
|
+
executed_at:
|
|
7943
|
+
type: string
|
|
7944
|
+
format: date-time
|
|
7945
|
+
nullable: true
|
|
7946
|
+
signatures:
|
|
7947
|
+
type: array
|
|
7948
|
+
items:
|
|
7949
|
+
$ref: "#/components/schemas/ProposalSignatureResponse"
|
|
7950
|
+
created_at:
|
|
7951
|
+
type: string
|
|
7952
|
+
format: date-time
|
|
7953
|
+
|
|
7954
|
+
ProposalSignatureResponse:
|
|
7955
|
+
type: object
|
|
7956
|
+
properties:
|
|
7957
|
+
id:
|
|
7958
|
+
type: string
|
|
7959
|
+
format: uuid
|
|
7960
|
+
signer_id:
|
|
7961
|
+
type: string
|
|
7962
|
+
format: uuid
|
|
7963
|
+
signer_type:
|
|
7964
|
+
type: string
|
|
7965
|
+
enum: [user, agent]
|
|
7966
|
+
signer_address:
|
|
7967
|
+
type: string
|
|
7968
|
+
signature:
|
|
7969
|
+
type: string
|
|
7970
|
+
decision:
|
|
7971
|
+
type: string
|
|
7972
|
+
enum: [approve, reject]
|
|
7973
|
+
created_at:
|
|
7974
|
+
type: string
|
|
7975
|
+
format: date-time
|
|
7976
|
+
|
|
7977
|
+
TreasuryProposalListResponse:
|
|
7978
|
+
type: object
|
|
7979
|
+
properties:
|
|
7980
|
+
proposals:
|
|
7981
|
+
type: array
|
|
7982
|
+
items:
|
|
7983
|
+
$ref: "#/components/schemas/TreasuryProposalResponse"
|
|
7984
|
+
|
|
7347
7985
|
# --- Treasury Wallets ---
|
|
7348
7986
|
|
|
7349
7987
|
GenerateTreasuryWalletsRequest:
|
|
@@ -7395,6 +8033,202 @@ components:
|
|
|
7395
8033
|
type: string
|
|
7396
8034
|
description: Raw private key in hex encoding. Handle with extreme care.
|
|
7397
8035
|
|
|
8036
|
+
TreasuryWalletBalanceResponse:
|
|
8037
|
+
type: object
|
|
8038
|
+
required: [chain, address, native]
|
|
8039
|
+
properties:
|
|
8040
|
+
chain:
|
|
8041
|
+
type: string
|
|
8042
|
+
address:
|
|
8043
|
+
type: string
|
|
8044
|
+
native:
|
|
8045
|
+
type: object
|
|
8046
|
+
required: [symbol, balance_wei, balance_display]
|
|
8047
|
+
properties:
|
|
8048
|
+
symbol:
|
|
8049
|
+
type: string
|
|
8050
|
+
balance_wei:
|
|
8051
|
+
type: string
|
|
8052
|
+
balance_display:
|
|
8053
|
+
type: string
|
|
8054
|
+
tokens:
|
|
8055
|
+
type: array
|
|
8056
|
+
items:
|
|
8057
|
+
type: object
|
|
8058
|
+
required: [contract_address, balance_raw]
|
|
8059
|
+
properties:
|
|
8060
|
+
contract_address:
|
|
8061
|
+
type: string
|
|
8062
|
+
balance_raw:
|
|
8063
|
+
type: string
|
|
8064
|
+
|
|
8065
|
+
TreasuryWalletSendRequest:
|
|
8066
|
+
type: object
|
|
8067
|
+
required: [to, value_wei]
|
|
8068
|
+
properties:
|
|
8069
|
+
to:
|
|
8070
|
+
type: string
|
|
8071
|
+
description: Destination address (0x-prefixed)
|
|
8072
|
+
value_wei:
|
|
8073
|
+
type: string
|
|
8074
|
+
description: Value in wei
|
|
8075
|
+
data:
|
|
8076
|
+
type: string
|
|
8077
|
+
description: Hex-encoded calldata (optional)
|
|
8078
|
+
gas_limit:
|
|
8079
|
+
type: integer
|
|
8080
|
+
description: Gas limit override
|
|
8081
|
+
|
|
8082
|
+
TreasuryWalletSendResponse:
|
|
8083
|
+
type: object
|
|
8084
|
+
required: [tx_hash, from, to, value_wei, chain, status]
|
|
8085
|
+
properties:
|
|
8086
|
+
tx_hash:
|
|
8087
|
+
type: string
|
|
8088
|
+
from:
|
|
8089
|
+
type: string
|
|
8090
|
+
to:
|
|
8091
|
+
type: string
|
|
8092
|
+
value_wei:
|
|
8093
|
+
type: string
|
|
8094
|
+
chain:
|
|
8095
|
+
type: string
|
|
8096
|
+
status:
|
|
8097
|
+
type: string
|
|
8098
|
+
|
|
8099
|
+
TreasuryWalletSwapRequest:
|
|
8100
|
+
type: object
|
|
8101
|
+
required: [sell_token, buy_token, sell_amount]
|
|
8102
|
+
properties:
|
|
8103
|
+
sell_token:
|
|
8104
|
+
type: string
|
|
8105
|
+
description: Address of the token to sell (or "native" for ETH)
|
|
8106
|
+
buy_token:
|
|
8107
|
+
type: string
|
|
8108
|
+
description: Address of the token to buy (or "native" for ETH)
|
|
8109
|
+
sell_amount:
|
|
8110
|
+
type: string
|
|
8111
|
+
description: Amount to sell in token's smallest unit
|
|
8112
|
+
|
|
8113
|
+
TreasuryWalletSwapResponse:
|
|
8114
|
+
type: object
|
|
8115
|
+
required: [tx_hash, sell_token, buy_token, sell_amount, buy_amount, chain, status]
|
|
8116
|
+
properties:
|
|
8117
|
+
tx_hash:
|
|
8118
|
+
type: string
|
|
8119
|
+
sell_token:
|
|
8120
|
+
type: string
|
|
8121
|
+
buy_token:
|
|
8122
|
+
type: string
|
|
8123
|
+
sell_amount:
|
|
8124
|
+
type: string
|
|
8125
|
+
buy_amount:
|
|
8126
|
+
type: string
|
|
8127
|
+
chain:
|
|
8128
|
+
type: string
|
|
8129
|
+
status:
|
|
8130
|
+
type: string
|
|
8131
|
+
|
|
8132
|
+
# --- Webhooks ---
|
|
8133
|
+
|
|
8134
|
+
CreateWebhookRequest:
|
|
8135
|
+
type: object
|
|
8136
|
+
required: [url, events]
|
|
8137
|
+
properties:
|
|
8138
|
+
url:
|
|
8139
|
+
type: string
|
|
8140
|
+
format: uri
|
|
8141
|
+
description: HTTPS URL to deliver webhook events to
|
|
8142
|
+
events:
|
|
8143
|
+
type: array
|
|
8144
|
+
items:
|
|
8145
|
+
type: string
|
|
8146
|
+
description: Event types to subscribe to
|
|
8147
|
+
description:
|
|
8148
|
+
type: string
|
|
8149
|
+
|
|
8150
|
+
UpdateWebhookRequest:
|
|
8151
|
+
type: object
|
|
8152
|
+
properties:
|
|
8153
|
+
url:
|
|
8154
|
+
type: string
|
|
8155
|
+
format: uri
|
|
8156
|
+
events:
|
|
8157
|
+
type: array
|
|
8158
|
+
items:
|
|
8159
|
+
type: string
|
|
8160
|
+
is_active:
|
|
8161
|
+
type: boolean
|
|
8162
|
+
description:
|
|
8163
|
+
type: string
|
|
8164
|
+
|
|
8165
|
+
WebhookCreatedResponse:
|
|
8166
|
+
type: object
|
|
8167
|
+
required: [id, url, events, secret, created_at]
|
|
8168
|
+
properties:
|
|
8169
|
+
id:
|
|
8170
|
+
type: string
|
|
8171
|
+
format: uuid
|
|
8172
|
+
url:
|
|
8173
|
+
type: string
|
|
8174
|
+
format: uri
|
|
8175
|
+
events:
|
|
8176
|
+
type: array
|
|
8177
|
+
items:
|
|
8178
|
+
type: string
|
|
8179
|
+
secret:
|
|
8180
|
+
type: string
|
|
8181
|
+
description: HMAC signing secret for verifying payloads (shown only once)
|
|
8182
|
+
created_at:
|
|
8183
|
+
type: string
|
|
8184
|
+
format: date-time
|
|
8185
|
+
|
|
8186
|
+
WebhookResponse:
|
|
8187
|
+
type: object
|
|
8188
|
+
required: [id, url, events, is_active, created_at]
|
|
8189
|
+
properties:
|
|
8190
|
+
id:
|
|
8191
|
+
type: string
|
|
8192
|
+
format: uuid
|
|
8193
|
+
url:
|
|
8194
|
+
type: string
|
|
8195
|
+
format: uri
|
|
8196
|
+
events:
|
|
8197
|
+
type: array
|
|
8198
|
+
items:
|
|
8199
|
+
type: string
|
|
8200
|
+
is_active:
|
|
8201
|
+
type: boolean
|
|
8202
|
+
description:
|
|
8203
|
+
type: string
|
|
8204
|
+
created_at:
|
|
8205
|
+
type: string
|
|
8206
|
+
format: date-time
|
|
8207
|
+
|
|
8208
|
+
WebhookListResponse:
|
|
8209
|
+
type: object
|
|
8210
|
+
required: [webhooks]
|
|
8211
|
+
properties:
|
|
8212
|
+
webhooks:
|
|
8213
|
+
type: array
|
|
8214
|
+
items:
|
|
8215
|
+
$ref: "#/components/schemas/WebhookResponse"
|
|
8216
|
+
|
|
8217
|
+
# --- Signing Key Balance ---
|
|
8218
|
+
|
|
8219
|
+
SigningKeyBalanceResponse:
|
|
8220
|
+
type: object
|
|
8221
|
+
required: [chain, address, balance_wei, balance_display]
|
|
8222
|
+
properties:
|
|
8223
|
+
chain:
|
|
8224
|
+
type: string
|
|
8225
|
+
address:
|
|
8226
|
+
type: string
|
|
8227
|
+
balance_wei:
|
|
8228
|
+
type: string
|
|
8229
|
+
balance_display:
|
|
8230
|
+
type: string
|
|
8231
|
+
|
|
7398
8232
|
# --- x402 ---
|
|
7399
8233
|
|
|
7400
8234
|
PaymentRequirement:
|