@1claw/openapi-spec 0.61.11 → 0.61.12

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.
Files changed (3) hide show
  1. package/openapi.json +213 -1
  2. package/openapi.yaml +106 -1
  3. package/package.json +1 -1
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "0.61.11",
5
+ "version": "0.61.12",
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. Automations (workflow_spec,\nwebhook tokens, event triggers, Assist), cloud runtimes with\ninteractive shell sessions, agent memory, and discovery.\n\n## Domains\n\n`api.1claw.co` is canonical: it is the OIDC issuer, the `aud` the API\nmints, and the first entry in `servers` — a generated client takes its\nbase URL from there, and the previous ordering pointed every SDK at the\ndomain the issuer had already left. `api.1claw.xyz` still answers and is\nstill accepted on token validation, because tokens minted before the\nmove carry it; it is never minted now.\n\nOne deliberate exception: the Shroud attestation identity token is\nrequested from GCP with `audience: https://api.1claw.xyz`, so\n`/v1/shroud/attestation` reports that as its `expected_audience`. That\nis accurate rather than stale — the audience is a verification contract\nwith anyone already checking the token, and moving it is a breaking\nchange for them, not a rename.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.co"
@@ -5886,6 +5886,135 @@
5886
5886
  }
5887
5887
  }
5888
5888
  },
5889
+ "/v1/admin/agents/{agent_id}/reports/dismiss": {
5890
+ "post": {
5891
+ "tags": [
5892
+ "Admin"
5893
+ ],
5894
+ "summary": "Dismiss every open report on a directory listing",
5895
+ "description": "Platform admins only. Clears the listing's report flag and recounts. The review queue is a platform function — an org dismissing reports against its own agent is the abuse the queue exists to catch.\n",
5896
+ "operationId": "adminDismissAgentReports",
5897
+ "parameters": [
5898
+ {
5899
+ "name": "agent_id",
5900
+ "in": "path",
5901
+ "required": true,
5902
+ "schema": {
5903
+ "type": "string",
5904
+ "format": "uuid"
5905
+ }
5906
+ }
5907
+ ],
5908
+ "responses": {
5909
+ "200": {
5910
+ "description": "Reports dismissed",
5911
+ "content": {
5912
+ "application/json": {
5913
+ "schema": {
5914
+ "type": "object",
5915
+ "properties": {
5916
+ "agent_id": {
5917
+ "type": "string",
5918
+ "format": "uuid"
5919
+ },
5920
+ "dismissed": {
5921
+ "type": "integer"
5922
+ }
5923
+ }
5924
+ }
5925
+ }
5926
+ }
5927
+ },
5928
+ "403": {
5929
+ "description": "Not a platform admin"
5930
+ },
5931
+ "404": {
5932
+ "description": "Agent not found"
5933
+ }
5934
+ }
5935
+ }
5936
+ },
5937
+ "/v1/admin/agents/{agent_id}/verification-tier": {
5938
+ "put": {
5939
+ "tags": [
5940
+ "Admin"
5941
+ ],
5942
+ "summary": "Set a directory listing's verification tier",
5943
+ "description": "Platform admins only. Unknown tiers are refused rather than demoted to `unverified`.",
5944
+ "operationId": "adminSetAgentVerificationTier",
5945
+ "parameters": [
5946
+ {
5947
+ "name": "agent_id",
5948
+ "in": "path",
5949
+ "required": true,
5950
+ "schema": {
5951
+ "type": "string",
5952
+ "format": "uuid"
5953
+ }
5954
+ }
5955
+ ],
5956
+ "requestBody": {
5957
+ "required": true,
5958
+ "content": {
5959
+ "application/json": {
5960
+ "schema": {
5961
+ "type": "object",
5962
+ "required": [
5963
+ "tier"
5964
+ ],
5965
+ "properties": {
5966
+ "tier": {
5967
+ "type": "string",
5968
+ "enum": [
5969
+ "unverified",
5970
+ "platform_reviewed",
5971
+ "identity_verified",
5972
+ "enterprise"
5973
+ ]
5974
+ },
5975
+ "notes": {
5976
+ "type": "string",
5977
+ "nullable": true,
5978
+ "description": "Internal review notes",
5979
+ "never public": null
5980
+ }
5981
+ }
5982
+ }
5983
+ }
5984
+ }
5985
+ },
5986
+ "responses": {
5987
+ "200": {
5988
+ "description": "Tier set",
5989
+ "content": {
5990
+ "application/json": {
5991
+ "schema": {
5992
+ "type": "object",
5993
+ "properties": {
5994
+ "agent_id": {
5995
+ "type": "string",
5996
+ "format": "uuid"
5997
+ },
5998
+ "tier": {
5999
+ "type": "string"
6000
+ }
6001
+ }
6002
+ }
6003
+ }
6004
+ }
6005
+ },
6006
+ "400": {
6007
+ "description": "Unknown tier"
6008
+ },
6009
+ "403": {
6010
+ "description": "Not a platform admin"
6011
+ },
6012
+ "404": {
6013
+ "description": "Agent not found"
6014
+ }
6015
+ }
6016
+ }
6017
+ },
5889
6018
  "/v1/admin/chains": {
5890
6019
  "get": {
5891
6020
  "tags": [
@@ -15471,6 +15600,89 @@
15471
15600
  }
15472
15601
  }
15473
15602
  },
