> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # CreateAuthKeysCodeRequestBody ## Example Usage ```typescript theme={null} import { CreateAuthKeysCodeRequestBody } from "@openrouter/sdk/models/operations"; let value: CreateAuthKeysCodeRequestBody = { callbackUrl: "https://myapp.com/auth/callback", }; ``` ## Fields | Field | Type | Required | Description | Example | | --------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | | `callbackUrl` | *string* | :heavy\_check\_mark: | The callback URL to redirect to after authorization. Supports https URLs and localhost/127.0.0.1 URLs on any port for local CLI tools. | [https://myapp.com/auth/callback](https://myapp.com/auth/callback) | | `codeChallenge` | *string* | :heavy\_minus\_sign: | PKCE code challenge for enhanced security | E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM | | `codeChallengeMethod` | [operations.CreateAuthKeysCodeCodeChallengeMethod](../../models/operations/createauthkeyscodecodechallengemethod.mdx) | :heavy\_minus\_sign: | The method used to generate the code challenge | S256 | | `expiresAt` | [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) | :heavy\_minus\_sign: | Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected. | 2027-12-31T23:59:59Z | | `keyLabel` | *string* | :heavy\_minus\_sign: | Optional custom label for the API key. Defaults to the app name if not provided. | My Custom Key | | `limit` | *number* | :heavy\_minus\_sign: | Credit limit for the API key to be created | 100 | | `usageLimitType` | [operations.UsageLimitType](../../models/operations/usagelimittype.mdx) | :heavy\_minus\_sign: | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly | | `workspaceId` | *string* | :heavy\_minus\_sign: | Optional workspace ID to associate the API key with | |