Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
244635e
fix: exact-match identifier filter on resources management list
stainless-app[bot] Jul 2, 2026
6a75b95
codegen metadata
stainless-app[bot] Jul 2, 2026
00974fb
feat: filter users by identifier in management list
stainless-app[bot] Jul 3, 2026
bacce21
feat(ID-365): support additional SSO provider configuration options
stainless-app[bot] Jul 3, 2026
57c0208
fix(ACC-613): preserve source order of policies in draft/convert ceda…
stainless-app[bot] Jul 6, 2026
5eff440
fix(ci): bump @arethetypeswrong/cli to ^0.18.0 and run CI workflows o…
stainless-app[bot] Jul 10, 2026
3c5654d
codegen metadata
stainless-app[bot] Jul 13, 2026
a10dc14
codegen metadata
stainless-app[bot] Jul 14, 2026
5036b87
fix(ci): resolve Stainless error diagnostics and enforce fail_on: error
stainless-app[bot] Jul 14, 2026
5eac03f
chore: Fixes found during Terraform work
stainless-app[bot] Jul 15, 2026
05bcd77
feat(applications): allow unified-gateway and mcp-server traits (ECO-…
stainless-app[bot] Jul 17, 2026
3bbfc2b
feat(stlc): configurable CI runner and private-production-repo suppor…
stainless-app[bot] Jul 17, 2026
0a1c00e
codegen metadata
stainless-app[bot] Jul 17, 2026
84f4b53
chore: de-dup and align types across API specs
stainless-app[bot] Jul 21, 2026
7c00cce
codegen metadata
stainless-app[bot] Jul 21, 2026
cb9142e
codegen metadata
stainless-app[bot] Jul 22, 2026
3c67dbc
codegen metadata
stainless-app[bot] Jul 22, 2026
30fc355
feat(ACC-709): application assignees + expose role assignments
stainless-app[bot] Jul 23, 2026
15fd58e
feat(sdk): generate a client for the existing /policy/bundle endpoint
stainless-app[bot] Jul 24, 2026
e97e51b
fix(sdk): generate /policy/bundle body as raw binary, not multipart
stainless-app[bot] Jul 24, 2026
34acd45
codegen metadata
stainless-app[bot] Jul 29, 2026
5147e5d
feat(resources): filter the resource list by trait
stainless-app[bot] Jul 29, 2026
84f7f48
feat(providers): store brand icon_url in provider metadata
stainless-app[bot] Jul 30, 2026
5b817aa
feat(resources): add search, sort, and filter[id] to the paginated re…
stainless-app[bot] Jul 31, 2026
b7f3a6a
feat(resources): add filter[owner_type] to the resource list (ECO-225)
stainless-app[bot] Jul 31, 2026
fe41985
release: 0.21.0
stainless-app[bot] Jul 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/keycard-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'
node-version: '24'

- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
Expand All @@ -42,7 +42,7 @@ jobs:
build:
timeout-minutes: 5
name: build
runs-on: ${{ github.repository == 'stainless-sdks/keycard-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
permissions:
contents: read
Expand All @@ -53,7 +53,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'
node-version: '24'

- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
Expand Down Expand Up @@ -87,15 +87,15 @@ jobs:
test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/keycard-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'
node-version: '24'

- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
with:
node-version: '20'
node-version: '24'

- name: Set up pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.20.0"
".": "0.21.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 106
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/keycard/keycard-api-cdf14bee924cea2eaca3c1aaed26521cb91369d9462d22c21a0306b5786f4706.yml
openapi_spec_hash: d8349acc1adec880977b6167a1e866bc
config_hash: 7adc6b24545570dcc4a1bf0f714aa3e0
configured_endpoints: 109
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/keycard/keycard-api-d267ee9fc7304706089638c23aafc822b8867516bb6e85e02a9f5111be206ee1.yml
openapi_spec_hash: dfad2e134540bd15e6e31f1e6a4e8fbc
config_hash: 22d144a33ba2901c82cc1f387a83f9a7
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

## 0.21.0 (2026-07-31)

Full Changelog: [v0.20.0...v0.21.0](https://github.com/keycardai/keycard-ts/compare/v0.20.0...v0.21.0)

### Features

* **ACC-709:** application assignees + expose role assignments ([30fc355](https://github.com/keycardai/keycard-ts/commit/30fc35560dc4b1edf728424a760d5869f34fba07))
* **applications:** allow unified-gateway and mcp-server traits (ECO-128) ([05bcd77](https://github.com/keycardai/keycard-ts/commit/05bcd7757f6f483da43afa852971a6ab0d24baee))
* filter users by identifier in management list ([00974fb](https://github.com/keycardai/keycard-ts/commit/00974fb0dfa6ca902151cd6feab29ea2c11e977b))
* **ID-365:** support additional SSO provider configuration options ([bacce21](https://github.com/keycardai/keycard-ts/commit/bacce216e01d54db219d64f47dd056a7a307c2b9))
* **providers:** store brand icon_url in provider metadata ([84f7f48](https://github.com/keycardai/keycard-ts/commit/84f7f4813b5b9e8364b9b89b68d86522d5b25c86))
* **resources:** add filter[owner_type] to the resource list (ECO-225) ([b7f3a6a](https://github.com/keycardai/keycard-ts/commit/b7f3a6aee66e339c8b4951444c70433c67e4f958))
* **resources:** add search, sort, and filter[id] to the paginated resource list ([5b817aa](https://github.com/keycardai/keycard-ts/commit/5b817aa5a4924b72a31063847853d1d44d400f58))
* **resources:** filter the resource list by trait ([5147e5d](https://github.com/keycardai/keycard-ts/commit/5147e5d6bf1729245bd9a30f89c6aadb0ab6ccf4))
* **sdk:** generate a client for the existing /policy/bundle endpoint ([15fd58e](https://github.com/keycardai/keycard-ts/commit/15fd58ee7005c3fb809005d33780e9959854add5))
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([3bbfc2b](https://github.com/keycardai/keycard-ts/commit/3bbfc2beea01977b0f30a24153339100940aae1c))


### Bug Fixes

* **ACC-613:** preserve source order of policies in draft/convert cedar_json ([57c0208](https://github.com/keycardai/keycard-ts/commit/57c020869e372873dbff4fb2b43c59964db066a6))
* **ci:** bump @arethetypeswrong/cli to ^0.18.0 and run CI workflows on Node 24 ([5eff440](https://github.com/keycardai/keycard-ts/commit/5eff440eaa64a5155b7d322ccd882bf71611dde7))
* **ci:** resolve Stainless error diagnostics and enforce fail_on: error ([5036b87](https://github.com/keycardai/keycard-ts/commit/5036b8780bad38489fccca797b1280b4d6aec3ca))
* exact-match identifier filter on resources management list ([244635e](https://github.com/keycardai/keycard-ts/commit/244635e70cd3332bb9455c56c141602375920368))
* **sdk:** generate /policy/bundle body as raw binary, not multipart ([e97e51b](https://github.com/keycardai/keycard-ts/commit/e97e51b3074828891ebdb55758bacc634bae6f75))


### Chores

* de-dup and align types across API specs ([84f4b53](https://github.com/keycardai/keycard-ts/commit/84f4b531e1cdc1801b52e72cafc191b75bdc1bff))
* Fixes found during Terraform work ([5eac03f](https://github.com/keycardai/keycard-ts/commit/5eac03f870d7f4cb79a19811190d796b53404e8d))

## 0.20.0 (2026-06-30)

Full Changelog: [v0.19.0...v0.20.0](https://github.com/keycardai/keycard-ts/compare/v0.19.0...v0.20.0)
Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ The full API of this library can be found in [api.md](api.md).
```js
import KeycardAPI from '@keycardai/api';

const client = new KeycardAPI();
const client = new KeycardAPI({
apiKey: process.env['KEYCARD_API_API_KEY'], // This is the default and can be omitted
});

const zones = await client.zones.list();

Expand All @@ -37,7 +39,9 @@ This library includes TypeScript definitions for all request params and response
```ts
import KeycardAPI from '@keycardai/api';

const client = new KeycardAPI();
const client = new KeycardAPI({
apiKey: process.env['KEYCARD_API_API_KEY'], // This is the default and can be omitted
});

const zones: KeycardAPI.ZoneListResponse = await client.zones.list();
```
Expand Down
43 changes: 8 additions & 35 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,41 +232,6 @@ Methods:
- <code title="get /zones/{zone_id}/policies/{policy_id}/versions">client.zones.policies.versions.<a href="./src/resources/zones/policies/versions.ts">list</a>(policyID, { ...params }) -> VersionListResponse</code>
- <code title="delete /zones/{zone_id}/policies/{policy_id}/versions/{version_id}">client.zones.policies.versions.<a href="./src/resources/zones/policies/versions.ts">archive</a>(versionID, { ...params }) -> PolicyVersion</code>

## Packages

Types:

- <code><a href="./src/resources/zones/packages/packages.ts">InputState</a></code>
- <code><a href="./src/resources/zones/packages/packages.ts">Package</a></code>
- <code><a href="./src/resources/zones/packages/packages.ts">PackageDraft</a></code>
- <code><a href="./src/resources/zones/packages/packages.ts">PackageInputBinding</a></code>
- <code><a href="./src/resources/zones/packages/packages.ts">PackageList</a></code>
- <code><a href="./src/resources/zones/packages/packages.ts">PackageOutputBinding</a></code>
- <code><a href="./src/resources/zones/packages/packages.ts">PackageSource</a></code>

### Versions

Types:

- <code><a href="./src/resources/zones/packages/versions.ts">PackageVersion</a></code>
- <code><a href="./src/resources/zones/packages/versions.ts">PackageVersionList</a></code>

## Installs

Types:

- <code><a href="./src/resources/zones/installs.ts">Install</a></code>
- <code><a href="./src/resources/zones/installs.ts">InstallList</a></code>
- <code><a href="./src/resources/zones/installs.ts">InstallStatus</a></code>

## CatalogTasks

Types:

- <code><a href="./src/resources/zones/catalog-tasks.ts">Task</a></code>
- <code><a href="./src/resources/zones/catalog-tasks.ts">TaskOperation</a></code>
- <code><a href="./src/resources/zones/catalog-tasks.ts">TaskStatus</a></code>

## PolicySets

Types:
Expand Down Expand Up @@ -413,3 +378,11 @@ Methods:

- <code title="get /invitations/{token}">client.invitations.<a href="./src/resources/invitations.ts">retrieve</a>(token, { ...params }) -> InvitationRetrieveResponse</code>
- <code title="post /invitations/{token}/accept">client.invitations.<a href="./src/resources/invitations.ts">accept</a>(token, { ...params }) -> InvitationAcceptResponse</code>

# PolicyBundle

Methods:

- <code title="get /policy/bundle">client.policyBundle.<a href="./src/resources/policy-bundle.ts">retrieve</a>({ ...params }) -> Response</code>
- <code title="put /policy/bundle">client.policyBundle.<a href="./src/resources/policy-bundle.ts">update</a>(body, { ...params }) -> Response</code>
- <code title="delete /policy/bundle">client.policyBundle.<a href="./src/resources/policy-bundle.ts">reset</a>({ ...params }) -> void</code>
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@keycardai/api",
"version": "0.20.0",
"version": "0.21.0",
"description": "The official TypeScript library for the Keycard API API",
"author": "Keycard API <support@keycard.ai>",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -28,7 +28,7 @@
},
"dependencies": {},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.0",
"@arethetypeswrong/cli": "^0.18.0",
"@swc/core": "^1.3.102",
"@swc/jest": "^0.2.29",
"@types/jest": "^29.4.0",
Expand Down
Loading
Loading