15603
+ "/v1/agents/{agent_id}/pay/grants/prepare": {
15604
+ "post": {
15605
+ "tags": [
15606
+ "Pay"
15607
+ ],
15608
+ "summary": "Prepare a spending grant (step one of two)",
15609
+ "description": "Fixes the grant terms and a server-side nonce and returns the `grant_digest` the person must assert over with a passkey (`action=x402_grant`). Then call `POST .../pay/grants` with the same terms, the digest, and the passkey token. Preparations are single-use, bound to the caller and agent, and expire after ten minutes. The nonce never leaves the server, so the digest cannot be recomputed for different terms. Human callers only; terms are validated against the agent's maximum cap and window here as well.\n",
15610
+ "operationId": "preparePayGrant",
15611
+ "parameters": [
15612
+ {
15613
+ "$ref": "#/components/parameters/AgentId"
15614
+ }
15615
+ ],
15616
+ "requestBody": {
15617
+ "required": true,
15618
+ "content": {
15619
+ "application/json": {
15620
+ "schema": {
15621
+ "type": "object",
15622
+ "required": [
15623
+ "cap_usd",
15624
+ "ttl_secs"
15625
+ ],
15626
+ "properties": {
15627
+ "cap_usd": {
15628
+ "type": "string"
15629
+ },
15630
+ "ttl_secs": {
15631
+ "type": "integer"
15632
+ },
15633
+ "allowed_paytos": {
15634
+ "type": "array",
15635
+ "items": {
15636
+ "type": "string"
15637
+ },
15638
+ "nullable": true
15639
+ }
15640
+ }
15641
+ }
15642
+ }
15643
+ }
15644
+ },
15645
+ "responses": {
15646
+ "200": {
15647
+ "description": "The digest to assert over",
15648
+ "content": {
15649
+ "application/json": {
15650
+ "schema": {
15651
+ "type": "object",
15652
+ "required": [
15653
+ "grant_digest",
15654
+ "action",
15655
+ "expires_in_secs"
15656
+ ],
15657
+ "properties": {
15658
+ "grant_digest": {
15659
+ "type": "string"
15660
+ },
15661
+ "action": {
15662
+ "type": "string",
15663
+ "enum": [
15664
+ "x402_grant"
15665
+ ]
15666
+ },
15667
+ "expires_in_secs": {
15668
+ "type": "integer"
15669
+ }
15670
+ }
15671
+ }
15672
+ }
15673
+ }
15674
+ },
15675
+ "400": {
15676
+ "description": "Invalid terms"
15677
+ },
15678
+ "403": {
15679
+ "description": "Not a human caller",
15680
+ "grant mode disabled": null,
15681
+ "or over the agent's maximum": null
15682
+ }
15683
+ }
15684
+ }
15685
+ },
15474
15686
  "/v1/agents/{agent_id}/pay/grants": {
15475
15687
  "post": {
15476
15688
  "tags": [
package/openapi.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.1.0
2
2
 
3
3
  info:
4
4
  title: 1Claw API
5
- version: "0.61.11"
5
+ version: "0.61.12"
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -3846,6 +3846,67 @@ paths:
3846
3846
  "404":
3847
3847
  $ref: "#/components/responses/NotFound"
3848
3848
 
3849
+ /v1/admin/agents/{agent_id}/reports/dismiss:
3850
+ post:
3851
+ tags: [Admin]
3852
+ summary: Dismiss every open report on a directory listing
3853
+ description: >
3854
+ Platform admins only. Clears the listing's report flag and
3855
+ recounts. The review queue is a platform function — an org
3856
+ dismissing reports against its own agent is the abuse the queue
3857
+ exists to catch.
3858
+ operationId: adminDismissAgentReports
3859
+ parameters:
3860
+ - name: agent_id
3861
+ in: path
3862
+ required: true
3863
+ schema: { type: string, format: uuid }
3864
+ responses:
3865
+ '200':
3866
+ description: Reports dismissed
3867
+ content:
3868
+ application/json:
3869
+ schema:
3870
+ type: object
3871
+ properties:
3872
+ agent_id: { type: string, format: uuid }
3873
+ dismissed: { type: integer }
3874
+ '403': { description: Not a platform admin }
3875
+ '404': { description: Agent not found }
3876
+ /v1/admin/agents/{agent_id}/verification-tier:
3877
+ put:
3878
+ tags: [Admin]
3879
+ summary: Set a directory listing's verification tier
3880
+ description: Platform admins only. Unknown tiers are refused rather than demoted to `unverified`.
3881
+ operationId: adminSetAgentVerificationTier
3882
+ parameters:
3883
+ - name: agent_id
3884
+ in: path
3885
+ required: true
3886
+ schema: { type: string, format: uuid }
3887
+ requestBody:
3888
+ required: true
3889
+ content:
3890
+ application/json:
3891
+ schema:
3892
+ type: object
3893
+ required: [tier]
3894
+ properties:
3895
+ tier: { type: string, enum: [unverified, platform_reviewed, identity_verified, enterprise] }
3896
+ notes: { type: string, nullable: true, description: Internal review notes, never public }
3897
+ responses:
3898
+ '200':
3899
+ description: Tier set
3900
+ content:
3901
+ application/json:
3902
+ schema:
3903
+ type: object
3904
+ properties:
3905
+ agent_id: { type: string, format: uuid }
3906
+ tier: { type: string }
3907
+ '400': { description: Unknown tier }
3908
+ '403': { description: Not a platform admin }
3909
+ '404': { description: Agent not found }
3849
3910
  /v1/admin/chains:
3850
3911
  get:
3851
3912
  tags: [Chains]
@@ -9989,6 +10050,50 @@ paths:
9989
10050
  ChallengeExpired. Re-fetch the resource for a fresh 402 and
9990
10051
  prepare again — re-preparing from the stored bytes would
9991
10052
  reproduce the same expired window.
10053
+ /v1/agents/{agent_id}/pay/grants/prepare:
10054
+ post:
10055
+ tags: [Pay]
10056
+ summary: Prepare a spending grant (step one of two)
10057
+ description: >
10058
+ Fixes the grant terms and a server-side nonce and returns the
10059
+ `grant_digest` the person must assert over with a passkey
10060
+ (`action=x402_grant`). Then call `POST .../pay/grants` with the
10061
+ same terms, the digest, and the passkey token. Preparations are
10062
+ single-use, bound to the caller and agent, and expire after ten
10063
+ minutes. The nonce never leaves the server, so the digest cannot
10064
+ be recomputed for different terms. Human callers only; terms are
10065
+ validated against the agent's maximum cap and window here as well.
10066
+ operationId: preparePayGrant
10067
+ parameters:
10068
+ - $ref: "#/components/parameters/AgentId"
10069
+ requestBody:
10070
+ required: true
10071
+ content:
10072
+ application/json:
10073
+ schema:
10074
+ type: object
10075
+ required: [cap_usd, ttl_secs]
10076
+ properties:
10077
+ cap_usd: { type: string }
10078
+ ttl_secs: { type: integer }
10079
+ allowed_paytos:
10080
+ type: array
10081
+ items: { type: string }
10082
+ nullable: true
10083
+ responses:
10084
+ '200':
10085
+ description: The digest to assert over
10086
+ content:
10087
+ application/json:
10088
+ schema:
10089
+ type: object
10090
+ required: [grant_digest, action, expires_in_secs]
10091
+ properties:
10092
+ grant_digest: { type: string }
10093
+ action: { type: string, enum: [x402_grant] }
10094
+ expires_in_secs: { type: integer }
10095
+ '400': { description: Invalid terms }
10096
+ '403': { description: Not a human caller, grant mode disabled, or over the agent's maximum }
9992
10097
  /v1/agents/{agent_id}/pay/grants:
9993
10098
  post:
9994
10099
  tags: [Pay]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.11",
3
+ "version": "0.61.12",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API \u2014 generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {