@boatdev/sdk 1.9.5 → 1.9.7
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-generator/FILES +44 -0
- package/dist/apis/BoatApi.d.ts +339 -3
- package/dist/apis/BoatApi.js +865 -15
- package/dist/esm/apis/BoatApi.d.ts +339 -3
- package/dist/esm/apis/BoatApi.js +865 -15
- package/dist/esm/models/AccountAiUsageResponse.d.ts +83 -0
- package/dist/esm/models/AccountAiUsageResponse.js +78 -0
- package/dist/esm/models/AiProxySettings.d.ts +81 -0
- package/dist/esm/models/AiProxySettings.js +76 -0
- package/dist/esm/models/AiProxySettingsAllOfPricing.d.ts +38 -0
- package/dist/esm/models/AiProxySettingsAllOfPricing.js +47 -0
- package/dist/esm/models/AiUsageRow.d.ts +80 -0
- package/dist/esm/models/AiUsageRow.js +75 -0
- package/dist/esm/models/AiUsageTotals.d.ts +62 -0
- package/dist/esm/models/AiUsageTotals.js +63 -0
- package/dist/esm/models/CreateCredentialProfileRequest.d.ts +44 -0
- package/dist/esm/models/CreateCredentialProfileRequest.js +47 -0
- package/dist/esm/models/CredentialAccount.d.ts +50 -0
- package/dist/esm/models/CredentialAccount.js +53 -0
- package/dist/esm/models/CredentialAccountsResponse.d.ts +64 -0
- package/dist/esm/models/CredentialAccountsResponse.js +65 -0
- package/dist/esm/models/CredentialId.d.ts +36 -0
- package/dist/esm/models/CredentialId.js +54 -0
- package/dist/esm/models/CredentialProfile.d.ts +91 -0
- package/dist/esm/models/CredentialProfile.js +79 -0
- package/dist/esm/models/CredentialProfileDeletedResponse.d.ts +44 -0
- package/dist/esm/models/CredentialProfileDeletedResponse.js +51 -0
- package/dist/esm/models/CredentialProfileListResponse.d.ts +45 -0
- package/dist/esm/models/CredentialProfileListResponse.js +52 -0
- package/dist/esm/models/CredentialProfileOwner.d.ts +58 -0
- package/dist/esm/models/CredentialProfileOwner.js +62 -0
- package/dist/esm/models/CredentialProfileResponse.d.ts +51 -0
- package/dist/esm/models/CredentialProfileResponse.js +56 -0
- package/dist/esm/models/ProcessListResponse.d.ts +1 -1
- package/dist/esm/models/SandboxAiAccessResponse.d.ts +56 -0
- package/dist/esm/models/SandboxAiAccessResponse.js +59 -0
- package/dist/esm/models/SandboxAiUsage.d.ts +64 -0
- package/dist/esm/models/SandboxAiUsage.js +65 -0
- package/dist/esm/models/SandboxAiUsageResponse.d.ts +88 -0
- package/dist/esm/models/SandboxAiUsageResponse.js +81 -0
- package/dist/esm/models/SandboxEnvironment.d.ts +13 -1
- package/dist/esm/models/SandboxEnvironment.js +4 -0
- package/dist/esm/models/SetCredentialKeyRequest.d.ts +38 -0
- package/dist/esm/models/SetCredentialKeyRequest.js +45 -0
- package/dist/esm/models/SetCustomApiRequest.d.ts +38 -0
- package/dist/esm/models/SetCustomApiRequest.js +47 -0
- package/dist/esm/models/SetSandboxAiAccessRequest.d.ts +32 -0
- package/dist/esm/models/SetSandboxAiAccessRequest.js +43 -0
- package/dist/esm/models/UpdateAiProxyRequest.d.ts +32 -0
- package/dist/esm/models/UpdateAiProxyRequest.js +43 -0
- package/dist/esm/models/UpdateCredentialProfileRequest.d.ts +38 -0
- package/dist/esm/models/UpdateCredentialProfileRequest.js +43 -0
- package/dist/esm/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
- package/dist/esm/models/UpdateSandboxEnvironmentRequest.js +4 -0
- package/dist/esm/models/index.d.ts +22 -0
- package/dist/esm/models/index.js +22 -0
- package/dist/models/AccountAiUsageResponse.d.ts +83 -0
- package/dist/models/AccountAiUsageResponse.js +85 -0
- package/dist/models/AiProxySettings.d.ts +81 -0
- package/dist/models/AiProxySettings.js +83 -0
- package/dist/models/AiProxySettingsAllOfPricing.d.ts +38 -0
- package/dist/models/AiProxySettingsAllOfPricing.js +54 -0
- package/dist/models/AiUsageRow.d.ts +80 -0
- package/dist/models/AiUsageRow.js +82 -0
- package/dist/models/AiUsageTotals.d.ts +62 -0
- package/dist/models/AiUsageTotals.js +70 -0
- package/dist/models/CreateCredentialProfileRequest.d.ts +44 -0
- package/dist/models/CreateCredentialProfileRequest.js +54 -0
- package/dist/models/CredentialAccount.d.ts +50 -0
- package/dist/models/CredentialAccount.js +60 -0
- package/dist/models/CredentialAccountsResponse.d.ts +64 -0
- package/dist/models/CredentialAccountsResponse.js +72 -0
- package/dist/models/CredentialId.d.ts +36 -0
- package/dist/models/CredentialId.js +62 -0
- package/dist/models/CredentialProfile.d.ts +91 -0
- package/dist/models/CredentialProfile.js +86 -0
- package/dist/models/CredentialProfileDeletedResponse.d.ts +44 -0
- package/dist/models/CredentialProfileDeletedResponse.js +58 -0
- package/dist/models/CredentialProfileListResponse.d.ts +45 -0
- package/dist/models/CredentialProfileListResponse.js +59 -0
- package/dist/models/CredentialProfileOwner.d.ts +58 -0
- package/dist/models/CredentialProfileOwner.js +70 -0
- package/dist/models/CredentialProfileResponse.d.ts +51 -0
- package/dist/models/CredentialProfileResponse.js +63 -0
- package/dist/models/ProcessListResponse.d.ts +1 -1
- package/dist/models/SandboxAiAccessResponse.d.ts +56 -0
- package/dist/models/SandboxAiAccessResponse.js +66 -0
- package/dist/models/SandboxAiUsage.d.ts +64 -0
- package/dist/models/SandboxAiUsage.js +72 -0
- package/dist/models/SandboxAiUsageResponse.d.ts +88 -0
- package/dist/models/SandboxAiUsageResponse.js +88 -0
- package/dist/models/SandboxEnvironment.d.ts +13 -1
- package/dist/models/SandboxEnvironment.js +4 -0
- package/dist/models/SetCredentialKeyRequest.d.ts +38 -0
- package/dist/models/SetCredentialKeyRequest.js +52 -0
- package/dist/models/SetCustomApiRequest.d.ts +38 -0
- package/dist/models/SetCustomApiRequest.js +54 -0
- package/dist/models/SetSandboxAiAccessRequest.d.ts +32 -0
- package/dist/models/SetSandboxAiAccessRequest.js +50 -0
- package/dist/models/UpdateAiProxyRequest.d.ts +32 -0
- package/dist/models/UpdateAiProxyRequest.js +50 -0
- package/dist/models/UpdateCredentialProfileRequest.d.ts +38 -0
- package/dist/models/UpdateCredentialProfileRequest.js +50 -0
- package/dist/models/UpdateSandboxEnvironmentRequest.d.ts +12 -0
- package/dist/models/UpdateSandboxEnvironmentRequest.js +4 -0
- package/dist/models/index.d.ts +22 -0
- package/dist/models/index.js +22 -0
- package/docs/AccountAiUsageResponse.md +48 -0
- package/docs/AiProxySettings.md +48 -0
- package/docs/AiProxySettingsAllOfPricing.md +34 -0
- package/docs/AiUsageRow.md +48 -0
- package/docs/AiUsageTotals.md +43 -0
- package/docs/BoatApi.md +1588 -212
- package/docs/CreateCredentialProfileRequest.md +36 -0
- package/docs/CredentialAccount.md +39 -0
- package/docs/CredentialAccountsResponse.md +42 -0
- package/docs/CredentialId.md +31 -0
- package/docs/CredentialProfile.md +51 -0
- package/docs/CredentialProfileDeletedResponse.md +36 -0
- package/docs/CredentialProfileListResponse.md +36 -0
- package/docs/CredentialProfileOwner.md +38 -0
- package/docs/CredentialProfileResponse.md +38 -0
- package/docs/SandboxAiAccessResponse.md +40 -0
- package/docs/SandboxAiUsage.md +42 -0
- package/docs/SandboxAiUsageResponse.md +50 -0
- package/docs/SandboxEnvironment.md +4 -0
- package/docs/SetCredentialKeyRequest.md +34 -0
- package/docs/SetCustomApiRequest.md +34 -0
- package/docs/SetSandboxAiAccessRequest.md +32 -0
- package/docs/UpdateAiProxyRequest.md +32 -0
- package/docs/UpdateCredentialProfileRequest.md +34 -0
- package/docs/UpdateSandboxEnvironmentRequest.md +4 -0
- package/package.json +1 -1
- package/src/apis/BoatApi.ts +1440 -133
- package/src/models/AccountAiUsageResponse.ts +160 -0
- package/src/models/AiProxySettings.ts +146 -0
- package/src/models/AiProxySettingsAllOfPricing.ts +75 -0
- package/src/models/AiUsageRow.ts +138 -0
- package/src/models/AiUsageTotals.ts +111 -0
- package/src/models/CreateCredentialProfileRequest.ts +82 -0
- package/src/models/CredentialAccount.ts +92 -0
- package/src/models/CredentialAccountsResponse.ts +128 -0
- package/src/models/CredentialId.ts +64 -0
- package/src/models/CredentialProfile.ts +168 -0
- package/src/models/CredentialProfileDeletedResponse.ts +84 -0
- package/src/models/CredentialProfileListResponse.ts +92 -0
- package/src/models/CredentialProfileOwner.ts +104 -0
- package/src/models/CredentialProfileResponse.ts +101 -0
- package/src/models/ProcessListResponse.ts +1 -1
- package/src/models/SandboxAiAccessResponse.ts +102 -0
- package/src/models/SandboxAiUsage.ts +126 -0
- package/src/models/SandboxAiUsageResponse.ts +162 -0
- package/src/models/SandboxEnvironment.ts +17 -1
- package/src/models/SetCredentialKeyRequest.ts +74 -0
- package/src/models/SetCustomApiRequest.ts +75 -0
- package/src/models/SetSandboxAiAccessRequest.ts +66 -0
- package/src/models/UpdateAiProxyRequest.ts +66 -0
- package/src/models/UpdateCredentialProfileRequest.ts +73 -0
- package/src/models/UpdateSandboxEnvironmentRequest.ts +16 -0
- package/src/models/index.ts +22 -0
package/docs/BoatApi.md
CHANGED
|
@@ -4,6 +4,7 @@ All URIs are relative to *https://boat.dev/api/v1*
|
|
|
4
4
|
|
|
5
5
|
| Method | HTTP request | Description |
|
|
6
6
|
|------------- | ------------- | -------------|
|
|
7
|
+
| [**addCredentialAccount**](BoatApi.md#addcredentialaccount) | **POST** /credential-profiles/{profile}/accounts/{credential} | Add another API key to a credential |
|
|
7
8
|
| [**addEnvironmentRepo**](BoatApi.md#addenvironmentrepooperation) | **POST** /environments/{environmentId}/repos | Add a repository to an environment |
|
|
8
9
|
| [**apiKeyUsage**](BoatApi.md#apikeyusage) | **GET** /api-keys/{apiKeyId}/usage | Get API key usage |
|
|
9
10
|
| [**apiKeys**](BoatApi.md#apikeys) | **GET** /api-keys | List API keys |
|
|
@@ -15,12 +16,17 @@ All URIs are relative to *https://boat.dev/api/v1*
|
|
|
15
16
|
| [**commandStatus**](BoatApi.md#commandstatus) | **GET** /sandboxes/{sandboxId}/commands/{processId} | Get detached command status and logs |
|
|
16
17
|
| [**conversations**](BoatApi.md#conversations) | **GET** /sandboxes/{sandboxId}/conversations | List boat conversations |
|
|
17
18
|
| [**create**](BoatApi.md#create) | **POST** /sandboxes | Create sandbox |
|
|
19
|
+
| [**createCredentialProfile**](BoatApi.md#createcredentialprofileoperation) | **POST** /credential-profiles | Create a credential profile |
|
|
18
20
|
| [**createDownloadUrl**](BoatApi.md#createdownloadurl) | **POST** /sandboxes/{sandboxId}/files/download-url | Get a download URL for a sandbox file |
|
|
19
21
|
| [**createEnvironment**](BoatApi.md#createenvironment) | **POST** /environments | Create a sandbox environment |
|
|
20
22
|
| [**createScopedApiKey**](BoatApi.md#createscopedapikeyoperation) | **POST** /api-keys/scoped | Create a scoped API key |
|
|
21
23
|
| [**createSnapshotShare**](BoatApi.md#createsnapshotshare) | **POST** /named-snapshots/{name}/shares | Share a named snapshot |
|
|
22
24
|
| [**createUploadUrl**](BoatApi.md#createuploadurl) | **POST** /sandboxes/{sandboxId}/files/upload-url | Get an upload URL for a sandbox file |
|
|
23
25
|
| [**createWebhook**](BoatApi.md#createwebhook) | **POST** /webhooks | Create webhook |
|
|
26
|
+
| [**deleteCredentialAccount**](BoatApi.md#deletecredentialaccount) | **DELETE** /credential-profiles/{profile}/accounts/{credential}/{account} | Forget an account of a credential |
|
|
27
|
+
| [**deleteCredentialProfile**](BoatApi.md#deletecredentialprofile) | **DELETE** /credential-profiles/{profile} | Delete a credential profile |
|
|
28
|
+
| [**deleteCredentialProfileCustomApi**](BoatApi.md#deletecredentialprofilecustomapi) | **DELETE** /credential-profiles/{profile}/custom-apis/{name} | Remove a custom API |
|
|
29
|
+
| [**deleteCredentialProfileKey**](BoatApi.md#deletecredentialprofilekey) | **DELETE** /credential-profiles/{profile}/keys/{credential} | Remove a credential profile credential |
|
|
24
30
|
| [**deleteEnvironment**](BoatApi.md#deleteenvironment) | **DELETE** /environments/{environmentId} | Delete a sandbox environment |
|
|
25
31
|
| [**deleteEnvironmentRepo**](BoatApi.md#deleteenvironmentrepo) | **DELETE** /environments/{environmentId}/repos/{repositoryId} | Remove a repository from an environment |
|
|
26
32
|
| [**deleteEnvironmentSecretFile**](BoatApi.md#deleteenvironmentsecretfile) | **DELETE** /environments/{environmentId}/secret-files | Remove one secret file |
|
|
@@ -36,11 +42,14 @@ All URIs are relative to *https://boat.dev/api/v1*
|
|
|
36
42
|
| [**events**](BoatApi.md#events) | **GET** /sandboxes/{sandboxId}/events | List boat events |
|
|
37
43
|
| [**fork**](BoatApi.md#forkoperation) | **POST** /sandboxes/{sandboxId}/fork | Fork sandbox |
|
|
38
44
|
| [**get**](BoatApi.md#get) | **GET** /sandboxes/{sandboxId} | Get sandbox |
|
|
45
|
+
| [**getAiProxy**](BoatApi.md#getaiproxy) | **GET** /ai-proxy | Get AI credentials proxy |
|
|
46
|
+
| [**getAiUsage**](BoatApi.md#getaiusage) | **GET** /ai-usage | Get AI usage |
|
|
39
47
|
| [**getCommand**](BoatApi.md#getcommand) | **GET** /sandboxes/{sandboxId}/command-history/{commandId} | Get one command from the history |
|
|
40
48
|
| [**getDataRetention**](BoatApi.md#getdataretention) | **GET** /account/data-retention | Get account data-retention policy |
|
|
41
49
|
| [**getDeletionOperation**](BoatApi.md#getdeletionoperation) | **GET** /deletion-operations/{operationId} | Get deletion operation |
|
|
42
50
|
| [**getLatestSandboxSnapshot**](BoatApi.md#getlatestsandboxsnapshot) | **GET** /sandboxes/{sandboxId}/snapshots/latest | Get latest boat snapshot |
|
|
43
51
|
| [**getNamedSnapshot**](BoatApi.md#getnamedsnapshot) | **GET** /named-snapshots/{name} | Get a named snapshot |
|
|
52
|
+
| [**getSandboxAiUsage**](BoatApi.md#getsandboxaiusage) | **GET** /sandboxes/{sandboxId}/ai-usage | Get sandbox AI usage |
|
|
44
53
|
| [**getSnapshotDownload**](BoatApi.md#getsnapshotdownload) | **GET** /snapshots/{snapshotId}/download | Get snapshot download |
|
|
45
54
|
| [**getSnapshotFile**](BoatApi.md#getsnapshotfile) | **GET** /snapshots/{snapshotId}/files | Download a file or folder from a snapshot |
|
|
46
55
|
| [**getSnapshotTree**](BoatApi.md#getsnapshottree) | **GET** /snapshots/{snapshotId}/tree | Get snapshot file tree |
|
|
@@ -50,6 +59,8 @@ All URIs are relative to *https://boat.dev/api/v1*
|
|
|
50
59
|
| [**hostPort**](BoatApi.md#hostportoperation) | **POST** /sandboxes/{sandboxId}/host | Expose a sandbox port on a public HTTPS URL |
|
|
51
60
|
| [**interrupt**](BoatApi.md#interrupt) | **POST** /sandboxes/{sandboxId}/interrupt | Interrupt running work |
|
|
52
61
|
| [**limits**](BoatApi.md#limits) | **GET** /limits | Get Boat limits |
|
|
62
|
+
| [**listCredentialAccounts**](BoatApi.md#listcredentialaccounts) | **GET** /credential-profiles/{profile}/accounts/{credential} | List the accounts of a credential |
|
|
63
|
+
| [**listCredentialProfiles**](BoatApi.md#listcredentialprofiles) | **GET** /credential-profiles | List credential profiles |
|
|
53
64
|
| [**listNamedSnapshots**](BoatApi.md#listnamedsnapshots) | **GET** /named-snapshots | List named snapshots |
|
|
54
65
|
| [**listOrganizations**](BoatApi.md#listorganizations) | **GET** /orgs | List organizations |
|
|
55
66
|
| [**listSandboxSnapshots**](BoatApi.md#listsandboxsnapshots) | **GET** /sandboxes/{sandboxId}/snapshots | List boat snapshots |
|
|
@@ -73,15 +84,21 @@ All URIs are relative to *https://boat.dev/api/v1*
|
|
|
73
84
|
| [**secrets**](BoatApi.md#secrets) | **GET** /secrets | Get Boat secrets setup |
|
|
74
85
|
| [**selectRepo**](BoatApi.md#selectrepo) | **POST** /repos | Select repository for sandboxes |
|
|
75
86
|
| [**setActiveOrganization**](BoatApi.md#setactiveorganization) | **PATCH** /orgs/active | Set the active organization |
|
|
87
|
+
| [**setCredentialProfileCustomApi**](BoatApi.md#setcredentialprofilecustomapi) | **PUT** /credential-profiles/{profile}/custom-apis/{name} | Set a custom API |
|
|
88
|
+
| [**setCredentialProfileKey**](BoatApi.md#setcredentialprofilekey) | **PUT** /credential-profiles/{profile}/keys/{credential} | Set a credential profile API key |
|
|
76
89
|
| [**setEnvironmentSecretFile**](BoatApi.md#setenvironmentsecretfileoperation) | **PUT** /environments/{environmentId}/secret-files | Write one secret file |
|
|
77
90
|
| [**setEnvironmentVar**](BoatApi.md#setenvironmentvaroperation) | **PUT** /environments/{environmentId}/vars/{key} | Set one environment variable |
|
|
91
|
+
| [**setSandboxAiAccess**](BoatApi.md#setsandboxaiaccessoperation) | **PUT** /sandboxes/{sandboxId}/ai-access | Block or unblock sandbox AI access |
|
|
78
92
|
| [**setTelemetry**](BoatApi.md#settelemetry) | **PUT** /telemetry | Set OpenTelemetry export |
|
|
79
93
|
| [**share**](BoatApi.md#share) | **POST** /sandboxes/{sandboxId}/share | Share sandbox with the organization |
|
|
80
94
|
| [**sshKey**](BoatApi.md#sshkeyoperation) | **POST** /sandboxes/{sandboxId}/sshkey | Configure sandbox SSH key |
|
|
81
95
|
| [**steer**](BoatApi.md#steeroperation) | **POST** /sandboxes/{sandboxId}/steer | Steer a running turn |
|
|
82
96
|
| [**stop**](BoatApi.md#stopoperation) | **POST** /sandboxes/{sandboxId}/stop | Stop and archive sandbox |
|
|
83
97
|
| [**stopCommand**](BoatApi.md#stopcommand) | **DELETE** /sandboxes/{sandboxId}/commands/{processId} | Stop a detached command |
|
|
98
|
+
| [**switchCredentialAccount**](BoatApi.md#switchcredentialaccount) | **PUT** /credential-profiles/{profile}/accounts/{credential}/{account}/active | Switch a credential to another account |
|
|
84
99
|
| [**update**](BoatApi.md#update) | **PATCH** /sandboxes/{sandboxId} | Update sandbox |
|
|
100
|
+
| [**updateAiProxy**](BoatApi.md#updateaiproxyoperation) | **PUT** /ai-proxy | Turn the AI credentials proxy on or off |
|
|
101
|
+
| [**updateCredentialProfile**](BoatApi.md#updatecredentialprofileoperation) | **PUT** /credential-profiles/{profile} | Update a credential profile |
|
|
85
102
|
| [**updateDataRetention**](BoatApi.md#updatedataretention) | **PATCH** /account/data-retention | Update account data-retention policy |
|
|
86
103
|
| [**updateEnvironment**](BoatApi.md#updateenvironment) | **PUT** /environments/{environmentId} | Update a sandbox environment |
|
|
87
104
|
| [**updateSecrets**](BoatApi.md#updatesecrets) | **POST** /secrets | Update Boat secrets setup |
|
|
@@ -92,9 +109,90 @@ All URIs are relative to *https://boat.dev/api/v1*
|
|
|
92
109
|
|
|
93
110
|
|
|
94
111
|
|
|
112
|
+
## addCredentialAccount
|
|
113
|
+
|
|
114
|
+
> CredentialAccountsResponse addCredentialAccount(profile, credential, setCredentialKeyRequest)
|
|
115
|
+
|
|
116
|
+
Add another API key to a credential
|
|
117
|
+
|
|
118
|
+
Adds an API key as another account of the credential, ready to switch to. The first key of a credential becomes the one in use. A sign-in returns `400 not_an_api_key`; add another sign-in with \"Add another account\" on the dashboard. Needs an API key with `account.admin`.
|
|
119
|
+
|
|
120
|
+
### Example
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import {
|
|
124
|
+
Configuration,
|
|
125
|
+
BoatApi,
|
|
126
|
+
} from '@boatdev/sdk';
|
|
127
|
+
import type { AddCredentialAccountRequest } from '@boatdev/sdk';
|
|
128
|
+
|
|
129
|
+
async function example() {
|
|
130
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
131
|
+
const config = new Configuration({
|
|
132
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
133
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
134
|
+
});
|
|
135
|
+
const api = new BoatApi(config);
|
|
136
|
+
|
|
137
|
+
const body = {
|
|
138
|
+
// string | Profile id or name.
|
|
139
|
+
profile: profile_example,
|
|
140
|
+
// CredentialId
|
|
141
|
+
credential: ...,
|
|
142
|
+
// SetCredentialKeyRequest
|
|
143
|
+
setCredentialKeyRequest: ...,
|
|
144
|
+
} satisfies AddCredentialAccountRequest;
|
|
145
|
+
|
|
146
|
+
try {
|
|
147
|
+
const data = await api.addCredentialAccount(body);
|
|
148
|
+
console.log(data);
|
|
149
|
+
} catch (error) {
|
|
150
|
+
console.error(error);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Run the test
|
|
155
|
+
example().catch(console.error);
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Parameters
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
| Name | Type | Description | Notes |
|
|
162
|
+
|------------- | ------------- | ------------- | -------------|
|
|
163
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
164
|
+
| **credential** | `CredentialId` | | [Defaults to `undefined`] [Enum: anthropic-api-key, openai-api-key, openrouter-api-key, llmgateway-api-key, deepseek-api-key, moonshot-api-key, mistral-api-key, claude-subscription, chatgpt-subscription, kimi-subscription, mistral-vibe-subscription, claude-bedrock, codex-bedrock] |
|
|
165
|
+
| **setCredentialKeyRequest** | [SetCredentialKeyRequest](SetCredentialKeyRequest.md) | | |
|
|
166
|
+
|
|
167
|
+
### Return type
|
|
168
|
+
|
|
169
|
+
[**CredentialAccountsResponse**](CredentialAccountsResponse.md)
|
|
170
|
+
|
|
171
|
+
### Authorization
|
|
172
|
+
|
|
173
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
174
|
+
|
|
175
|
+
### HTTP request headers
|
|
176
|
+
|
|
177
|
+
- **Content-Type**: `application/json`
|
|
178
|
+
- **Accept**: `application/json`
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
### HTTP response details
|
|
182
|
+
| Status code | Description | Response headers |
|
|
183
|
+
|-------------|-------------|------------------|
|
|
184
|
+
| **201** | The accounts, the new one included. | - |
|
|
185
|
+
| **400** | Invalid request body or parameters. | - |
|
|
186
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
187
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
188
|
+
| **404** | Resource not found. | - |
|
|
189
|
+
|
|
190
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
191
|
+
|
|
192
|
+
|
|
95
193
|
## addEnvironmentRepo
|
|
96
194
|
|
|
97
|
-
> EnvironmentItemChangeResponse addEnvironmentRepo(environmentId, addEnvironmentRepoRequest)
|
|
195
|
+
> EnvironmentItemChangeResponse addEnvironmentRepo(environmentId, addEnvironmentRepoRequest, org)
|
|
98
196
|
|
|
99
197
|
Add a repository to an environment
|
|
100
198
|
|
|
@@ -122,6 +220,8 @@ async function example() {
|
|
|
122
220
|
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
123
221
|
// AddEnvironmentRepoRequest
|
|
124
222
|
addEnvironmentRepoRequest: ...,
|
|
223
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
224
|
+
org: org_example,
|
|
125
225
|
} satisfies AddEnvironmentRepoOperationRequest;
|
|
126
226
|
|
|
127
227
|
try {
|
|
@@ -143,6 +243,7 @@ example().catch(console.error);
|
|
|
143
243
|
|------------- | ------------- | ------------- | -------------|
|
|
144
244
|
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
145
245
|
| **addEnvironmentRepoRequest** | [AddEnvironmentRepoRequest](AddEnvironmentRepoRequest.md) | | |
|
|
246
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
146
247
|
|
|
147
248
|
### Return type
|
|
148
249
|
|
|
@@ -907,7 +1008,7 @@ async function example() {
|
|
|
907
1008
|
const body = {
|
|
908
1009
|
// string | Optional exactly-once key for creating a sandbox. Send your own opaque, account-unique value (a UUID) to make `POST /sandboxes` safe to retry when the response is lost (network timeout, 5xx): the first request creates the sandbox and binds it to the key; every later request with the **same account, key, and request body** returns that same sandbox instead of creating a second, billable one. Behavior: keys are retained for **24 hours**; a concurrent or early retry while the first sandbox is still being minted returns `409` `idempotency_in_progress` (retry shortly, same key); reusing a key with a **different body** returns `409` `idempotency_key_reused`; timeouts and 5xx are safe to retry with the same key; a create that fails before the sandbox exists releases the key within ~2 minutes so a retry can create the sandbox. Omit the header to keep the default (non-idempotent) behavior. (optional)
|
|
909
1010
|
idempotencyKey: idempotencyKey_example,
|
|
910
|
-
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes
|
|
1011
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
911
1012
|
org: org_example,
|
|
912
1013
|
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
913
1014
|
xBoatOrg: xBoatOrg_example,
|
|
@@ -933,7 +1034,7 @@ example().catch(console.error);
|
|
|
933
1034
|
| Name | Type | Description | Notes |
|
|
934
1035
|
|------------- | ------------- | ------------- | -------------|
|
|
935
1036
|
| **idempotencyKey** | `string` | Optional exactly-once key for creating a sandbox. Send your own opaque, account-unique value (a UUID) to make `POST /sandboxes` safe to retry when the response is lost (network timeout, 5xx): the first request creates the sandbox and binds it to the key; every later request with the **same account, key, and request body** returns that same sandbox instead of creating a second, billable one. Behavior: keys are retained for **24 hours**; a concurrent or early retry while the first sandbox is still being minted returns `409` `idempotency_in_progress` (retry shortly, same key); reusing a key with a **different body** returns `409` `idempotency_key_reused`; timeouts and 5xx are safe to retry with the same key; a create that fails before the sandbox exists releases the key within ~2 minutes so a retry can create the sandbox. Omit the header to keep the default (non-idempotent) behavior. | [Optional] [Defaults to `undefined`] |
|
|
936
|
-
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes
|
|
1037
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
937
1038
|
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
938
1039
|
| **createSandboxRequest** | [CreateSandboxRequest](CreateSandboxRequest.md) | | [Optional] |
|
|
939
1040
|
|
|
@@ -964,6 +1065,81 @@ example().catch(console.error);
|
|
|
964
1065
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
965
1066
|
|
|
966
1067
|
|
|
1068
|
+
## createCredentialProfile
|
|
1069
|
+
|
|
1070
|
+
> CredentialProfileResponse createCredentialProfile(createCredentialProfileRequest)
|
|
1071
|
+
|
|
1072
|
+
Create a credential profile
|
|
1073
|
+
|
|
1074
|
+
Creates an empty profile, or a copy of `copyFrom`. With `org`, the profile belongs to that organization and only its owners can create it. Needs an API key with `account.admin`.
|
|
1075
|
+
|
|
1076
|
+
### Example
|
|
1077
|
+
|
|
1078
|
+
```ts
|
|
1079
|
+
import {
|
|
1080
|
+
Configuration,
|
|
1081
|
+
BoatApi,
|
|
1082
|
+
} from '@boatdev/sdk';
|
|
1083
|
+
import type { CreateCredentialProfileOperationRequest } from '@boatdev/sdk';
|
|
1084
|
+
|
|
1085
|
+
async function example() {
|
|
1086
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
1087
|
+
const config = new Configuration({
|
|
1088
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
1089
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
1090
|
+
});
|
|
1091
|
+
const api = new BoatApi(config);
|
|
1092
|
+
|
|
1093
|
+
const body = {
|
|
1094
|
+
// CreateCredentialProfileRequest
|
|
1095
|
+
createCredentialProfileRequest: {"name":"work","copyFrom":"default"},
|
|
1096
|
+
} satisfies CreateCredentialProfileOperationRequest;
|
|
1097
|
+
|
|
1098
|
+
try {
|
|
1099
|
+
const data = await api.createCredentialProfile(body);
|
|
1100
|
+
console.log(data);
|
|
1101
|
+
} catch (error) {
|
|
1102
|
+
console.error(error);
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
// Run the test
|
|
1107
|
+
example().catch(console.error);
|
|
1108
|
+
```
|
|
1109
|
+
|
|
1110
|
+
### Parameters
|
|
1111
|
+
|
|
1112
|
+
|
|
1113
|
+
| Name | Type | Description | Notes |
|
|
1114
|
+
|------------- | ------------- | ------------- | -------------|
|
|
1115
|
+
| **createCredentialProfileRequest** | [CreateCredentialProfileRequest](CreateCredentialProfileRequest.md) | | |
|
|
1116
|
+
|
|
1117
|
+
### Return type
|
|
1118
|
+
|
|
1119
|
+
[**CredentialProfileResponse**](CredentialProfileResponse.md)
|
|
1120
|
+
|
|
1121
|
+
### Authorization
|
|
1122
|
+
|
|
1123
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
1124
|
+
|
|
1125
|
+
### HTTP request headers
|
|
1126
|
+
|
|
1127
|
+
- **Content-Type**: `application/json`
|
|
1128
|
+
- **Accept**: `application/json`
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
### HTTP response details
|
|
1132
|
+
| Status code | Description | Response headers |
|
|
1133
|
+
|-------------|-------------|------------------|
|
|
1134
|
+
| **201** | Profile created. | - |
|
|
1135
|
+
| **400** | Invalid request body or parameters. | - |
|
|
1136
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
1137
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
1138
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
1139
|
+
|
|
1140
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1141
|
+
|
|
1142
|
+
|
|
967
1143
|
## createDownloadUrl
|
|
968
1144
|
|
|
969
1145
|
> FileUrlResponse createDownloadUrl(sandboxId, fileUrlRequest)
|
|
@@ -1044,7 +1220,7 @@ example().catch(console.error);
|
|
|
1044
1220
|
|
|
1045
1221
|
## createEnvironment
|
|
1046
1222
|
|
|
1047
|
-
> SandboxEnvironmentListResponse createEnvironment(createSandboxEnvironmentRequest)
|
|
1223
|
+
> SandboxEnvironmentListResponse createEnvironment(createSandboxEnvironmentRequest, org)
|
|
1048
1224
|
|
|
1049
1225
|
Create a sandbox environment
|
|
1050
1226
|
|
|
@@ -1070,6 +1246,8 @@ async function example() {
|
|
|
1070
1246
|
const body = {
|
|
1071
1247
|
// CreateSandboxEnvironmentRequest
|
|
1072
1248
|
createSandboxEnvironmentRequest: ...,
|
|
1249
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
1250
|
+
org: org_example,
|
|
1073
1251
|
} satisfies CreateEnvironmentRequest;
|
|
1074
1252
|
|
|
1075
1253
|
try {
|
|
@@ -1090,6 +1268,7 @@ example().catch(console.error);
|
|
|
1090
1268
|
| Name | Type | Description | Notes |
|
|
1091
1269
|
|------------- | ------------- | ------------- | -------------|
|
|
1092
1270
|
| **createSandboxEnvironmentRequest** | [CreateSandboxEnvironmentRequest](CreateSandboxEnvironmentRequest.md) | | |
|
|
1271
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
1093
1272
|
|
|
1094
1273
|
### Return type
|
|
1095
1274
|
|
|
@@ -1416,13 +1595,13 @@ example().catch(console.error);
|
|
|
1416
1595
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1417
1596
|
|
|
1418
1597
|
|
|
1419
|
-
##
|
|
1598
|
+
## deleteCredentialAccount
|
|
1420
1599
|
|
|
1421
|
-
>
|
|
1600
|
+
> CredentialAccountsResponse deleteCredentialAccount(profile, credential, account)
|
|
1422
1601
|
|
|
1423
|
-
|
|
1602
|
+
Forget an account of a credential
|
|
1424
1603
|
|
|
1425
|
-
|
|
1604
|
+
Deletes an account. For the account in use, the credential switches to another account first, or is removed when it was the last one. Needs an API key with `account.admin`.
|
|
1426
1605
|
|
|
1427
1606
|
### Example
|
|
1428
1607
|
|
|
@@ -1431,7 +1610,7 @@ import {
|
|
|
1431
1610
|
Configuration,
|
|
1432
1611
|
BoatApi,
|
|
1433
1612
|
} from '@boatdev/sdk';
|
|
1434
|
-
import type {
|
|
1613
|
+
import type { DeleteCredentialAccountRequest } from '@boatdev/sdk';
|
|
1435
1614
|
|
|
1436
1615
|
async function example() {
|
|
1437
1616
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -1442,12 +1621,16 @@ async function example() {
|
|
|
1442
1621
|
const api = new BoatApi(config);
|
|
1443
1622
|
|
|
1444
1623
|
const body = {
|
|
1445
|
-
// string |
|
|
1446
|
-
|
|
1447
|
-
|
|
1624
|
+
// string | Profile id or name.
|
|
1625
|
+
profile: profile_example,
|
|
1626
|
+
// CredentialId
|
|
1627
|
+
credential: ...,
|
|
1628
|
+
// string | The account id from the list.
|
|
1629
|
+
account: account_example,
|
|
1630
|
+
} satisfies DeleteCredentialAccountRequest;
|
|
1448
1631
|
|
|
1449
1632
|
try {
|
|
1450
|
-
const data = await api.
|
|
1633
|
+
const data = await api.deleteCredentialAccount(body);
|
|
1451
1634
|
console.log(data);
|
|
1452
1635
|
} catch (error) {
|
|
1453
1636
|
console.error(error);
|
|
@@ -1463,11 +1646,13 @@ example().catch(console.error);
|
|
|
1463
1646
|
|
|
1464
1647
|
| Name | Type | Description | Notes |
|
|
1465
1648
|
|------------- | ------------- | ------------- | -------------|
|
|
1466
|
-
| **
|
|
1649
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
1650
|
+
| **credential** | `CredentialId` | | [Defaults to `undefined`] [Enum: anthropic-api-key, openai-api-key, openrouter-api-key, llmgateway-api-key, deepseek-api-key, moonshot-api-key, mistral-api-key, claude-subscription, chatgpt-subscription, kimi-subscription, mistral-vibe-subscription, claude-bedrock, codex-bedrock] |
|
|
1651
|
+
| **account** | `string` | The account id from the list. | [Defaults to `undefined`] |
|
|
1467
1652
|
|
|
1468
1653
|
### Return type
|
|
1469
1654
|
|
|
1470
|
-
[**
|
|
1655
|
+
[**CredentialAccountsResponse**](CredentialAccountsResponse.md)
|
|
1471
1656
|
|
|
1472
1657
|
### Authorization
|
|
1473
1658
|
|
|
@@ -1482,21 +1667,22 @@ example().catch(console.error);
|
|
|
1482
1667
|
### HTTP response details
|
|
1483
1668
|
| Status code | Description | Response headers |
|
|
1484
1669
|
|-------------|-------------|------------------|
|
|
1485
|
-
| **200** |
|
|
1670
|
+
| **200** | The accounts left. | - |
|
|
1671
|
+
| **400** | Invalid request body or parameters. | - |
|
|
1486
1672
|
| **401** | Missing or invalid bearer token. | - |
|
|
1673
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
1487
1674
|
| **404** | Resource not found. | - |
|
|
1488
|
-
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
1489
1675
|
|
|
1490
1676
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1491
1677
|
|
|
1492
1678
|
|
|
1493
|
-
##
|
|
1679
|
+
## deleteCredentialProfile
|
|
1494
1680
|
|
|
1495
|
-
>
|
|
1681
|
+
> CredentialProfileDeletedResponse deleteCredentialProfile(profile)
|
|
1496
1682
|
|
|
1497
|
-
|
|
1683
|
+
Delete a credential profile
|
|
1498
1684
|
|
|
1499
|
-
|
|
1685
|
+
Deletes the profile. A default profile returns `409 is_default`. A profile that an environment names returns `409 in_use`. Needs an API key with `account.admin`.
|
|
1500
1686
|
|
|
1501
1687
|
### Example
|
|
1502
1688
|
|
|
@@ -1505,7 +1691,7 @@ import {
|
|
|
1505
1691
|
Configuration,
|
|
1506
1692
|
BoatApi,
|
|
1507
1693
|
} from '@boatdev/sdk';
|
|
1508
|
-
import type {
|
|
1694
|
+
import type { DeleteCredentialProfileRequest } from '@boatdev/sdk';
|
|
1509
1695
|
|
|
1510
1696
|
async function example() {
|
|
1511
1697
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -1516,14 +1702,12 @@ async function example() {
|
|
|
1516
1702
|
const api = new BoatApi(config);
|
|
1517
1703
|
|
|
1518
1704
|
const body = {
|
|
1519
|
-
// string
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
repositoryId: repositoryId_example,
|
|
1523
|
-
} satisfies DeleteEnvironmentRepoRequest;
|
|
1705
|
+
// string | Profile id or name.
|
|
1706
|
+
profile: profile_example,
|
|
1707
|
+
} satisfies DeleteCredentialProfileRequest;
|
|
1524
1708
|
|
|
1525
1709
|
try {
|
|
1526
|
-
const data = await api.
|
|
1710
|
+
const data = await api.deleteCredentialProfile(body);
|
|
1527
1711
|
console.log(data);
|
|
1528
1712
|
} catch (error) {
|
|
1529
1713
|
console.error(error);
|
|
@@ -1539,12 +1723,11 @@ example().catch(console.error);
|
|
|
1539
1723
|
|
|
1540
1724
|
| Name | Type | Description | Notes |
|
|
1541
1725
|
|------------- | ------------- | ------------- | -------------|
|
|
1542
|
-
| **
|
|
1543
|
-
| **repositoryId** | `string` | The repository `databaseId`. | [Defaults to `undefined`] |
|
|
1726
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
1544
1727
|
|
|
1545
1728
|
### Return type
|
|
1546
1729
|
|
|
1547
|
-
[**
|
|
1730
|
+
[**CredentialProfileDeletedResponse**](CredentialProfileDeletedResponse.md)
|
|
1548
1731
|
|
|
1549
1732
|
### Authorization
|
|
1550
1733
|
|
|
@@ -1559,20 +1742,22 @@ example().catch(console.error);
|
|
|
1559
1742
|
### HTTP response details
|
|
1560
1743
|
| Status code | Description | Response headers |
|
|
1561
1744
|
|-------------|-------------|------------------|
|
|
1562
|
-
| **200** |
|
|
1745
|
+
| **200** | Profile deleted. | - |
|
|
1563
1746
|
| **401** | Missing or invalid bearer token. | - |
|
|
1747
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
1564
1748
|
| **404** | Resource not found. | - |
|
|
1749
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
1565
1750
|
|
|
1566
1751
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1567
1752
|
|
|
1568
1753
|
|
|
1569
|
-
##
|
|
1754
|
+
## deleteCredentialProfileCustomApi
|
|
1570
1755
|
|
|
1571
|
-
>
|
|
1756
|
+
> CredentialProfileResponse deleteCredentialProfileCustomApi(profile, name)
|
|
1572
1757
|
|
|
1573
|
-
Remove
|
|
1758
|
+
Remove a custom API
|
|
1574
1759
|
|
|
1575
|
-
Removes the
|
|
1760
|
+
Removes one custom API from the profile. Needs an API key with `account.admin`.
|
|
1576
1761
|
|
|
1577
1762
|
### Example
|
|
1578
1763
|
|
|
@@ -1581,7 +1766,7 @@ import {
|
|
|
1581
1766
|
Configuration,
|
|
1582
1767
|
BoatApi,
|
|
1583
1768
|
} from '@boatdev/sdk';
|
|
1584
|
-
import type {
|
|
1769
|
+
import type { DeleteCredentialProfileCustomApiRequest } from '@boatdev/sdk';
|
|
1585
1770
|
|
|
1586
1771
|
async function example() {
|
|
1587
1772
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -1592,14 +1777,14 @@ async function example() {
|
|
|
1592
1777
|
const api = new BoatApi(config);
|
|
1593
1778
|
|
|
1594
1779
|
const body = {
|
|
1595
|
-
// string
|
|
1596
|
-
|
|
1597
|
-
// string
|
|
1598
|
-
|
|
1599
|
-
} satisfies
|
|
1780
|
+
// string | Profile id or name.
|
|
1781
|
+
profile: profile_example,
|
|
1782
|
+
// string | Environment variable name of the custom API, for example `STRIPE_KEY`. Provider names (`ANTHROPIC_*`, `OPENAI_*`, and so on) and names that end in `_BASE_URL` are reserved.
|
|
1783
|
+
name: name_example,
|
|
1784
|
+
} satisfies DeleteCredentialProfileCustomApiRequest;
|
|
1600
1785
|
|
|
1601
1786
|
try {
|
|
1602
|
-
const data = await api.
|
|
1787
|
+
const data = await api.deleteCredentialProfileCustomApi(body);
|
|
1603
1788
|
console.log(data);
|
|
1604
1789
|
} catch (error) {
|
|
1605
1790
|
console.error(error);
|
|
@@ -1615,12 +1800,12 @@ example().catch(console.error);
|
|
|
1615
1800
|
|
|
1616
1801
|
| Name | Type | Description | Notes |
|
|
1617
1802
|
|------------- | ------------- | ------------- | -------------|
|
|
1618
|
-
| **
|
|
1619
|
-
| **
|
|
1803
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
1804
|
+
| **name** | `string` | Environment variable name of the custom API, for example `STRIPE_KEY`. Provider names (`ANTHROPIC_*`, `OPENAI_*`, and so on) and names that end in `_BASE_URL` are reserved. | [Defaults to `undefined`] |
|
|
1620
1805
|
|
|
1621
1806
|
### Return type
|
|
1622
1807
|
|
|
1623
|
-
[**
|
|
1808
|
+
[**CredentialProfileResponse**](CredentialProfileResponse.md)
|
|
1624
1809
|
|
|
1625
1810
|
### Authorization
|
|
1626
1811
|
|
|
@@ -1635,20 +1820,21 @@ example().catch(console.error);
|
|
|
1635
1820
|
### HTTP response details
|
|
1636
1821
|
| Status code | Description | Response headers |
|
|
1637
1822
|
|-------------|-------------|------------------|
|
|
1638
|
-
| **200** |
|
|
1823
|
+
| **200** | The updated profile. | - |
|
|
1639
1824
|
| **401** | Missing or invalid bearer token. | - |
|
|
1825
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
1640
1826
|
| **404** | Resource not found. | - |
|
|
1641
1827
|
|
|
1642
1828
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1643
1829
|
|
|
1644
1830
|
|
|
1645
|
-
##
|
|
1831
|
+
## deleteCredentialProfileKey
|
|
1646
1832
|
|
|
1647
|
-
>
|
|
1833
|
+
> CredentialProfileResponse deleteCredentialProfileKey(profile, credential)
|
|
1648
1834
|
|
|
1649
|
-
Remove
|
|
1835
|
+
Remove a credential profile credential
|
|
1650
1836
|
|
|
1651
|
-
Removes
|
|
1837
|
+
Removes one credential, an API key or a sign-in. Needs an API key with `account.admin`.
|
|
1652
1838
|
|
|
1653
1839
|
### Example
|
|
1654
1840
|
|
|
@@ -1657,7 +1843,7 @@ import {
|
|
|
1657
1843
|
Configuration,
|
|
1658
1844
|
BoatApi,
|
|
1659
1845
|
} from '@boatdev/sdk';
|
|
1660
|
-
import type {
|
|
1846
|
+
import type { DeleteCredentialProfileKeyRequest } from '@boatdev/sdk';
|
|
1661
1847
|
|
|
1662
1848
|
async function example() {
|
|
1663
1849
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -1668,14 +1854,14 @@ async function example() {
|
|
|
1668
1854
|
const api = new BoatApi(config);
|
|
1669
1855
|
|
|
1670
1856
|
const body = {
|
|
1671
|
-
// string
|
|
1672
|
-
|
|
1673
|
-
//
|
|
1674
|
-
|
|
1675
|
-
} satisfies
|
|
1857
|
+
// string | Profile id or name.
|
|
1858
|
+
profile: profile_example,
|
|
1859
|
+
// CredentialId
|
|
1860
|
+
credential: ...,
|
|
1861
|
+
} satisfies DeleteCredentialProfileKeyRequest;
|
|
1676
1862
|
|
|
1677
1863
|
try {
|
|
1678
|
-
const data = await api.
|
|
1864
|
+
const data = await api.deleteCredentialProfileKey(body);
|
|
1679
1865
|
console.log(data);
|
|
1680
1866
|
} catch (error) {
|
|
1681
1867
|
console.error(error);
|
|
@@ -1691,12 +1877,12 @@ example().catch(console.error);
|
|
|
1691
1877
|
|
|
1692
1878
|
| Name | Type | Description | Notes |
|
|
1693
1879
|
|------------- | ------------- | ------------- | -------------|
|
|
1694
|
-
| **
|
|
1695
|
-
| **
|
|
1880
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
1881
|
+
| **credential** | `CredentialId` | | [Defaults to `undefined`] [Enum: anthropic-api-key, openai-api-key, openrouter-api-key, llmgateway-api-key, deepseek-api-key, moonshot-api-key, mistral-api-key, claude-subscription, chatgpt-subscription, kimi-subscription, mistral-vibe-subscription, claude-bedrock, codex-bedrock] |
|
|
1696
1882
|
|
|
1697
1883
|
### Return type
|
|
1698
1884
|
|
|
1699
|
-
[**
|
|
1885
|
+
[**CredentialProfileResponse**](CredentialProfileResponse.md)
|
|
1700
1886
|
|
|
1701
1887
|
### Authorization
|
|
1702
1888
|
|
|
@@ -1711,20 +1897,22 @@ example().catch(console.error);
|
|
|
1711
1897
|
### HTTP response details
|
|
1712
1898
|
| Status code | Description | Response headers |
|
|
1713
1899
|
|-------------|-------------|------------------|
|
|
1714
|
-
| **200** |
|
|
1900
|
+
| **200** | The updated profile. | - |
|
|
1901
|
+
| **400** | Invalid request body or parameters. | - |
|
|
1715
1902
|
| **401** | Missing or invalid bearer token. | - |
|
|
1903
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
1716
1904
|
| **404** | Resource not found. | - |
|
|
1717
1905
|
|
|
1718
1906
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1719
1907
|
|
|
1720
1908
|
|
|
1721
|
-
##
|
|
1909
|
+
## deleteEnvironment
|
|
1722
1910
|
|
|
1723
|
-
>
|
|
1911
|
+
> SandboxEnvironmentResponse deleteEnvironment(environmentId, org)
|
|
1724
1912
|
|
|
1725
|
-
|
|
1913
|
+
Delete a sandbox environment
|
|
1726
1914
|
|
|
1727
|
-
|
|
1915
|
+
Soft-deletes an environment. The default environment cannot be deleted, and at least one environment is always kept.
|
|
1728
1916
|
|
|
1729
1917
|
### Example
|
|
1730
1918
|
|
|
@@ -1733,7 +1921,7 @@ import {
|
|
|
1733
1921
|
Configuration,
|
|
1734
1922
|
BoatApi,
|
|
1735
1923
|
} from '@boatdev/sdk';
|
|
1736
|
-
import type {
|
|
1924
|
+
import type { DeleteEnvironmentRequest } from '@boatdev/sdk';
|
|
1737
1925
|
|
|
1738
1926
|
async function example() {
|
|
1739
1927
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -1744,12 +1932,14 @@ async function example() {
|
|
|
1744
1932
|
const api = new BoatApi(config);
|
|
1745
1933
|
|
|
1746
1934
|
const body = {
|
|
1747
|
-
// string
|
|
1748
|
-
|
|
1749
|
-
|
|
1935
|
+
// string | Environment id returned by `GET /environments`.
|
|
1936
|
+
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
1937
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
1938
|
+
org: org_example,
|
|
1939
|
+
} satisfies DeleteEnvironmentRequest;
|
|
1750
1940
|
|
|
1751
1941
|
try {
|
|
1752
|
-
const data = await api.
|
|
1942
|
+
const data = await api.deleteEnvironment(body);
|
|
1753
1943
|
console.log(data);
|
|
1754
1944
|
} catch (error) {
|
|
1755
1945
|
console.error(error);
|
|
@@ -1765,11 +1955,12 @@ example().catch(console.error);
|
|
|
1765
1955
|
|
|
1766
1956
|
| Name | Type | Description | Notes |
|
|
1767
1957
|
|------------- | ------------- | ------------- | -------------|
|
|
1768
|
-
| **
|
|
1958
|
+
| **environmentId** | `string` | Environment id returned by `GET /environments`. | [Defaults to `undefined`] |
|
|
1959
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
1769
1960
|
|
|
1770
1961
|
### Return type
|
|
1771
1962
|
|
|
1772
|
-
[**
|
|
1963
|
+
[**SandboxEnvironmentResponse**](SandboxEnvironmentResponse.md)
|
|
1773
1964
|
|
|
1774
1965
|
### Authorization
|
|
1775
1966
|
|
|
@@ -1784,21 +1975,21 @@ example().catch(console.error);
|
|
|
1784
1975
|
### HTTP response details
|
|
1785
1976
|
| Status code | Description | Response headers |
|
|
1786
1977
|
|-------------|-------------|------------------|
|
|
1787
|
-
| **200** |
|
|
1978
|
+
| **200** | Environment soft-deleted. | - |
|
|
1788
1979
|
| **401** | Missing or invalid bearer token. | - |
|
|
1789
1980
|
| **404** | Resource not found. | - |
|
|
1790
|
-
| **409** |
|
|
1981
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
1791
1982
|
|
|
1792
1983
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1793
1984
|
|
|
1794
1985
|
|
|
1795
|
-
##
|
|
1986
|
+
## deleteEnvironmentRepo
|
|
1796
1987
|
|
|
1797
|
-
>
|
|
1988
|
+
> EnvironmentItemChangeResponse deleteEnvironmentRepo(environmentId, repositoryId, org)
|
|
1798
1989
|
|
|
1799
|
-
|
|
1990
|
+
Remove a repository from an environment
|
|
1800
1991
|
|
|
1801
|
-
|
|
1992
|
+
Removes one repository from the environment\'s selection. Mints a new immutable version.
|
|
1802
1993
|
|
|
1803
1994
|
### Example
|
|
1804
1995
|
|
|
@@ -1807,7 +1998,7 @@ import {
|
|
|
1807
1998
|
Configuration,
|
|
1808
1999
|
BoatApi,
|
|
1809
2000
|
} from '@boatdev/sdk';
|
|
1810
|
-
import type {
|
|
2001
|
+
import type { DeleteEnvironmentRepoRequest } from '@boatdev/sdk';
|
|
1811
2002
|
|
|
1812
2003
|
async function example() {
|
|
1813
2004
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -1818,14 +2009,16 @@ async function example() {
|
|
|
1818
2009
|
const api = new BoatApi(config);
|
|
1819
2010
|
|
|
1820
2011
|
const body = {
|
|
1821
|
-
// string
|
|
1822
|
-
|
|
1823
|
-
// string |
|
|
1824
|
-
|
|
1825
|
-
|
|
2012
|
+
// string
|
|
2013
|
+
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
2014
|
+
// string | The repository `databaseId`.
|
|
2015
|
+
repositoryId: repositoryId_example,
|
|
2016
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
2017
|
+
org: org_example,
|
|
2018
|
+
} satisfies DeleteEnvironmentRepoRequest;
|
|
1826
2019
|
|
|
1827
2020
|
try {
|
|
1828
|
-
const data = await api.
|
|
2021
|
+
const data = await api.deleteEnvironmentRepo(body);
|
|
1829
2022
|
console.log(data);
|
|
1830
2023
|
} catch (error) {
|
|
1831
2024
|
console.error(error);
|
|
@@ -1841,12 +2034,13 @@ example().catch(console.error);
|
|
|
1841
2034
|
|
|
1842
2035
|
| Name | Type | Description | Notes |
|
|
1843
2036
|
|------------- | ------------- | ------------- | -------------|
|
|
1844
|
-
| **
|
|
1845
|
-
| **
|
|
2037
|
+
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
2038
|
+
| **repositoryId** | `string` | The repository `databaseId`. | [Defaults to `undefined`] |
|
|
2039
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
1846
2040
|
|
|
1847
2041
|
### Return type
|
|
1848
2042
|
|
|
1849
|
-
[**
|
|
2043
|
+
[**EnvironmentItemChangeResponse**](EnvironmentItemChangeResponse.md)
|
|
1850
2044
|
|
|
1851
2045
|
### Authorization
|
|
1852
2046
|
|
|
@@ -1861,22 +2055,20 @@ example().catch(console.error);
|
|
|
1861
2055
|
### HTTP response details
|
|
1862
2056
|
| Status code | Description | Response headers |
|
|
1863
2057
|
|-------------|-------------|------------------|
|
|
1864
|
-
| **
|
|
2058
|
+
| **200** | New version minted. | - |
|
|
1865
2059
|
| **401** | Missing or invalid bearer token. | - |
|
|
1866
|
-
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
1867
2060
|
| **404** | Resource not found. | - |
|
|
1868
|
-
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
1869
2061
|
|
|
1870
2062
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
1871
2063
|
|
|
1872
2064
|
|
|
1873
|
-
##
|
|
2065
|
+
## deleteEnvironmentSecretFile
|
|
1874
2066
|
|
|
1875
|
-
>
|
|
2067
|
+
> EnvironmentItemChangeResponse deleteEnvironmentSecretFile(path, environmentId, org)
|
|
1876
2068
|
|
|
1877
|
-
|
|
2069
|
+
Remove one secret file
|
|
1878
2070
|
|
|
1879
|
-
|
|
2071
|
+
Removes the secret file at `path`. Mints a new immutable version.
|
|
1880
2072
|
|
|
1881
2073
|
### Example
|
|
1882
2074
|
|
|
@@ -1885,7 +2077,317 @@ import {
|
|
|
1885
2077
|
Configuration,
|
|
1886
2078
|
BoatApi,
|
|
1887
2079
|
} from '@boatdev/sdk';
|
|
1888
|
-
import type {
|
|
2080
|
+
import type { DeleteEnvironmentSecretFileRequest } from '@boatdev/sdk';
|
|
2081
|
+
|
|
2082
|
+
async function example() {
|
|
2083
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
2084
|
+
const config = new Configuration({
|
|
2085
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
2086
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
2087
|
+
});
|
|
2088
|
+
const api = new BoatApi(config);
|
|
2089
|
+
|
|
2090
|
+
const body = {
|
|
2091
|
+
// string
|
|
2092
|
+
path: path_example,
|
|
2093
|
+
// string
|
|
2094
|
+
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
2095
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
2096
|
+
org: org_example,
|
|
2097
|
+
} satisfies DeleteEnvironmentSecretFileRequest;
|
|
2098
|
+
|
|
2099
|
+
try {
|
|
2100
|
+
const data = await api.deleteEnvironmentSecretFile(body);
|
|
2101
|
+
console.log(data);
|
|
2102
|
+
} catch (error) {
|
|
2103
|
+
console.error(error);
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
// Run the test
|
|
2108
|
+
example().catch(console.error);
|
|
2109
|
+
```
|
|
2110
|
+
|
|
2111
|
+
### Parameters
|
|
2112
|
+
|
|
2113
|
+
|
|
2114
|
+
| Name | Type | Description | Notes |
|
|
2115
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2116
|
+
| **path** | `string` | | [Defaults to `undefined`] |
|
|
2117
|
+
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
2118
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
2119
|
+
|
|
2120
|
+
### Return type
|
|
2121
|
+
|
|
2122
|
+
[**EnvironmentItemChangeResponse**](EnvironmentItemChangeResponse.md)
|
|
2123
|
+
|
|
2124
|
+
### Authorization
|
|
2125
|
+
|
|
2126
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
2127
|
+
|
|
2128
|
+
### HTTP request headers
|
|
2129
|
+
|
|
2130
|
+
- **Content-Type**: Not defined
|
|
2131
|
+
- **Accept**: `application/json`
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
### HTTP response details
|
|
2135
|
+
| Status code | Description | Response headers |
|
|
2136
|
+
|-------------|-------------|------------------|
|
|
2137
|
+
| **200** | New version minted. | - |
|
|
2138
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
2139
|
+
| **404** | Resource not found. | - |
|
|
2140
|
+
|
|
2141
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2142
|
+
|
|
2143
|
+
|
|
2144
|
+
## deleteEnvironmentVar
|
|
2145
|
+
|
|
2146
|
+
> EnvironmentItemChangeResponse deleteEnvironmentVar(environmentId, key, org)
|
|
2147
|
+
|
|
2148
|
+
Remove one environment variable
|
|
2149
|
+
|
|
2150
|
+
Removes a single variable. Mints a new immutable version.
|
|
2151
|
+
|
|
2152
|
+
### Example
|
|
2153
|
+
|
|
2154
|
+
```ts
|
|
2155
|
+
import {
|
|
2156
|
+
Configuration,
|
|
2157
|
+
BoatApi,
|
|
2158
|
+
} from '@boatdev/sdk';
|
|
2159
|
+
import type { DeleteEnvironmentVarRequest } from '@boatdev/sdk';
|
|
2160
|
+
|
|
2161
|
+
async function example() {
|
|
2162
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
2163
|
+
const config = new Configuration({
|
|
2164
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
2165
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
2166
|
+
});
|
|
2167
|
+
const api = new BoatApi(config);
|
|
2168
|
+
|
|
2169
|
+
const body = {
|
|
2170
|
+
// string
|
|
2171
|
+
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
2172
|
+
// string | Environment variable name.
|
|
2173
|
+
key: key_example,
|
|
2174
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
2175
|
+
org: org_example,
|
|
2176
|
+
} satisfies DeleteEnvironmentVarRequest;
|
|
2177
|
+
|
|
2178
|
+
try {
|
|
2179
|
+
const data = await api.deleteEnvironmentVar(body);
|
|
2180
|
+
console.log(data);
|
|
2181
|
+
} catch (error) {
|
|
2182
|
+
console.error(error);
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
// Run the test
|
|
2187
|
+
example().catch(console.error);
|
|
2188
|
+
```
|
|
2189
|
+
|
|
2190
|
+
### Parameters
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
| Name | Type | Description | Notes |
|
|
2194
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2195
|
+
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
2196
|
+
| **key** | `string` | Environment variable name. | [Defaults to `undefined`] |
|
|
2197
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
2198
|
+
|
|
2199
|
+
### Return type
|
|
2200
|
+
|
|
2201
|
+
[**EnvironmentItemChangeResponse**](EnvironmentItemChangeResponse.md)
|
|
2202
|
+
|
|
2203
|
+
### Authorization
|
|
2204
|
+
|
|
2205
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
2206
|
+
|
|
2207
|
+
### HTTP request headers
|
|
2208
|
+
|
|
2209
|
+
- **Content-Type**: Not defined
|
|
2210
|
+
- **Accept**: `application/json`
|
|
2211
|
+
|
|
2212
|
+
|
|
2213
|
+
### HTTP response details
|
|
2214
|
+
| Status code | Description | Response headers |
|
|
2215
|
+
|-------------|-------------|------------------|
|
|
2216
|
+
| **200** | New version minted. | - |
|
|
2217
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
2218
|
+
| **404** | Resource not found. | - |
|
|
2219
|
+
|
|
2220
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2221
|
+
|
|
2222
|
+
|
|
2223
|
+
## deleteNamedSnapshot
|
|
2224
|
+
|
|
2225
|
+
> NamedSnapshotDeletedResponse deleteNamedSnapshot(name)
|
|
2226
|
+
|
|
2227
|
+
Remove a named snapshot
|
|
2228
|
+
|
|
2229
|
+
Remove a named snapshot and release its storage (`boat snapshot rm <name>` in the CLI). Sandboxes already deployed from it are unaffected.
|
|
2230
|
+
|
|
2231
|
+
### Example
|
|
2232
|
+
|
|
2233
|
+
```ts
|
|
2234
|
+
import {
|
|
2235
|
+
Configuration,
|
|
2236
|
+
BoatApi,
|
|
2237
|
+
} from '@boatdev/sdk';
|
|
2238
|
+
import type { DeleteNamedSnapshotRequest } from '@boatdev/sdk';
|
|
2239
|
+
|
|
2240
|
+
async function example() {
|
|
2241
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
2242
|
+
const config = new Configuration({
|
|
2243
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
2244
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
2245
|
+
});
|
|
2246
|
+
const api = new BoatApi(config);
|
|
2247
|
+
|
|
2248
|
+
const body = {
|
|
2249
|
+
// string
|
|
2250
|
+
name: name_example,
|
|
2251
|
+
} satisfies DeleteNamedSnapshotRequest;
|
|
2252
|
+
|
|
2253
|
+
try {
|
|
2254
|
+
const data = await api.deleteNamedSnapshot(body);
|
|
2255
|
+
console.log(data);
|
|
2256
|
+
} catch (error) {
|
|
2257
|
+
console.error(error);
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
// Run the test
|
|
2262
|
+
example().catch(console.error);
|
|
2263
|
+
```
|
|
2264
|
+
|
|
2265
|
+
### Parameters
|
|
2266
|
+
|
|
2267
|
+
|
|
2268
|
+
| Name | Type | Description | Notes |
|
|
2269
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2270
|
+
| **name** | `string` | | [Defaults to `undefined`] |
|
|
2271
|
+
|
|
2272
|
+
### Return type
|
|
2273
|
+
|
|
2274
|
+
[**NamedSnapshotDeletedResponse**](NamedSnapshotDeletedResponse.md)
|
|
2275
|
+
|
|
2276
|
+
### Authorization
|
|
2277
|
+
|
|
2278
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
2279
|
+
|
|
2280
|
+
### HTTP request headers
|
|
2281
|
+
|
|
2282
|
+
- **Content-Type**: Not defined
|
|
2283
|
+
- **Accept**: `application/json`
|
|
2284
|
+
|
|
2285
|
+
|
|
2286
|
+
### HTTP response details
|
|
2287
|
+
| Status code | Description | Response headers |
|
|
2288
|
+
|-------------|-------------|------------------|
|
|
2289
|
+
| **200** | Removed. | - |
|
|
2290
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
2291
|
+
| **404** | Resource not found. | - |
|
|
2292
|
+
| **409** | `save_in_progress`: a save under this name is still running. Wait for it to settle before removing it. | - |
|
|
2293
|
+
|
|
2294
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2295
|
+
|
|
2296
|
+
|
|
2297
|
+
## deleteSandbox
|
|
2298
|
+
|
|
2299
|
+
> DeletionOperationResponse deleteSandbox(xAsciiConfirmDelete, sandboxId)
|
|
2300
|
+
|
|
2301
|
+
Permanently delete sandbox data
|
|
2302
|
+
|
|
2303
|
+
Accept irreversible background deletion of the sandbox machine, snapshots, and content-bearing records. This is not archive: the sandbox cannot be resumed. Named snapshots and other shared artifacts remain independent. Poll the returned operation until `completed`.
|
|
2304
|
+
|
|
2305
|
+
### Example
|
|
2306
|
+
|
|
2307
|
+
```ts
|
|
2308
|
+
import {
|
|
2309
|
+
Configuration,
|
|
2310
|
+
BoatApi,
|
|
2311
|
+
} from '@boatdev/sdk';
|
|
2312
|
+
import type { DeleteSandboxRequest } from '@boatdev/sdk';
|
|
2313
|
+
|
|
2314
|
+
async function example() {
|
|
2315
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
2316
|
+
const config = new Configuration({
|
|
2317
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
2318
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
2319
|
+
});
|
|
2320
|
+
const api = new BoatApi(config);
|
|
2321
|
+
|
|
2322
|
+
const body = {
|
|
2323
|
+
// string | Must exactly equal the target `sandboxId` or `snapshotId`. A missing or mismatched value returns `409` without accepting deletion.
|
|
2324
|
+
xAsciiConfirmDelete: xAsciiConfirmDelete_example,
|
|
2325
|
+
// string | Public Sandbox id returned by create/list/get sandbox calls.
|
|
2326
|
+
sandboxId: sandboxId_example,
|
|
2327
|
+
} satisfies DeleteSandboxRequest;
|
|
2328
|
+
|
|
2329
|
+
try {
|
|
2330
|
+
const data = await api.deleteSandbox(body);
|
|
2331
|
+
console.log(data);
|
|
2332
|
+
} catch (error) {
|
|
2333
|
+
console.error(error);
|
|
2334
|
+
}
|
|
2335
|
+
}
|
|
2336
|
+
|
|
2337
|
+
// Run the test
|
|
2338
|
+
example().catch(console.error);
|
|
2339
|
+
```
|
|
2340
|
+
|
|
2341
|
+
### Parameters
|
|
2342
|
+
|
|
2343
|
+
|
|
2344
|
+
| Name | Type | Description | Notes |
|
|
2345
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2346
|
+
| **xAsciiConfirmDelete** | `string` | Must exactly equal the target `sandboxId` or `snapshotId`. A missing or mismatched value returns `409` without accepting deletion. | [Defaults to `undefined`] |
|
|
2347
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
2348
|
+
|
|
2349
|
+
### Return type
|
|
2350
|
+
|
|
2351
|
+
[**DeletionOperationResponse**](DeletionOperationResponse.md)
|
|
2352
|
+
|
|
2353
|
+
### Authorization
|
|
2354
|
+
|
|
2355
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
2356
|
+
|
|
2357
|
+
### HTTP request headers
|
|
2358
|
+
|
|
2359
|
+
- **Content-Type**: Not defined
|
|
2360
|
+
- **Accept**: `application/json`
|
|
2361
|
+
|
|
2362
|
+
|
|
2363
|
+
### HTTP response details
|
|
2364
|
+
| Status code | Description | Response headers |
|
|
2365
|
+
|-------------|-------------|------------------|
|
|
2366
|
+
| **202** | Deletion confirmed and accepted for background processing. | - |
|
|
2367
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
2368
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
2369
|
+
| **404** | Resource not found. | - |
|
|
2370
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
2371
|
+
|
|
2372
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2373
|
+
|
|
2374
|
+
|
|
2375
|
+
## deleteSandboxSnapshots
|
|
2376
|
+
|
|
2377
|
+
> DeletionOperationListResponse deleteSandboxSnapshots(sandboxId, xAsciiConfirmDelete)
|
|
2378
|
+
|
|
2379
|
+
Permanently delete all snapshots of a sandbox
|
|
2380
|
+
|
|
2381
|
+
Accept irreversible deletion of every unpinned snapshot of this sandbox. The sandbox itself and its named snapshots stay. Snapshots disappear from lists, restores and forks immediately; their stored data is purged in the background. Set `X-Ascii-Confirm-Delete` to the sandbox id.
|
|
2382
|
+
|
|
2383
|
+
### Example
|
|
2384
|
+
|
|
2385
|
+
```ts
|
|
2386
|
+
import {
|
|
2387
|
+
Configuration,
|
|
2388
|
+
BoatApi,
|
|
2389
|
+
} from '@boatdev/sdk';
|
|
2390
|
+
import type { DeleteSandboxSnapshotsRequest } from '@boatdev/sdk';
|
|
1889
2391
|
|
|
1890
2392
|
async function example() {
|
|
1891
2393
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -2250,7 +2752,7 @@ example().catch(console.error);
|
|
|
2250
2752
|
|
|
2251
2753
|
## environments
|
|
2252
2754
|
|
|
2253
|
-
> SandboxEnvironmentListResponse environments()
|
|
2755
|
+
> SandboxEnvironmentListResponse environments(org)
|
|
2254
2756
|
|
|
2255
2757
|
List Sandbox environments
|
|
2256
2758
|
|
|
@@ -2273,8 +2775,13 @@ async function example() {
|
|
|
2273
2775
|
});
|
|
2274
2776
|
const api = new BoatApi(config);
|
|
2275
2777
|
|
|
2778
|
+
const body = {
|
|
2779
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
2780
|
+
org: org_example,
|
|
2781
|
+
} satisfies EnvironmentsRequest;
|
|
2782
|
+
|
|
2276
2783
|
try {
|
|
2277
|
-
const data = await api.environments();
|
|
2784
|
+
const data = await api.environments(body);
|
|
2278
2785
|
console.log(data);
|
|
2279
2786
|
} catch (error) {
|
|
2280
2787
|
console.error(error);
|
|
@@ -2287,7 +2794,10 @@ example().catch(console.error);
|
|
|
2287
2794
|
|
|
2288
2795
|
### Parameters
|
|
2289
2796
|
|
|
2290
|
-
|
|
2797
|
+
|
|
2798
|
+
| Name | Type | Description | Notes |
|
|
2799
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2800
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
2291
2801
|
|
|
2292
2802
|
### Return type
|
|
2293
2803
|
|
|
@@ -2436,7 +2946,161 @@ async function example() {
|
|
|
2436
2946
|
} satisfies ForkOperationRequest;
|
|
2437
2947
|
|
|
2438
2948
|
try {
|
|
2439
|
-
const data = await api.fork(body);
|
|
2949
|
+
const data = await api.fork(body);
|
|
2950
|
+
console.log(data);
|
|
2951
|
+
} catch (error) {
|
|
2952
|
+
console.error(error);
|
|
2953
|
+
}
|
|
2954
|
+
}
|
|
2955
|
+
|
|
2956
|
+
// Run the test
|
|
2957
|
+
example().catch(console.error);
|
|
2958
|
+
```
|
|
2959
|
+
|
|
2960
|
+
### Parameters
|
|
2961
|
+
|
|
2962
|
+
|
|
2963
|
+
| Name | Type | Description | Notes |
|
|
2964
|
+
|------------- | ------------- | ------------- | -------------|
|
|
2965
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
2966
|
+
| **idempotencyKey** | `string` | Optional exactly-once key for creating a sandbox. Send your own opaque, account-unique value (a UUID) to make `POST /sandboxes` safe to retry when the response is lost (network timeout, 5xx): the first request creates the sandbox and binds it to the key; every later request with the **same account, key, and request body** returns that same sandbox instead of creating a second, billable one. Behavior: keys are retained for **24 hours**; a concurrent or early retry while the first sandbox is still being minted returns `409` `idempotency_in_progress` (retry shortly, same key); reusing a key with a **different body** returns `409` `idempotency_key_reused`; timeouts and 5xx are safe to retry with the same key; a create that fails before the sandbox exists releases the key within ~2 minutes so a retry can create the sandbox. Omit the header to keep the default (non-idempotent) behavior. | [Optional] [Defaults to `undefined`] |
|
|
2967
|
+
| **forkRequest** | [ForkRequest](ForkRequest.md) | | [Optional] |
|
|
2968
|
+
|
|
2969
|
+
### Return type
|
|
2970
|
+
|
|
2971
|
+
[**SandboxActionResponse**](SandboxActionResponse.md)
|
|
2972
|
+
|
|
2973
|
+
### Authorization
|
|
2974
|
+
|
|
2975
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
2976
|
+
|
|
2977
|
+
### HTTP request headers
|
|
2978
|
+
|
|
2979
|
+
- **Content-Type**: `application/json`
|
|
2980
|
+
- **Accept**: `application/json`
|
|
2981
|
+
|
|
2982
|
+
|
|
2983
|
+
### HTTP response details
|
|
2984
|
+
| Status code | Description | Response headers |
|
|
2985
|
+
|-------------|-------------|------------------|
|
|
2986
|
+
| **202** | Fork started. The response `id` is the new forked sandbox id. | - |
|
|
2987
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
2988
|
+
| **402** | Account cannot currently create or operate sandboxes. The error body may include a dashboard billing URL, but billing actions are not part of the v1 API. | - |
|
|
2989
|
+
| **404** | Resource not found. | - |
|
|
2990
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
2991
|
+
| **429** | Machine start or concurrent-sandbox limit reached. Create, fork and resume each count as one machine start against your plan\'s start limits (see the Billing guide; `rate_limited`, naming the window you hit). A sandbox that would exceed your plan\'s concurrent-sandbox cap is refused with `limit_reached`, or `member_limit_reached` when an organization owner has capped you below the plan. | - |
|
|
2992
|
+
| **503** | No capacity. `no_ready_machine`: a `failFast` create, fork or resume found no ready machine of that type; nothing was started, billed, or counted, and a resumed sandbox stays stopped. `out_of_capacity`: creates and forks are paused until the provisioning queue drains. | - |
|
|
2993
|
+
|
|
2994
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2995
|
+
|
|
2996
|
+
|
|
2997
|
+
## get
|
|
2998
|
+
|
|
2999
|
+
> SandboxInfoResponse get(sandboxId)
|
|
3000
|
+
|
|
3001
|
+
Get sandbox
|
|
3002
|
+
|
|
3003
|
+
Poll this endpoint after create, stop, resume, or fork operations.
|
|
3004
|
+
|
|
3005
|
+
### Example
|
|
3006
|
+
|
|
3007
|
+
```ts
|
|
3008
|
+
import {
|
|
3009
|
+
Configuration,
|
|
3010
|
+
BoatApi,
|
|
3011
|
+
} from '@boatdev/sdk';
|
|
3012
|
+
import type { GetRequest } from '@boatdev/sdk';
|
|
3013
|
+
|
|
3014
|
+
async function example() {
|
|
3015
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
3016
|
+
const config = new Configuration({
|
|
3017
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
3018
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
3019
|
+
});
|
|
3020
|
+
const api = new BoatApi(config);
|
|
3021
|
+
|
|
3022
|
+
const body = {
|
|
3023
|
+
// string | Public Sandbox id returned by create/list/get sandbox calls.
|
|
3024
|
+
sandboxId: sandboxId_example,
|
|
3025
|
+
} satisfies GetRequest;
|
|
3026
|
+
|
|
3027
|
+
try {
|
|
3028
|
+
const data = await api.get(body);
|
|
3029
|
+
console.log(data);
|
|
3030
|
+
} catch (error) {
|
|
3031
|
+
console.error(error);
|
|
3032
|
+
}
|
|
3033
|
+
}
|
|
3034
|
+
|
|
3035
|
+
// Run the test
|
|
3036
|
+
example().catch(console.error);
|
|
3037
|
+
```
|
|
3038
|
+
|
|
3039
|
+
### Parameters
|
|
3040
|
+
|
|
3041
|
+
|
|
3042
|
+
| Name | Type | Description | Notes |
|
|
3043
|
+
|------------- | ------------- | ------------- | -------------|
|
|
3044
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
3045
|
+
|
|
3046
|
+
### Return type
|
|
3047
|
+
|
|
3048
|
+
[**SandboxInfoResponse**](SandboxInfoResponse.md)
|
|
3049
|
+
|
|
3050
|
+
### Authorization
|
|
3051
|
+
|
|
3052
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
3053
|
+
|
|
3054
|
+
### HTTP request headers
|
|
3055
|
+
|
|
3056
|
+
- **Content-Type**: Not defined
|
|
3057
|
+
- **Accept**: `application/json`
|
|
3058
|
+
|
|
3059
|
+
|
|
3060
|
+
### HTTP response details
|
|
3061
|
+
| Status code | Description | Response headers |
|
|
3062
|
+
|-------------|-------------|------------------|
|
|
3063
|
+
| **200** | Boat details. | - |
|
|
3064
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
3065
|
+
| **404** | Resource not found. | - |
|
|
3066
|
+
|
|
3067
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
3068
|
+
|
|
3069
|
+
|
|
3070
|
+
## getAiProxy
|
|
3071
|
+
|
|
3072
|
+
> AiProxySettings getAiProxy(org, xBoatOrg)
|
|
3073
|
+
|
|
3074
|
+
Get AI credentials proxy
|
|
3075
|
+
|
|
3076
|
+
Returns the AI credentials proxy switch of the account in scope, a person or an organization, with its price. Needs an API key with `account.admin`.
|
|
3077
|
+
|
|
3078
|
+
### Example
|
|
3079
|
+
|
|
3080
|
+
```ts
|
|
3081
|
+
import {
|
|
3082
|
+
Configuration,
|
|
3083
|
+
BoatApi,
|
|
3084
|
+
} from '@boatdev/sdk';
|
|
3085
|
+
import type { GetAiProxyRequest } from '@boatdev/sdk';
|
|
3086
|
+
|
|
3087
|
+
async function example() {
|
|
3088
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
3089
|
+
const config = new Configuration({
|
|
3090
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
3091
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
3092
|
+
});
|
|
3093
|
+
const api = new BoatApi(config);
|
|
3094
|
+
|
|
3095
|
+
const body = {
|
|
3096
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
3097
|
+
org: org_example,
|
|
3098
|
+
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
3099
|
+
xBoatOrg: xBoatOrg_example,
|
|
3100
|
+
} satisfies GetAiProxyRequest;
|
|
3101
|
+
|
|
3102
|
+
try {
|
|
3103
|
+
const data = await api.getAiProxy(body);
|
|
2440
3104
|
console.log(data);
|
|
2441
3105
|
} catch (error) {
|
|
2442
3106
|
console.error(error);
|
|
@@ -2452,13 +3116,12 @@ example().catch(console.error);
|
|
|
2452
3116
|
|
|
2453
3117
|
| Name | Type | Description | Notes |
|
|
2454
3118
|
|------------- | ------------- | ------------- | -------------|
|
|
2455
|
-
| **
|
|
2456
|
-
| **
|
|
2457
|
-
| **forkRequest** | [ForkRequest](ForkRequest.md) | | [Optional] |
|
|
3119
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
3120
|
+
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
2458
3121
|
|
|
2459
3122
|
### Return type
|
|
2460
3123
|
|
|
2461
|
-
[**
|
|
3124
|
+
[**AiProxySettings**](AiProxySettings.md)
|
|
2462
3125
|
|
|
2463
3126
|
### Authorization
|
|
2464
3127
|
|
|
@@ -2466,31 +3129,26 @@ example().catch(console.error);
|
|
|
2466
3129
|
|
|
2467
3130
|
### HTTP request headers
|
|
2468
3131
|
|
|
2469
|
-
- **Content-Type**:
|
|
3132
|
+
- **Content-Type**: Not defined
|
|
2470
3133
|
- **Accept**: `application/json`
|
|
2471
3134
|
|
|
2472
3135
|
|
|
2473
3136
|
### HTTP response details
|
|
2474
3137
|
| Status code | Description | Response headers |
|
|
2475
3138
|
|-------------|-------------|------------------|
|
|
2476
|
-
| **
|
|
3139
|
+
| **200** | The switch and its price. | - |
|
|
2477
3140
|
| **401** | Missing or invalid bearer token. | - |
|
|
2478
|
-
| **402** | Account cannot currently create or operate sandboxes. The error body may include a dashboard billing URL, but billing actions are not part of the v1 API. | - |
|
|
2479
|
-
| **404** | Resource not found. | - |
|
|
2480
|
-
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
2481
|
-
| **429** | Machine start or concurrent-sandbox limit reached. Create, fork and resume each count as one machine start against your plan\'s start limits (see the Billing guide; `rate_limited`, naming the window you hit). A sandbox that would exceed your plan\'s concurrent-sandbox cap is refused with `limit_reached`, or `member_limit_reached` when an organization owner has capped you below the plan. | - |
|
|
2482
|
-
| **503** | No capacity. `no_ready_machine`: a `failFast` create, fork or resume found no ready machine of that type; nothing was started, billed, or counted, and a resumed sandbox stays stopped. `out_of_capacity`: creates and forks are paused until the provisioning queue drains. | - |
|
|
2483
3141
|
|
|
2484
3142
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2485
3143
|
|
|
2486
3144
|
|
|
2487
|
-
##
|
|
3145
|
+
## getAiUsage
|
|
2488
3146
|
|
|
2489
|
-
>
|
|
3147
|
+
> AccountAiUsageResponse getAiUsage(days, profile, org, xBoatOrg)
|
|
2490
3148
|
|
|
2491
|
-
Get
|
|
3149
|
+
Get AI usage
|
|
2492
3150
|
|
|
2493
|
-
|
|
3151
|
+
Proxied AI usage, per sandbox and in total, per UTC day, credential and model. Without `profile`, the usage charged to the wallet in scope. With `profile`, the requests made with that profile\'s credentials, whoever pays; only its managers can read it. Needs an API key with `account.read`.
|
|
2494
3152
|
|
|
2495
3153
|
### Example
|
|
2496
3154
|
|
|
@@ -2499,7 +3157,7 @@ import {
|
|
|
2499
3157
|
Configuration,
|
|
2500
3158
|
BoatApi,
|
|
2501
3159
|
} from '@boatdev/sdk';
|
|
2502
|
-
import type {
|
|
3160
|
+
import type { GetAiUsageRequest } from '@boatdev/sdk';
|
|
2503
3161
|
|
|
2504
3162
|
async function example() {
|
|
2505
3163
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -2510,12 +3168,18 @@ async function example() {
|
|
|
2510
3168
|
const api = new BoatApi(config);
|
|
2511
3169
|
|
|
2512
3170
|
const body = {
|
|
2513
|
-
//
|
|
2514
|
-
|
|
2515
|
-
|
|
3171
|
+
// number | Days of history, today included. (optional)
|
|
3172
|
+
days: 56,
|
|
3173
|
+
// string | A credential profile id. Counts that profile\'s requests instead of a wallet\'s. (optional)
|
|
3174
|
+
profile: profile_example,
|
|
3175
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
3176
|
+
org: org_example,
|
|
3177
|
+
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
3178
|
+
xBoatOrg: xBoatOrg_example,
|
|
3179
|
+
} satisfies GetAiUsageRequest;
|
|
2516
3180
|
|
|
2517
3181
|
try {
|
|
2518
|
-
const data = await api.
|
|
3182
|
+
const data = await api.getAiUsage(body);
|
|
2519
3183
|
console.log(data);
|
|
2520
3184
|
} catch (error) {
|
|
2521
3185
|
console.error(error);
|
|
@@ -2531,11 +3195,14 @@ example().catch(console.error);
|
|
|
2531
3195
|
|
|
2532
3196
|
| Name | Type | Description | Notes |
|
|
2533
3197
|
|------------- | ------------- | ------------- | -------------|
|
|
2534
|
-
| **
|
|
3198
|
+
| **days** | `number` | Days of history, today included. | [Optional] [Defaults to `30`] |
|
|
3199
|
+
| **profile** | `string` | A credential profile id. Counts that profile\'s requests instead of a wallet\'s. | [Optional] [Defaults to `undefined`] |
|
|
3200
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
3201
|
+
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
2535
3202
|
|
|
2536
3203
|
### Return type
|
|
2537
3204
|
|
|
2538
|
-
[**
|
|
3205
|
+
[**AccountAiUsageResponse**](AccountAiUsageResponse.md)
|
|
2539
3206
|
|
|
2540
3207
|
### Authorization
|
|
2541
3208
|
|
|
@@ -2550,9 +3217,8 @@ example().catch(console.error);
|
|
|
2550
3217
|
### HTTP response details
|
|
2551
3218
|
| Status code | Description | Response headers |
|
|
2552
3219
|
|-------------|-------------|------------------|
|
|
2553
|
-
| **200** |
|
|
3220
|
+
| **200** | The usage. | - |
|
|
2554
3221
|
| **401** | Missing or invalid bearer token. | - |
|
|
2555
|
-
| **404** | Resource not found. | - |
|
|
2556
3222
|
|
|
2557
3223
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2558
3224
|
|
|
@@ -2913,6 +3579,82 @@ example().catch(console.error);
|
|
|
2913
3579
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
2914
3580
|
|
|
2915
3581
|
|
|
3582
|
+
## getSandboxAiUsage
|
|
3583
|
+
|
|
3584
|
+
> SandboxAiUsageResponse getSandboxAiUsage(sandboxId, days)
|
|
3585
|
+
|
|
3586
|
+
Get sandbox AI usage
|
|
3587
|
+
|
|
3588
|
+
One sandbox\'s proxied AI usage per UTC day, credential and model, and whether it is blocked. Needs an API key with `box.read` on the sandbox.
|
|
3589
|
+
|
|
3590
|
+
### Example
|
|
3591
|
+
|
|
3592
|
+
```ts
|
|
3593
|
+
import {
|
|
3594
|
+
Configuration,
|
|
3595
|
+
BoatApi,
|
|
3596
|
+
} from '@boatdev/sdk';
|
|
3597
|
+
import type { GetSandboxAiUsageRequest } from '@boatdev/sdk';
|
|
3598
|
+
|
|
3599
|
+
async function example() {
|
|
3600
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
3601
|
+
const config = new Configuration({
|
|
3602
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
3603
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
3604
|
+
});
|
|
3605
|
+
const api = new BoatApi(config);
|
|
3606
|
+
|
|
3607
|
+
const body = {
|
|
3608
|
+
// string | Public Sandbox id returned by create/list/get sandbox calls.
|
|
3609
|
+
sandboxId: sandboxId_example,
|
|
3610
|
+
// number | Days of history, today included. (optional)
|
|
3611
|
+
days: 56,
|
|
3612
|
+
} satisfies GetSandboxAiUsageRequest;
|
|
3613
|
+
|
|
3614
|
+
try {
|
|
3615
|
+
const data = await api.getSandboxAiUsage(body);
|
|
3616
|
+
console.log(data);
|
|
3617
|
+
} catch (error) {
|
|
3618
|
+
console.error(error);
|
|
3619
|
+
}
|
|
3620
|
+
}
|
|
3621
|
+
|
|
3622
|
+
// Run the test
|
|
3623
|
+
example().catch(console.error);
|
|
3624
|
+
```
|
|
3625
|
+
|
|
3626
|
+
### Parameters
|
|
3627
|
+
|
|
3628
|
+
|
|
3629
|
+
| Name | Type | Description | Notes |
|
|
3630
|
+
|------------- | ------------- | ------------- | -------------|
|
|
3631
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
3632
|
+
| **days** | `number` | Days of history, today included. | [Optional] [Defaults to `30`] |
|
|
3633
|
+
|
|
3634
|
+
### Return type
|
|
3635
|
+
|
|
3636
|
+
[**SandboxAiUsageResponse**](SandboxAiUsageResponse.md)
|
|
3637
|
+
|
|
3638
|
+
### Authorization
|
|
3639
|
+
|
|
3640
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
3641
|
+
|
|
3642
|
+
### HTTP request headers
|
|
3643
|
+
|
|
3644
|
+
- **Content-Type**: Not defined
|
|
3645
|
+
- **Accept**: `application/json`
|
|
3646
|
+
|
|
3647
|
+
|
|
3648
|
+
### HTTP response details
|
|
3649
|
+
| Status code | Description | Response headers |
|
|
3650
|
+
|-------------|-------------|------------------|
|
|
3651
|
+
| **200** | The usage. | - |
|
|
3652
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
3653
|
+
| **404** | Resource not found. | - |
|
|
3654
|
+
|
|
3655
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
3656
|
+
|
|
3657
|
+
|
|
2916
3658
|
## getSnapshotDownload
|
|
2917
3659
|
|
|
2918
3660
|
> SnapshotDownloadResponse getSnapshotDownload(snapshotId)
|
|
@@ -3382,7 +4124,165 @@ async function example() {
|
|
|
3382
4124
|
} satisfies HostPortOperationRequest;
|
|
3383
4125
|
|
|
3384
4126
|
try {
|
|
3385
|
-
const data = await api.hostPort(body);
|
|
4127
|
+
const data = await api.hostPort(body);
|
|
4128
|
+
console.log(data);
|
|
4129
|
+
} catch (error) {
|
|
4130
|
+
console.error(error);
|
|
4131
|
+
}
|
|
4132
|
+
}
|
|
4133
|
+
|
|
4134
|
+
// Run the test
|
|
4135
|
+
example().catch(console.error);
|
|
4136
|
+
```
|
|
4137
|
+
|
|
4138
|
+
### Parameters
|
|
4139
|
+
|
|
4140
|
+
|
|
4141
|
+
| Name | Type | Description | Notes |
|
|
4142
|
+
|------------- | ------------- | ------------- | -------------|
|
|
4143
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
4144
|
+
| **hostPortRequest** | [HostPortRequest](HostPortRequest.md) | | |
|
|
4145
|
+
|
|
4146
|
+
### Return type
|
|
4147
|
+
|
|
4148
|
+
[**HostPortResponse**](HostPortResponse.md)
|
|
4149
|
+
|
|
4150
|
+
### Authorization
|
|
4151
|
+
|
|
4152
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
4153
|
+
|
|
4154
|
+
### HTTP request headers
|
|
4155
|
+
|
|
4156
|
+
- **Content-Type**: `application/json`
|
|
4157
|
+
- **Accept**: `application/json`
|
|
4158
|
+
|
|
4159
|
+
|
|
4160
|
+
### HTTP response details
|
|
4161
|
+
| Status code | Description | Response headers |
|
|
4162
|
+
|-------------|-------------|------------------|
|
|
4163
|
+
| **200** | The public HTTPS URL for the port. | - |
|
|
4164
|
+
| **400** | Invalid request body or parameters. | - |
|
|
4165
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
4166
|
+
| **402** | Account cannot currently create or operate sandboxes. The error body may include a dashboard billing URL, but billing actions are not part of the v1 API. | - |
|
|
4167
|
+
| **404** | Resource not found. | - |
|
|
4168
|
+
|
|
4169
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
4170
|
+
|
|
4171
|
+
|
|
4172
|
+
## interrupt
|
|
4173
|
+
|
|
4174
|
+
> SandboxActionResponse interrupt(sandboxId, conversation)
|
|
4175
|
+
|
|
4176
|
+
Interrupt running work
|
|
4177
|
+
|
|
4178
|
+
Interrupt running agent work. By default this stops **every** conversation on the sandbox. Pass `conversation` to stop just one, leaving the others running. See [Integrated agents](/integrated-agents).
|
|
4179
|
+
|
|
4180
|
+
### Example
|
|
4181
|
+
|
|
4182
|
+
```ts
|
|
4183
|
+
import {
|
|
4184
|
+
Configuration,
|
|
4185
|
+
BoatApi,
|
|
4186
|
+
} from '@boatdev/sdk';
|
|
4187
|
+
import type { InterruptRequest } from '@boatdev/sdk';
|
|
4188
|
+
|
|
4189
|
+
async function example() {
|
|
4190
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
4191
|
+
const config = new Configuration({
|
|
4192
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
4193
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
4194
|
+
});
|
|
4195
|
+
const api = new BoatApi(config);
|
|
4196
|
+
|
|
4197
|
+
const body = {
|
|
4198
|
+
// string | Public Sandbox id returned by create/list/get sandbox calls.
|
|
4199
|
+
sandboxId: sandboxId_example,
|
|
4200
|
+
// string | Interrupt only this conversation id. Omit to interrupt the whole sandbox. (optional)
|
|
4201
|
+
conversation: conversation_example,
|
|
4202
|
+
} satisfies InterruptRequest;
|
|
4203
|
+
|
|
4204
|
+
try {
|
|
4205
|
+
const data = await api.interrupt(body);
|
|
4206
|
+
console.log(data);
|
|
4207
|
+
} catch (error) {
|
|
4208
|
+
console.error(error);
|
|
4209
|
+
}
|
|
4210
|
+
}
|
|
4211
|
+
|
|
4212
|
+
// Run the test
|
|
4213
|
+
example().catch(console.error);
|
|
4214
|
+
```
|
|
4215
|
+
|
|
4216
|
+
### Parameters
|
|
4217
|
+
|
|
4218
|
+
|
|
4219
|
+
| Name | Type | Description | Notes |
|
|
4220
|
+
|------------- | ------------- | ------------- | -------------|
|
|
4221
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
4222
|
+
| **conversation** | `string` | Interrupt only this conversation id. Omit to interrupt the whole sandbox. | [Optional] [Defaults to `undefined`] |
|
|
4223
|
+
|
|
4224
|
+
### Return type
|
|
4225
|
+
|
|
4226
|
+
[**SandboxActionResponse**](SandboxActionResponse.md)
|
|
4227
|
+
|
|
4228
|
+
### Authorization
|
|
4229
|
+
|
|
4230
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
4231
|
+
|
|
4232
|
+
### HTTP request headers
|
|
4233
|
+
|
|
4234
|
+
- **Content-Type**: Not defined
|
|
4235
|
+
- **Accept**: `application/json`
|
|
4236
|
+
|
|
4237
|
+
|
|
4238
|
+
### HTTP response details
|
|
4239
|
+
| Status code | Description | Response headers |
|
|
4240
|
+
|-------------|-------------|------------------|
|
|
4241
|
+
| **200** | Interrupt requested. | - |
|
|
4242
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
4243
|
+
| **402** | Account cannot currently create or operate sandboxes. The error body may include a dashboard billing URL, but billing actions are not part of the v1 API. | - |
|
|
4244
|
+
| **404** | Resource not found. | - |
|
|
4245
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
4246
|
+
|
|
4247
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
4248
|
+
|
|
4249
|
+
|
|
4250
|
+
## limits
|
|
4251
|
+
|
|
4252
|
+
> LimitsResponse limits(org, xBoatOrg, teamId)
|
|
4253
|
+
|
|
4254
|
+
Get Boat limits
|
|
4255
|
+
|
|
4256
|
+
Check remaining machine starts, compute time, credits, access readiness, and concurrent-sandbox capacity for the wallet a create would bill: the `org` / `X-Boat-Org` you pass (id or name), else the account\'s active wallet, else personal. The response carries `teamId` when an organization wallet was read.
|
|
4257
|
+
|
|
4258
|
+
### Example
|
|
4259
|
+
|
|
4260
|
+
```ts
|
|
4261
|
+
import {
|
|
4262
|
+
Configuration,
|
|
4263
|
+
BoatApi,
|
|
4264
|
+
} from '@boatdev/sdk';
|
|
4265
|
+
import type { LimitsRequest } from '@boatdev/sdk';
|
|
4266
|
+
|
|
4267
|
+
async function example() {
|
|
4268
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
4269
|
+
const config = new Configuration({
|
|
4270
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
4271
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
4272
|
+
});
|
|
4273
|
+
const api = new BoatApi(config);
|
|
4274
|
+
|
|
4275
|
+
const body = {
|
|
4276
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
4277
|
+
org: org_example,
|
|
4278
|
+
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
4279
|
+
xBoatOrg: xBoatOrg_example,
|
|
4280
|
+
// string | Legacy alias for `org`. Takes precedence over `org` / `X-Boat-Org` when set. (optional)
|
|
4281
|
+
teamId: teamId_example,
|
|
4282
|
+
} satisfies LimitsRequest;
|
|
4283
|
+
|
|
4284
|
+
try {
|
|
4285
|
+
const data = await api.limits(body);
|
|
3386
4286
|
console.log(data);
|
|
3387
4287
|
} catch (error) {
|
|
3388
4288
|
console.error(error);
|
|
@@ -3398,12 +4298,13 @@ example().catch(console.error);
|
|
|
3398
4298
|
|
|
3399
4299
|
| Name | Type | Description | Notes |
|
|
3400
4300
|
|------------- | ------------- | ------------- | -------------|
|
|
3401
|
-
| **
|
|
3402
|
-
| **
|
|
4301
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
4302
|
+
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
4303
|
+
| **teamId** | `string` | Legacy alias for `org`. Takes precedence over `org` / `X-Boat-Org` when set. | [Optional] [Defaults to `undefined`] |
|
|
3403
4304
|
|
|
3404
4305
|
### Return type
|
|
3405
4306
|
|
|
3406
|
-
[**
|
|
4307
|
+
[**LimitsResponse**](LimitsResponse.md)
|
|
3407
4308
|
|
|
3408
4309
|
### Authorization
|
|
3409
4310
|
|
|
@@ -3411,29 +4312,26 @@ example().catch(console.error);
|
|
|
3411
4312
|
|
|
3412
4313
|
### HTTP request headers
|
|
3413
4314
|
|
|
3414
|
-
- **Content-Type**:
|
|
4315
|
+
- **Content-Type**: Not defined
|
|
3415
4316
|
- **Accept**: `application/json`
|
|
3416
4317
|
|
|
3417
4318
|
|
|
3418
4319
|
### HTTP response details
|
|
3419
4320
|
| Status code | Description | Response headers |
|
|
3420
4321
|
|-------------|-------------|------------------|
|
|
3421
|
-
| **200** |
|
|
3422
|
-
| **400** | Invalid request body or parameters. | - |
|
|
4322
|
+
| **200** | Current creation and concurrent-boat limits. | - |
|
|
3423
4323
|
| **401** | Missing or invalid bearer token. | - |
|
|
3424
|
-
| **402** | Account cannot currently create or operate sandboxes. The error body may include a dashboard billing URL, but billing actions are not part of the v1 API. | - |
|
|
3425
|
-
| **404** | Resource not found. | - |
|
|
3426
4324
|
|
|
3427
4325
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
3428
4326
|
|
|
3429
4327
|
|
|
3430
|
-
##
|
|
4328
|
+
## listCredentialAccounts
|
|
3431
4329
|
|
|
3432
|
-
>
|
|
4330
|
+
> CredentialAccountsResponse listCredentialAccounts(profile, credential)
|
|
3433
4331
|
|
|
3434
|
-
|
|
4332
|
+
List the accounts of a credential
|
|
3435
4333
|
|
|
3436
|
-
|
|
4334
|
+
Every account of one credential (several ChatGPT sign-ins, several OpenAI keys), in the order they were added, the one in use marked. Labels only, never a secret. Needs an API key with `account.admin`.
|
|
3437
4335
|
|
|
3438
4336
|
### Example
|
|
3439
4337
|
|
|
@@ -3442,7 +4340,7 @@ import {
|
|
|
3442
4340
|
Configuration,
|
|
3443
4341
|
BoatApi,
|
|
3444
4342
|
} from '@boatdev/sdk';
|
|
3445
|
-
import type {
|
|
4343
|
+
import type { ListCredentialAccountsRequest } from '@boatdev/sdk';
|
|
3446
4344
|
|
|
3447
4345
|
async function example() {
|
|
3448
4346
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -3453,14 +4351,14 @@ async function example() {
|
|
|
3453
4351
|
const api = new BoatApi(config);
|
|
3454
4352
|
|
|
3455
4353
|
const body = {
|
|
3456
|
-
// string |
|
|
3457
|
-
|
|
3458
|
-
//
|
|
3459
|
-
|
|
3460
|
-
} satisfies
|
|
4354
|
+
// string | Profile id or name.
|
|
4355
|
+
profile: profile_example,
|
|
4356
|
+
// CredentialId
|
|
4357
|
+
credential: ...,
|
|
4358
|
+
} satisfies ListCredentialAccountsRequest;
|
|
3461
4359
|
|
|
3462
4360
|
try {
|
|
3463
|
-
const data = await api.
|
|
4361
|
+
const data = await api.listCredentialAccounts(body);
|
|
3464
4362
|
console.log(data);
|
|
3465
4363
|
} catch (error) {
|
|
3466
4364
|
console.error(error);
|
|
@@ -3476,12 +4374,12 @@ example().catch(console.error);
|
|
|
3476
4374
|
|
|
3477
4375
|
| Name | Type | Description | Notes |
|
|
3478
4376
|
|------------- | ------------- | ------------- | -------------|
|
|
3479
|
-
| **
|
|
3480
|
-
| **
|
|
4377
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
4378
|
+
| **credential** | `CredentialId` | | [Defaults to `undefined`] [Enum: anthropic-api-key, openai-api-key, openrouter-api-key, llmgateway-api-key, deepseek-api-key, moonshot-api-key, mistral-api-key, claude-subscription, chatgpt-subscription, kimi-subscription, mistral-vibe-subscription, claude-bedrock, codex-bedrock] |
|
|
3481
4379
|
|
|
3482
4380
|
### Return type
|
|
3483
4381
|
|
|
3484
|
-
[**
|
|
4382
|
+
[**CredentialAccountsResponse**](CredentialAccountsResponse.md)
|
|
3485
4383
|
|
|
3486
4384
|
### Authorization
|
|
3487
4385
|
|
|
@@ -3496,22 +4394,22 @@ example().catch(console.error);
|
|
|
3496
4394
|
### HTTP response details
|
|
3497
4395
|
| Status code | Description | Response headers |
|
|
3498
4396
|
|-------------|-------------|------------------|
|
|
3499
|
-
| **200** |
|
|
4397
|
+
| **200** | The accounts. | - |
|
|
4398
|
+
| **400** | Invalid request body or parameters. | - |
|
|
3500
4399
|
| **401** | Missing or invalid bearer token. | - |
|
|
3501
|
-
| **
|
|
4400
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
3502
4401
|
| **404** | Resource not found. | - |
|
|
3503
|
-
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
3504
4402
|
|
|
3505
4403
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
3506
4404
|
|
|
3507
4405
|
|
|
3508
|
-
##
|
|
4406
|
+
## listCredentialProfiles
|
|
3509
4407
|
|
|
3510
|
-
>
|
|
4408
|
+
> CredentialProfileListResponse listCredentialProfiles()
|
|
3511
4409
|
|
|
3512
|
-
|
|
4410
|
+
List credential profiles
|
|
3513
4411
|
|
|
3514
|
-
|
|
4412
|
+
Returns every AI credential profile you can use, yours and your organizations\'. Secret values are never returned. Needs an API key with `account.admin`.
|
|
3515
4413
|
|
|
3516
4414
|
### Example
|
|
3517
4415
|
|
|
@@ -3520,7 +4418,7 @@ import {
|
|
|
3520
4418
|
Configuration,
|
|
3521
4419
|
BoatApi,
|
|
3522
4420
|
} from '@boatdev/sdk';
|
|
3523
|
-
import type {
|
|
4421
|
+
import type { ListCredentialProfilesRequest } from '@boatdev/sdk';
|
|
3524
4422
|
|
|
3525
4423
|
async function example() {
|
|
3526
4424
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -3530,17 +4428,8 @@ async function example() {
|
|
|
3530
4428
|
});
|
|
3531
4429
|
const api = new BoatApi(config);
|
|
3532
4430
|
|
|
3533
|
-
const body = {
|
|
3534
|
-
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes, snapshots, and environments stay creator-private. (optional)
|
|
3535
|
-
org: org_example,
|
|
3536
|
-
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
3537
|
-
xBoatOrg: xBoatOrg_example,
|
|
3538
|
-
// string | Legacy alias for `org`. Takes precedence over `org` / `X-Boat-Org` when set. (optional)
|
|
3539
|
-
teamId: teamId_example,
|
|
3540
|
-
} satisfies LimitsRequest;
|
|
3541
|
-
|
|
3542
4431
|
try {
|
|
3543
|
-
const data = await api.
|
|
4432
|
+
const data = await api.listCredentialProfiles();
|
|
3544
4433
|
console.log(data);
|
|
3545
4434
|
} catch (error) {
|
|
3546
4435
|
console.error(error);
|
|
@@ -3553,16 +4442,11 @@ example().catch(console.error);
|
|
|
3553
4442
|
|
|
3554
4443
|
### Parameters
|
|
3555
4444
|
|
|
3556
|
-
|
|
3557
|
-
| Name | Type | Description | Notes |
|
|
3558
|
-
|------------- | ------------- | ------------- | -------------|
|
|
3559
|
-
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes, snapshots, and environments stay creator-private. | [Optional] [Defaults to `undefined`] |
|
|
3560
|
-
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
3561
|
-
| **teamId** | `string` | Legacy alias for `org`. Takes precedence over `org` / `X-Boat-Org` when set. | [Optional] [Defaults to `undefined`] |
|
|
4445
|
+
This endpoint does not need any parameter.
|
|
3562
4446
|
|
|
3563
4447
|
### Return type
|
|
3564
4448
|
|
|
3565
|
-
[**
|
|
4449
|
+
[**CredentialProfileListResponse**](CredentialProfileListResponse.md)
|
|
3566
4450
|
|
|
3567
4451
|
### Authorization
|
|
3568
4452
|
|
|
@@ -3577,7 +4461,7 @@ example().catch(console.error);
|
|
|
3577
4461
|
### HTTP response details
|
|
3578
4462
|
| Status code | Description | Response headers |
|
|
3579
4463
|
|-------------|-------------|------------------|
|
|
3580
|
-
| **200** |
|
|
4464
|
+
| **200** | The profiles. | - |
|
|
3581
4465
|
| **401** | Missing or invalid bearer token. | - |
|
|
3582
4466
|
|
|
3583
4467
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
@@ -4944,7 +5828,7 @@ async function example() {
|
|
|
4944
5828
|
const api = new BoatApi(config);
|
|
4945
5829
|
|
|
4946
5830
|
const body = {
|
|
4947
|
-
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes
|
|
5831
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
4948
5832
|
org: org_example,
|
|
4949
5833
|
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
4950
5834
|
xBoatOrg: xBoatOrg_example,
|
|
@@ -4975,7 +5859,7 @@ example().catch(console.error);
|
|
|
4975
5859
|
|
|
4976
5860
|
| Name | Type | Description | Notes |
|
|
4977
5861
|
|------------- | ------------- | ------------- | -------------|
|
|
4978
|
-
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes
|
|
5862
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
4979
5863
|
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
4980
5864
|
| **limit** | `number` | Maximum items to return. | [Optional] [Defaults to `100`] |
|
|
4981
5865
|
| **cursor** | `string` | Opaque pagination cursor returned as `pageInfo.nextCursor`. | [Optional] [Defaults to `undefined`] |
|
|
@@ -5250,7 +6134,248 @@ async function example() {
|
|
|
5250
6134
|
} satisfies SetActiveOrganizationRequest;
|
|
5251
6135
|
|
|
5252
6136
|
try {
|
|
5253
|
-
const data = await api.setActiveOrganization(body);
|
|
6137
|
+
const data = await api.setActiveOrganization(body);
|
|
6138
|
+
console.log(data);
|
|
6139
|
+
} catch (error) {
|
|
6140
|
+
console.error(error);
|
|
6141
|
+
}
|
|
6142
|
+
}
|
|
6143
|
+
|
|
6144
|
+
// Run the test
|
|
6145
|
+
example().catch(console.error);
|
|
6146
|
+
```
|
|
6147
|
+
|
|
6148
|
+
### Parameters
|
|
6149
|
+
|
|
6150
|
+
|
|
6151
|
+
| Name | Type | Description | Notes |
|
|
6152
|
+
|------------- | ------------- | ------------- | -------------|
|
|
6153
|
+
| **activeOrgUpdateRequest** | [ActiveOrgUpdateRequest](ActiveOrgUpdateRequest.md) | | |
|
|
6154
|
+
|
|
6155
|
+
### Return type
|
|
6156
|
+
|
|
6157
|
+
[**ActiveOrgResponse**](ActiveOrgResponse.md)
|
|
6158
|
+
|
|
6159
|
+
### Authorization
|
|
6160
|
+
|
|
6161
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
6162
|
+
|
|
6163
|
+
### HTTP request headers
|
|
6164
|
+
|
|
6165
|
+
- **Content-Type**: `application/json`
|
|
6166
|
+
- **Accept**: `application/json`
|
|
6167
|
+
|
|
6168
|
+
|
|
6169
|
+
### HTTP response details
|
|
6170
|
+
| Status code | Description | Response headers |
|
|
6171
|
+
|-------------|-------------|------------------|
|
|
6172
|
+
| **200** | The wallet now active. | - |
|
|
6173
|
+
| **400** | Invalid request body or parameters. | - |
|
|
6174
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
6175
|
+
| **403** | `not_org_member`: no organization with that id or name that you belong to. | - |
|
|
6176
|
+
| **409** | `ambiguous_org`: several of your organizations share that name; pass the id. | - |
|
|
6177
|
+
|
|
6178
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
6179
|
+
|
|
6180
|
+
|
|
6181
|
+
## setCredentialProfileCustomApi
|
|
6182
|
+
|
|
6183
|
+
> CredentialProfileResponse setCredentialProfileCustomApi(profile, name, setCustomApiRequest)
|
|
6184
|
+
|
|
6185
|
+
Set a custom API
|
|
6186
|
+
|
|
6187
|
+
Adds or replaces one custom API. The sandbox gets `<NAME>` and `<NAME>_BASE_URL`. Needs an API key with `account.admin`.
|
|
6188
|
+
|
|
6189
|
+
### Example
|
|
6190
|
+
|
|
6191
|
+
```ts
|
|
6192
|
+
import {
|
|
6193
|
+
Configuration,
|
|
6194
|
+
BoatApi,
|
|
6195
|
+
} from '@boatdev/sdk';
|
|
6196
|
+
import type { SetCredentialProfileCustomApiRequest } from '@boatdev/sdk';
|
|
6197
|
+
|
|
6198
|
+
async function example() {
|
|
6199
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
6200
|
+
const config = new Configuration({
|
|
6201
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
6202
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
6203
|
+
});
|
|
6204
|
+
const api = new BoatApi(config);
|
|
6205
|
+
|
|
6206
|
+
const body = {
|
|
6207
|
+
// string | Profile id or name.
|
|
6208
|
+
profile: profile_example,
|
|
6209
|
+
// string | Environment variable name of the custom API, for example `STRIPE_KEY`. Provider names (`ANTHROPIC_*`, `OPENAI_*`, and so on) and names that end in `_BASE_URL` are reserved.
|
|
6210
|
+
name: name_example,
|
|
6211
|
+
// SetCustomApiRequest
|
|
6212
|
+
setCustomApiRequest: {"value":"sk_live_123","baseUrl":"https://api.stripe.com/v1"},
|
|
6213
|
+
} satisfies SetCredentialProfileCustomApiRequest;
|
|
6214
|
+
|
|
6215
|
+
try {
|
|
6216
|
+
const data = await api.setCredentialProfileCustomApi(body);
|
|
6217
|
+
console.log(data);
|
|
6218
|
+
} catch (error) {
|
|
6219
|
+
console.error(error);
|
|
6220
|
+
}
|
|
6221
|
+
}
|
|
6222
|
+
|
|
6223
|
+
// Run the test
|
|
6224
|
+
example().catch(console.error);
|
|
6225
|
+
```
|
|
6226
|
+
|
|
6227
|
+
### Parameters
|
|
6228
|
+
|
|
6229
|
+
|
|
6230
|
+
| Name | Type | Description | Notes |
|
|
6231
|
+
|------------- | ------------- | ------------- | -------------|
|
|
6232
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
6233
|
+
| **name** | `string` | Environment variable name of the custom API, for example `STRIPE_KEY`. Provider names (`ANTHROPIC_*`, `OPENAI_*`, and so on) and names that end in `_BASE_URL` are reserved. | [Defaults to `undefined`] |
|
|
6234
|
+
| **setCustomApiRequest** | [SetCustomApiRequest](SetCustomApiRequest.md) | | |
|
|
6235
|
+
|
|
6236
|
+
### Return type
|
|
6237
|
+
|
|
6238
|
+
[**CredentialProfileResponse**](CredentialProfileResponse.md)
|
|
6239
|
+
|
|
6240
|
+
### Authorization
|
|
6241
|
+
|
|
6242
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
6243
|
+
|
|
6244
|
+
### HTTP request headers
|
|
6245
|
+
|
|
6246
|
+
- **Content-Type**: `application/json`
|
|
6247
|
+
- **Accept**: `application/json`
|
|
6248
|
+
|
|
6249
|
+
|
|
6250
|
+
### HTTP response details
|
|
6251
|
+
| Status code | Description | Response headers |
|
|
6252
|
+
|-------------|-------------|------------------|
|
|
6253
|
+
| **200** | The updated profile. | - |
|
|
6254
|
+
| **400** | Invalid request body or parameters. | - |
|
|
6255
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
6256
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
6257
|
+
| **404** | Resource not found. | - |
|
|
6258
|
+
|
|
6259
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
6260
|
+
|
|
6261
|
+
|
|
6262
|
+
## setCredentialProfileKey
|
|
6263
|
+
|
|
6264
|
+
> CredentialProfileResponse setCredentialProfileKey(profile, credential, setCredentialKeyRequest)
|
|
6265
|
+
|
|
6266
|
+
Set a credential profile API key
|
|
6267
|
+
|
|
6268
|
+
Sets one API key. A sign-in id returns `400 not_an_api_key`; connect sign-ins on the dashboard Agents page. Running sandboxes that use the profile get the new key. Needs an API key with `account.admin`.
|
|
6269
|
+
|
|
6270
|
+
### Example
|
|
6271
|
+
|
|
6272
|
+
```ts
|
|
6273
|
+
import {
|
|
6274
|
+
Configuration,
|
|
6275
|
+
BoatApi,
|
|
6276
|
+
} from '@boatdev/sdk';
|
|
6277
|
+
import type { SetCredentialProfileKeyRequest } from '@boatdev/sdk';
|
|
6278
|
+
|
|
6279
|
+
async function example() {
|
|
6280
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
6281
|
+
const config = new Configuration({
|
|
6282
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
6283
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
6284
|
+
});
|
|
6285
|
+
const api = new BoatApi(config);
|
|
6286
|
+
|
|
6287
|
+
const body = {
|
|
6288
|
+
// string | Profile id or name.
|
|
6289
|
+
profile: profile_example,
|
|
6290
|
+
// CredentialId
|
|
6291
|
+
credential: ...,
|
|
6292
|
+
// SetCredentialKeyRequest
|
|
6293
|
+
setCredentialKeyRequest: ...,
|
|
6294
|
+
} satisfies SetCredentialProfileKeyRequest;
|
|
6295
|
+
|
|
6296
|
+
try {
|
|
6297
|
+
const data = await api.setCredentialProfileKey(body);
|
|
6298
|
+
console.log(data);
|
|
6299
|
+
} catch (error) {
|
|
6300
|
+
console.error(error);
|
|
6301
|
+
}
|
|
6302
|
+
}
|
|
6303
|
+
|
|
6304
|
+
// Run the test
|
|
6305
|
+
example().catch(console.error);
|
|
6306
|
+
```
|
|
6307
|
+
|
|
6308
|
+
### Parameters
|
|
6309
|
+
|
|
6310
|
+
|
|
6311
|
+
| Name | Type | Description | Notes |
|
|
6312
|
+
|------------- | ------------- | ------------- | -------------|
|
|
6313
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
6314
|
+
| **credential** | `CredentialId` | | [Defaults to `undefined`] [Enum: anthropic-api-key, openai-api-key, openrouter-api-key, llmgateway-api-key, deepseek-api-key, moonshot-api-key, mistral-api-key, claude-subscription, chatgpt-subscription, kimi-subscription, mistral-vibe-subscription, claude-bedrock, codex-bedrock] |
|
|
6315
|
+
| **setCredentialKeyRequest** | [SetCredentialKeyRequest](SetCredentialKeyRequest.md) | | |
|
|
6316
|
+
|
|
6317
|
+
### Return type
|
|
6318
|
+
|
|
6319
|
+
[**CredentialProfileResponse**](CredentialProfileResponse.md)
|
|
6320
|
+
|
|
6321
|
+
### Authorization
|
|
6322
|
+
|
|
6323
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
6324
|
+
|
|
6325
|
+
### HTTP request headers
|
|
6326
|
+
|
|
6327
|
+
- **Content-Type**: `application/json`
|
|
6328
|
+
- **Accept**: `application/json`
|
|
6329
|
+
|
|
6330
|
+
|
|
6331
|
+
### HTTP response details
|
|
6332
|
+
| Status code | Description | Response headers |
|
|
6333
|
+
|-------------|-------------|------------------|
|
|
6334
|
+
| **200** | The updated profile. | - |
|
|
6335
|
+
| **400** | Invalid request body or parameters. | - |
|
|
6336
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
6337
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
6338
|
+
| **404** | Resource not found. | - |
|
|
6339
|
+
|
|
6340
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
6341
|
+
|
|
6342
|
+
|
|
6343
|
+
## setEnvironmentSecretFile
|
|
6344
|
+
|
|
6345
|
+
> EnvironmentItemChangeResponse setEnvironmentSecretFile(environmentId, setEnvironmentSecretFileRequest, org)
|
|
6346
|
+
|
|
6347
|
+
Write one secret file
|
|
6348
|
+
|
|
6349
|
+
Adds or replaces a single secret file by path. Mints a new immutable version.
|
|
6350
|
+
|
|
6351
|
+
### Example
|
|
6352
|
+
|
|
6353
|
+
```ts
|
|
6354
|
+
import {
|
|
6355
|
+
Configuration,
|
|
6356
|
+
BoatApi,
|
|
6357
|
+
} from '@boatdev/sdk';
|
|
6358
|
+
import type { SetEnvironmentSecretFileOperationRequest } from '@boatdev/sdk';
|
|
6359
|
+
|
|
6360
|
+
async function example() {
|
|
6361
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
6362
|
+
const config = new Configuration({
|
|
6363
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
6364
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
6365
|
+
});
|
|
6366
|
+
const api = new BoatApi(config);
|
|
6367
|
+
|
|
6368
|
+
const body = {
|
|
6369
|
+
// string
|
|
6370
|
+
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
6371
|
+
// SetEnvironmentSecretFileRequest
|
|
6372
|
+
setEnvironmentSecretFileRequest: ...,
|
|
6373
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
6374
|
+
org: org_example,
|
|
6375
|
+
} satisfies SetEnvironmentSecretFileOperationRequest;
|
|
6376
|
+
|
|
6377
|
+
try {
|
|
6378
|
+
const data = await api.setEnvironmentSecretFile(body);
|
|
5254
6379
|
console.log(data);
|
|
5255
6380
|
} catch (error) {
|
|
5256
6381
|
console.error(error);
|
|
@@ -5266,11 +6391,13 @@ example().catch(console.error);
|
|
|
5266
6391
|
|
|
5267
6392
|
| Name | Type | Description | Notes |
|
|
5268
6393
|
|------------- | ------------- | ------------- | -------------|
|
|
5269
|
-
| **
|
|
6394
|
+
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
6395
|
+
| **setEnvironmentSecretFileRequest** | [SetEnvironmentSecretFileRequest](SetEnvironmentSecretFileRequest.md) | | |
|
|
6396
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
5270
6397
|
|
|
5271
6398
|
### Return type
|
|
5272
6399
|
|
|
5273
|
-
[**
|
|
6400
|
+
[**EnvironmentItemChangeResponse**](EnvironmentItemChangeResponse.md)
|
|
5274
6401
|
|
|
5275
6402
|
### Authorization
|
|
5276
6403
|
|
|
@@ -5285,22 +6412,21 @@ example().catch(console.error);
|
|
|
5285
6412
|
### HTTP response details
|
|
5286
6413
|
| Status code | Description | Response headers |
|
|
5287
6414
|
|-------------|-------------|------------------|
|
|
5288
|
-
| **200** |
|
|
6415
|
+
| **200** | New version minted. | - |
|
|
5289
6416
|
| **400** | Invalid request body or parameters. | - |
|
|
5290
6417
|
| **401** | Missing or invalid bearer token. | - |
|
|
5291
|
-
| **
|
|
5292
|
-
| **409** | `ambiguous_org`: several of your organizations share that name; pass the id. | - |
|
|
6418
|
+
| **404** | Resource not found. | - |
|
|
5293
6419
|
|
|
5294
6420
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
5295
6421
|
|
|
5296
6422
|
|
|
5297
|
-
##
|
|
6423
|
+
## setEnvironmentVar
|
|
5298
6424
|
|
|
5299
|
-
> EnvironmentItemChangeResponse
|
|
6425
|
+
> EnvironmentItemChangeResponse setEnvironmentVar(environmentId, key, setEnvironmentVarRequest, org)
|
|
5300
6426
|
|
|
5301
|
-
|
|
6427
|
+
Set one environment variable
|
|
5302
6428
|
|
|
5303
|
-
|
|
6429
|
+
Sets or replaces a single variable without reading or rewriting the rest. Mints a new immutable version.
|
|
5304
6430
|
|
|
5305
6431
|
### Example
|
|
5306
6432
|
|
|
@@ -5309,7 +6435,7 @@ import {
|
|
|
5309
6435
|
Configuration,
|
|
5310
6436
|
BoatApi,
|
|
5311
6437
|
} from '@boatdev/sdk';
|
|
5312
|
-
import type {
|
|
6438
|
+
import type { SetEnvironmentVarOperationRequest } from '@boatdev/sdk';
|
|
5313
6439
|
|
|
5314
6440
|
async function example() {
|
|
5315
6441
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -5322,12 +6448,16 @@ async function example() {
|
|
|
5322
6448
|
const body = {
|
|
5323
6449
|
// string
|
|
5324
6450
|
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
5325
|
-
//
|
|
5326
|
-
|
|
5327
|
-
|
|
6451
|
+
// string | Environment variable name.
|
|
6452
|
+
key: key_example,
|
|
6453
|
+
// SetEnvironmentVarRequest
|
|
6454
|
+
setEnvironmentVarRequest: ...,
|
|
6455
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
6456
|
+
org: org_example,
|
|
6457
|
+
} satisfies SetEnvironmentVarOperationRequest;
|
|
5328
6458
|
|
|
5329
6459
|
try {
|
|
5330
|
-
const data = await api.
|
|
6460
|
+
const data = await api.setEnvironmentVar(body);
|
|
5331
6461
|
console.log(data);
|
|
5332
6462
|
} catch (error) {
|
|
5333
6463
|
console.error(error);
|
|
@@ -5344,7 +6474,9 @@ example().catch(console.error);
|
|
|
5344
6474
|
| Name | Type | Description | Notes |
|
|
5345
6475
|
|------------- | ------------- | ------------- | -------------|
|
|
5346
6476
|
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
5347
|
-
| **
|
|
6477
|
+
| **key** | `string` | Environment variable name. | [Defaults to `undefined`] |
|
|
6478
|
+
| **setEnvironmentVarRequest** | [SetEnvironmentVarRequest](SetEnvironmentVarRequest.md) | | |
|
|
6479
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
5348
6480
|
|
|
5349
6481
|
### Return type
|
|
5350
6482
|
|
|
@@ -5371,13 +6503,13 @@ example().catch(console.error);
|
|
|
5371
6503
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
5372
6504
|
|
|
5373
6505
|
|
|
5374
|
-
##
|
|
6506
|
+
## setSandboxAiAccess
|
|
5375
6507
|
|
|
5376
|
-
>
|
|
6508
|
+
> SandboxAiAccessResponse setSandboxAiAccess(sandboxId, setSandboxAiAccessRequest)
|
|
5377
6509
|
|
|
5378
|
-
|
|
6510
|
+
Block or unblock sandbox AI access
|
|
5379
6511
|
|
|
5380
|
-
|
|
6512
|
+
Blocks or unblocks the sandbox\'s AI placeholders, running or stopped. The proxy refuses a blocked sandbox\'s requests with `403`. It has no effect on a sandbox that holds real keys. The sandbox creator, or a manager of its credential profile, can call it. Needs an API key with `account.admin`.
|
|
5381
6513
|
|
|
5382
6514
|
### Example
|
|
5383
6515
|
|
|
@@ -5386,7 +6518,7 @@ import {
|
|
|
5386
6518
|
Configuration,
|
|
5387
6519
|
BoatApi,
|
|
5388
6520
|
} from '@boatdev/sdk';
|
|
5389
|
-
import type {
|
|
6521
|
+
import type { SetSandboxAiAccessOperationRequest } from '@boatdev/sdk';
|
|
5390
6522
|
|
|
5391
6523
|
async function example() {
|
|
5392
6524
|
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
@@ -5397,16 +6529,14 @@ async function example() {
|
|
|
5397
6529
|
const api = new BoatApi(config);
|
|
5398
6530
|
|
|
5399
6531
|
const body = {
|
|
5400
|
-
// string
|
|
5401
|
-
|
|
5402
|
-
//
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
setEnvironmentVarRequest: ...,
|
|
5406
|
-
} satisfies SetEnvironmentVarOperationRequest;
|
|
6532
|
+
// string | Public Sandbox id returned by create/list/get sandbox calls.
|
|
6533
|
+
sandboxId: sandboxId_example,
|
|
6534
|
+
// SetSandboxAiAccessRequest
|
|
6535
|
+
setSandboxAiAccessRequest: ...,
|
|
6536
|
+
} satisfies SetSandboxAiAccessOperationRequest;
|
|
5407
6537
|
|
|
5408
6538
|
try {
|
|
5409
|
-
const data = await api.
|
|
6539
|
+
const data = await api.setSandboxAiAccess(body);
|
|
5410
6540
|
console.log(data);
|
|
5411
6541
|
} catch (error) {
|
|
5412
6542
|
console.error(error);
|
|
@@ -5422,13 +6552,12 @@ example().catch(console.error);
|
|
|
5422
6552
|
|
|
5423
6553
|
| Name | Type | Description | Notes |
|
|
5424
6554
|
|------------- | ------------- | ------------- | -------------|
|
|
5425
|
-
| **
|
|
5426
|
-
| **
|
|
5427
|
-
| **setEnvironmentVarRequest** | [SetEnvironmentVarRequest](SetEnvironmentVarRequest.md) | | |
|
|
6555
|
+
| **sandboxId** | `string` | Public Sandbox id returned by create/list/get sandbox calls. | [Defaults to `undefined`] |
|
|
6556
|
+
| **setSandboxAiAccessRequest** | [SetSandboxAiAccessRequest](SetSandboxAiAccessRequest.md) | | |
|
|
5428
6557
|
|
|
5429
6558
|
### Return type
|
|
5430
6559
|
|
|
5431
|
-
[**
|
|
6560
|
+
[**SandboxAiAccessResponse**](SandboxAiAccessResponse.md)
|
|
5432
6561
|
|
|
5433
6562
|
### Authorization
|
|
5434
6563
|
|
|
@@ -5443,9 +6572,10 @@ example().catch(console.error);
|
|
|
5443
6572
|
### HTTP response details
|
|
5444
6573
|
| Status code | Description | Response headers |
|
|
5445
6574
|
|-------------|-------------|------------------|
|
|
5446
|
-
| **200** |
|
|
6575
|
+
| **200** | The new state. | - |
|
|
5447
6576
|
| **400** | Invalid request body or parameters. | - |
|
|
5448
6577
|
| **401** | Missing or invalid bearer token. | - |
|
|
6578
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
5449
6579
|
| **404** | Resource not found. | - |
|
|
5450
6580
|
|
|
5451
6581
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
@@ -5914,6 +7044,87 @@ example().catch(console.error);
|
|
|
5914
7044
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
5915
7045
|
|
|
5916
7046
|
|
|
7047
|
+
## switchCredentialAccount
|
|
7048
|
+
|
|
7049
|
+
> CredentialAccountsResponse switchCredentialAccount(profile, credential, account)
|
|
7050
|
+
|
|
7051
|
+
Switch a credential to another account
|
|
7052
|
+
|
|
7053
|
+
Makes this account the one in use; the previous one stays as another account. Switching to the account already in use changes nothing. Every sandbox that uses the profile gets it at once, running ones included, with no restart. Use it when one account runs out of credits. Needs an API key with `account.admin`.
|
|
7054
|
+
|
|
7055
|
+
### Example
|
|
7056
|
+
|
|
7057
|
+
```ts
|
|
7058
|
+
import {
|
|
7059
|
+
Configuration,
|
|
7060
|
+
BoatApi,
|
|
7061
|
+
} from '@boatdev/sdk';
|
|
7062
|
+
import type { SwitchCredentialAccountRequest } from '@boatdev/sdk';
|
|
7063
|
+
|
|
7064
|
+
async function example() {
|
|
7065
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
7066
|
+
const config = new Configuration({
|
|
7067
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
7068
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
7069
|
+
});
|
|
7070
|
+
const api = new BoatApi(config);
|
|
7071
|
+
|
|
7072
|
+
const body = {
|
|
7073
|
+
// string | Profile id or name.
|
|
7074
|
+
profile: profile_example,
|
|
7075
|
+
// CredentialId
|
|
7076
|
+
credential: ...,
|
|
7077
|
+
// string | The account id from the list.
|
|
7078
|
+
account: account_example,
|
|
7079
|
+
} satisfies SwitchCredentialAccountRequest;
|
|
7080
|
+
|
|
7081
|
+
try {
|
|
7082
|
+
const data = await api.switchCredentialAccount(body);
|
|
7083
|
+
console.log(data);
|
|
7084
|
+
} catch (error) {
|
|
7085
|
+
console.error(error);
|
|
7086
|
+
}
|
|
7087
|
+
}
|
|
7088
|
+
|
|
7089
|
+
// Run the test
|
|
7090
|
+
example().catch(console.error);
|
|
7091
|
+
```
|
|
7092
|
+
|
|
7093
|
+
### Parameters
|
|
7094
|
+
|
|
7095
|
+
|
|
7096
|
+
| Name | Type | Description | Notes |
|
|
7097
|
+
|------------- | ------------- | ------------- | -------------|
|
|
7098
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
7099
|
+
| **credential** | `CredentialId` | | [Defaults to `undefined`] [Enum: anthropic-api-key, openai-api-key, openrouter-api-key, llmgateway-api-key, deepseek-api-key, moonshot-api-key, mistral-api-key, claude-subscription, chatgpt-subscription, kimi-subscription, mistral-vibe-subscription, claude-bedrock, codex-bedrock] |
|
|
7100
|
+
| **account** | `string` | The account id from the list. | [Defaults to `undefined`] |
|
|
7101
|
+
|
|
7102
|
+
### Return type
|
|
7103
|
+
|
|
7104
|
+
[**CredentialAccountsResponse**](CredentialAccountsResponse.md)
|
|
7105
|
+
|
|
7106
|
+
### Authorization
|
|
7107
|
+
|
|
7108
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
7109
|
+
|
|
7110
|
+
### HTTP request headers
|
|
7111
|
+
|
|
7112
|
+
- **Content-Type**: Not defined
|
|
7113
|
+
- **Accept**: `application/json`
|
|
7114
|
+
|
|
7115
|
+
|
|
7116
|
+
### HTTP response details
|
|
7117
|
+
| Status code | Description | Response headers |
|
|
7118
|
+
|-------------|-------------|------------------|
|
|
7119
|
+
| **200** | The accounts after the switch. | - |
|
|
7120
|
+
| **400** | Invalid request body or parameters. | - |
|
|
7121
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
7122
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
7123
|
+
| **404** | Resource not found. | - |
|
|
7124
|
+
|
|
7125
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
7126
|
+
|
|
7127
|
+
|
|
5917
7128
|
## update
|
|
5918
7129
|
|
|
5919
7130
|
> SandboxInfoResponse update(sandboxId, updateSandboxRequest)
|
|
@@ -5989,6 +7200,165 @@ example().catch(console.error);
|
|
|
5989
7200
|
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
5990
7201
|
|
|
5991
7202
|
|
|
7203
|
+
## updateAiProxy
|
|
7204
|
+
|
|
7205
|
+
> AiProxySettings updateAiProxy(updateAiProxyRequest, org, xBoatOrg)
|
|
7206
|
+
|
|
7207
|
+
Turn the AI credentials proxy on or off
|
|
7208
|
+
|
|
7209
|
+
With the proxy on, sandboxes get placeholder keys and base URLs that point at Boat. Boat swaps in the real key on each request. Real keys never enter the sandbox. Running sandboxes switch at their next start. While on, the account pays $1 of Boat time for each UTC day, plus $1 per 1,000 proxied requests, charged to the wallet each sandbox bills. For an organization, only its owner can change the switch. Needs an API key with `account.admin`.
|
|
7210
|
+
|
|
7211
|
+
### Example
|
|
7212
|
+
|
|
7213
|
+
```ts
|
|
7214
|
+
import {
|
|
7215
|
+
Configuration,
|
|
7216
|
+
BoatApi,
|
|
7217
|
+
} from '@boatdev/sdk';
|
|
7218
|
+
import type { UpdateAiProxyOperationRequest } from '@boatdev/sdk';
|
|
7219
|
+
|
|
7220
|
+
async function example() {
|
|
7221
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
7222
|
+
const config = new Configuration({
|
|
7223
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
7224
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
7225
|
+
});
|
|
7226
|
+
const api = new BoatApi(config);
|
|
7227
|
+
|
|
7228
|
+
const body = {
|
|
7229
|
+
// UpdateAiProxyRequest
|
|
7230
|
+
updateAiProxyRequest: ...,
|
|
7231
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
7232
|
+
org: org_example,
|
|
7233
|
+
// string | Same as the `org` query parameter. Query wins when both are set. (optional)
|
|
7234
|
+
xBoatOrg: xBoatOrg_example,
|
|
7235
|
+
} satisfies UpdateAiProxyOperationRequest;
|
|
7236
|
+
|
|
7237
|
+
try {
|
|
7238
|
+
const data = await api.updateAiProxy(body);
|
|
7239
|
+
console.log(data);
|
|
7240
|
+
} catch (error) {
|
|
7241
|
+
console.error(error);
|
|
7242
|
+
}
|
|
7243
|
+
}
|
|
7244
|
+
|
|
7245
|
+
// Run the test
|
|
7246
|
+
example().catch(console.error);
|
|
7247
|
+
```
|
|
7248
|
+
|
|
7249
|
+
### Parameters
|
|
7250
|
+
|
|
7251
|
+
|
|
7252
|
+
| Name | Type | Description | Notes |
|
|
7253
|
+
|------------- | ------------- | ------------- | -------------|
|
|
7254
|
+
| **updateAiProxyRequest** | [UpdateAiProxyRequest](UpdateAiProxyRequest.md) | | |
|
|
7255
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
7256
|
+
| **xBoatOrg** | `string` | Same as the `org` query parameter. Query wins when both are set. | [Optional] [Defaults to `undefined`] |
|
|
7257
|
+
|
|
7258
|
+
### Return type
|
|
7259
|
+
|
|
7260
|
+
[**AiProxySettings**](AiProxySettings.md)
|
|
7261
|
+
|
|
7262
|
+
### Authorization
|
|
7263
|
+
|
|
7264
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
7265
|
+
|
|
7266
|
+
### HTTP request headers
|
|
7267
|
+
|
|
7268
|
+
- **Content-Type**: `application/json`
|
|
7269
|
+
- **Accept**: `application/json`
|
|
7270
|
+
|
|
7271
|
+
|
|
7272
|
+
### HTTP response details
|
|
7273
|
+
| Status code | Description | Response headers |
|
|
7274
|
+
|-------------|-------------|------------------|
|
|
7275
|
+
| **200** | The new state. | - |
|
|
7276
|
+
| **400** | Invalid request body or parameters. | - |
|
|
7277
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
7278
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
7279
|
+
|
|
7280
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
7281
|
+
|
|
7282
|
+
|
|
7283
|
+
## updateCredentialProfile
|
|
7284
|
+
|
|
7285
|
+
> CredentialProfileResponse updateCredentialProfile(profile, updateCredentialProfileRequest)
|
|
7286
|
+
|
|
7287
|
+
Update a credential profile
|
|
7288
|
+
|
|
7289
|
+
Renames the profile, or makes it its owner\'s default. Sandboxes that use the owner\'s default switch to the new default at their next start. Needs an API key with `account.admin`.
|
|
7290
|
+
|
|
7291
|
+
### Example
|
|
7292
|
+
|
|
7293
|
+
```ts
|
|
7294
|
+
import {
|
|
7295
|
+
Configuration,
|
|
7296
|
+
BoatApi,
|
|
7297
|
+
} from '@boatdev/sdk';
|
|
7298
|
+
import type { UpdateCredentialProfileOperationRequest } from '@boatdev/sdk';
|
|
7299
|
+
|
|
7300
|
+
async function example() {
|
|
7301
|
+
console.log("🚀 Testing @boatdev/sdk SDK...");
|
|
7302
|
+
const config = new Configuration({
|
|
7303
|
+
// Configure HTTP bearer authorization: BoatBearerAuth
|
|
7304
|
+
accessToken: "YOUR BEARER TOKEN",
|
|
7305
|
+
});
|
|
7306
|
+
const api = new BoatApi(config);
|
|
7307
|
+
|
|
7308
|
+
const body = {
|
|
7309
|
+
// string | Profile id or name.
|
|
7310
|
+
profile: profile_example,
|
|
7311
|
+
// UpdateCredentialProfileRequest
|
|
7312
|
+
updateCredentialProfileRequest: {"isDefault":true},
|
|
7313
|
+
} satisfies UpdateCredentialProfileOperationRequest;
|
|
7314
|
+
|
|
7315
|
+
try {
|
|
7316
|
+
const data = await api.updateCredentialProfile(body);
|
|
7317
|
+
console.log(data);
|
|
7318
|
+
} catch (error) {
|
|
7319
|
+
console.error(error);
|
|
7320
|
+
}
|
|
7321
|
+
}
|
|
7322
|
+
|
|
7323
|
+
// Run the test
|
|
7324
|
+
example().catch(console.error);
|
|
7325
|
+
```
|
|
7326
|
+
|
|
7327
|
+
### Parameters
|
|
7328
|
+
|
|
7329
|
+
|
|
7330
|
+
| Name | Type | Description | Notes |
|
|
7331
|
+
|------------- | ------------- | ------------- | -------------|
|
|
7332
|
+
| **profile** | `string` | Profile id or name. | [Defaults to `undefined`] |
|
|
7333
|
+
| **updateCredentialProfileRequest** | [UpdateCredentialProfileRequest](UpdateCredentialProfileRequest.md) | | |
|
|
7334
|
+
|
|
7335
|
+
### Return type
|
|
7336
|
+
|
|
7337
|
+
[**CredentialProfileResponse**](CredentialProfileResponse.md)
|
|
7338
|
+
|
|
7339
|
+
### Authorization
|
|
7340
|
+
|
|
7341
|
+
[BoatBearerAuth](../README.md#BoatBearerAuth)
|
|
7342
|
+
|
|
7343
|
+
### HTTP request headers
|
|
7344
|
+
|
|
7345
|
+
- **Content-Type**: `application/json`
|
|
7346
|
+
- **Accept**: `application/json`
|
|
7347
|
+
|
|
7348
|
+
|
|
7349
|
+
### HTTP response details
|
|
7350
|
+
| Status code | Description | Response headers |
|
|
7351
|
+
|-------------|-------------|------------------|
|
|
7352
|
+
| **200** | The updated profile. | - |
|
|
7353
|
+
| **400** | Invalid request body or parameters. | - |
|
|
7354
|
+
| **401** | Missing or invalid bearer token. | - |
|
|
7355
|
+
| **403** | Authenticated token is not allowed to perform this action. | - |
|
|
7356
|
+
| **404** | Resource not found. | - |
|
|
7357
|
+
| **409** | Request conflicts with current account or sandbox state. | - |
|
|
7358
|
+
|
|
7359
|
+
[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
|
|
7360
|
+
|
|
7361
|
+
|
|
5992
7362
|
## updateDataRetention
|
|
5993
7363
|
|
|
5994
7364
|
> DataRetentionPolicyResponse updateDataRetention(dataRetentionUpdateRequest)
|
|
@@ -6066,7 +7436,7 @@ example().catch(console.error);
|
|
|
6066
7436
|
|
|
6067
7437
|
## updateEnvironment
|
|
6068
7438
|
|
|
6069
|
-
> SandboxEnvironmentResponse updateEnvironment(environmentId, updateSandboxEnvironmentRequest)
|
|
7439
|
+
> SandboxEnvironmentResponse updateEnvironment(environmentId, updateSandboxEnvironmentRequest, org)
|
|
6070
7440
|
|
|
6071
7441
|
Update a sandbox environment
|
|
6072
7442
|
|
|
@@ -6094,6 +7464,8 @@ async function example() {
|
|
|
6094
7464
|
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
6095
7465
|
// UpdateSandboxEnvironmentRequest
|
|
6096
7466
|
updateSandboxEnvironmentRequest: ...,
|
|
7467
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
7468
|
+
org: org_example,
|
|
6097
7469
|
} satisfies UpdateEnvironmentRequest;
|
|
6098
7470
|
|
|
6099
7471
|
try {
|
|
@@ -6115,6 +7487,7 @@ example().catch(console.error);
|
|
|
6115
7487
|
|------------- | ------------- | ------------- | -------------|
|
|
6116
7488
|
| **environmentId** | `string` | Environment id returned by `GET /environments`. | [Defaults to `undefined`] |
|
|
6117
7489
|
| **updateSandboxEnvironmentRequest** | [UpdateSandboxEnvironmentRequest](UpdateSandboxEnvironmentRequest.md) | | |
|
|
7490
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
6118
7491
|
|
|
6119
7492
|
### Return type
|
|
6120
7493
|
|
|
@@ -6291,7 +7664,7 @@ example().catch(console.error);
|
|
|
6291
7664
|
|
|
6292
7665
|
## upgradeEnvironment
|
|
6293
7666
|
|
|
6294
|
-
> UpgradeSandboxEnvironmentResponse upgradeEnvironment(environmentId, upgradeSandboxEnvironmentRequest)
|
|
7667
|
+
> UpgradeSandboxEnvironmentResponse upgradeEnvironment(environmentId, org, upgradeSandboxEnvironmentRequest)
|
|
6295
7668
|
|
|
6296
7669
|
Upgrade sandboxes to an environment\'s latest version
|
|
6297
7670
|
|
|
@@ -6317,6 +7690,8 @@ async function example() {
|
|
|
6317
7690
|
const body = {
|
|
6318
7691
|
// string
|
|
6319
7692
|
environmentId: 38400000-8cf0-11bd-b23e-10b96e4ef00d,
|
|
7693
|
+
// string | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. (optional)
|
|
7694
|
+
org: org_example,
|
|
6320
7695
|
// UpgradeSandboxEnvironmentRequest (optional)
|
|
6321
7696
|
upgradeSandboxEnvironmentRequest: ...,
|
|
6322
7697
|
} satisfies UpgradeEnvironmentRequest;
|
|
@@ -6339,6 +7714,7 @@ example().catch(console.error);
|
|
|
6339
7714
|
| Name | Type | Description | Notes |
|
|
6340
7715
|
|------------- | ------------- | ------------- | -------------|
|
|
6341
7716
|
| **environmentId** | `string` | | [Defaults to `undefined`] |
|
|
7717
|
+
| **org** | `string` | Billing wallet for this request: an organization you belong to, by id (`team_…`) or by name as `GET /orgs` lists it (case-insensitive), or `personal`. Omitted, the account\'s active wallet applies (`PATCH /orgs/active`; personal until set). Two organizations sharing the name answer `409 ambiguous_org` and need the id. Sandboxes and snapshots stay creator-private. On `/environments` routes, only this query parameter selects the organization\'s shared environments; the `X-Boat-Org` header and the active wallet do not apply there. Members read them, owners and admins change them. | [Optional] [Defaults to `undefined`] |
|
|
6342
7718
|
| **upgradeSandboxEnvironmentRequest** | [UpgradeSandboxEnvironmentRequest](UpgradeSandboxEnvironmentRequest.md) | | [Optional] |
|
|
6343
7719
|
|
|
6344
7720
|
### Return type
|