Skip to content

Commit 656a0cc

Browse files
release: 2.13.0 (#187)
Automated Release PR --- ## 2.13.0 (2026-06-05) Full Changelog: [v2.12.0...v2.13.0](v2.12.0...v2.13.0) ### Features * [CORE-2194][apps/api] Add BYOC (cert) CRUD to SDKs ([06b3a85](06b3a85)) --- This pull request is managed by Stainless's [GitHub App](https://github.com/apps/stainless-app). The [semver version number](https://semver.org/#semantic-versioning-specification-semver) is based on included [commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Alternatively, you can manually set the version number in the title of this pull request. For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request. 🔗 Stainless [website](https://www.stainlessapi.com) 📚 Read the [docs](https://app.stainlessapi.com/docs) 🙋 [Reach out](mailto:support@stainlessapi.com) for help or questions --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 6d1cb26 commit 656a0cc

12 files changed

Lines changed: 205 additions & 14 deletions

File tree

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.12.0"
2+
".": "2.13.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 23
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-b2831c9c836f039762834825afdc20569587a825d29ac5c3748c78b009bf059b.yml
3-
openapi_spec_hash: dd85a934900cb6583f12ebf6117be884
4-
config_hash: 40fbac80e24faaa0dc19e93368bcd821
1+
configured_endpoints: 27
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase/browserbase-9bab373fc62ce19147560ed3ec29fe09ad59d9a5b406d9ed21a22f15a511d9cb.yml
3+
openapi_spec_hash: 518fdefff1eabc4bb8a3b54ddf7fa293
4+
config_hash: d4b0c534eaf7665ea25168e0e824c9d3

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 2.13.0 (2026-06-05)
4+
5+
Full Changelog: [v2.12.0...v2.13.0](https://github.com/browserbase/sdk-node/compare/v2.12.0...v2.13.0)
6+
7+
### Features
8+
9+
* [CORE-2194][apps/api] Add BYOC (cert) CRUD to SDKs ([06b3a85](https://github.com/browserbase/sdk-node/commit/06b3a850b9e8955a7770ecdb43cd0820480b7c5f))
10+
311
## 2.12.0 (2026-05-20)
412

513
Full Changelog: [v2.11.0...v2.12.0](https://github.com/browserbase/sdk-node/compare/v2.11.0...v2.12.0)

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,17 @@ import Browserbase, { toFile } from '@browserbasehq/sdk';
6464
const client = new Browserbase();
6565

6666
// If you have access to Node `fs` we recommend using `fs.createReadStream()`:
67-
await client.extensions.create({ file: fs.createReadStream('/path/to/file') });
67+
await client.certificates.create({ file: fs.createReadStream('/path/to/file') });
6868

6969
// Or if you have the web `File` API you can pass a `File` instance:
70-
await client.extensions.create({ file: new File(['my bytes'], 'file') });
70+
await client.certificates.create({ file: new File(['my bytes'], 'file') });
7171

7272
// You can also pass a `fetch` `Response`:
73-
await client.extensions.create({ file: await fetch('https://somesite/file') });
73+
await client.certificates.create({ file: await fetch('https://somesite/file') });
7474

7575
// Finally, if none of the above are convenient, you can use our `toFile` helper:
76-
await client.extensions.create({ file: await toFile(Buffer.from('my bytes'), 'file') });
77-
await client.extensions.create({ file: await toFile(new Uint8Array([0, 1, 2]), 'file') });
76+
await client.certificates.create({ file: await toFile(Buffer.from('my bytes'), 'file') });
77+
await client.certificates.create({ file: await toFile(new Uint8Array([0, 1, 2]), 'file') });
7878
```
7979

8080
## Handling errors

api.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# Certificates
2+
3+
Types:
4+
5+
- <code><a href="./src/resources/certificates.ts">Certificate</a></code>
6+
- <code><a href="./src/resources/certificates.ts">CertificateListResponse</a></code>
7+
8+
Methods:
9+
10+
- <code title="post /v1/certificates">client.certificates.<a href="./src/resources/certificates.ts">create</a>({ ...params }) -> Certificate</code>
11+
- <code title="get /v1/certificates/{id}">client.certificates.<a href="./src/resources/certificates.ts">retrieve</a>(id) -> Certificate</code>
12+
- <code title="get /v1/certificates">client.certificates.<a href="./src/resources/certificates.ts">list</a>() -> CertificateListResponse</code>
13+
- <code title="delete /v1/certificates/{id}">client.certificates.<a href="./src/resources/certificates.ts">delete</a>(id) -> void</code>
14+
115
# Contexts
216

317
Types:

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@browserbasehq/sdk",
3-
"version": "2.12.0",
3+
"version": "2.13.0",
44
"description": "The official Node.js library for the Browserbase API",
55
"author": "Browserbase <support@browserbase.com>",
66
"types": "dist/index.d.ts",

src/index.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ import * as Core from './core';
55
import * as Errors from './error';
66
import * as Uploads from './uploads';
77
import * as API from './resources/index';
8+
import {
9+
Certificate,
10+
CertificateCreateParams,
11+
CertificateListResponse,
12+
Certificates,
13+
} from './resources/certificates';
814
import {
915
Context,
1016
ContextCreateParams,
@@ -156,6 +162,7 @@ export class Browserbase extends Core.APIClient {
156162
this.apiKey = apiKey;
157163
}
158164

165+
certificates: API.Certificates = new API.Certificates(this);
159166
contexts: API.Contexts = new API.Contexts(this);
160167
extensions: API.Extensions = new API.Extensions(this);
161168
fetchAPI: API.FetchAPI = new API.FetchAPI(this);
@@ -206,6 +213,7 @@ export class Browserbase extends Core.APIClient {
206213
static fileFromPath = Uploads.fileFromPath;
207214
}
208215

216+
Browserbase.Certificates = Certificates;
209217
Browserbase.Contexts = Contexts;
210218
Browserbase.Extensions = Extensions;
211219
Browserbase.FetchAPI = FetchAPI;
@@ -216,6 +224,13 @@ Browserbase.Sessions = Sessions;
216224
export declare namespace Browserbase {
217225
export type RequestOptions = Core.RequestOptions;
218226

227+
export {
228+
Certificates as Certificates,
229+
type Certificate as Certificate,
230+
type CertificateListResponse as CertificateListResponse,
231+
type CertificateCreateParams as CertificateCreateParams,
232+
};
233+
219234
export {
220235
Contexts as Contexts,
221236
type Context as Context,

src/resources/certificates.ts

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { APIResource } from '../resource';
4+
import * as Core from '../core';
5+
6+
export class Certificates extends APIResource {
7+
/**
8+
* Upload a Certificate
9+
*/
10+
create(body: CertificateCreateParams, options?: Core.RequestOptions): Core.APIPromise<Certificate> {
11+
return this._client.post('/v1/certificates', Core.multipartFormRequestOptions({ body, ...options }));
12+
}
13+
14+
/**
15+
* Get a Certificate
16+
*/
17+
retrieve(id: string, options?: Core.RequestOptions): Core.APIPromise<Certificate> {
18+
return this._client.get(`/v1/certificates/${id}`, options);
19+
}
20+
21+
/**
22+
* List Certificates
23+
*/
24+
list(options?: Core.RequestOptions): Core.APIPromise<CertificateListResponse> {
25+
return this._client.get('/v1/certificates', options);
26+
}
27+
28+
/**
29+
* Delete a Certificate
30+
*/
31+
delete(id: string, options?: Core.RequestOptions): Core.APIPromise<void> {
32+
return this._client.delete(`/v1/certificates/${id}`, {
33+
...options,
34+
headers: { Accept: '*/*', ...options?.headers },
35+
});
36+
}
37+
}
38+
39+
export interface Certificate {
40+
id: string;
41+
42+
createdAt: string;
43+
44+
/**
45+
* The Project ID linked to the uploaded Certificate.
46+
*/
47+
projectId: string;
48+
49+
updatedAt: string;
50+
}
51+
52+
export type CertificateListResponse = Array<Certificate>;
53+
54+
export interface CertificateCreateParams {
55+
file: Core.Uploadable;
56+
}
57+
58+
export declare namespace Certificates {
59+
export {
60+
type Certificate as Certificate,
61+
type CertificateListResponse as CertificateListResponse,
62+
type CertificateCreateParams as CertificateCreateParams,
63+
};
64+
}

src/resources/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3+
export {
4+
Certificates,
5+
type Certificate,
6+
type CertificateListResponse,
7+
type CertificateCreateParams,
8+
} from './certificates';
39
export {
410
Contexts,
511
type Context,

0 commit comments

Comments
 (0)