Skip to content

Commit 3501230

Browse files
feat: api: sort API keys by last_used_at
Stainless-Generated-From: e3aff28049cbaf7e91e7e6c055ab46224e111eb6
1 parent a1272c6 commit 3501230

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

‎src/kernel/resources/api_keys.py‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def list(
219219
name: str | Omit = omit,
220220
offset: int | Omit = omit,
221221
query: str | Omit = omit,
222-
sort_by: Literal["created_at", "name", "expires_at"] | Omit = omit,
222+
sort_by: Literal["created_at", "name", "expires_at", "last_used_at"] | Omit = omit,
223223
sort_direction: Literal["asc", "desc"] | Omit = omit,
224224
status: Literal["active", "deleted", "all"] | Omit = omit,
225225
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -249,7 +249,8 @@ def list(
249249
query: Case-insensitive substring match against API key name, creator, and project. API
250250
key identifiers and masked keys match by exact value or prefix.
251251
252-
sort_by: Field to sort API keys by.
252+
sort_by: Field to sort API keys by. Keys with no expiry or no recorded use sort last for
253+
expires_at and last_used_at in either direction.
253254
254255
sort_direction: Sort direction for API keys.
255256
@@ -578,7 +579,7 @@ def list(
578579
name: str | Omit = omit,
579580
offset: int | Omit = omit,
580581
query: str | Omit = omit,
581-
sort_by: Literal["created_at", "name", "expires_at"] | Omit = omit,
582+
sort_by: Literal["created_at", "name", "expires_at", "last_used_at"] | Omit = omit,
582583
sort_direction: Literal["asc", "desc"] | Omit = omit,
583584
status: Literal["active", "deleted", "all"] | Omit = omit,
584585
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -608,7 +609,8 @@ def list(
608609
query: Case-insensitive substring match against API key name, creator, and project. API
609610
key identifiers and masked keys match by exact value or prefix.
610611
611-
sort_by: Field to sort API keys by.
612+
sort_by: Field to sort API keys by. Keys with no expiry or no recorded use sort last for
613+
expires_at and last_used_at in either direction.
612614
613615
sort_direction: Sort direction for API keys.
614616

‎src/kernel/types/api_key_list_params.py‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,12 @@ class APIKeyListParams(TypedDict, total=False):
3636
API key identifiers and masked keys match by exact value or prefix.
3737
"""
3838

39-
sort_by: Literal["created_at", "name", "expires_at"]
40-
"""Field to sort API keys by."""
39+
sort_by: Literal["created_at", "name", "expires_at", "last_used_at"]
40+
"""Field to sort API keys by.
41+
42+
Keys with no expiry or no recorded use sort last for expires_at and last_used_at
43+
in either direction.
44+
"""
4145

4246
sort_direction: Literal["asc", "desc"]
4347
"""Sort direction for API keys."""

0 commit comments

Comments
 (0)