@1claw/openapi-spec 0.19.0 → 0.20.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 CHANGED
@@ -40,7 +40,7 @@ openapi-generator generate \
40
40
  import spec from "@1claw/openapi-spec/openapi.json";
41
41
  ```
42
42
 
43
- ## What's in the spec (v0.19.0)
43
+ ## What's in the spec (v0.19.x)
44
44
 
45
45
  - **Auth — agent JWT** — `POST /v1/auth/agent-token` documents optional JWT claim **`shroud_config`** when the agent has Shroud enabled (mirrors DB; consumed by Shroud PolicyEngine on LLM requests). Re-exchange after changing agent Shroud settings.
46
46
  - **Auth — password reset** — `POST /v1/auth/forgot-password`, `POST /v1/auth/reset-password` (public; anti-enumeration on forgot)
@@ -48,7 +48,7 @@ import spec from "@1claw/openapi-spec/openapi.json";
48
48
  - **Treasury** — Safe multisig treasuries: `POST/GET /v1/treasury`, `GET/PATCH/DELETE /v1/treasury/{id}`, signers, agent access requests (`requests[]` on list)
49
49
  - **Vaults** — CRUD, CMEK enable/disable, key rotation with job tracking, MPC enable/disable (`POST /v1/vaults/{id}/mpc`, `DELETE /v1/vaults/{id}/mpc`)
50
50
  - **Secrets** — CRUD, versioning, CMEK-encrypted flag, `client_share` in responses (MPC vaults)
51
- - **Agents** — CRUD with `auth_method` (api_key, mtls, oidc_client_credentials), auto-generated SSH keypairs, `token_ttl_seconds`, `vault_ids`, Intents API, transaction guardrails
51
+ - **Agents** — CRUD with `auth_method` (api_key, mtls, oidc_client_credentials), auto-generated SSH keypairs, `token_ttl_seconds`, `vault_ids`, Intents API, transaction guardrails (`tx_to_allowlist`, `tx_max_value_eth`, `tx_daily_limit_eth`, `tx_allowed_chains`); **`GET /v1/agents/{id}`** includes **`tx_spent_today_eth`** (rolling UTC-day spend from recorded txs) for clients such as **Shroud** that enforce the daily cap alongside per-tx limits
52
52
  - **Policies** — Glob-based access control
53
53
  - **Sharing** — Links, user/agent shares, accept/decline
54
54
  - **Billing** — Subscriptions, credits, x402, LLM token billing (see above)
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "2.9.0",
5
+ "version": "2.10.0",
6
6
  "description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.xyz"
@@ -952,6 +952,205 @@
952
952
  }
953
953
  }
954
954
  },
955
+ "/v1/auth/export-data": {
956
+ "post": {
957
+ "tags": [
958
+ "Authentication"
959
+ ],
960
+ "summary": "Export user data (GDPR)",
961
+ "description": "Returns a full export of the authenticated user's data including\nprofile, vaults, agents, secrets metadata, and policies. Intended\nfor GDPR data-portability requests. Only available to human users\n(not agents).\n",
962
+ "operationId": "exportUserData",
963
+ "responses": {
964
+ "200": {
965
+ "description": "User data export",
966
+ "content": {
967
+ "application/json": {
968
+ "schema": {
969
+ "type": "object",
970
+ "required": [
971
+ "export_version",
972
+ "exported_at",
973
+ "user",
974
+ "vaults",
975
+ "agents",
976
+ "secrets_metadata",
977
+ "policies"
978
+ ],
979
+ "properties": {
980
+ "export_version": {
981
+ "type": "string",
982
+ "example": "1.0"
983
+ },
984
+ "exported_at": {
985
+ "type": "string",
986
+ "format": "date-time"
987
+ },
988
+ "user": {
989
+ "type": "object",
990
+ "required": [
991
+ "id",
992
+ "email",
993
+ "display_name",
994
+ "auth_method",
995
+ "created_at"
996
+ ],
997
+ "properties": {
998
+ "id": {
999
+ "type": "string",
1000
+ "format": "uuid"
1001
+ },
1002
+ "email": {
1003
+ "type": "string",
1004
+ "format": "email"
1005
+ },
1006
+ "display_name": {
1007
+ "type": "string"
1008
+ },
1009
+ "auth_method": {
1010
+ "type": "string"
1011
+ },
1012
+ "created_at": {
1013
+ "type": "string",
1014
+ "format": "date-time"
1015
+ }
1016
+ }
1017
+ },
1018
+ "vaults": {
1019
+ "type": "array",
1020
+ "items": {
1021
+ "type": "object",
1022
+ "required": [
1023
+ "id",
1024
+ "name",
1025
+ "created_at"
1026
+ ],
1027
+ "properties": {
1028
+ "id": {
1029
+ "type": "string",
1030
+ "format": "uuid"
1031
+ },
1032
+ "name": {
1033
+ "type": "string"
1034
+ },
1035
+ "created_at": {
1036
+ "type": "string",
1037
+ "format": "date-time"
1038
+ }
1039
+ }
1040
+ }
1041
+ },
1042
+ "agents": {
1043
+ "type": "array",
1044
+ "items": {
1045
+ "type": "object",
1046
+ "required": [
1047
+ "id",
1048
+ "name",
1049
+ "created_at"
1050
+ ],
1051
+ "properties": {
1052
+ "id": {
1053
+ "type": "string",
1054
+ "format": "uuid"
1055
+ },
1056
+ "name": {
1057
+ "type": "string"
1058
+ },
1059
+ "created_at": {
1060
+ "type": "string",
1061
+ "format": "date-time"
1062
+ }
1063
+ }
1064
+ }
1065
+ },
1066
+ "secrets_metadata": {
1067
+ "type": "array",
1068
+ "items": {
1069
+ "type": "object",
1070
+ "required": [
1071
+ "vault_id",
1072
+ "path",
1073
+ "type",
1074
+ "version",
1075
+ "created_at"
1076
+ ],
1077
+ "properties": {
1078
+ "vault_id": {
1079
+ "type": "string",
1080
+ "format": "uuid"
1081
+ },
1082
+ "path": {
1083
+ "type": "string"
1084
+ },
1085
+ "type": {
1086
+ "type": "string"
1087
+ },
1088
+ "version": {
1089
+ "type": "integer"
1090
+ },
1091
+ "created_at": {
1092
+ "type": "string",
1093
+ "format": "date-time"
1094
+ }
1095
+ }
1096
+ }
1097
+ },
1098
+ "policies": {
1099
+ "type": "array",
1100
+ "items": {
1101
+ "type": "object",
1102
+ "required": [
1103
+ "id",
1104
+ "vault_id",
1105
+ "principal_type",
1106
+ "principal_id",
1107
+ "secret_path_pattern",
1108
+ "permissions",
1109
+ "created_at"
1110
+ ],
1111
+ "properties": {
1112
+ "id": {
1113
+ "type": "string",
1114
+ "format": "uuid"
1115
+ },
1116
+ "vault_id": {
1117
+ "type": "string",
1118
+ "format": "uuid"
1119
+ },
1120
+ "principal_type": {
1121
+ "type": "string"
1122
+ },
1123
+ "principal_id": {
1124
+ "type": "string",
1125
+ "format": "uuid"
1126
+ },
1127
+ "secret_path_pattern": {
1128
+ "type": "string"
1129
+ },
1130
+ "permissions": {
1131
+ "type": "array",
1132
+ "items": {
1133
+ "type": "string"
1134
+ }
1135
+ },
1136
+ "created_at": {
1137
+ "type": "string",
1138
+ "format": "date-time"
1139
+ }
1140
+ }
1141
+ }
1142
+ }
1143
+ }
1144
+ }
1145
+ }
1146
+ }
1147
+ },
1148
+ "403": {
1149
+ "$ref": "#/components/responses/Forbidden"
1150
+ }
1151
+ }
1152
+ }
1153
+ },
955
1154
  "/v1/vaults": {
956
1155
  "post": {
957
1156
  "tags": [
@@ -5803,6 +6002,10 @@
5803
6002
  "tx_daily_limit_eth": {
5804
6003
  "type": "string"
5805
6004
  },
6005
+ "tx_spent_today_eth": {
6006
+ "type": "string",
6007
+ "description": "ETH value already spent today (UTC) from recorded transactions; used with daily limit guardrails"
6008
+ },
5806
6009
  "tx_allowed_chains": {
5807
6010
  "type": "array",
5808
6011
  "items": {
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.9.0
5
+ version: 2.10.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,
@@ -626,6 +626,147 @@ paths:
626
626
  "404":
627
627
  $ref: "#/components/responses/NotFound"
628
628
 
629
+ /v1/auth/export-data:
630
+ post:
631
+ tags: [Authentication]
632
+ summary: Export user data (GDPR)
633
+ description: |
634
+ Returns a full export of the authenticated user's data including
635
+ profile, vaults, agents, secrets metadata, and policies. Intended
636
+ for GDPR data-portability requests. Only available to human users
637
+ (not agents).
638
+ operationId: exportUserData
639
+ responses:
640
+ "200":
641
+ description: User data export
642
+ content:
643
+ application/json:
644
+ schema:
645
+ type: object
646
+ required:
647
+ - export_version
648
+ - exported_at
649
+ - user
650
+ - vaults
651
+ - agents
652
+ - secrets_metadata
653
+ - policies
654
+ properties:
655
+ export_version:
656
+ type: string
657
+ example: "1.0"
658
+ exported_at:
659
+ type: string
660
+ format: date-time
661
+ user:
662
+ type: object
663
+ required:
664
+ - id
665
+ - email
666
+ - display_name
667
+ - auth_method
668
+ - created_at
669
+ properties:
670
+ id:
671
+ type: string
672
+ format: uuid
673
+ email:
674
+ type: string
675
+ format: email
676
+ display_name:
677
+ type: string
678
+ auth_method:
679
+ type: string
680
+ created_at:
681
+ type: string
682
+ format: date-time
683
+ vaults:
684
+ type: array
685
+ items:
686
+ type: object
687
+ required: [id, name, created_at]
688
+ properties:
689
+ id:
690
+ type: string
691
+ format: uuid
692
+ name:
693
+ type: string
694
+ created_at:
695
+ type: string
696
+ format: date-time
697
+ agents:
698
+ type: array
699
+ items:
700
+ type: object
701
+ required: [id, name, created_at]
702
+ properties:
703
+ id:
704
+ type: string
705
+ format: uuid
706
+ name:
707
+ type: string
708
+ created_at:
709
+ type: string
710
+ format: date-time
711
+ secrets_metadata:
712
+ type: array
713
+ items:
714
+ type: object
715
+ required:
716
+ - vault_id
717
+ - path
718
+ - type
719
+ - version
720
+ - created_at
721
+ properties:
722
+ vault_id:
723
+ type: string
724
+ format: uuid
725
+ path:
726
+ type: string
727
+ type:
728
+ type: string
729
+ version:
730
+ type: integer
731
+ created_at:
732
+ type: string
733
+ format: date-time
734
+ policies:
735
+ type: array
736
+ items:
737
+ type: object
738
+ required:
739
+ - id
740
+ - vault_id
741
+ - principal_type
742
+ - principal_id
743
+ - secret_path_pattern
744
+ - permissions
745
+ - created_at
746
+ properties:
747
+ id:
748
+ type: string
749
+ format: uuid
750
+ vault_id:
751
+ type: string
752
+ format: uuid
753
+ principal_type:
754
+ type: string
755
+ principal_id:
756
+ type: string
757
+ format: uuid
758
+ secret_path_pattern:
759
+ type: string
760
+ permissions:
761
+ type: array
762
+ items:
763
+ type: string
764
+ created_at:
765
+ type: string
766
+ format: date-time
767
+ "403":
768
+ $ref: "#/components/responses/Forbidden"
769
+
629
770
  # ---------------------------------------------------------------------------
630
771
  # Vaults
631
772
  # ---------------------------------------------------------------------------
@@ -3819,6 +3960,9 @@ components:
3819
3960
  type: string
3820
3961
  tx_daily_limit_eth:
3821
3962
  type: string
3963
+ tx_spent_today_eth:
3964
+ type: string
3965
+ description: ETH value already spent today (UTC) from recorded transactions; used with daily limit guardrails
3822
3966
  tx_allowed_chains:
3823
3967
  type: array
3824
3968
  items:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API — generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {