@1claw/openapi-spec 0.22.2 → 0.23.1
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 +2 -1
- package/openapi.json +1737 -674
- package/openapi.yaml +687 -1
- package/package.json +1 -1
package/openapi.yaml
CHANGED
|
@@ -62,6 +62,8 @@ tags:
|
|
|
62
62
|
description: Platform administration
|
|
63
63
|
- name: Health
|
|
64
64
|
description: Service health checks
|
|
65
|
+
- name: Platform
|
|
66
|
+
description: Platform API for developers building on 1Claw (plt_ keys, user provisioning, bootstrap templates)
|
|
65
67
|
|
|
66
68
|
# =============================================================================
|
|
67
69
|
# PATHS
|
|
@@ -1843,6 +1845,58 @@ paths:
|
|
|
1843
1845
|
"404":
|
|
1844
1846
|
$ref: "#/components/responses/NotFound"
|
|
1845
1847
|
|
|
1848
|
+
/v1/agents/{agent_id}/signing-keys/{chain}/export:
|
|
1849
|
+
post:
|
|
1850
|
+
tags: [Signing Keys]
|
|
1851
|
+
summary: Export a signing key (private key included)
|
|
1852
|
+
description: |
|
|
1853
|
+
Export the private key for an agent's signing key. Requires re-authentication
|
|
1854
|
+
via the X-Auth-Confirm header containing the user's account password.
|
|
1855
|
+
Human users only — agents cannot export keys.
|
|
1856
|
+
operationId: exportSigningKey
|
|
1857
|
+
parameters:
|
|
1858
|
+
- $ref: "#/components/parameters/AgentId"
|
|
1859
|
+
- name: chain
|
|
1860
|
+
in: path
|
|
1861
|
+
required: true
|
|
1862
|
+
schema:
|
|
1863
|
+
type: string
|
|
1864
|
+
- name: X-Auth-Confirm
|
|
1865
|
+
in: header
|
|
1866
|
+
required: true
|
|
1867
|
+
description: Account password for re-authentication
|
|
1868
|
+
schema:
|
|
1869
|
+
type: string
|
|
1870
|
+
format: password
|
|
1871
|
+
responses:
|
|
1872
|
+
"200":
|
|
1873
|
+
description: Signing key exported successfully
|
|
1874
|
+
content:
|
|
1875
|
+
application/json:
|
|
1876
|
+
schema:
|
|
1877
|
+
type: object
|
|
1878
|
+
required: [chain, curve, public_key, private_key, key_version, agent_id]
|
|
1879
|
+
properties:
|
|
1880
|
+
chain:
|
|
1881
|
+
type: string
|
|
1882
|
+
curve:
|
|
1883
|
+
type: string
|
|
1884
|
+
public_key:
|
|
1885
|
+
type: string
|
|
1886
|
+
address:
|
|
1887
|
+
type: string
|
|
1888
|
+
private_key:
|
|
1889
|
+
type: string
|
|
1890
|
+
key_version:
|
|
1891
|
+
type: integer
|
|
1892
|
+
agent_id:
|
|
1893
|
+
type: string
|
|
1894
|
+
format: uuid
|
|
1895
|
+
"403":
|
|
1896
|
+
$ref: "#/components/responses/Forbidden"
|
|
1897
|
+
"404":
|
|
1898
|
+
$ref: "#/components/responses/NotFound"
|
|
1899
|
+
|
|
1846
1900
|
# ---------------------------------------------------------------------------
|
|
1847
1901
|
# Unified Signing Intent
|
|
1848
1902
|
# ---------------------------------------------------------------------------
|
|
@@ -2929,7 +2983,8 @@ paths:
|
|
|
2929
2983
|
summary: Export the private key for a treasury wallet
|
|
2930
2984
|
description: |
|
|
2931
2985
|
Returns the raw private key hex for the user's active wallet on
|
|
2932
|
-
the given chain.
|
|
2986
|
+
the given chain. Requires re-authentication via the `X-Auth-Confirm`
|
|
2987
|
+
header (account password). Audit-logged as `treasury_wallet.export`.
|
|
2933
2988
|
Human users only.
|
|
2934
2989
|
operationId: exportTreasuryWallet
|
|
2935
2990
|
security:
|
|
@@ -2940,6 +2995,13 @@ paths:
|
|
|
2940
2995
|
required: true
|
|
2941
2996
|
schema:
|
|
2942
2997
|
type: string
|
|
2998
|
+
- name: X-Auth-Confirm
|
|
2999
|
+
in: header
|
|
3000
|
+
required: true
|
|
3001
|
+
description: Account password for re-authentication
|
|
3002
|
+
schema:
|
|
3003
|
+
type: string
|
|
3004
|
+
format: password
|
|
2943
3005
|
responses:
|
|
2944
3006
|
"200":
|
|
2945
3007
|
description: Private key exported
|
|
@@ -3356,6 +3418,318 @@ paths:
|
|
|
3356
3418
|
"401":
|
|
3357
3419
|
description: Unauthorized
|
|
3358
3420
|
|
|
3421
|
+
# --- Platform API ---
|
|
3422
|
+
|
|
3423
|
+
/v1/platform/apps:
|
|
3424
|
+
post:
|
|
3425
|
+
tags: [Platform]
|
|
3426
|
+
summary: Register a platform app
|
|
3427
|
+
description: Register a new platform app for building on top of 1Claw. Returns an API key (plt_ prefix) that must be saved immediately.
|
|
3428
|
+
security:
|
|
3429
|
+
- BearerAuth: []
|
|
3430
|
+
requestBody:
|
|
3431
|
+
required: true
|
|
3432
|
+
content:
|
|
3433
|
+
application/json:
|
|
3434
|
+
schema:
|
|
3435
|
+
$ref: "#/components/schemas/CreatePlatformAppRequest"
|
|
3436
|
+
responses:
|
|
3437
|
+
"201":
|
|
3438
|
+
description: Platform app created
|
|
3439
|
+
content:
|
|
3440
|
+
application/json:
|
|
3441
|
+
schema:
|
|
3442
|
+
$ref: "#/components/schemas/PlatformAppCreatedResponse"
|
|
3443
|
+
"400":
|
|
3444
|
+
description: Invalid request
|
|
3445
|
+
"403":
|
|
3446
|
+
description: Only human users can register platform apps
|
|
3447
|
+
get:
|
|
3448
|
+
tags: [Platform]
|
|
3449
|
+
summary: List platform apps
|
|
3450
|
+
description: List all platform apps in the organization.
|
|
3451
|
+
security:
|
|
3452
|
+
- BearerAuth: []
|
|
3453
|
+
responses:
|
|
3454
|
+
"200":
|
|
3455
|
+
description: List of platform apps
|
|
3456
|
+
content:
|
|
3457
|
+
application/json:
|
|
3458
|
+
schema:
|
|
3459
|
+
type: array
|
|
3460
|
+
items:
|
|
3461
|
+
$ref: "#/components/schemas/PlatformAppResponse"
|
|
3462
|
+
|
|
3463
|
+
/v1/platform/apps/{appId}:
|
|
3464
|
+
get:
|
|
3465
|
+
tags: [Platform]
|
|
3466
|
+
summary: Get platform app details
|
|
3467
|
+
security:
|
|
3468
|
+
- BearerAuth: []
|
|
3469
|
+
parameters:
|
|
3470
|
+
- in: path
|
|
3471
|
+
name: appId
|
|
3472
|
+
required: true
|
|
3473
|
+
schema:
|
|
3474
|
+
type: string
|
|
3475
|
+
format: uuid
|
|
3476
|
+
responses:
|
|
3477
|
+
"200":
|
|
3478
|
+
description: Platform app details
|
|
3479
|
+
content:
|
|
3480
|
+
application/json:
|
|
3481
|
+
schema:
|
|
3482
|
+
$ref: "#/components/schemas/PlatformAppResponse"
|
|
3483
|
+
"404":
|
|
3484
|
+
description: Not found
|
|
3485
|
+
patch:
|
|
3486
|
+
tags: [Platform]
|
|
3487
|
+
summary: Update platform app
|
|
3488
|
+
security:
|
|
3489
|
+
- BearerAuth: []
|
|
3490
|
+
parameters:
|
|
3491
|
+
- in: path
|
|
3492
|
+
name: appId
|
|
3493
|
+
required: true
|
|
3494
|
+
schema:
|
|
3495
|
+
type: string
|
|
3496
|
+
format: uuid
|
|
3497
|
+
requestBody:
|
|
3498
|
+
required: true
|
|
3499
|
+
content:
|
|
3500
|
+
application/json:
|
|
3501
|
+
schema:
|
|
3502
|
+
$ref: "#/components/schemas/UpdatePlatformAppRequest"
|
|
3503
|
+
responses:
|
|
3504
|
+
"200":
|
|
3505
|
+
description: Updated platform app
|
|
3506
|
+
content:
|
|
3507
|
+
application/json:
|
|
3508
|
+
schema:
|
|
3509
|
+
$ref: "#/components/schemas/PlatformAppResponse"
|
|
3510
|
+
delete:
|
|
3511
|
+
tags: [Platform]
|
|
3512
|
+
summary: Delete platform app
|
|
3513
|
+
security:
|
|
3514
|
+
- BearerAuth: []
|
|
3515
|
+
parameters:
|
|
3516
|
+
- in: path
|
|
3517
|
+
name: appId
|
|
3518
|
+
required: true
|
|
3519
|
+
schema:
|
|
3520
|
+
type: string
|
|
3521
|
+
format: uuid
|
|
3522
|
+
responses:
|
|
3523
|
+
"204":
|
|
3524
|
+
description: Deleted
|
|
3525
|
+
"403":
|
|
3526
|
+
description: Only human users can delete platform apps
|
|
3527
|
+
|
|
3528
|
+
/v1/platform/apps/{appId}/templates:
|
|
3529
|
+
post:
|
|
3530
|
+
tags: [Platform]
|
|
3531
|
+
summary: Create bootstrap template
|
|
3532
|
+
description: Create a template that defines what vault, agents, and policies to bootstrap for each connected user.
|
|
3533
|
+
security:
|
|
3534
|
+
- BearerAuth: []
|
|
3535
|
+
parameters:
|
|
3536
|
+
- in: path
|
|
3537
|
+
name: appId
|
|
3538
|
+
required: true
|
|
3539
|
+
schema:
|
|
3540
|
+
type: string
|
|
3541
|
+
format: uuid
|
|
3542
|
+
requestBody:
|
|
3543
|
+
required: true
|
|
3544
|
+
content:
|
|
3545
|
+
application/json:
|
|
3546
|
+
schema:
|
|
3547
|
+
$ref: "#/components/schemas/CreateTemplateRequest"
|
|
3548
|
+
responses:
|
|
3549
|
+
"201":
|
|
3550
|
+
description: Template created
|
|
3551
|
+
content:
|
|
3552
|
+
application/json:
|
|
3553
|
+
schema:
|
|
3554
|
+
$ref: "#/components/schemas/PlatformTemplateResponse"
|
|
3555
|
+
get:
|
|
3556
|
+
tags: [Platform]
|
|
3557
|
+
summary: List templates
|
|
3558
|
+
security:
|
|
3559
|
+
- BearerAuth: []
|
|
3560
|
+
parameters:
|
|
3561
|
+
- in: path
|
|
3562
|
+
name: appId
|
|
3563
|
+
required: true
|
|
3564
|
+
schema:
|
|
3565
|
+
type: string
|
|
3566
|
+
format: uuid
|
|
3567
|
+
responses:
|
|
3568
|
+
"200":
|
|
3569
|
+
description: List of templates
|
|
3570
|
+
content:
|
|
3571
|
+
application/json:
|
|
3572
|
+
schema:
|
|
3573
|
+
type: array
|
|
3574
|
+
items:
|
|
3575
|
+
$ref: "#/components/schemas/PlatformTemplateResponse"
|
|
3576
|
+
|
|
3577
|
+
/v1/platform/users/upsert:
|
|
3578
|
+
post:
|
|
3579
|
+
tags: [Platform]
|
|
3580
|
+
summary: Provision or look up a platform user
|
|
3581
|
+
description: Upserts a user using either an OIDC subject_token (verified against the platform app's JWKS) or an email address. Returns the user handle and connection ID.
|
|
3582
|
+
security:
|
|
3583
|
+
- BearerAuth: []
|
|
3584
|
+
requestBody:
|
|
3585
|
+
required: true
|
|
3586
|
+
content:
|
|
3587
|
+
application/json:
|
|
3588
|
+
schema:
|
|
3589
|
+
$ref: "#/components/schemas/UpsertPlatformUserRequest"
|
|
3590
|
+
responses:
|
|
3591
|
+
"200":
|
|
3592
|
+
description: Existing user found
|
|
3593
|
+
content:
|
|
3594
|
+
application/json:
|
|
3595
|
+
schema:
|
|
3596
|
+
$ref: "#/components/schemas/PlatformUserResponse"
|
|
3597
|
+
"201":
|
|
3598
|
+
description: New user created
|
|
3599
|
+
content:
|
|
3600
|
+
application/json:
|
|
3601
|
+
schema:
|
|
3602
|
+
$ref: "#/components/schemas/PlatformUserResponse"
|
|
3603
|
+
|
|
3604
|
+
/v1/platform/apps/{appId}/users:
|
|
3605
|
+
get:
|
|
3606
|
+
tags: [Platform]
|
|
3607
|
+
summary: List connected users
|
|
3608
|
+
description: List all users connected to this platform app.
|
|
3609
|
+
security:
|
|
3610
|
+
- BearerAuth: []
|
|
3611
|
+
parameters:
|
|
3612
|
+
- in: path
|
|
3613
|
+
name: appId
|
|
3614
|
+
required: true
|
|
3615
|
+
schema:
|
|
3616
|
+
type: string
|
|
3617
|
+
format: uuid
|
|
3618
|
+
responses:
|
|
3619
|
+
"200":
|
|
3620
|
+
description: Connected users
|
|
3621
|
+
content:
|
|
3622
|
+
application/json:
|
|
3623
|
+
schema:
|
|
3624
|
+
type: array
|
|
3625
|
+
items:
|
|
3626
|
+
$ref: "#/components/schemas/PlatformConnectedUserResponse"
|
|
3627
|
+
|
|
3628
|
+
/v1/platform/connections/{connectionId}/bootstrap:
|
|
3629
|
+
post:
|
|
3630
|
+
tags: [Platform]
|
|
3631
|
+
summary: Bootstrap resources for a connected user
|
|
3632
|
+
description: Executes a template to create vault, agent, and policies for the connected user. Returns a claim URL and token for the user to claim their resources.
|
|
3633
|
+
security:
|
|
3634
|
+
- BearerAuth: []
|
|
3635
|
+
parameters:
|
|
3636
|
+
- in: path
|
|
3637
|
+
name: connectionId
|
|
3638
|
+
required: true
|
|
3639
|
+
schema:
|
|
3640
|
+
type: string
|
|
3641
|
+
format: uuid
|
|
3642
|
+
requestBody:
|
|
3643
|
+
required: true
|
|
3644
|
+
content:
|
|
3645
|
+
application/json:
|
|
3646
|
+
schema:
|
|
3647
|
+
$ref: "#/components/schemas/BootstrapRequest"
|
|
3648
|
+
responses:
|
|
3649
|
+
"201":
|
|
3650
|
+
description: Resources bootstrapped
|
|
3651
|
+
content:
|
|
3652
|
+
application/json:
|
|
3653
|
+
schema:
|
|
3654
|
+
$ref: "#/components/schemas/BootstrapResponse"
|
|
3655
|
+
|
|
3656
|
+
/v1/platform/apps/{appId}/audit:
|
|
3657
|
+
get:
|
|
3658
|
+
tags: [Platform]
|
|
3659
|
+
summary: Platform audit log
|
|
3660
|
+
description: Returns audit events related to this platform app.
|
|
3661
|
+
security:
|
|
3662
|
+
- BearerAuth: []
|
|
3663
|
+
parameters:
|
|
3664
|
+
- in: path
|
|
3665
|
+
name: appId
|
|
3666
|
+
required: true
|
|
3667
|
+
schema:
|
|
3668
|
+
type: string
|
|
3669
|
+
format: uuid
|
|
3670
|
+
- in: query
|
|
3671
|
+
name: limit
|
|
3672
|
+
schema:
|
|
3673
|
+
type: integer
|
|
3674
|
+
default: 50
|
|
3675
|
+
- in: query
|
|
3676
|
+
name: offset
|
|
3677
|
+
schema:
|
|
3678
|
+
type: integer
|
|
3679
|
+
default: 0
|
|
3680
|
+
responses:
|
|
3681
|
+
"200":
|
|
3682
|
+
description: Audit events
|
|
3683
|
+
content:
|
|
3684
|
+
application/json:
|
|
3685
|
+
schema:
|
|
3686
|
+
type: object
|
|
3687
|
+
properties:
|
|
3688
|
+
events:
|
|
3689
|
+
type: array
|
|
3690
|
+
items:
|
|
3691
|
+
type: object
|
|
3692
|
+
|
|
3693
|
+
/v1/platform/connected-apps:
|
|
3694
|
+
get:
|
|
3695
|
+
tags: [Platform]
|
|
3696
|
+
summary: List connected apps (user side)
|
|
3697
|
+
description: Returns platform apps connected to the calling user's account.
|
|
3698
|
+
security:
|
|
3699
|
+
- BearerAuth: []
|
|
3700
|
+
responses:
|
|
3701
|
+
"200":
|
|
3702
|
+
description: Connected apps
|
|
3703
|
+
content:
|
|
3704
|
+
application/json:
|
|
3705
|
+
schema:
|
|
3706
|
+
type: object
|
|
3707
|
+
properties:
|
|
3708
|
+
connected_apps:
|
|
3709
|
+
type: array
|
|
3710
|
+
items:
|
|
3711
|
+
$ref: "#/components/schemas/ConnectedAppResponse"
|
|
3712
|
+
|
|
3713
|
+
/v1/platform/connected-apps/{connectionId}:
|
|
3714
|
+
delete:
|
|
3715
|
+
tags: [Platform]
|
|
3716
|
+
summary: Disconnect a platform app
|
|
3717
|
+
description: Disconnect the calling user from a platform app.
|
|
3718
|
+
security:
|
|
3719
|
+
- BearerAuth: []
|
|
3720
|
+
parameters:
|
|
3721
|
+
- in: path
|
|
3722
|
+
name: connectionId
|
|
3723
|
+
required: true
|
|
3724
|
+
schema:
|
|
3725
|
+
type: string
|
|
3726
|
+
format: uuid
|
|
3727
|
+
responses:
|
|
3728
|
+
"204":
|
|
3729
|
+
description: Disconnected
|
|
3730
|
+
"404":
|
|
3731
|
+
description: Connection not found
|
|
3732
|
+
|
|
3359
3733
|
# =============================================================================
|
|
3360
3734
|
# COMPONENTS
|
|
3361
3735
|
# =============================================================================
|
|
@@ -6512,3 +6886,315 @@ components:
|
|
|
6512
6886
|
enum: [healthy, degraded]
|
|
6513
6887
|
version:
|
|
6514
6888
|
type: string
|
|
6889
|
+
|
|
6890
|
+
# --- Platform API Schemas ---
|
|
6891
|
+
|
|
6892
|
+
CreatePlatformAppRequest:
|
|
6893
|
+
type: object
|
|
6894
|
+
required: [name, slug]
|
|
6895
|
+
properties:
|
|
6896
|
+
name:
|
|
6897
|
+
type: string
|
|
6898
|
+
slug:
|
|
6899
|
+
type: string
|
|
6900
|
+
minLength: 3
|
|
6901
|
+
maxLength: 64
|
|
6902
|
+
pattern: "^[a-zA-Z0-9_-]+$"
|
|
6903
|
+
description:
|
|
6904
|
+
type: string
|
|
6905
|
+
oidc_jwks_url:
|
|
6906
|
+
type: string
|
|
6907
|
+
format: uri
|
|
6908
|
+
oidc_issuer:
|
|
6909
|
+
type: string
|
|
6910
|
+
format: uri
|
|
6911
|
+
oidc_audience:
|
|
6912
|
+
type: string
|
|
6913
|
+
description: Expected audience claim for OIDC token validation
|
|
6914
|
+
redirect_uris:
|
|
6915
|
+
type: array
|
|
6916
|
+
items:
|
|
6917
|
+
type: string
|
|
6918
|
+
format: uri
|
|
6919
|
+
billing_model:
|
|
6920
|
+
type: string
|
|
6921
|
+
enum: [platform_pays, user_pays, hybrid]
|
|
6922
|
+
default: platform_pays
|
|
6923
|
+
auth_mode:
|
|
6924
|
+
type: string
|
|
6925
|
+
enum: [silent, user_signin, configurable]
|
|
6926
|
+
default: silent
|
|
6927
|
+
max_connected_users:
|
|
6928
|
+
type: integer
|
|
6929
|
+
nullable: true
|
|
6930
|
+
|
|
6931
|
+
UpdatePlatformAppRequest:
|
|
6932
|
+
type: object
|
|
6933
|
+
properties:
|
|
6934
|
+
name:
|
|
6935
|
+
type: string
|
|
6936
|
+
description:
|
|
6937
|
+
type: string
|
|
6938
|
+
logo_url:
|
|
6939
|
+
type: string
|
|
6940
|
+
oidc_jwks_url:
|
|
6941
|
+
type: string
|
|
6942
|
+
oidc_issuer:
|
|
6943
|
+
type: string
|
|
6944
|
+
oidc_audience:
|
|
6945
|
+
type: string
|
|
6946
|
+
description: Expected audience claim for OIDC token validation
|
|
6947
|
+
redirect_uris:
|
|
6948
|
+
type: array
|
|
6949
|
+
items:
|
|
6950
|
+
type: string
|
|
6951
|
+
webhook_url:
|
|
6952
|
+
type: string
|
|
6953
|
+
billing_model:
|
|
6954
|
+
type: string
|
|
6955
|
+
enum: [platform_pays, user_pays, hybrid]
|
|
6956
|
+
auth_mode:
|
|
6957
|
+
type: string
|
|
6958
|
+
enum: [silent, user_signin, configurable]
|
|
6959
|
+
max_connected_users:
|
|
6960
|
+
type: integer
|
|
6961
|
+
nullable: true
|
|
6962
|
+
is_active:
|
|
6963
|
+
type: boolean
|
|
6964
|
+
|
|
6965
|
+
PlatformAppResponse:
|
|
6966
|
+
type: object
|
|
6967
|
+
properties:
|
|
6968
|
+
id:
|
|
6969
|
+
type: string
|
|
6970
|
+
format: uuid
|
|
6971
|
+
name:
|
|
6972
|
+
type: string
|
|
6973
|
+
slug:
|
|
6974
|
+
type: string
|
|
6975
|
+
description:
|
|
6976
|
+
type: string
|
|
6977
|
+
logo_url:
|
|
6978
|
+
type: string
|
|
6979
|
+
nullable: true
|
|
6980
|
+
api_key_prefix:
|
|
6981
|
+
type: string
|
|
6982
|
+
oidc_jwks_url:
|
|
6983
|
+
type: string
|
|
6984
|
+
nullable: true
|
|
6985
|
+
oidc_issuer:
|
|
6986
|
+
type: string
|
|
6987
|
+
nullable: true
|
|
6988
|
+
oidc_audience:
|
|
6989
|
+
type: string
|
|
6990
|
+
nullable: true
|
|
6991
|
+
description: Expected audience claim for OIDC token validation
|
|
6992
|
+
redirect_uris:
|
|
6993
|
+
type: array
|
|
6994
|
+
items:
|
|
6995
|
+
type: string
|
|
6996
|
+
webhook_url:
|
|
6997
|
+
type: string
|
|
6998
|
+
nullable: true
|
|
6999
|
+
is_active:
|
|
7000
|
+
type: boolean
|
|
7001
|
+
billing_model:
|
|
7002
|
+
type: string
|
|
7003
|
+
auth_mode:
|
|
7004
|
+
type: string
|
|
7005
|
+
max_connected_users:
|
|
7006
|
+
type: integer
|
|
7007
|
+
nullable: true
|
|
7008
|
+
connected_users:
|
|
7009
|
+
type: integer
|
|
7010
|
+
created_at:
|
|
7011
|
+
type: string
|
|
7012
|
+
format: date-time
|
|
7013
|
+
updated_at:
|
|
7014
|
+
type: string
|
|
7015
|
+
format: date-time
|
|
7016
|
+
|
|
7017
|
+
PlatformAppCreatedResponse:
|
|
7018
|
+
allOf:
|
|
7019
|
+
- $ref: "#/components/schemas/PlatformAppResponse"
|
|
7020
|
+
- type: object
|
|
7021
|
+
required: [api_key]
|
|
7022
|
+
properties:
|
|
7023
|
+
api_key:
|
|
7024
|
+
type: string
|
|
7025
|
+
description: The platform API key. Save immediately - it cannot be retrieved again.
|
|
7026
|
+
|
|
7027
|
+
CreateTemplateRequest:
|
|
7028
|
+
type: object
|
|
7029
|
+
required: [name, spec]
|
|
7030
|
+
properties:
|
|
7031
|
+
name:
|
|
7032
|
+
type: string
|
|
7033
|
+
description:
|
|
7034
|
+
type: string
|
|
7035
|
+
spec:
|
|
7036
|
+
type: object
|
|
7037
|
+
description: |
|
|
7038
|
+
Template specification defining vault, agents, policies, and signing keys to bootstrap.
|
|
7039
|
+
Top-level fields: `vault` (object with name, description), `agents` (array of agent specs
|
|
7040
|
+
with name, description, shroud_enabled, intents, shroud_config), `policies` (array with
|
|
7041
|
+
vault_ref, principal_ref, paths, permissions, conditions), and `signing_keys` (array of
|
|
7042
|
+
`{ chain }` objects — supported chains: ethereum, bitcoin, solana, xrp, cardano, tron).
|
|
7043
|
+
When `signing_keys` is present, HSM-backed signing keys are auto-provisioned for the
|
|
7044
|
+
bootstrapped agent.
|
|
7045
|
+
|
|
7046
|
+
PlatformTemplateResponse:
|
|
7047
|
+
type: object
|
|
7048
|
+
properties:
|
|
7049
|
+
id:
|
|
7050
|
+
type: string
|
|
7051
|
+
format: uuid
|
|
7052
|
+
platform_app_id:
|
|
7053
|
+
type: string
|
|
7054
|
+
format: uuid
|
|
7055
|
+
name:
|
|
7056
|
+
type: string
|
|
7057
|
+
description:
|
|
7058
|
+
type: string
|
|
7059
|
+
version:
|
|
7060
|
+
type: integer
|
|
7061
|
+
spec:
|
|
7062
|
+
type: object
|
|
7063
|
+
is_active:
|
|
7064
|
+
type: boolean
|
|
7065
|
+
created_at:
|
|
7066
|
+
type: string
|
|
7067
|
+
format: date-time
|
|
7068
|
+
updated_at:
|
|
7069
|
+
type: string
|
|
7070
|
+
format: date-time
|
|
7071
|
+
|
|
7072
|
+
UpsertPlatformUserRequest:
|
|
7073
|
+
type: object
|
|
7074
|
+
properties:
|
|
7075
|
+
subject_token:
|
|
7076
|
+
type: string
|
|
7077
|
+
description: OIDC JWT from the platform's IdP (verified against JWKS)
|
|
7078
|
+
subject_token_type:
|
|
7079
|
+
type: string
|
|
7080
|
+
default: "urn:ietf:params:oauth:token-type:jwt"
|
|
7081
|
+
email:
|
|
7082
|
+
type: string
|
|
7083
|
+
format: email
|
|
7084
|
+
description: Fallback when subject_token is not provided
|
|
7085
|
+
display_name:
|
|
7086
|
+
type: string
|
|
7087
|
+
|
|
7088
|
+
PlatformUserResponse:
|
|
7089
|
+
type: object
|
|
7090
|
+
properties:
|
|
7091
|
+
user_handle:
|
|
7092
|
+
type: string
|
|
7093
|
+
format: uuid
|
|
7094
|
+
is_new:
|
|
7095
|
+
type: boolean
|
|
7096
|
+
connection_id:
|
|
7097
|
+
type: string
|
|
7098
|
+
format: uuid
|
|
7099
|
+
email:
|
|
7100
|
+
type: string
|
|
7101
|
+
|
|
7102
|
+
PlatformConnectedUserResponse:
|
|
7103
|
+
type: object
|
|
7104
|
+
properties:
|
|
7105
|
+
connection_id:
|
|
7106
|
+
type: string
|
|
7107
|
+
format: uuid
|
|
7108
|
+
user_id:
|
|
7109
|
+
type: string
|
|
7110
|
+
format: uuid
|
|
7111
|
+
external_subject:
|
|
7112
|
+
type: string
|
|
7113
|
+
status:
|
|
7114
|
+
type: string
|
|
7115
|
+
vault_ids:
|
|
7116
|
+
type: array
|
|
7117
|
+
items:
|
|
7118
|
+
type: string
|
|
7119
|
+
format: uuid
|
|
7120
|
+
agent_ids:
|
|
7121
|
+
type: array
|
|
7122
|
+
items:
|
|
7123
|
+
type: string
|
|
7124
|
+
format: uuid
|
|
7125
|
+
created_at:
|
|
7126
|
+
type: string
|
|
7127
|
+
format: date-time
|
|
7128
|
+
claimed_at:
|
|
7129
|
+
type: string
|
|
7130
|
+
format: date-time
|
|
7131
|
+
nullable: true
|
|
7132
|
+
|
|
7133
|
+
BootstrapRequest:
|
|
7134
|
+
type: object
|
|
7135
|
+
properties:
|
|
7136
|
+
template_id:
|
|
7137
|
+
type: string
|
|
7138
|
+
format: uuid
|
|
7139
|
+
description: Template to use. Falls back to the app's default template.
|
|
7140
|
+
return_to:
|
|
7141
|
+
type: string
|
|
7142
|
+
format: uri
|
|
7143
|
+
description: URL to redirect the user to after claiming resources.
|
|
7144
|
+
|
|
7145
|
+
BootstrapResponse:
|
|
7146
|
+
type: object
|
|
7147
|
+
properties:
|
|
7148
|
+
claim_url:
|
|
7149
|
+
type: string
|
|
7150
|
+
format: uri
|
|
7151
|
+
claim_token:
|
|
7152
|
+
type: string
|
|
7153
|
+
expires_in:
|
|
7154
|
+
type: integer
|
|
7155
|
+
description: Seconds until the claim token expires
|
|
7156
|
+
connection_id:
|
|
7157
|
+
type: string
|
|
7158
|
+
format: uuid
|
|
7159
|
+
summary:
|
|
7160
|
+
type: object
|
|
7161
|
+
properties:
|
|
7162
|
+
vault_id:
|
|
7163
|
+
type: string
|
|
7164
|
+
format: uuid
|
|
7165
|
+
nullable: true
|
|
7166
|
+
agent_id:
|
|
7167
|
+
type: string
|
|
7168
|
+
format: uuid
|
|
7169
|
+
nullable: true
|
|
7170
|
+
policy_ids:
|
|
7171
|
+
type: array
|
|
7172
|
+
items:
|
|
7173
|
+
type: string
|
|
7174
|
+
format: uuid
|
|
7175
|
+
|
|
7176
|
+
ConnectedAppResponse:
|
|
7177
|
+
type: object
|
|
7178
|
+
properties:
|
|
7179
|
+
connection_id:
|
|
7180
|
+
type: string
|
|
7181
|
+
format: uuid
|
|
7182
|
+
app_name:
|
|
7183
|
+
type: string
|
|
7184
|
+
app_slug:
|
|
7185
|
+
type: string
|
|
7186
|
+
status:
|
|
7187
|
+
type: string
|
|
7188
|
+
vault_ids:
|
|
7189
|
+
type: array
|
|
7190
|
+
items:
|
|
7191
|
+
type: string
|
|
7192
|
+
format: uuid
|
|
7193
|
+
agent_ids:
|
|
7194
|
+
type: array
|
|
7195
|
+
items:
|
|
7196
|
+
type: string
|
|
7197
|
+
format: uuid
|
|
7198
|
+
created_at:
|
|
7199
|
+
type: string
|
|
7200
|
+
format: date-time
|