-
Notifications
You must be signed in to change notification settings - Fork 582
docs: update sdks #3712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: update sdks #3712
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 2 Skipped Deployments
|
Warning Rate limit exceeded@chronark has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 15 minutes and 2 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThis change restructures the SDK documentation navigation and content for Unkey. It deletes numerous detailed SDK documentation files for TypeScript and Python, replacing them with simplified overview and API documentation for Go, Python, and TypeScript SDKs. The navigation JSON is reformatted for readability and updated to reflect the new documentation structure. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant DocsSite
participant SDKDocs (Go/Python/TS)
User->>DocsSite: Navigate to SDK documentation
DocsSite->>SDKDocs: Display high-level API/overview docs (Go/Python/TS)
SDKDocs-->>User: Show installation, usage, and repo links
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~15–20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Thank you for following the naming conventions for pull request titles! 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
🔭 Outside diff range comments (2)
apps/docs/libraries/ts/hono.mdx (2)
55-57
: Placeholder ellipsis in sample code
const ... = c.get("unkey")
is not valid code and will confuse readers. Replace with a real variable name (e.g.const auth = c.get("unkey")
) or remove the assignment.
123-124
: Broken link to removed path
/libraries/ts/sdk/keys/verify#response
was deleted in this PR. Update the reference to the new consolidated docs or remove it to avoid a 404.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (51)
apps/docs/docs.json
(7 hunks)apps/docs/libraries/go/api.mdx
(1 hunks)apps/docs/libraries/go/overview.mdx
(0 hunks)apps/docs/libraries/py/api.mdx
(1 hunks)apps/docs/libraries/py/async.mdx
(0 hunks)apps/docs/libraries/py/overview.mdx
(0 hunks)apps/docs/libraries/py/services/apis.mdx
(0 hunks)apps/docs/libraries/py/services/identities.mdx
(0 hunks)apps/docs/libraries/py/services/keys.mdx
(0 hunks)apps/docs/libraries/py/services/migrations.mdx
(0 hunks)apps/docs/libraries/py/services/permissions.mdx
(0 hunks)apps/docs/libraries/py/services/ratelimits.mdx
(0 hunks)apps/docs/libraries/ts/api.mdx
(1 hunks)apps/docs/libraries/ts/hono.mdx
(7 hunks)apps/docs/libraries/ts/nextjs.mdx
(2 hunks)apps/docs/libraries/ts/sdk/analytics/get.mdx
(0 hunks)apps/docs/libraries/ts/sdk/apis/create.mdx
(0 hunks)apps/docs/libraries/ts/sdk/apis/delete.mdx
(0 hunks)apps/docs/libraries/ts/sdk/apis/get.mdx
(0 hunks)apps/docs/libraries/ts/sdk/apis/list-keys.mdx
(0 hunks)apps/docs/libraries/ts/sdk/identities/create-identity.mdx
(0 hunks)apps/docs/libraries/ts/sdk/identities/delete-identity.mdx
(0 hunks)apps/docs/libraries/ts/sdk/identities/get-identity.mdx
(0 hunks)apps/docs/libraries/ts/sdk/identities/list-identity.mdx
(0 hunks)apps/docs/libraries/ts/sdk/identities/update-identity.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/add-permission.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/add-roles.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/create.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/delete.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/get.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/remove-permission.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/remove-roles.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/set-permission.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/set-roles.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/update-remaining.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/update.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/verifications.mdx
(0 hunks)apps/docs/libraries/ts/sdk/keys/verify.mdx
(0 hunks)apps/docs/libraries/ts/sdk/migrations/migrate-to-unkey.mdx
(0 hunks)apps/docs/libraries/ts/sdk/overview.mdx
(0 hunks)apps/docs/libraries/ts/sdk/permissions/create-permission.mdx
(0 hunks)apps/docs/libraries/ts/sdk/permissions/create-role.mdx
(0 hunks)apps/docs/libraries/ts/sdk/permissions/delete-permission.mdx
(0 hunks)apps/docs/libraries/ts/sdk/permissions/delete-role.mdx
(0 hunks)apps/docs/libraries/ts/sdk/permissions/get-permission.mdx
(0 hunks)apps/docs/libraries/ts/sdk/permissions/get-role.mdx
(0 hunks)apps/docs/libraries/ts/sdk/ratelimits/limit.mdx
(0 hunks)apps/docs/libraries/ts/sdk/ratelimits/overrides/delete-override.mdx
(0 hunks)apps/docs/libraries/ts/sdk/ratelimits/overrides/get-override.mdx
(0 hunks)apps/docs/libraries/ts/sdk/ratelimits/overrides/list-overrides.mdx
(0 hunks)apps/docs/libraries/ts/sdk/ratelimits/overrides/set-override.mdx
(0 hunks)
💤 Files with no reviewable changes (45)
- apps/docs/libraries/py/async.mdx
- apps/docs/libraries/ts/sdk/keys/delete.mdx
- apps/docs/libraries/ts/sdk/ratelimits/overrides/set-override.mdx
- apps/docs/libraries/ts/sdk/permissions/create-role.mdx
- apps/docs/libraries/ts/sdk/ratelimits/overrides/delete-override.mdx
- apps/docs/libraries/ts/sdk/apis/delete.mdx
- apps/docs/libraries/ts/sdk/identities/delete-identity.mdx
- apps/docs/libraries/py/services/ratelimits.mdx
- apps/docs/libraries/ts/sdk/apis/create.mdx
- apps/docs/libraries/ts/sdk/permissions/delete-permission.mdx
- apps/docs/libraries/ts/sdk/permissions/delete-role.mdx
- apps/docs/libraries/ts/sdk/permissions/get-role.mdx
- apps/docs/libraries/ts/sdk/apis/get.mdx
- apps/docs/libraries/ts/sdk/ratelimits/overrides/list-overrides.mdx
- apps/docs/libraries/py/services/permissions.mdx
- apps/docs/libraries/ts/sdk/identities/list-identity.mdx
- apps/docs/libraries/ts/sdk/ratelimits/overrides/get-override.mdx
- apps/docs/libraries/py/services/migrations.mdx
- apps/docs/libraries/ts/sdk/identities/create-identity.mdx
- apps/docs/libraries/go/overview.mdx
- apps/docs/libraries/ts/sdk/keys/remove-roles.mdx
- apps/docs/libraries/ts/sdk/keys/set-roles.mdx
- apps/docs/libraries/py/services/identities.mdx
- apps/docs/libraries/ts/sdk/keys/add-roles.mdx
- apps/docs/libraries/ts/sdk/keys/add-permission.mdx
- apps/docs/libraries/py/services/apis.mdx
- apps/docs/libraries/ts/sdk/permissions/get-permission.mdx
- apps/docs/libraries/ts/sdk/permissions/create-permission.mdx
- apps/docs/libraries/ts/sdk/keys/verifications.mdx
- apps/docs/libraries/ts/sdk/keys/remove-permission.mdx
- apps/docs/libraries/ts/sdk/keys/update-remaining.mdx
- apps/docs/libraries/ts/sdk/keys/get.mdx
- apps/docs/libraries/ts/sdk/keys/set-permission.mdx
- apps/docs/libraries/ts/sdk/identities/update-identity.mdx
- apps/docs/libraries/ts/sdk/ratelimits/limit.mdx
- apps/docs/libraries/py/services/keys.mdx
- apps/docs/libraries/ts/sdk/identities/get-identity.mdx
- apps/docs/libraries/ts/sdk/analytics/get.mdx
- apps/docs/libraries/ts/sdk/migrations/migrate-to-unkey.mdx
- apps/docs/libraries/ts/sdk/apis/list-keys.mdx
- apps/docs/libraries/ts/sdk/overview.mdx
- apps/docs/libraries/ts/sdk/keys/verify.mdx
- apps/docs/libraries/ts/sdk/keys/create.mdx
- apps/docs/libraries/ts/sdk/keys/update.mdx
- apps/docs/libraries/py/overview.mdx
🧰 Additional context used
🧠 Learnings (19)
📓 Common learnings
Learnt from: Flo4604
PR: unkeyed/unkey#3421
File: go/apps/api/openapi/openapi.yaml:196-200
Timestamp: 2025-07-03T05:58:10.699Z
Learning: In the Unkey codebase, OpenAPI 3.1 is used, which allows sibling keys (such as `description`) alongside `$ref` in schema objects. Do not flag this as an error in future reviews.
Learnt from: CR
PR: unkeyed/unkey#0
File: go/deploy/CLAUDE.md:0-0
Timestamp: 2025-07-21T18:05:58.236Z
Learning: Applies to go/deploy/**/*.{go,js,ts,tsx,py,sh,md,txt,json,yaml,yml,ini,env,conf,html,css,scss,xml,c,h,cpp,java,rb,rs,php,pl,sql} : Update relevant anchors when modifying associated code.
📚 Learning: in the go/cmd/cli/commands/deploy/ directory, ogzhanolguncu prefers to keep potentially temporary fe...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3564
File: go/cmd/cli/commands/deploy/flags.go:17-20
Timestamp: 2025-07-15T14:45:18.920Z
Learning: In the go/cmd/cli/commands/deploy/ directory, ogzhanolguncu prefers to keep potentially temporary features (like UNKEY_DOCKER_REGISTRY environment variable) undocumented in help text if they might be deleted in the future, to avoid documentation churn.
Applied to files:
apps/docs/libraries/go/api.mdx
📚 Learning: applies to go/deploy/**/*.{go,js,ts,tsx,py,sh,md,txt,json,yaml,yml,ini,env,conf,html,css,scss,xml,c,...
Learnt from: CR
PR: unkeyed/unkey#0
File: go/deploy/CLAUDE.md:0-0
Timestamp: 2025-07-21T18:05:58.236Z
Learning: Applies to go/deploy/**/*.{go,js,ts,tsx,py,sh,md,txt,json,yaml,yml,ini,env,conf,html,css,scss,xml,c,h,cpp,java,rb,rs,php,pl,sql} : Update relevant anchors when modifying associated code.
Applied to files:
apps/docs/docs.json
📚 Learning: in the unkey codebase, openapi 3.1 is used, which allows sibling keys (such as `description`) alongs...
Learnt from: Flo4604
PR: unkeyed/unkey#3421
File: go/apps/api/openapi/openapi.yaml:196-200
Timestamp: 2025-07-03T05:58:10.699Z
Learning: In the Unkey codebase, OpenAPI 3.1 is used, which allows sibling keys (such as `description`) alongside `$ref` in schema objects. Do not flag this as an error in future reviews.
Applied to files:
apps/docs/libraries/ts/api.mdx
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: the codebase for unkey allows the use of modern javascript features like array.prototype.tosorted() ...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3242
File: apps/dashboard/app/(app)/apis/[apiId]/keys/[keyAuthId]/[keyId]/components/table/hooks/use-logs-query.ts:228-231
Timestamp: 2025-05-15T16:21:50.911Z
Learning: The codebase for Unkey allows the use of modern JavaScript features like Array.prototype.toSorted() even though they may not be supported in all browsers.
Applied to files:
apps/docs/libraries/ts/api.mdx
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: in the unkey codebase, typescript and the env() function implementation already provide sufficient v...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3292
File: apps/dashboard/lib/trpc/routers/key/create.ts:11-14
Timestamp: 2025-06-02T11:09:58.791Z
Learning: In the unkey codebase, TypeScript and the env() function implementation already provide sufficient validation for environment variables, so additional runtime error handling for missing env vars is not needed.
Applied to files:
apps/docs/libraries/ts/api.mdx
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: in the unkey dashboard, next.js router (router.push) should be used for client-side navigation inste...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3242
File: apps/dashboard/app/(app)/apis/[apiId]/_overview/components/table/components/override-indicator.tsx:50-65
Timestamp: 2025-05-15T16:26:08.666Z
Learning: In the Unkey dashboard, Next.js router (router.push) should be used for client-side navigation instead of window.location.href to preserve client state and enable smoother transitions between pages.
Applied to files:
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: in the unkey codebase, example values in documentation and demo components intentionally use themed ...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#2910
File: apps/engineering/content/design/components/form/form-input.variants.tsx:38-38
Timestamp: 2025-02-24T13:35:00.816Z
Learning: In the Unkey codebase, example values in documentation and demo components intentionally use themed fake data (e.g., Middle Earth references) rather than generic placeholder text.
Applied to files:
apps/docs/libraries/ts/nextjs.mdx
📚 Learning: in next.js applications, importing backend modules into frontend components causes bundling issues a...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3311
File: apps/dashboard/components/logs/llm-search/components/search-input.tsx:14-14
Timestamp: 2025-06-10T14:21:42.413Z
Learning: In Next.js applications, importing backend modules into frontend components causes bundling issues and can expose server-side code to the client bundle. For simple constants like limits, it's acceptable to duplicate the value rather than compromise the frontend/backend architectural separation.
Applied to files:
apps/docs/libraries/ts/nextjs.mdx
📚 Learning: there are two different `getauth` functions in the unkey codebase with different purposes: 1. `@/lib...
Learnt from: mcstepp
PR: unkeyed/unkey#3210
File: apps/dashboard/app/new/page.tsx:3-3
Timestamp: 2025-04-30T15:25:33.917Z
Learning: There are two different `getAuth` functions in the Unkey codebase with different purposes:
1. `@/lib/auth/get-auth` - Base function without redirects, used in special cases on the dashboard where redirect control is needed (like `/new` page) and within tRPC context
2. `@/lib/auth` - Helper function with redirects, used in most dashboard cases (approximately 98%)
Applied to files:
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: in the unkey codebase, input validation for api endpoints is handled at the openapi schema layer, wh...
Learnt from: chronark
PR: unkeyed/unkey#3560
File: go/apps/api/routes/v2_keys_create_key/handler.go:353-466
Timestamp: 2025-07-15T14:25:05.608Z
Learning: In the Unkey codebase, input validation for API endpoints is handled at the OpenAPI schema layer, which validates request fields like permission slugs (pattern: "^[a-zA-Z0-9_]+$", length: 1-100 characters) before requests reach the handler code. This validation occurs during the zen.BindBody call in handlers.
Applied to files:
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: in the unkey codebase, input validation for api endpoints is primarily handled through openapi schem...
Learnt from: Flo4604
PR: unkeyed/unkey#2955
File: go/apps/api/routes/v2_identities_create_identity/handler.go:162-202
Timestamp: 2025-03-19T09:25:59.751Z
Learning: In the Unkey codebase, input validation for API endpoints is primarily handled through OpenAPI schema validation, which occurs before requests reach the handler code. For example, in the identities.createIdentity endpoint, minimum values for ratelimit duration and limit are defined in the OpenAPI schema rather than duplicating these checks in the handler.
Applied to files:
apps/docs/libraries/ts/nextjs.mdx
apps/docs/libraries/ts/hono.mdx
📚 Learning: in `apps/api/src/routes/v1_keys_updatekey.ts`, the code intentionally handles `externalid` and `owne...
Learnt from: chronark
PR: unkeyed/unkey#2693
File: apps/api/src/routes/v1_keys_updateKey.ts:350-368
Timestamp: 2024-11-29T15:15:47.308Z
Learning: In `apps/api/src/routes/v1_keys_updateKey.ts`, the code intentionally handles `externalId` and `ownerId` separately for clarity. The `ownerId` field will be removed in the future, simplifying the code.
Applied to files:
apps/docs/libraries/ts/hono.mdx
📚 Learning: in hono & cloudflare workers templates, the 'setup and installation' section in the readme serves as...
Learnt from: Devansh-Baghel
PR: unkeyed/unkey#2452
File: oss.gg/7_create_a_template.md:42-42
Timestamp: 2024-10-15T19:57:16.520Z
Learning: In Hono & Cloudflare Workers templates, the 'Setup and Installation' section in the README serves as the quickstart guide.
Applied to files:
apps/docs/libraries/ts/hono.mdx
📚 Learning: the dashboard app in the unkey codebase uses direct console.* methods (console.info, console.error, ...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3196
File: apps/dashboard/lib/audit.ts:105-108
Timestamp: 2025-04-25T14:16:27.152Z
Learning: The dashboard app in the Unkey codebase uses direct console.* methods (console.info, console.error, etc.) for logging rather than a structured logger utility.
Applied to files:
apps/docs/libraries/ts/hono.mdx
📚 Learning: in the unkey dashboard application, api validation for pagination limits is controlled at the ui lev...
Learnt from: ogzhanolguncu
PR: unkeyed/unkey#3321
File: apps/dashboard/lib/trpc/routers/authorization/roles/keys/schema-with-helpers.ts:5-8
Timestamp: 2025-06-18T12:28:10.449Z
Learning: In the unkey dashboard application, API validation for pagination limits is controlled at the UI level rather than requiring additional server-side validation, as the APIs are internal and protected by UI logic.
Applied to files:
apps/docs/libraries/ts/hono.mdx
📚 Learning: sensitive data in logs is masked at the api layer (apps/api/src/pkg/middleware/metrics.ts) before be...
Learnt from: chronark
PR: unkeyed/unkey#2825
File: apps/dashboard/app/(app)/logs/components/table/logs-table.tsx:100-118
Timestamp: 2025-01-31T13:50:45.004Z
Learning: Sensitive data in logs is masked at the API layer (apps/api/src/pkg/middleware/metrics.ts) before being written to Clickhouse. This includes redacting API keys, plaintext values, and authorization headers using regex replacements.
Applied to files:
apps/docs/libraries/ts/hono.mdx
📚 Learning: when implementing endpoints that require a key, avoid sending the key as part of the url. use post m...
Learnt from: chronark
PR: unkeyed/unkey#2159
File: apps/api/src/routes/v1_keys_getWhoAmI.ts:12-13
Timestamp: 2024-10-03T09:51:43.832Z
Learning: When implementing endpoints that require a key, avoid sending the key as part of the URL. Use POST methods with the key in the request body instead, as URLs get logged and could leak sensitive information.
Applied to files:
apps/docs/libraries/ts/hono.mdx
📚 Learning: when reviewing code for unkey, prefer using `boolean()` over the double negation (`!!`) operator for...
Learnt from: mcstepp
PR: unkeyed/unkey#3242
File: apps/dashboard/app/(app)/apis/[apiId]/api-id-navbar.tsx:47-50
Timestamp: 2025-05-15T15:57:02.128Z
Learning: When reviewing code for Unkey, prefer using `Boolean()` over the double negation (`!!`) operator for boolean coercion, as their linter rules favor this pattern.
Applied to files:
apps/docs/libraries/ts/hono.mdx
🪛 LanguageTool
apps/docs/libraries/py/api.mdx
[grammar] ~6-~6: Use correct spacing
Context: ...urces within our platform." --- ## SDK Installation > [!NOTE] > **Python version upgrade polic...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~8-~8: Use correct spacing
Context: ...n > [!NOTE] > Python version upgrade policy > > Once a Python version reaches its [offic...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~10-~10: Use hyphens correctly
Context: ...Python version reaches its [official end of life date](https://devguide.python.org/v...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~10-~10: Use correct spacing
Context: ...on version supported in the SDK will be updated. The SDK can be installed with either _pi...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~12-~12: Insert the missing word
Context: ...updated. The SDK can be installed with either pip or poetry package managers. ### PIP _P...
(QB_NEW_EN_OTHER_ERROR_IDS_32)
[grammar] ~12-~12: Use correct spacing
Context: ...d with either pip or poetry package managers. ### PIP PIP is the default package instal...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~16-~16: Avoid extra words
Context: ...r poetry package managers. ### PIP PIP is the default package installer for Pytho...
(QB_NEW_EN_OTHER_ERROR_IDS_12)
[grammar] ~16-~16: Use correct spacing
Context: ...t of packages from PyPI via the command line. bash pip install unkey.py
### Poetry Poetry is a modern tool that s...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~24-~24: Avoid extra words
Context: ... pip install unkey.py ``` ### Poetry Poetry is a modern tool that simplifies dependenc...
(QB_NEW_EN_OTHER_ERROR_IDS_12)
[grammar] ~24-~24: Use correct spacing
Context: ...mlfile to handle project metadata and dependencies. ```bash poetry add unkey.py ``` ### Shell and script usage with
uv` You ca...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~30-~30: Use correct spacing
Context: ...nkey.py ``` ### Shell and script usage with uv
You can use this SDK in a Python shell w...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~32-~32: Use correct spacing
Context: ...e uvx
command that comes with it like so: shell uvx --from unkey.py python
It's also possible to write a standalone...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~38-~38: Use correct spacing
Context: ... needing to set up a whole project like so: python #!/usr/bin/env -S uv run --script # /// script # requires-python = ">=3.9" # dependencies = [ # "unkey.py", # ] # /// from unkey.py import Unkey sdk = Unkey( # SDK arguments ) # Rest of script here...
Once that is saved to a file, you can ru...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~59-~59: Use correct spacing
Context: ...y` can be replaced with the actual file name. ## SDK Example Usage ### Example ```pytho...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~61-~61: Use correct spacing
Context: ...h the actual file name. ## SDK Example Usage ### Example ```python # Synchronous Example...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~80-~80: Ensure spelling is correct
Context: ...ame SDK client can also be used to make asychronous requests by importing asyncio. ```pyth...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~80-~80: Use correct spacing
Context: ... make asychronous requests by importing asyncio. python # Asynchronous Example import asyncio from unkey.py import Unkey async def main(): async with Unkey( root_key="<YOUR_BEARER_TOKEN_HERE>", ) as unkey: res = await unkey.apis.create_api_async(name="payment-service-production") # Handle response print(res) asyncio.run(main())
## Repository {" "} <Card title="GitHub"...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~108-~108: Use correct spacing
Context: ...eyed/sdks/blob/main/api/py/README.md" cta="README" > The full autogenerated documentation can...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~110-~110: Use correct spacing
Context: ...generated documentation can be found on GitHub.
(QB_NEW_EN_OTHER_ERROR_IDS_5)
apps/docs/libraries/go/api.mdx
[grammar] ~6-~6: Use correct spacing
Context: ...urces within our platform." --- ## SDK Installation To add the SDK as a dependency to your p...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~8-~8: Use correct spacing
Context: ... To add the SDK as a dependency to your project: bash go get github.com/unkeyed/sdks/api/go/v2
## SDK Example Usage ### Example ```go pa...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~14-~14: Use correct spacing
Context: ...eyed/sdks/api/go/v2 ## SDK Example Usage ### Example
go package main import ( "...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~49-~49: Use correct spacing
Context: ...il { // handle response } } ``` ## Repository {" "} <Card title="GitHub" icon="git...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~56-~56: Use correct spacing
Context: ...eyed/sdks/blob/main/api/go/README.md" cta="README" > The full autogenerated documentation can...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~58-~58: Use correct spacing
Context: ...generated documentation can be found on GitHub.
(QB_NEW_EN_OTHER_ERROR_IDS_5)
apps/docs/libraries/ts/nextjs.mdx
[grammar] ~36-~36: Use correct spacing
Context: ...e as wrapping them with the withUnkey
handler: ts import { NextRequestWithUnkeyContext, withUnkey } from "@unkey/nextjs"; export const POST = withUnkey( async (req) => { // Process the request here // You have access to the verification response using `req.unkey` console.log(req.unkey); return new Response("Your API key is valid!"); }, { rootKey: process.env.UNKEY_ROOT_KEY! } );
That's it! Since this is just handling k...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~75-~75: Use a comma after introductory words or phrases
Context: ...u can specify custom error handling. By default errors will be logged to the console, a...
(QB_NEW_EN_OTHER_ERROR_IDS_19)
[grammar] ~75-~75: Use correct spacing
Context: ... will return a NextResponse with status 500. ts export const GET = withUnkey( async (req) => { // ... }, { rootKey: process.env.UNKEY_ROOT_KEY!, onError: async (req, res) => { await analytics.trackEvent(`Error ${res.code}: ${res.message}`); return new NextResponse("Unkey error", { status: 500 }); }, } );
### handleInvalidKey
Specify what to do if Unkey reports that...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~94-~94: Use correct spacing
Context: ...to do if Unkey reports that your key is invalid. ts export const GET = withUnkey( async (req) => { // ... }, { rootKey: process.env.UNKEY_ROOT_KEY!, handleInvalidKey: (req, res) => { return new Response("Unauthorized", { status: 401 }); }, } );
(QB_NEW_EN_OTHER_ERROR_IDS_5)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Test Packages / Test
🔇 Additional comments (3)
apps/docs/libraries/py/api.mdx (1)
65-76
: Verify method names match generated clientThe examples call
unkey.apis.create_api
/create_api_async
. Depending on the OpenAPI generator these methods may becreate_api
,create_api_v2
, orcreate_api_asyncio
. Please confirm the exact method names in the published client.apps/docs/libraries/ts/api.mdx (1)
54-58
: Confirm SDK method casingThe snippet calls
unkey.apis.createApi
. Earlier versions of the TS SDK exposedcreateAPI
. Make sure the method name matches the released package to prevent copy-paste errors.apps/docs/docs.json (1)
301-323
: Navigation points to new SDK docs – ensure files existThe JSON now lists:
libraries/ts/cache/overview
libraries/ts/ratelimit/override/*
Double-check that these paths still exist after the big doc cull; otherwise the sidebar will render broken links.
Graphite Automations"Post a GIF when PR approved" took an action on this PR • (08/01/25)1 gif was posted to this PR based on Andreas Thomas's automation. |
…nkey into 08-01-docs_update_sdks
…nkey into 08-01-docs_update_sdks
* Dialog created * small changes * half functional * small spacing changes and chevron * Rabbit Changes * remove useffect * almost * re ordered badge list collapse * undo rabbit * [autofix.ci] apply automated fixes * fix scroll * changes before merge * chore: deprecate v1 endpoints (#3680) * fix: openapi * chore: deprecate v1 endpoints * fix: vault credentials and chproxy config (#3681) * fix: openapi * fix: vault credentials and chproxy config * fix: rename flag accessor too * fix: linter issues * fix: some more v2 api changes (#3677) * remove namespaceID * actually use limit and cursor * filter out delted overrides * fix error messages list endpoints * fix more error messages * ensure identity create handles like permission/role create * fix regex for roles * fix regex for roles * fix list keys cursor * fix: uppercase common files (#3683) * name files uppercase * name files uppercase * [autofix.ci] apply automated fixes * name files uppercase * name files uppercase --------- Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: conflicting casing (#3689) * fix the openapi spec again (#3692) * dont trace chproxy endpoints (#3691) * fix: log verifications to the owning workspace (#3693) * functioning again * style change * more tweaks * fix: validate s3 config (#3694) * Fix all the fucking things * remove close button * fmt * fix: speakeasy ignore directive is ignored if it's a string (#3699) * fix: upsert permissions with slug or name colission (#3696) * fix: upsert permissions with slug or name colission * chore: also remove index * fix permission test and remove unnnecessary test --------- Co-authored-by: Flo <[email protected]> * docs: migration (#3678) * fix: openapi * docs: migration from v1 to v2 * fix: remove binaries * [autofix.ci] apply automated fixes * docs: add james' feedback --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: api list keys zod errors (#3702) * fix api zod errors * [autofix.ci] apply automated fixes * make array handling uniform * make array handling uniform * fix rabbi comment * fix: permission array for roles --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * ci: don't build for windows and freebsd (#3700) * docs: errors (#3703) * chore: move sdks to unkeyed/sdks (#3701) * fix: omitting array vs null (#3704) * fix omitting array vs null * [autofix.ci] apply automated fixes * fix flakey test * fix flakey test --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: panics not being catched (#3706) * fix panics not being catched * feat: add counter to track panics Signed-off-by: Ian Meyer <[email protected]> --------- Signed-off-by: Ian Meyer <[email protected]> Co-authored-by: Ian Meyer <[email protected]> * docs: use `CodeGroup` in hono/nextjs TS libraries (#3708) * Update hono.mdx * Update nextjs.mdx * ci: remove outdated steps and flows (#3709) * docs: update sdks (#3712) * docs: update sdks * Update nextjs.mdx * [autofix.ci] apply automated fixes * fix: rabbit feedback * Update nextjs.mdx * fix: root key is required --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * dialog and confirm added * feat(deployment beta): projects UI for Unkey Deploy (#3662) * projects and branches * wip * wip * spec differ wip * fix some docker, add some trpc, integrate diff viewer * change version to deployments, add feature flag, update go schema * update versions page * fix null condition * delete old router, fix null assertion * fmt * fmt * fmt again * apply auth and feature flagging access to projects, remove versions * yolo * stable yolo * stable yolo * style: fmt * fix: hardcode time, so it doesn't fail on the first of a month * [autofix.ci] apply automated fixes --------- Co-authored-by: chronark <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * chore: add missingd delete endpoint for v2 (#3711) * only log key at the end (#3716) * fix: allow wildcard and colon in permissions query (#3717) * remove regex for permissions * allow for asterix and colon in permissions * fix: update identity by identity key instead of externalId and fix wrong body for permission and role (#3713) * docs and remove externalId from keyResponse * fix updateIdentity to take in an identity parameter instead of an externalId * fix get role/permission * Update go/apps/api/openapi/spec/common/Permission.yaml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update openapi-generated.yaml * fix comment --------- Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: openapi references (#3723) * feat: add paginated tRPC endpoint for projects (#3697) * feat: add new endpoint for deploy projects * chore: replace file path * [autofix.ci] apply automated fixes * feat: add missing endpoint * fix: trpc path * fix: add feature flag * chore: remove optin --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: region not showing and wrong rl id (#3722) * fix: region not showing and wrong rl id * pass region down * perf: bad get key performance (#3724) * perf: make getKey 2 seperate queries so mysql chooses correct idx * fix query * fix query name * docs: verify identities endpoints (#3727) * chore: docs (#3728) * chore: fixup migration guide * adjust more * adjust more * adjust more * rabbit comments * Update index.mdx * working updates * re factor for clarity * only update if diff than existing * [autofix.ci] apply automated fixes * re name create-root-key to root-key folder --------- Signed-off-by: Ian Meyer <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: Flo <[email protected]> Co-authored-by: Oğuzhan Olguncu <[email protected]> Co-authored-by: James Perkins <[email protected]> Co-authored-by: Ian Meyer <[email protected]> Co-authored-by: JA Castro <[email protected]> Co-authored-by: Meg Stepp <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* chore: new root key dialog (#3637) * Dialog created * small changes * feat: ui show permission side bar when select permission button is (#3654) * Dialog created * small changes * half functional * small spacing changes and chevron * Rabbit Changes * remove useffect * feat: UI when a permission is selected it should show in the modal (#3663) * Dialog created * small changes * half functional * small spacing changes and chevron * Rabbit Changes * remove useffect * almost * re ordered badge list collapse * undo rabbit * [autofix.ci] apply automated fixes * fix scroll * button size and margin --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * feat: UI when a user searches for a permission it should show (#3695) * Dialog created * small changes * half functional * small spacing changes and chevron * Rabbit Changes * remove useffect * almost * re ordered badge list collapse * undo rabbit * [autofix.ci] apply automated fixes * fix scroll * changes before merge * functioning again * style change * more tweaks * Fix all the fucking things * remove close button * fmt --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: James Perkins <[email protected]> * feat: rootkey create with success dialog and confirm close (#3714) * Dialog created * small changes * half functional * small spacing changes and chevron * Rabbit Changes * remove useffect * almost * re ordered badge list collapse * undo rabbit * [autofix.ci] apply automated fixes * fix scroll * changes before merge * functioning again * style change * more tweaks * Fix all the fucking things * remove close button * fmt * dialog and confirm added --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: James Perkins <[email protected]> * feat: a user selects edit root key and an edit root key modal (#3731) * Dialog created * small changes * half functional * small spacing changes and chevron * Rabbit Changes * remove useffect * almost * re ordered badge list collapse * undo rabbit * [autofix.ci] apply automated fixes * fix scroll * changes before merge * chore: deprecate v1 endpoints (#3680) * fix: openapi * chore: deprecate v1 endpoints * fix: vault credentials and chproxy config (#3681) * fix: openapi * fix: vault credentials and chproxy config * fix: rename flag accessor too * fix: linter issues * fix: some more v2 api changes (#3677) * remove namespaceID * actually use limit and cursor * filter out delted overrides * fix error messages list endpoints * fix more error messages * ensure identity create handles like permission/role create * fix regex for roles * fix regex for roles * fix list keys cursor * fix: uppercase common files (#3683) * name files uppercase * name files uppercase * [autofix.ci] apply automated fixes * name files uppercase * name files uppercase --------- Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: conflicting casing (#3689) * fix the openapi spec again (#3692) * dont trace chproxy endpoints (#3691) * fix: log verifications to the owning workspace (#3693) * functioning again * style change * more tweaks * fix: validate s3 config (#3694) * Fix all the fucking things * remove close button * fmt * fix: speakeasy ignore directive is ignored if it's a string (#3699) * fix: upsert permissions with slug or name colission (#3696) * fix: upsert permissions with slug or name colission * chore: also remove index * fix permission test and remove unnnecessary test --------- Co-authored-by: Flo <[email protected]> * docs: migration (#3678) * fix: openapi * docs: migration from v1 to v2 * fix: remove binaries * [autofix.ci] apply automated fixes * docs: add james' feedback --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: api list keys zod errors (#3702) * fix api zod errors * [autofix.ci] apply automated fixes * make array handling uniform * make array handling uniform * fix rabbi comment * fix: permission array for roles --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * ci: don't build for windows and freebsd (#3700) * docs: errors (#3703) * chore: move sdks to unkeyed/sdks (#3701) * fix: omitting array vs null (#3704) * fix omitting array vs null * [autofix.ci] apply automated fixes * fix flakey test * fix flakey test --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: panics not being catched (#3706) * fix panics not being catched * feat: add counter to track panics Signed-off-by: Ian Meyer <[email protected]> --------- Signed-off-by: Ian Meyer <[email protected]> Co-authored-by: Ian Meyer <[email protected]> * docs: use `CodeGroup` in hono/nextjs TS libraries (#3708) * Update hono.mdx * Update nextjs.mdx * ci: remove outdated steps and flows (#3709) * docs: update sdks (#3712) * docs: update sdks * Update nextjs.mdx * [autofix.ci] apply automated fixes * fix: rabbit feedback * Update nextjs.mdx * fix: root key is required --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * dialog and confirm added * feat(deployment beta): projects UI for Unkey Deploy (#3662) * projects and branches * wip * wip * spec differ wip * fix some docker, add some trpc, integrate diff viewer * change version to deployments, add feature flag, update go schema * update versions page * fix null condition * delete old router, fix null assertion * fmt * fmt * fmt again * apply auth and feature flagging access to projects, remove versions * yolo * stable yolo * stable yolo * style: fmt * fix: hardcode time, so it doesn't fail on the first of a month * [autofix.ci] apply automated fixes --------- Co-authored-by: chronark <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * chore: add missingd delete endpoint for v2 (#3711) * only log key at the end (#3716) * fix: allow wildcard and colon in permissions query (#3717) * remove regex for permissions * allow for asterix and colon in permissions * fix: update identity by identity key instead of externalId and fix wrong body for permission and role (#3713) * docs and remove externalId from keyResponse * fix updateIdentity to take in an identity parameter instead of an externalId * fix get role/permission * Update go/apps/api/openapi/spec/common/Permission.yaml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update openapi-generated.yaml * fix comment --------- Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * chore: openapi references (#3723) * feat: add paginated tRPC endpoint for projects (#3697) * feat: add new endpoint for deploy projects * chore: replace file path * [autofix.ci] apply automated fixes * feat: add missing endpoint * fix: trpc path * fix: add feature flag * chore: remove optin --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> * fix: region not showing and wrong rl id (#3722) * fix: region not showing and wrong rl id * pass region down * perf: bad get key performance (#3724) * perf: make getKey 2 seperate queries so mysql chooses correct idx * fix query * fix query name * docs: verify identities endpoints (#3727) * chore: docs (#3728) * chore: fixup migration guide * adjust more * adjust more * adjust more * rabbit comments * Update index.mdx * working updates * re factor for clarity * only update if diff than existing * [autofix.ci] apply automated fixes * re name create-root-key to root-key folder --------- Signed-off-by: Ian Meyer <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: Flo <[email protected]> Co-authored-by: Oğuzhan Olguncu <[email protected]> Co-authored-by: James Perkins <[email protected]> Co-authored-by: Ian Meyer <[email protected]> Co-authored-by: JA Castro <[email protected]> Co-authored-by: Meg Stepp <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fresh * start rabbit changes * rabbits * missing processing * Update apps/dashboard/lib/trpc/routers/index.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update apps/dashboard/app/(app)/settings/root-keys/components/root-key/components/permission-badge-list.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * more rabbit * function name * [autofix.ci] apply automated fixes * minor changes * rabbit checked locally * comment changes * light mode fix * removed old page files * updated success * slack comment changes * cleanup * rabbit * more rabbits * most consts * change clear and details * cleanup * pr suggested changes * few nits --------- Signed-off-by: Ian Meyer <[email protected]> Co-authored-by: CodeReaper <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Andreas Thomas <[email protected]> Co-authored-by: Flo <[email protected]> Co-authored-by: Oğuzhan Olguncu <[email protected]> Co-authored-by: Ian Meyer <[email protected]> Co-authored-by: JA Castro <[email protected]> Co-authored-by: Meg Stepp <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: MichaelUnkey <[email protected]>
What does this PR do?
Fixes # (issue)
If there is not an issue for this, please create one first. This is used to tracking purposes and also helps use understand why this PR exists
Type of change
How should this be tested?
Checklist
Required
pnpm build
pnpm fmt
console.logs
git pull origin main
Appreciated
Summary by CodeRabbit