[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-clerk-clerk-backend-api":3,"mdc-efizm7-key":37,"related-org-clerk-clerk-backend-api":4619,"related-repo-clerk-clerk-backend-api":4804},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"clerk-backend-api","execute Clerk Backend API requests","Clerk Backend REST API explorer and executor. Browse tags, inspect endpoint schemas, and execute authenticated requests. Use when listing users, managing organizations, or calling any Clerk API endpoint.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"clerk","Clerk","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fclerk.png",[12,16,17,20,23],{"name":13,"slug":14,"type":15},"Backend","backend","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"REST API","rest-api",{"name":21,"slug":22,"type":15},"Authentication","authentication",{"name":24,"slug":25,"type":15},"API Development","api-development",59,"https:\u002F\u002Fgithub.com\u002Fclerk\u002Fskills","2026-04-10T05:00:08.728072","MIT",4,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"AI Skills to enhance working with Clerk","https:\u002F\u002Fgithub.com\u002Fclerk\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fcore\u002Fclerk-backend-api","---\nname: clerk-backend-api\ndescription: \"Clerk Backend REST API explorer and executor. Browse tags, inspect endpoint schemas, and execute authenticated requests. Use when listing users, managing organizations, or calling any Clerk API endpoint.\"\nallowed-tools: Bash, Read, Grep, Skill, WebFetch\nlicense: MIT\ncompatibility: Requires CLERK_SECRET_KEY (sk_*) for Backend API calls.\n---\n\n## Options context\n\nUser Prompt: $ARGUMENTS\n\n## CRITICAL: Mandatory checks before EVERY write request\n\nBefore ANY POST \u002F PATCH \u002F PUT \u002F DELETE, you MUST do ALL of the following in your response:\n\n1. **Check CLERK_SECRET_KEY** — verify it is set:\n   ```bash\n   echo $CLERK_SECRET_KEY | head -c 10\n   ```\n   If empty, stop and ask the user. Do not proceed without a valid key.\n\n2. **Check CLERK_BAPI_SCOPES** — run:\n   ```bash\n   echo $CLERK_BAPI_SCOPES\n   ```\n   Inspect the output. If scopes are missing or do not include the required write permission, tell the user: *\"This is a write operation and your current scopes may not allow it. Rerun with --admin to bypass?\"* Do NOT attempt the request and fail — ask first.\n\n3. **For DELETE requests:** warn explicitly that the action is **IRREVERSIBLE** and list exactly what data will be permanently destroyed (user record, all sessions, all memberships, all associated data). Require explicit confirmation before proceeding. This warning is MANDATORY — never skip it.\n\n4. **For metadata operations:** always explain which metadata type is being used and why (see Metadata types section below).\n\n---\n\n## FAST PATH: Common operations (use directly, no spec fetching needed)\n\nFor the operations below, skip spec fetching and execute immediately using these exact templates. Substitute `$CLERK_SECRET_KEY`, `$USER_ID`, `$ORG_ID`, `$EMAIL` as needed from the user's context.\n\n### Create organization + invite member (two-step)\n\n```bash\n# Step 1 — Create organization\nORG=$(curl -s -X POST \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Forganizations\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"name\\\": \\\"Acme Corp\\\", \\\"created_by\\\": \\\"$USER_ID\\\"}\")\necho \"$ORG\" | python3 -c \"import sys,json; d=json.load(sys.stdin); print(json.dumps(d, indent=2))\"\n\n# Step 2 — Extract org ID\nORG_ID=$(echo \"$ORG\" | python3 -c \"import sys,json; print(json.load(sys.stdin)['id'])\")\n\n# Step 3 — Invite member with role\ncurl -s -X POST \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Forganizations\u002F${ORG_ID}\u002Finvitations\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"email_address\\\": \\\"user@example.com\\\", \\\"role\\\": \\\"org:admin\\\"}\" \\\n  | python3 -c \"import sys,json; print(json.dumps(json.load(sys.stdin), indent=2))\"\n```\n\n**Roles:** use `\"org:admin\"` or `\"org:member\"` (always prefix with `org:`).\n\n### SDK equivalent (for Next.js \u002F TypeScript projects with `@clerk\u002Fnextjs` or `@clerk\u002Fbackend`)\n\n```typescript\nimport { clerkClient } from '@clerk\u002Fnextjs\u002Fserver'\n\u002F\u002F OR if using @clerk\u002Fbackend directly:\n\u002F\u002F import { createClerkClient } from '@clerk\u002Fbackend'\n\u002F\u002F const clerkClient = createClerkClient({ secretKey: process.env.CLERK_SECRET_KEY })\n\n\u002F\u002F Step 1: Create organization\nconst org = await clerkClient.organizations.createOrganization({\n  name: 'Acme Corp',\n  createdBy: userId,  \u002F\u002F required — the ID of the user creating the org\n})\n\n\u002F\u002F Step 2: Invite member to the org\nconst invitation = await clerkClient.organizations.createOrganizationInvitation({\n  organizationId: org.id,\n  emailAddress: 'user@example.com',\n  role: 'org:admin',  \u002F\u002F or 'org:member'\n})\n```\n\n### Update user metadata\n\n**Always explain the three metadata types before asking which to use:**\n\n| Type | Field | Readable by | Writable by | Use for |\n|------|-------|-------------|-------------|---------|\n| Public | `public_metadata` | Client + Server | **Server only** | Plan tier, roles, feature flags the frontend reads |\n| Private | `private_metadata` | **Server only** | **Server only** | Stripe IDs, compliance flags, internal identifiers |\n| Unsafe | `unsafe_metadata` | Client + Server | Client + Server | Ephemeral UI state, onboarding steps (client-writable — avoid sensitive data) |\n\n**For `plan: 'pro'` and `onboarded: true` — use `public_metadata`** (frontend-readable, server-writable):\n\n```bash\ncurl -s -X PATCH \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers\u002F${USER_ID}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"public_metadata\": {\"plan\": \"pro\", \"onboarded\": true}}' \\\n  | python3 -c \"import sys,json; d=json.load(sys.stdin); print(f'Updated user {d[\\\"id\\\"]}: public_metadata={d.get(\\\"public_metadata\\\")}')\"\n```\n\n**SDK equivalent:**\n\n```typescript\nimport { clerkClient } from '@clerk\u002Fnextjs\u002Fserver'\n\u002F\u002F OR: import { createClerkClient } from '@clerk\u002Fbackend'\n\nawait clerkClient.users.updateUser(userId, {\n  publicMetadata: { plan: 'pro', onboarded: true },   \u002F\u002F readable by client, writable server-only\n  \u002F\u002F privateMetadata: { stripeId: 'cus_xxx' },         \u002F\u002F server-only read AND write\n  \u002F\u002F unsafeMetadata: { step: 'welcome' },              \u002F\u002F client-writable, avoid sensitive data\n})\n```\n\n**Note:** REST API uses `snake_case` (`public_metadata`). SDK uses `camelCase` (`publicMetadata`).\n\n### List users (last 7 days)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers?limit=100&offset=0&order_by=-created_at&created_at=gt:$(date -d '7 days ago' +%s 2>\u002Fdev\u002Fnull || date -v-7d +%s)000\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  | python3 -c \"\nimport sys, json\ndata = json.load(sys.stdin)\nif isinstance(data, list):\n    print(f'Found {len(data)} users:')\n    for u in data:\n        print(f'  {u[\\\"id\\\"]}: {u.get(\\\"email_addresses\\\", [{}])[0].get(\\\"email_address\\\", \\\"no email\\\")}')\nelse:\n    print(json.dumps(data, indent=2))\n\"\n```\n\n### Delete user (confirm required)\n\n```bash\n# ONLY run after explicit user confirmation\ncurl -s -X DELETE \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers\u002F${USER_ID}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  | python3 -c \"import sys,json; d=json.load(sys.stdin); print(f'Deleted: {d}')\"\n```\n\n---\n\n## Clerk Backend API — Full Endpoint Reference\n\nBase URL: `https:\u002F\u002Fapi.clerk.com\u002Fv1`\nAuth: `Authorization: Bearer $CLERK_SECRET_KEY` on every request.\n\n### Users\n\n**List users**\n```\nGET \u002Fv1\u002Fusers\nQuery params: limit (max 500, default 10), offset, order_by (+\u002F-created_at, +\u002F-updated_at, +\u002F-email_address, +\u002F-web3wallet, +\u002F-first_name, +\u002F-last_name, +\u002F-phone_number, +\u002F-username, +\u002F-last_active_at, +\u002F-last_sign_in_at), email_address[], phone_number[], username[], web3wallet[], user_id[], query, created_at (ISO 8601 range: gt:TIMESTAMP or lt:TIMESTAMP in Unix ms)\nReturns: array of User objects\n```\n\n**Get user**\n```\nGET \u002Fv1\u002Fusers\u002F{user_id}\nReturns: User object\n```\n\n**Update user**\n```\nPATCH \u002Fv1\u002Fusers\u002F{user_id}\nBody (JSON, snake_case): { public_metadata, private_metadata, unsafe_metadata, first_name, last_name, username, ... }\n```\n\n**Delete user — IRREVERSIBLE**\n```\nDELETE \u002Fv1\u002Fusers\u002F{user_id}\nDestroys: user record, all sessions, all memberships, all associated data\nReturns: { id, object, deleted: true }\n```\nAlways warn the user this is permanent and confirm before proceeding.\n\n### Organizations\n\n**Create organization**\n```\nPOST \u002Fv1\u002Forganizations\nBody: { name: string, created_by: string (user_id), public_metadata?, private_metadata?, max_allowed_memberships? }\nReturns: Organization object with { id, name, slug, ... }\n```\n\n**List organizations**\n```\nGET \u002Fv1\u002Forganizations\nQuery params: limit, offset, query, order_by\n```\n\n**Invite member**\n```\nPOST \u002Fv1\u002Forganizations\u002F{organization_id}\u002Finvitations\nBody: { email_address: string, role: string (\"org:admin\" or \"org:member\"), public_metadata?, private_metadata? }\nReturns: OrganizationInvitation object\n```\n\n---\n\n## How to execute requests\n\n**ALWAYS execute requests with direct `curl` commands.** Use the spec-extraction scripts (`api-specs-context.sh`, `extract-tags.js`, `extract-endpoint-detail.sh`) to discover endpoints, but make actual API calls with `curl`. Do NOT use `scripts\u002Fexecute-request.sh` — it's a local dev helper, not for agent use.\n\nTemplate for GET requests:\n```bash\ncurl -s \"https:\u002F\u002Fapi.clerk.com\u002Fv1${PATH}${QUERY_STRING}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\"\n```\n\nTemplate for POST\u002FPATCH requests:\n```bash\ncurl -s -X ${METHOD} \"https:\u002F\u002Fapi.clerk.com\u002Fv1${PATH}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '${BODY_JSON}'\n```\n\nTemplate for DELETE requests:\n```bash\ncurl -s -X DELETE \"https:\u002F\u002Fapi.clerk.com\u002Fv1${PATH}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\"\n```\n\n**After getting the response:** Parse and display it clearly. Use `python3 -c \"import sys,json; data=json.load(sys.stdin); print(json.dumps(data, indent=2))\"` to pretty-print JSON. Extract key fields (id, email, name, etc.) and summarize them for the user.\n\n---\n\n## API specs context\n\nBefore doing anything outside the FAST PATH, fetch the available spec versions and tags by running:\n```bash\nbash scripts\u002Fapi-specs-context.sh\n```\n\nUse the output to determine the latest version and available tags.\n\n**Caching:** If you already fetched the spec context earlier in this conversation, do NOT fetch it again. Reuse the version and tags from the previous call.\n\n---\n\n## Rules\n\n- For common operations (list users, create org, invite, update metadata, delete user): use the FAST PATH above — do NOT fetch specs first.\n- Always disregard endpoints\u002Fschemas related to `platform`.\n- Always confirm before performing write requests (POST\u002FPUT\u002FPATCH\u002FDELETE).\n- For DELETE operations, always warn the user that the action is **irreversible** and mention what data will be lost (user record, sessions, memberships). This warning is MANDATORY — never skip it.\n- For write operations (POST\u002FPUT\u002FPATCH\u002FDELETE), check `CLERK_BAPI_SCOPES` before attempting the request. If missing or insufficient, ask the user upfront. Do NOT attempt and fail — ask before executing. This check is MANDATORY.\n- For metadata operations, always explain all three types (public, private, unsafe) and recommend the appropriate one.\n- Pagination: always use `limit` + `offset` and mention that results may be paginated for large datasets.\n- Use direct curl commands for all API calls — never use `scripts\u002Fexecute-request.sh`.\n\n---\n\n## Rate Limits & Gotchas\n\n### Rate Limits\n\n| Environment | Limit |\n|-------------|-------|\n| Production | 1,000 requests \u002F 10 seconds |\n| Development | 100 requests \u002F 10 seconds |\n| Single invitations | 100 \u002F hour |\n| Bulk invitations | 25 \u002F hour |\n| Org invitations | 250 \u002F hour |\n| Frontend API sign-in creation | 5 \u002F 10 seconds |\n| Frontend API sign-in attempts | 3 \u002F 10 seconds |\n| List users max per page | 500 |\n\n`currentUser()` makes a real API call that counts against rate limits. Use `auth()` for just the session claims — it reads from the token without an API call.\n\n### Metadata Overwrites (Not Merges)\n\n`updateUser({ publicMetadata: { role: 'admin' } })` REPLACES all public metadata, not merges. To add a field without losing existing data: read first, spread, then write.\n\nWrong:\n```typescript\nawait clerkClient.users.updateUser(userId, { publicMetadata: { newField: 'value' } })\n```\nThis DELETES all other `publicMetadata` fields.\n\nRight:\n```typescript\nconst user = await clerkClient.users.getUser(userId)\nawait clerkClient.users.updateUser(userId, {\n  publicMetadata: { ...user.publicMetadata, newField: 'value' },\n})\n```\n\n---\n\n## Modes\n\nDetermine the active mode based on the user prompt in [Options context](#options-context):\n\n| Mode | Trigger | Behavior |\n|------|---------|----------|\n| `help` | Prompt is empty, or contains only `help` \u002F `-h` \u002F `--help` | Print usage examples (step 0) |\n| `browse` | Prompt is `tags`, or a tag name (e.g. `Users`) | List all tags or endpoints for a tag |\n| `execute` | Specific endpoint (e.g. `GET \u002Fusers`) or natural language action (e.g. \"get user john_doe\") | Look up endpoint, execute request |\n| `detail` | Endpoint + `help` \u002F `-h` \u002F `--help` (e.g. `GET \u002Fusers help`) | Show endpoint schema, don't execute |\n\n---\n\n## Your Task\n\nUse the **LATEST VERSION** from [API specs context](#api-specs-context) by default. If the user specifies a different version (e.g. `--version 2024-10-01`), use that version instead.\n\nDetermine the active mode, then follow the applicable steps below.\n\n---\n\n### 0. Print usage\n\n**Modes:** `help` only — **Skip** for `browse`, `execute`, and `detail`.\n\nPrint the following examples to the user verbatim:\n\n```\nBrowse\n  \u002Fclerk-backend-api tags                         — list all tags\n  \u002Fclerk-backend-api Users                        — browse endpoints for the Users tag\n  \u002Fclerk-backend-api Users version 2025-11-10.yml — browse using a different version\n\nExecute\n  \u002Fclerk-backend-api GET \u002Fusers             — fetch all users\n  \u002Fclerk-backend-api get user john_doe      — natural language works too\n  \u002Fclerk-backend-api POST \u002Finvitations      — create an invitation\n\nInspect\n  \u002Fclerk-backend-api GET \u002Fusers help        — show endpoint schema without executing\n  \u002Fclerk-backend-api POST \u002Finvitations -h   — view request\u002Fresponse details\n\nOptions\n  --admin                            — bypass scope restrictions for write\u002Fdelete\n  --version [date], version [date]   — use a specific spec version\n  --help, -h, help                   — inspect endpoint instead of executing\n```\n\nStop here.\n\n---\n\n### 1. Fetch tags\n\n**Modes:** `browse` (when prompt is `tags` or no tag specified) — **Skip** for `help`, `execute`, and `detail`.\n\nIf using a non-latest version, fetch tags for that version:\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F${version_name} | node scripts\u002Fextract-tags.js\n```\nOtherwise, use the **TAGS** already in [API specs context](#api-specs-context).\n\nShare tags in a table and prompt the user to select a query.\n\n---\n\n### 2. Fetch tag endpoints\n\n**Modes:** `browse` (when a tag name is provided) — **Skip** for `help`, `execute`, and `detail`.\n\nFetch all endpoints for the identified tag:\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F${version_name} | bash scripts\u002Fextract-tag-endpoints.sh \"${tag_name}\"\n```\n\nShare the results (endpoints, schemas, parameters) with the user.\n\n---\n\n### 3. Fetch endpoint detail\n\n**Modes:** `execute`, `detail` — **Skip** for `help` and `browse`.\n\nFor natural language prompts in `execute` mode, first check if the operation matches a FAST PATH entry above. If it does, skip this step and proceed directly to step 4 using the FAST PATH template.\n\nFor other endpoints, identify the matching endpoint by searching the tags in context. Fetch tag endpoints if needed to resolve the exact path and method.\n\nExtract the full endpoint definition:\n```bash\ncurl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F${version_name} | bash scripts\u002Fextract-endpoint-detail.sh \"${path}\" \"${method}\"\n```\n- `${path}` — e.g. `\u002Fusers\u002F{user_id}`\n- `${method}` — lowercase, e.g. `get`\n\n**`detail` mode:** Share the endpoint definition and schemas with the user. Stop here.\n\n**`execute` mode:** Continue to step 4.\n\n---\n\n### 4. Execute request\n\n**Modes:** `execute` only.\n\n1. Run the **mandatory checks** from the CRITICAL section above.\n2. Identify required and optional parameters from the spec (step 3) or FAST PATH.\n3. Ask the user for any required path\u002Fquery\u002Fbody parameters that weren't provided.\n4. Build and execute a **direct curl command** (see How to execute requests above). Do NOT use `scripts\u002Fexecute-request.sh`.\n5. Parse the JSON response and display it clearly. Extract and summarize key fields for the user.\n\n**Example — list users and parse response:**\n```bash\nRESPONSE=$(curl -s \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers?limit=10\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\")\necho \"$RESPONSE\" | python3 -c \"\nimport sys, json\ndata = json.load(sys.stdin)\nif isinstance(data, list):\n    print(f'Found {len(data)} users:')\n    for u in data:\n        print(f'  {u[\\\"id\\\"]}: {u.get(\\\"email_addresses\\\", [{}])[0].get(\\\"email_address\\\", \\\"no email\\\")}')\nelse:\n    print(json.dumps(data, indent=2))\n\"\n```\n\n## See Also\n\n- `clerk-setup` - Initial Clerk install\n- `clerk-orgs` - Manage organizations via API\n- `clerk-webhooks` - Real-time event sync\n",{"data":38,"body":41},{"name":4,"description":6,"allowed-tools":39,"license":29,"compatibility":40},"Bash, Read, Grep, Skill, WebFetch","Requires CLERK_SECRET_KEY (sk_*) for Backend API calls.",{"type":42,"children":43},"root",[44,53,59,65,70,215,219,225,260,267,853,887,908,1294,1300,1308,1452,1483,1673,1681,1886,1925,1931,2220,2226,2340,2343,2349,2370,2375,2383,2393,2401,2410,2418,2427,2435,2444,2449,2454,2462,2471,2479,2488,2496,2505,2508,2514,2568,2573,2649,2654,2784,2789,2862,2880,2883,2889,2894,2913,2918,2928,2931,2937,3025,3028,3034,3040,3166,3185,3191,3202,3207,3300,3312,3317,3482,3485,3491,3503,3686,3689,3695,3722,3727,3730,3736,3779,3784,3793,3798,3801,3807,3852,3857,3907,3924,3929,3932,3938,3976,3981,4044,4049,4052,4058,4096,4108,4113,4118,4191,4228,4243,4257,4260,4266,4281,4329,4337,4571,4577,4613],{"type":45,"tag":46,"props":47,"children":49},"element","h2",{"id":48},"options-context",[50],{"type":51,"value":52},"text","Options context",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57],{"type":51,"value":58},"User Prompt: $ARGUMENTS",{"type":45,"tag":46,"props":60,"children":62},{"id":61},"critical-mandatory-checks-before-every-write-request",[63],{"type":51,"value":64},"CRITICAL: Mandatory checks before EVERY write request",{"type":45,"tag":54,"props":66,"children":67},{},[68],{"type":51,"value":69},"Before ANY POST \u002F PATCH \u002F PUT \u002F DELETE, you MUST do ALL of the following in your response:",{"type":45,"tag":71,"props":72,"children":73},"ol",{},[74,146,188,205],{"type":45,"tag":75,"props":76,"children":77},"li",{},[78,84,86,140,144],{"type":45,"tag":79,"props":80,"children":81},"strong",{},[82],{"type":51,"value":83},"Check CLERK_SECRET_KEY",{"type":51,"value":85}," — verify it is set:",{"type":45,"tag":87,"props":88,"children":93},"pre",{"className":89,"code":90,"language":91,"meta":92,"style":92},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","echo $CLERK_SECRET_KEY | head -c 10\n","bash","",[94],{"type":45,"tag":95,"props":96,"children":97},"code",{"__ignoreMap":92},[98],{"type":45,"tag":99,"props":100,"children":103},"span",{"class":101,"line":102},"line",1,[104,110,116,122,128,134],{"type":45,"tag":99,"props":105,"children":107},{"style":106},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[108],{"type":51,"value":109},"echo",{"type":45,"tag":99,"props":111,"children":113},{"style":112},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[114],{"type":51,"value":115}," $CLERK_SECRET_KEY ",{"type":45,"tag":99,"props":117,"children":119},{"style":118},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[120],{"type":51,"value":121},"|",{"type":45,"tag":99,"props":123,"children":125},{"style":124},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[126],{"type":51,"value":127}," head",{"type":45,"tag":99,"props":129,"children":131},{"style":130},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[132],{"type":51,"value":133}," -c",{"type":45,"tag":99,"props":135,"children":137},{"style":136},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[138],{"type":51,"value":139}," 10\n",{"type":45,"tag":141,"props":142,"children":143},"br",{},[],{"type":51,"value":145},"If empty, stop and ask the user. Do not proceed without a valid key.",{"type":45,"tag":75,"props":147,"children":148},{},[149,154,156,175,178,180,186],{"type":45,"tag":79,"props":150,"children":151},{},[152],{"type":51,"value":153},"Check CLERK_BAPI_SCOPES",{"type":51,"value":155}," — run:",{"type":45,"tag":87,"props":157,"children":159},{"className":89,"code":158,"language":91,"meta":92,"style":92},"echo $CLERK_BAPI_SCOPES\n",[160],{"type":45,"tag":95,"props":161,"children":162},{"__ignoreMap":92},[163],{"type":45,"tag":99,"props":164,"children":165},{"class":101,"line":102},[166,170],{"type":45,"tag":99,"props":167,"children":168},{"style":106},[169],{"type":51,"value":109},{"type":45,"tag":99,"props":171,"children":172},{"style":112},[173],{"type":51,"value":174}," $CLERK_BAPI_SCOPES\n",{"type":45,"tag":141,"props":176,"children":177},{},[],{"type":51,"value":179},"Inspect the output. If scopes are missing or do not include the required write permission, tell the user: ",{"type":45,"tag":181,"props":182,"children":183},"em",{},[184],{"type":51,"value":185},"\"This is a write operation and your current scopes may not allow it. Rerun with --admin to bypass?\"",{"type":51,"value":187}," Do NOT attempt the request and fail — ask first.",{"type":45,"tag":75,"props":189,"children":190},{},[191,196,198,203],{"type":45,"tag":79,"props":192,"children":193},{},[194],{"type":51,"value":195},"For DELETE requests:",{"type":51,"value":197}," warn explicitly that the action is ",{"type":45,"tag":79,"props":199,"children":200},{},[201],{"type":51,"value":202},"IRREVERSIBLE",{"type":51,"value":204}," and list exactly what data will be permanently destroyed (user record, all sessions, all memberships, all associated data). Require explicit confirmation before proceeding. This warning is MANDATORY — never skip it.",{"type":45,"tag":75,"props":206,"children":207},{},[208,213],{"type":45,"tag":79,"props":209,"children":210},{},[211],{"type":51,"value":212},"For metadata operations:",{"type":51,"value":214}," always explain which metadata type is being used and why (see Metadata types section below).",{"type":45,"tag":216,"props":217,"children":218},"hr",{},[],{"type":45,"tag":46,"props":220,"children":222},{"id":221},"fast-path-common-operations-use-directly-no-spec-fetching-needed",[223],{"type":51,"value":224},"FAST PATH: Common operations (use directly, no spec fetching needed)",{"type":45,"tag":54,"props":226,"children":227},{},[228,230,236,238,244,245,251,252,258],{"type":51,"value":229},"For the operations below, skip spec fetching and execute immediately using these exact templates. Substitute ",{"type":45,"tag":95,"props":231,"children":233},{"className":232},[],[234],{"type":51,"value":235},"$CLERK_SECRET_KEY",{"type":51,"value":237},", ",{"type":45,"tag":95,"props":239,"children":241},{"className":240},[],[242],{"type":51,"value":243},"$USER_ID",{"type":51,"value":237},{"type":45,"tag":95,"props":246,"children":248},{"className":247},[],[249],{"type":51,"value":250},"$ORG_ID",{"type":51,"value":237},{"type":45,"tag":95,"props":253,"children":255},{"className":254},[],[256],{"type":51,"value":257},"$EMAIL",{"type":51,"value":259}," as needed from the user's context.",{"type":45,"tag":261,"props":262,"children":264},"h3",{"id":263},"create-organization-invite-member-two-step",[265],{"type":51,"value":266},"Create organization + invite member (two-step)",{"type":45,"tag":87,"props":268,"children":270},{"className":89,"code":269,"language":91,"meta":92,"style":92},"# Step 1 — Create organization\nORG=$(curl -s -X POST \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Forganizations\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"name\\\": \\\"Acme Corp\\\", \\\"created_by\\\": \\\"$USER_ID\\\"}\")\necho \"$ORG\" | python3 -c \"import sys,json; d=json.load(sys.stdin); print(json.dumps(d, indent=2))\"\n\n# Step 2 — Extract org ID\nORG_ID=$(echo \"$ORG\" | python3 -c \"import sys,json; print(json.load(sys.stdin)['id'])\")\n\n# Step 3 — Invite member with role\ncurl -s -X POST \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Forganizations\u002F${ORG_ID}\u002Finvitations\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\\\"email_address\\\": \\\"user@example.com\\\", \\\"role\\\": \\\"org:admin\\\"}\" \\\n  | python3 -c \"import sys,json; print(json.dumps(json.load(sys.stdin), indent=2))\"\n",[271],{"type":45,"tag":95,"props":272,"children":273},{"__ignoreMap":92},[274,283,337,367,391,481,530,540,549,607,615,624,679,707,731,823],{"type":45,"tag":99,"props":275,"children":276},{"class":101,"line":102},[277],{"type":45,"tag":99,"props":278,"children":280},{"style":279},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[281],{"type":51,"value":282},"# Step 1 — Create organization\n",{"type":45,"tag":99,"props":284,"children":286},{"class":101,"line":285},2,[287,292,297,302,307,312,317,322,327,332],{"type":45,"tag":99,"props":288,"children":289},{"style":112},[290],{"type":51,"value":291},"ORG",{"type":45,"tag":99,"props":293,"children":294},{"style":118},[295],{"type":51,"value":296},"=$(",{"type":45,"tag":99,"props":298,"children":299},{"style":124},[300],{"type":51,"value":301},"curl",{"type":45,"tag":99,"props":303,"children":304},{"style":130},[305],{"type":51,"value":306}," -s",{"type":45,"tag":99,"props":308,"children":309},{"style":130},[310],{"type":51,"value":311}," -X",{"type":45,"tag":99,"props":313,"children":314},{"style":130},[315],{"type":51,"value":316}," POST",{"type":45,"tag":99,"props":318,"children":319},{"style":118},[320],{"type":51,"value":321}," \"",{"type":45,"tag":99,"props":323,"children":324},{"style":130},[325],{"type":51,"value":326},"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Forganizations",{"type":45,"tag":99,"props":328,"children":329},{"style":118},[330],{"type":51,"value":331},"\"",{"type":45,"tag":99,"props":333,"children":334},{"style":112},[335],{"type":51,"value":336}," \\\n",{"type":45,"tag":99,"props":338,"children":340},{"class":101,"line":339},3,[341,346,350,355,359,363],{"type":45,"tag":99,"props":342,"children":343},{"style":130},[344],{"type":51,"value":345},"  -H",{"type":45,"tag":99,"props":347,"children":348},{"style":118},[349],{"type":51,"value":321},{"type":45,"tag":99,"props":351,"children":352},{"style":130},[353],{"type":51,"value":354},"Authorization: Bearer ",{"type":45,"tag":99,"props":356,"children":357},{"style":112},[358],{"type":51,"value":235},{"type":45,"tag":99,"props":360,"children":361},{"style":118},[362],{"type":51,"value":331},{"type":45,"tag":99,"props":364,"children":365},{"style":112},[366],{"type":51,"value":336},{"type":45,"tag":99,"props":368,"children":369},{"class":101,"line":30},[370,374,378,383,387],{"type":45,"tag":99,"props":371,"children":372},{"style":130},[373],{"type":51,"value":345},{"type":45,"tag":99,"props":375,"children":376},{"style":118},[377],{"type":51,"value":321},{"type":45,"tag":99,"props":379,"children":380},{"style":130},[381],{"type":51,"value":382},"Content-Type: application\u002Fjson",{"type":45,"tag":99,"props":384,"children":385},{"style":118},[386],{"type":51,"value":331},{"type":45,"tag":99,"props":388,"children":389},{"style":112},[390],{"type":51,"value":336},{"type":45,"tag":99,"props":392,"children":394},{"class":101,"line":393},5,[395,400,404,409,414,419,423,428,432,437,441,445,449,454,458,462,467,472,476],{"type":45,"tag":99,"props":396,"children":397},{"style":130},[398],{"type":51,"value":399},"  -d",{"type":45,"tag":99,"props":401,"children":402},{"style":118},[403],{"type":51,"value":321},{"type":45,"tag":99,"props":405,"children":406},{"style":130},[407],{"type":51,"value":408},"{",{"type":45,"tag":99,"props":410,"children":411},{"style":112},[412],{"type":51,"value":413},"\\\"",{"type":45,"tag":99,"props":415,"children":416},{"style":130},[417],{"type":51,"value":418},"name",{"type":45,"tag":99,"props":420,"children":421},{"style":112},[422],{"type":51,"value":413},{"type":45,"tag":99,"props":424,"children":425},{"style":130},[426],{"type":51,"value":427},": ",{"type":45,"tag":99,"props":429,"children":430},{"style":112},[431],{"type":51,"value":413},{"type":45,"tag":99,"props":433,"children":434},{"style":130},[435],{"type":51,"value":436},"Acme Corp",{"type":45,"tag":99,"props":438,"children":439},{"style":112},[440],{"type":51,"value":413},{"type":45,"tag":99,"props":442,"children":443},{"style":130},[444],{"type":51,"value":237},{"type":45,"tag":99,"props":446,"children":447},{"style":112},[448],{"type":51,"value":413},{"type":45,"tag":99,"props":450,"children":451},{"style":130},[452],{"type":51,"value":453},"created_by",{"type":45,"tag":99,"props":455,"children":456},{"style":112},[457],{"type":51,"value":413},{"type":45,"tag":99,"props":459,"children":460},{"style":130},[461],{"type":51,"value":427},{"type":45,"tag":99,"props":463,"children":464},{"style":112},[465],{"type":51,"value":466},"\\\"$USER_ID\\\"",{"type":45,"tag":99,"props":468,"children":469},{"style":130},[470],{"type":51,"value":471},"}",{"type":45,"tag":99,"props":473,"children":474},{"style":118},[475],{"type":51,"value":331},{"type":45,"tag":99,"props":477,"children":478},{"style":118},[479],{"type":51,"value":480},")\n",{"type":45,"tag":99,"props":482,"children":484},{"class":101,"line":483},6,[485,489,493,498,502,507,512,516,520,525],{"type":45,"tag":99,"props":486,"children":487},{"style":106},[488],{"type":51,"value":109},{"type":45,"tag":99,"props":490,"children":491},{"style":118},[492],{"type":51,"value":321},{"type":45,"tag":99,"props":494,"children":495},{"style":112},[496],{"type":51,"value":497},"$ORG",{"type":45,"tag":99,"props":499,"children":500},{"style":118},[501],{"type":51,"value":331},{"type":45,"tag":99,"props":503,"children":504},{"style":118},[505],{"type":51,"value":506}," |",{"type":45,"tag":99,"props":508,"children":509},{"style":124},[510],{"type":51,"value":511}," python3",{"type":45,"tag":99,"props":513,"children":514},{"style":130},[515],{"type":51,"value":133},{"type":45,"tag":99,"props":517,"children":518},{"style":118},[519],{"type":51,"value":321},{"type":45,"tag":99,"props":521,"children":522},{"style":130},[523],{"type":51,"value":524},"import sys,json; d=json.load(sys.stdin); print(json.dumps(d, indent=2))",{"type":45,"tag":99,"props":526,"children":527},{"style":118},[528],{"type":51,"value":529},"\"\n",{"type":45,"tag":99,"props":531,"children":533},{"class":101,"line":532},7,[534],{"type":45,"tag":99,"props":535,"children":537},{"emptyLinePlaceholder":536},true,[538],{"type":51,"value":539},"\n",{"type":45,"tag":99,"props":541,"children":543},{"class":101,"line":542},8,[544],{"type":45,"tag":99,"props":545,"children":546},{"style":279},[547],{"type":51,"value":548},"# Step 2 — Extract org ID\n",{"type":45,"tag":99,"props":550,"children":552},{"class":101,"line":551},9,[553,558,562,566,570,574,578,582,586,590,594,599,603],{"type":45,"tag":99,"props":554,"children":555},{"style":112},[556],{"type":51,"value":557},"ORG_ID",{"type":45,"tag":99,"props":559,"children":560},{"style":118},[561],{"type":51,"value":296},{"type":45,"tag":99,"props":563,"children":564},{"style":106},[565],{"type":51,"value":109},{"type":45,"tag":99,"props":567,"children":568},{"style":118},[569],{"type":51,"value":321},{"type":45,"tag":99,"props":571,"children":572},{"style":112},[573],{"type":51,"value":497},{"type":45,"tag":99,"props":575,"children":576},{"style":118},[577],{"type":51,"value":331},{"type":45,"tag":99,"props":579,"children":580},{"style":118},[581],{"type":51,"value":506},{"type":45,"tag":99,"props":583,"children":584},{"style":124},[585],{"type":51,"value":511},{"type":45,"tag":99,"props":587,"children":588},{"style":130},[589],{"type":51,"value":133},{"type":45,"tag":99,"props":591,"children":592},{"style":118},[593],{"type":51,"value":321},{"type":45,"tag":99,"props":595,"children":596},{"style":130},[597],{"type":51,"value":598},"import sys,json; print(json.load(sys.stdin)['id'])",{"type":45,"tag":99,"props":600,"children":601},{"style":118},[602],{"type":51,"value":331},{"type":45,"tag":99,"props":604,"children":605},{"style":118},[606],{"type":51,"value":480},{"type":45,"tag":99,"props":608,"children":610},{"class":101,"line":609},10,[611],{"type":45,"tag":99,"props":612,"children":613},{"emptyLinePlaceholder":536},[614],{"type":51,"value":539},{"type":45,"tag":99,"props":616,"children":618},{"class":101,"line":617},11,[619],{"type":45,"tag":99,"props":620,"children":621},{"style":279},[622],{"type":51,"value":623},"# Step 3 — Invite member with role\n",{"type":45,"tag":99,"props":625,"children":627},{"class":101,"line":626},12,[628,632,636,640,644,648,653,658,662,666,671,675],{"type":45,"tag":99,"props":629,"children":630},{"style":124},[631],{"type":51,"value":301},{"type":45,"tag":99,"props":633,"children":634},{"style":130},[635],{"type":51,"value":306},{"type":45,"tag":99,"props":637,"children":638},{"style":130},[639],{"type":51,"value":311},{"type":45,"tag":99,"props":641,"children":642},{"style":130},[643],{"type":51,"value":316},{"type":45,"tag":99,"props":645,"children":646},{"style":118},[647],{"type":51,"value":321},{"type":45,"tag":99,"props":649,"children":650},{"style":130},[651],{"type":51,"value":652},"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Forganizations\u002F",{"type":45,"tag":99,"props":654,"children":655},{"style":118},[656],{"type":51,"value":657},"${",{"type":45,"tag":99,"props":659,"children":660},{"style":112},[661],{"type":51,"value":557},{"type":45,"tag":99,"props":663,"children":664},{"style":118},[665],{"type":51,"value":471},{"type":45,"tag":99,"props":667,"children":668},{"style":130},[669],{"type":51,"value":670},"\u002Finvitations",{"type":45,"tag":99,"props":672,"children":673},{"style":118},[674],{"type":51,"value":331},{"type":45,"tag":99,"props":676,"children":677},{"style":112},[678],{"type":51,"value":336},{"type":45,"tag":99,"props":680,"children":682},{"class":101,"line":681},13,[683,687,691,695,699,703],{"type":45,"tag":99,"props":684,"children":685},{"style":130},[686],{"type":51,"value":345},{"type":45,"tag":99,"props":688,"children":689},{"style":118},[690],{"type":51,"value":321},{"type":45,"tag":99,"props":692,"children":693},{"style":130},[694],{"type":51,"value":354},{"type":45,"tag":99,"props":696,"children":697},{"style":112},[698],{"type":51,"value":235},{"type":45,"tag":99,"props":700,"children":701},{"style":118},[702],{"type":51,"value":331},{"type":45,"tag":99,"props":704,"children":705},{"style":112},[706],{"type":51,"value":336},{"type":45,"tag":99,"props":708,"children":710},{"class":101,"line":709},14,[711,715,719,723,727],{"type":45,"tag":99,"props":712,"children":713},{"style":130},[714],{"type":51,"value":345},{"type":45,"tag":99,"props":716,"children":717},{"style":118},[718],{"type":51,"value":321},{"type":45,"tag":99,"props":720,"children":721},{"style":130},[722],{"type":51,"value":382},{"type":45,"tag":99,"props":724,"children":725},{"style":118},[726],{"type":51,"value":331},{"type":45,"tag":99,"props":728,"children":729},{"style":112},[730],{"type":51,"value":336},{"type":45,"tag":99,"props":732,"children":734},{"class":101,"line":733},15,[735,739,743,747,751,756,760,764,768,773,777,781,785,790,794,798,802,807,811,815,819],{"type":45,"tag":99,"props":736,"children":737},{"style":130},[738],{"type":51,"value":399},{"type":45,"tag":99,"props":740,"children":741},{"style":118},[742],{"type":51,"value":321},{"type":45,"tag":99,"props":744,"children":745},{"style":130},[746],{"type":51,"value":408},{"type":45,"tag":99,"props":748,"children":749},{"style":112},[750],{"type":51,"value":413},{"type":45,"tag":99,"props":752,"children":753},{"style":130},[754],{"type":51,"value":755},"email_address",{"type":45,"tag":99,"props":757,"children":758},{"style":112},[759],{"type":51,"value":413},{"type":45,"tag":99,"props":761,"children":762},{"style":130},[763],{"type":51,"value":427},{"type":45,"tag":99,"props":765,"children":766},{"style":112},[767],{"type":51,"value":413},{"type":45,"tag":99,"props":769,"children":770},{"style":130},[771],{"type":51,"value":772},"user@example.com",{"type":45,"tag":99,"props":774,"children":775},{"style":112},[776],{"type":51,"value":413},{"type":45,"tag":99,"props":778,"children":779},{"style":130},[780],{"type":51,"value":237},{"type":45,"tag":99,"props":782,"children":783},{"style":112},[784],{"type":51,"value":413},{"type":45,"tag":99,"props":786,"children":787},{"style":130},[788],{"type":51,"value":789},"role",{"type":45,"tag":99,"props":791,"children":792},{"style":112},[793],{"type":51,"value":413},{"type":45,"tag":99,"props":795,"children":796},{"style":130},[797],{"type":51,"value":427},{"type":45,"tag":99,"props":799,"children":800},{"style":112},[801],{"type":51,"value":413},{"type":45,"tag":99,"props":803,"children":804},{"style":130},[805],{"type":51,"value":806},"org:admin",{"type":45,"tag":99,"props":808,"children":809},{"style":112},[810],{"type":51,"value":413},{"type":45,"tag":99,"props":812,"children":813},{"style":130},[814],{"type":51,"value":471},{"type":45,"tag":99,"props":816,"children":817},{"style":118},[818],{"type":51,"value":331},{"type":45,"tag":99,"props":820,"children":821},{"style":112},[822],{"type":51,"value":336},{"type":45,"tag":99,"props":824,"children":826},{"class":101,"line":825},16,[827,832,836,840,844,849],{"type":45,"tag":99,"props":828,"children":829},{"style":118},[830],{"type":51,"value":831},"  |",{"type":45,"tag":99,"props":833,"children":834},{"style":124},[835],{"type":51,"value":511},{"type":45,"tag":99,"props":837,"children":838},{"style":130},[839],{"type":51,"value":133},{"type":45,"tag":99,"props":841,"children":842},{"style":118},[843],{"type":51,"value":321},{"type":45,"tag":99,"props":845,"children":846},{"style":130},[847],{"type":51,"value":848},"import sys,json; print(json.dumps(json.load(sys.stdin), indent=2))",{"type":45,"tag":99,"props":850,"children":851},{"style":118},[852],{"type":51,"value":529},{"type":45,"tag":54,"props":854,"children":855},{},[856,861,863,869,871,877,879,885],{"type":45,"tag":79,"props":857,"children":858},{},[859],{"type":51,"value":860},"Roles:",{"type":51,"value":862}," use ",{"type":45,"tag":95,"props":864,"children":866},{"className":865},[],[867],{"type":51,"value":868},"\"org:admin\"",{"type":51,"value":870}," or ",{"type":45,"tag":95,"props":872,"children":874},{"className":873},[],[875],{"type":51,"value":876},"\"org:member\"",{"type":51,"value":878}," (always prefix with ",{"type":45,"tag":95,"props":880,"children":882},{"className":881},[],[883],{"type":51,"value":884},"org:",{"type":51,"value":886},").",{"type":45,"tag":261,"props":888,"children":890},{"id":889},"sdk-equivalent-for-nextjs-typescript-projects-with-clerknextjs-or-clerkbackend",[891,893,899,900,906],{"type":51,"value":892},"SDK equivalent (for Next.js \u002F TypeScript projects with ",{"type":45,"tag":95,"props":894,"children":896},{"className":895},[],[897],{"type":51,"value":898},"@clerk\u002Fnextjs",{"type":51,"value":870},{"type":45,"tag":95,"props":901,"children":903},{"className":902},[],[904],{"type":51,"value":905},"@clerk\u002Fbackend",{"type":51,"value":907},")",{"type":45,"tag":87,"props":909,"children":913},{"className":910,"code":911,"language":912,"meta":92,"style":92},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { clerkClient } from '@clerk\u002Fnextjs\u002Fserver'\n\u002F\u002F OR if using @clerk\u002Fbackend directly:\n\u002F\u002F import { createClerkClient } from '@clerk\u002Fbackend'\n\u002F\u002F const clerkClient = createClerkClient({ secretKey: process.env.CLERK_SECRET_KEY })\n\n\u002F\u002F Step 1: Create organization\nconst org = await clerkClient.organizations.createOrganization({\n  name: 'Acme Corp',\n  createdBy: userId,  \u002F\u002F required — the ID of the user creating the org\n})\n\n\u002F\u002F Step 2: Invite member to the org\nconst invitation = await clerkClient.organizations.createOrganizationInvitation({\n  organizationId: org.id,\n  emailAddress: 'user@example.com',\n  role: 'org:admin',  \u002F\u002F or 'org:member'\n})\n","typescript",[914],{"type":45,"tag":95,"props":915,"children":916},{"__ignoreMap":92},[917,961,969,977,985,992,1000,1057,1089,1116,1127,1134,1142,1191,1221,1249,1282],{"type":45,"tag":99,"props":918,"children":919},{"class":101,"line":102},[920,926,931,936,941,946,951,956],{"type":45,"tag":99,"props":921,"children":923},{"style":922},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[924],{"type":51,"value":925},"import",{"type":45,"tag":99,"props":927,"children":928},{"style":118},[929],{"type":51,"value":930}," {",{"type":45,"tag":99,"props":932,"children":933},{"style":112},[934],{"type":51,"value":935}," clerkClient",{"type":45,"tag":99,"props":937,"children":938},{"style":118},[939],{"type":51,"value":940}," }",{"type":45,"tag":99,"props":942,"children":943},{"style":922},[944],{"type":51,"value":945}," from",{"type":45,"tag":99,"props":947,"children":948},{"style":118},[949],{"type":51,"value":950}," '",{"type":45,"tag":99,"props":952,"children":953},{"style":130},[954],{"type":51,"value":955},"@clerk\u002Fnextjs\u002Fserver",{"type":45,"tag":99,"props":957,"children":958},{"style":118},[959],{"type":51,"value":960},"'\n",{"type":45,"tag":99,"props":962,"children":963},{"class":101,"line":285},[964],{"type":45,"tag":99,"props":965,"children":966},{"style":279},[967],{"type":51,"value":968},"\u002F\u002F OR if using @clerk\u002Fbackend directly:\n",{"type":45,"tag":99,"props":970,"children":971},{"class":101,"line":339},[972],{"type":45,"tag":99,"props":973,"children":974},{"style":279},[975],{"type":51,"value":976},"\u002F\u002F import { createClerkClient } from '@clerk\u002Fbackend'\n",{"type":45,"tag":99,"props":978,"children":979},{"class":101,"line":30},[980],{"type":45,"tag":99,"props":981,"children":982},{"style":279},[983],{"type":51,"value":984},"\u002F\u002F const clerkClient = createClerkClient({ secretKey: process.env.CLERK_SECRET_KEY })\n",{"type":45,"tag":99,"props":986,"children":987},{"class":101,"line":393},[988],{"type":45,"tag":99,"props":989,"children":990},{"emptyLinePlaceholder":536},[991],{"type":51,"value":539},{"type":45,"tag":99,"props":993,"children":994},{"class":101,"line":483},[995],{"type":45,"tag":99,"props":996,"children":997},{"style":279},[998],{"type":51,"value":999},"\u002F\u002F Step 1: Create organization\n",{"type":45,"tag":99,"props":1001,"children":1002},{"class":101,"line":532},[1003,1009,1014,1019,1024,1028,1033,1038,1042,1047,1052],{"type":45,"tag":99,"props":1004,"children":1006},{"style":1005},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1007],{"type":51,"value":1008},"const",{"type":45,"tag":99,"props":1010,"children":1011},{"style":112},[1012],{"type":51,"value":1013}," org ",{"type":45,"tag":99,"props":1015,"children":1016},{"style":118},[1017],{"type":51,"value":1018},"=",{"type":45,"tag":99,"props":1020,"children":1021},{"style":922},[1022],{"type":51,"value":1023}," await",{"type":45,"tag":99,"props":1025,"children":1026},{"style":112},[1027],{"type":51,"value":935},{"type":45,"tag":99,"props":1029,"children":1030},{"style":118},[1031],{"type":51,"value":1032},".",{"type":45,"tag":99,"props":1034,"children":1035},{"style":112},[1036],{"type":51,"value":1037},"organizations",{"type":45,"tag":99,"props":1039,"children":1040},{"style":118},[1041],{"type":51,"value":1032},{"type":45,"tag":99,"props":1043,"children":1044},{"style":106},[1045],{"type":51,"value":1046},"createOrganization",{"type":45,"tag":99,"props":1048,"children":1049},{"style":112},[1050],{"type":51,"value":1051},"(",{"type":45,"tag":99,"props":1053,"children":1054},{"style":118},[1055],{"type":51,"value":1056},"{\n",{"type":45,"tag":99,"props":1058,"children":1059},{"class":101,"line":542},[1060,1066,1071,1075,1079,1084],{"type":45,"tag":99,"props":1061,"children":1063},{"style":1062},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1064],{"type":51,"value":1065},"  name",{"type":45,"tag":99,"props":1067,"children":1068},{"style":118},[1069],{"type":51,"value":1070},":",{"type":45,"tag":99,"props":1072,"children":1073},{"style":118},[1074],{"type":51,"value":950},{"type":45,"tag":99,"props":1076,"children":1077},{"style":130},[1078],{"type":51,"value":436},{"type":45,"tag":99,"props":1080,"children":1081},{"style":118},[1082],{"type":51,"value":1083},"'",{"type":45,"tag":99,"props":1085,"children":1086},{"style":118},[1087],{"type":51,"value":1088},",\n",{"type":45,"tag":99,"props":1090,"children":1091},{"class":101,"line":551},[1092,1097,1101,1106,1111],{"type":45,"tag":99,"props":1093,"children":1094},{"style":1062},[1095],{"type":51,"value":1096},"  createdBy",{"type":45,"tag":99,"props":1098,"children":1099},{"style":118},[1100],{"type":51,"value":1070},{"type":45,"tag":99,"props":1102,"children":1103},{"style":112},[1104],{"type":51,"value":1105}," userId",{"type":45,"tag":99,"props":1107,"children":1108},{"style":118},[1109],{"type":51,"value":1110},",",{"type":45,"tag":99,"props":1112,"children":1113},{"style":279},[1114],{"type":51,"value":1115},"  \u002F\u002F required — the ID of the user creating the org\n",{"type":45,"tag":99,"props":1117,"children":1118},{"class":101,"line":609},[1119,1123],{"type":45,"tag":99,"props":1120,"children":1121},{"style":118},[1122],{"type":51,"value":471},{"type":45,"tag":99,"props":1124,"children":1125},{"style":112},[1126],{"type":51,"value":480},{"type":45,"tag":99,"props":1128,"children":1129},{"class":101,"line":617},[1130],{"type":45,"tag":99,"props":1131,"children":1132},{"emptyLinePlaceholder":536},[1133],{"type":51,"value":539},{"type":45,"tag":99,"props":1135,"children":1136},{"class":101,"line":626},[1137],{"type":45,"tag":99,"props":1138,"children":1139},{"style":279},[1140],{"type":51,"value":1141},"\u002F\u002F Step 2: Invite member to the org\n",{"type":45,"tag":99,"props":1143,"children":1144},{"class":101,"line":681},[1145,1149,1154,1158,1162,1166,1170,1174,1178,1183,1187],{"type":45,"tag":99,"props":1146,"children":1147},{"style":1005},[1148],{"type":51,"value":1008},{"type":45,"tag":99,"props":1150,"children":1151},{"style":112},[1152],{"type":51,"value":1153}," invitation ",{"type":45,"tag":99,"props":1155,"children":1156},{"style":118},[1157],{"type":51,"value":1018},{"type":45,"tag":99,"props":1159,"children":1160},{"style":922},[1161],{"type":51,"value":1023},{"type":45,"tag":99,"props":1163,"children":1164},{"style":112},[1165],{"type":51,"value":935},{"type":45,"tag":99,"props":1167,"children":1168},{"style":118},[1169],{"type":51,"value":1032},{"type":45,"tag":99,"props":1171,"children":1172},{"style":112},[1173],{"type":51,"value":1037},{"type":45,"tag":99,"props":1175,"children":1176},{"style":118},[1177],{"type":51,"value":1032},{"type":45,"tag":99,"props":1179,"children":1180},{"style":106},[1181],{"type":51,"value":1182},"createOrganizationInvitation",{"type":45,"tag":99,"props":1184,"children":1185},{"style":112},[1186],{"type":51,"value":1051},{"type":45,"tag":99,"props":1188,"children":1189},{"style":118},[1190],{"type":51,"value":1056},{"type":45,"tag":99,"props":1192,"children":1193},{"class":101,"line":709},[1194,1199,1203,1208,1212,1217],{"type":45,"tag":99,"props":1195,"children":1196},{"style":1062},[1197],{"type":51,"value":1198},"  organizationId",{"type":45,"tag":99,"props":1200,"children":1201},{"style":118},[1202],{"type":51,"value":1070},{"type":45,"tag":99,"props":1204,"children":1205},{"style":112},[1206],{"type":51,"value":1207}," org",{"type":45,"tag":99,"props":1209,"children":1210},{"style":118},[1211],{"type":51,"value":1032},{"type":45,"tag":99,"props":1213,"children":1214},{"style":112},[1215],{"type":51,"value":1216},"id",{"type":45,"tag":99,"props":1218,"children":1219},{"style":118},[1220],{"type":51,"value":1088},{"type":45,"tag":99,"props":1222,"children":1223},{"class":101,"line":733},[1224,1229,1233,1237,1241,1245],{"type":45,"tag":99,"props":1225,"children":1226},{"style":1062},[1227],{"type":51,"value":1228},"  emailAddress",{"type":45,"tag":99,"props":1230,"children":1231},{"style":118},[1232],{"type":51,"value":1070},{"type":45,"tag":99,"props":1234,"children":1235},{"style":118},[1236],{"type":51,"value":950},{"type":45,"tag":99,"props":1238,"children":1239},{"style":130},[1240],{"type":51,"value":772},{"type":45,"tag":99,"props":1242,"children":1243},{"style":118},[1244],{"type":51,"value":1083},{"type":45,"tag":99,"props":1246,"children":1247},{"style":118},[1248],{"type":51,"value":1088},{"type":45,"tag":99,"props":1250,"children":1251},{"class":101,"line":825},[1252,1257,1261,1265,1269,1273,1277],{"type":45,"tag":99,"props":1253,"children":1254},{"style":1062},[1255],{"type":51,"value":1256},"  role",{"type":45,"tag":99,"props":1258,"children":1259},{"style":118},[1260],{"type":51,"value":1070},{"type":45,"tag":99,"props":1262,"children":1263},{"style":118},[1264],{"type":51,"value":950},{"type":45,"tag":99,"props":1266,"children":1267},{"style":130},[1268],{"type":51,"value":806},{"type":45,"tag":99,"props":1270,"children":1271},{"style":118},[1272],{"type":51,"value":1083},{"type":45,"tag":99,"props":1274,"children":1275},{"style":118},[1276],{"type":51,"value":1110},{"type":45,"tag":99,"props":1278,"children":1279},{"style":279},[1280],{"type":51,"value":1281},"  \u002F\u002F or 'org:member'\n",{"type":45,"tag":99,"props":1283,"children":1285},{"class":101,"line":1284},17,[1286,1290],{"type":45,"tag":99,"props":1287,"children":1288},{"style":118},[1289],{"type":51,"value":471},{"type":45,"tag":99,"props":1291,"children":1292},{"style":112},[1293],{"type":51,"value":480},{"type":45,"tag":261,"props":1295,"children":1297},{"id":1296},"update-user-metadata",[1298],{"type":51,"value":1299},"Update user metadata",{"type":45,"tag":54,"props":1301,"children":1302},{},[1303],{"type":45,"tag":79,"props":1304,"children":1305},{},[1306],{"type":51,"value":1307},"Always explain the three metadata types before asking which to use:",{"type":45,"tag":1309,"props":1310,"children":1311},"table",{},[1312,1346],{"type":45,"tag":1313,"props":1314,"children":1315},"thead",{},[1316],{"type":45,"tag":1317,"props":1318,"children":1319},"tr",{},[1320,1326,1331,1336,1341],{"type":45,"tag":1321,"props":1322,"children":1323},"th",{},[1324],{"type":51,"value":1325},"Type",{"type":45,"tag":1321,"props":1327,"children":1328},{},[1329],{"type":51,"value":1330},"Field",{"type":45,"tag":1321,"props":1332,"children":1333},{},[1334],{"type":51,"value":1335},"Readable by",{"type":45,"tag":1321,"props":1337,"children":1338},{},[1339],{"type":51,"value":1340},"Writable by",{"type":45,"tag":1321,"props":1342,"children":1343},{},[1344],{"type":51,"value":1345},"Use for",{"type":45,"tag":1347,"props":1348,"children":1349},"tbody",{},[1350,1386,1422],{"type":45,"tag":1317,"props":1351,"children":1352},{},[1353,1359,1368,1373,1381],{"type":45,"tag":1354,"props":1355,"children":1356},"td",{},[1357],{"type":51,"value":1358},"Public",{"type":45,"tag":1354,"props":1360,"children":1361},{},[1362],{"type":45,"tag":95,"props":1363,"children":1365},{"className":1364},[],[1366],{"type":51,"value":1367},"public_metadata",{"type":45,"tag":1354,"props":1369,"children":1370},{},[1371],{"type":51,"value":1372},"Client + Server",{"type":45,"tag":1354,"props":1374,"children":1375},{},[1376],{"type":45,"tag":79,"props":1377,"children":1378},{},[1379],{"type":51,"value":1380},"Server only",{"type":45,"tag":1354,"props":1382,"children":1383},{},[1384],{"type":51,"value":1385},"Plan tier, roles, feature flags the frontend reads",{"type":45,"tag":1317,"props":1387,"children":1388},{},[1389,1394,1403,1410,1417],{"type":45,"tag":1354,"props":1390,"children":1391},{},[1392],{"type":51,"value":1393},"Private",{"type":45,"tag":1354,"props":1395,"children":1396},{},[1397],{"type":45,"tag":95,"props":1398,"children":1400},{"className":1399},[],[1401],{"type":51,"value":1402},"private_metadata",{"type":45,"tag":1354,"props":1404,"children":1405},{},[1406],{"type":45,"tag":79,"props":1407,"children":1408},{},[1409],{"type":51,"value":1380},{"type":45,"tag":1354,"props":1411,"children":1412},{},[1413],{"type":45,"tag":79,"props":1414,"children":1415},{},[1416],{"type":51,"value":1380},{"type":45,"tag":1354,"props":1418,"children":1419},{},[1420],{"type":51,"value":1421},"Stripe IDs, compliance flags, internal identifiers",{"type":45,"tag":1317,"props":1423,"children":1424},{},[1425,1430,1439,1443,1447],{"type":45,"tag":1354,"props":1426,"children":1427},{},[1428],{"type":51,"value":1429},"Unsafe",{"type":45,"tag":1354,"props":1431,"children":1432},{},[1433],{"type":45,"tag":95,"props":1434,"children":1436},{"className":1435},[],[1437],{"type":51,"value":1438},"unsafe_metadata",{"type":45,"tag":1354,"props":1440,"children":1441},{},[1442],{"type":51,"value":1372},{"type":45,"tag":1354,"props":1444,"children":1445},{},[1446],{"type":51,"value":1372},{"type":45,"tag":1354,"props":1448,"children":1449},{},[1450],{"type":51,"value":1451},"Ephemeral UI state, onboarding steps (client-writable — avoid sensitive data)",{"type":45,"tag":54,"props":1453,"children":1454},{},[1455,1481],{"type":45,"tag":79,"props":1456,"children":1457},{},[1458,1460,1466,1468,1474,1476],{"type":51,"value":1459},"For ",{"type":45,"tag":95,"props":1461,"children":1463},{"className":1462},[],[1464],{"type":51,"value":1465},"plan: 'pro'",{"type":51,"value":1467}," and ",{"type":45,"tag":95,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":51,"value":1473},"onboarded: true",{"type":51,"value":1475}," — use ",{"type":45,"tag":95,"props":1477,"children":1479},{"className":1478},[],[1480],{"type":51,"value":1367},{"type":51,"value":1482}," (frontend-readable, server-writable):",{"type":45,"tag":87,"props":1484,"children":1486},{"className":89,"code":1485,"language":91,"meta":92,"style":92},"curl -s -X PATCH \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers\u002F${USER_ID}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"public_metadata\": {\"plan\": \"pro\", \"onboarded\": true}}' \\\n  | python3 -c \"import sys,json; d=json.load(sys.stdin); print(f'Updated user {d[\\\"id\\\"]}: public_metadata={d.get(\\\"public_metadata\\\")}')\"\n",[1487],{"type":45,"tag":95,"props":1488,"children":1489},{"__ignoreMap":92},[1490,1537,1564,1587,1611],{"type":45,"tag":99,"props":1491,"children":1492},{"class":101,"line":102},[1493,1497,1501,1505,1510,1514,1519,1523,1528,1533],{"type":45,"tag":99,"props":1494,"children":1495},{"style":124},[1496],{"type":51,"value":301},{"type":45,"tag":99,"props":1498,"children":1499},{"style":130},[1500],{"type":51,"value":306},{"type":45,"tag":99,"props":1502,"children":1503},{"style":130},[1504],{"type":51,"value":311},{"type":45,"tag":99,"props":1506,"children":1507},{"style":130},[1508],{"type":51,"value":1509}," PATCH",{"type":45,"tag":99,"props":1511,"children":1512},{"style":118},[1513],{"type":51,"value":321},{"type":45,"tag":99,"props":1515,"children":1516},{"style":130},[1517],{"type":51,"value":1518},"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers\u002F",{"type":45,"tag":99,"props":1520,"children":1521},{"style":118},[1522],{"type":51,"value":657},{"type":45,"tag":99,"props":1524,"children":1525},{"style":112},[1526],{"type":51,"value":1527},"USER_ID",{"type":45,"tag":99,"props":1529,"children":1530},{"style":118},[1531],{"type":51,"value":1532},"}\"",{"type":45,"tag":99,"props":1534,"children":1535},{"style":112},[1536],{"type":51,"value":336},{"type":45,"tag":99,"props":1538,"children":1539},{"class":101,"line":285},[1540,1544,1548,1552,1556,1560],{"type":45,"tag":99,"props":1541,"children":1542},{"style":130},[1543],{"type":51,"value":345},{"type":45,"tag":99,"props":1545,"children":1546},{"style":118},[1547],{"type":51,"value":321},{"type":45,"tag":99,"props":1549,"children":1550},{"style":130},[1551],{"type":51,"value":354},{"type":45,"tag":99,"props":1553,"children":1554},{"style":112},[1555],{"type":51,"value":235},{"type":45,"tag":99,"props":1557,"children":1558},{"style":118},[1559],{"type":51,"value":331},{"type":45,"tag":99,"props":1561,"children":1562},{"style":112},[1563],{"type":51,"value":336},{"type":45,"tag":99,"props":1565,"children":1566},{"class":101,"line":339},[1567,1571,1575,1579,1583],{"type":45,"tag":99,"props":1568,"children":1569},{"style":130},[1570],{"type":51,"value":345},{"type":45,"tag":99,"props":1572,"children":1573},{"style":118},[1574],{"type":51,"value":321},{"type":45,"tag":99,"props":1576,"children":1577},{"style":130},[1578],{"type":51,"value":382},{"type":45,"tag":99,"props":1580,"children":1581},{"style":118},[1582],{"type":51,"value":331},{"type":45,"tag":99,"props":1584,"children":1585},{"style":112},[1586],{"type":51,"value":336},{"type":45,"tag":99,"props":1588,"children":1589},{"class":101,"line":30},[1590,1594,1598,1603,1607],{"type":45,"tag":99,"props":1591,"children":1592},{"style":130},[1593],{"type":51,"value":399},{"type":45,"tag":99,"props":1595,"children":1596},{"style":118},[1597],{"type":51,"value":950},{"type":45,"tag":99,"props":1599,"children":1600},{"style":130},[1601],{"type":51,"value":1602},"{\"public_metadata\": {\"plan\": \"pro\", \"onboarded\": true}}",{"type":45,"tag":99,"props":1604,"children":1605},{"style":118},[1606],{"type":51,"value":1083},{"type":45,"tag":99,"props":1608,"children":1609},{"style":112},[1610],{"type":51,"value":336},{"type":45,"tag":99,"props":1612,"children":1613},{"class":101,"line":393},[1614,1618,1622,1626,1630,1635,1639,1643,1647,1652,1656,1660,1664,1669],{"type":45,"tag":99,"props":1615,"children":1616},{"style":118},[1617],{"type":51,"value":831},{"type":45,"tag":99,"props":1619,"children":1620},{"style":124},[1621],{"type":51,"value":511},{"type":45,"tag":99,"props":1623,"children":1624},{"style":130},[1625],{"type":51,"value":133},{"type":45,"tag":99,"props":1627,"children":1628},{"style":118},[1629],{"type":51,"value":321},{"type":45,"tag":99,"props":1631,"children":1632},{"style":130},[1633],{"type":51,"value":1634},"import sys,json; d=json.load(sys.stdin); print(f'Updated user {d[",{"type":45,"tag":99,"props":1636,"children":1637},{"style":112},[1638],{"type":51,"value":413},{"type":45,"tag":99,"props":1640,"children":1641},{"style":130},[1642],{"type":51,"value":1216},{"type":45,"tag":99,"props":1644,"children":1645},{"style":112},[1646],{"type":51,"value":413},{"type":45,"tag":99,"props":1648,"children":1649},{"style":130},[1650],{"type":51,"value":1651},"]}: public_metadata={d.get(",{"type":45,"tag":99,"props":1653,"children":1654},{"style":112},[1655],{"type":51,"value":413},{"type":45,"tag":99,"props":1657,"children":1658},{"style":130},[1659],{"type":51,"value":1367},{"type":45,"tag":99,"props":1661,"children":1662},{"style":112},[1663],{"type":51,"value":413},{"type":45,"tag":99,"props":1665,"children":1666},{"style":130},[1667],{"type":51,"value":1668},")}')",{"type":45,"tag":99,"props":1670,"children":1671},{"style":118},[1672],{"type":51,"value":529},{"type":45,"tag":54,"props":1674,"children":1675},{},[1676],{"type":45,"tag":79,"props":1677,"children":1678},{},[1679],{"type":51,"value":1680},"SDK equivalent:",{"type":45,"tag":87,"props":1682,"children":1684},{"className":910,"code":1683,"language":912,"meta":92,"style":92},"import { clerkClient } from '@clerk\u002Fnextjs\u002Fserver'\n\u002F\u002F OR: import { createClerkClient } from '@clerk\u002Fbackend'\n\nawait clerkClient.users.updateUser(userId, {\n  publicMetadata: { plan: 'pro', onboarded: true },   \u002F\u002F readable by client, writable server-only\n  \u002F\u002F privateMetadata: { stripeId: 'cus_xxx' },         \u002F\u002F server-only read AND write\n  \u002F\u002F unsafeMetadata: { step: 'welcome' },              \u002F\u002F client-writable, avoid sensitive data\n})\n",[1685],{"type":45,"tag":95,"props":1686,"children":1687},{"__ignoreMap":92},[1688,1723,1731,1738,1782,1849,1862,1875],{"type":45,"tag":99,"props":1689,"children":1690},{"class":101,"line":102},[1691,1695,1699,1703,1707,1711,1715,1719],{"type":45,"tag":99,"props":1692,"children":1693},{"style":922},[1694],{"type":51,"value":925},{"type":45,"tag":99,"props":1696,"children":1697},{"style":118},[1698],{"type":51,"value":930},{"type":45,"tag":99,"props":1700,"children":1701},{"style":112},[1702],{"type":51,"value":935},{"type":45,"tag":99,"props":1704,"children":1705},{"style":118},[1706],{"type":51,"value":940},{"type":45,"tag":99,"props":1708,"children":1709},{"style":922},[1710],{"type":51,"value":945},{"type":45,"tag":99,"props":1712,"children":1713},{"style":118},[1714],{"type":51,"value":950},{"type":45,"tag":99,"props":1716,"children":1717},{"style":130},[1718],{"type":51,"value":955},{"type":45,"tag":99,"props":1720,"children":1721},{"style":118},[1722],{"type":51,"value":960},{"type":45,"tag":99,"props":1724,"children":1725},{"class":101,"line":285},[1726],{"type":45,"tag":99,"props":1727,"children":1728},{"style":279},[1729],{"type":51,"value":1730},"\u002F\u002F OR: import { createClerkClient } from '@clerk\u002Fbackend'\n",{"type":45,"tag":99,"props":1732,"children":1733},{"class":101,"line":339},[1734],{"type":45,"tag":99,"props":1735,"children":1736},{"emptyLinePlaceholder":536},[1737],{"type":51,"value":539},{"type":45,"tag":99,"props":1739,"children":1740},{"class":101,"line":30},[1741,1746,1750,1754,1759,1763,1768,1773,1777],{"type":45,"tag":99,"props":1742,"children":1743},{"style":922},[1744],{"type":51,"value":1745},"await",{"type":45,"tag":99,"props":1747,"children":1748},{"style":112},[1749],{"type":51,"value":935},{"type":45,"tag":99,"props":1751,"children":1752},{"style":118},[1753],{"type":51,"value":1032},{"type":45,"tag":99,"props":1755,"children":1756},{"style":112},[1757],{"type":51,"value":1758},"users",{"type":45,"tag":99,"props":1760,"children":1761},{"style":118},[1762],{"type":51,"value":1032},{"type":45,"tag":99,"props":1764,"children":1765},{"style":106},[1766],{"type":51,"value":1767},"updateUser",{"type":45,"tag":99,"props":1769,"children":1770},{"style":112},[1771],{"type":51,"value":1772},"(userId",{"type":45,"tag":99,"props":1774,"children":1775},{"style":118},[1776],{"type":51,"value":1110},{"type":45,"tag":99,"props":1778,"children":1779},{"style":118},[1780],{"type":51,"value":1781}," {\n",{"type":45,"tag":99,"props":1783,"children":1784},{"class":101,"line":393},[1785,1790,1794,1798,1803,1807,1811,1816,1820,1824,1829,1833,1839,1844],{"type":45,"tag":99,"props":1786,"children":1787},{"style":1062},[1788],{"type":51,"value":1789},"  publicMetadata",{"type":45,"tag":99,"props":1791,"children":1792},{"style":118},[1793],{"type":51,"value":1070},{"type":45,"tag":99,"props":1795,"children":1796},{"style":118},[1797],{"type":51,"value":930},{"type":45,"tag":99,"props":1799,"children":1800},{"style":1062},[1801],{"type":51,"value":1802}," plan",{"type":45,"tag":99,"props":1804,"children":1805},{"style":118},[1806],{"type":51,"value":1070},{"type":45,"tag":99,"props":1808,"children":1809},{"style":118},[1810],{"type":51,"value":950},{"type":45,"tag":99,"props":1812,"children":1813},{"style":130},[1814],{"type":51,"value":1815},"pro",{"type":45,"tag":99,"props":1817,"children":1818},{"style":118},[1819],{"type":51,"value":1083},{"type":45,"tag":99,"props":1821,"children":1822},{"style":118},[1823],{"type":51,"value":1110},{"type":45,"tag":99,"props":1825,"children":1826},{"style":1062},[1827],{"type":51,"value":1828}," onboarded",{"type":45,"tag":99,"props":1830,"children":1831},{"style":118},[1832],{"type":51,"value":1070},{"type":45,"tag":99,"props":1834,"children":1836},{"style":1835},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1837],{"type":51,"value":1838}," true",{"type":45,"tag":99,"props":1840,"children":1841},{"style":118},[1842],{"type":51,"value":1843}," },",{"type":45,"tag":99,"props":1845,"children":1846},{"style":279},[1847],{"type":51,"value":1848},"   \u002F\u002F readable by client, writable server-only\n",{"type":45,"tag":99,"props":1850,"children":1851},{"class":101,"line":483},[1852,1857],{"type":45,"tag":99,"props":1853,"children":1854},{"style":279},[1855],{"type":51,"value":1856},"  \u002F\u002F privateMetadata: { stripeId: 'cus_xxx' },",{"type":45,"tag":99,"props":1858,"children":1859},{"style":279},[1860],{"type":51,"value":1861},"         \u002F\u002F server-only read AND write\n",{"type":45,"tag":99,"props":1863,"children":1864},{"class":101,"line":532},[1865,1870],{"type":45,"tag":99,"props":1866,"children":1867},{"style":279},[1868],{"type":51,"value":1869},"  \u002F\u002F unsafeMetadata: { step: 'welcome' },",{"type":45,"tag":99,"props":1871,"children":1872},{"style":279},[1873],{"type":51,"value":1874},"              \u002F\u002F client-writable, avoid sensitive data\n",{"type":45,"tag":99,"props":1876,"children":1877},{"class":101,"line":542},[1878,1882],{"type":45,"tag":99,"props":1879,"children":1880},{"style":118},[1881],{"type":51,"value":471},{"type":45,"tag":99,"props":1883,"children":1884},{"style":112},[1885],{"type":51,"value":480},{"type":45,"tag":54,"props":1887,"children":1888},{},[1889,1894,1896,1902,1904,1909,1911,1917,1918,1924],{"type":45,"tag":79,"props":1890,"children":1891},{},[1892],{"type":51,"value":1893},"Note:",{"type":51,"value":1895}," REST API uses ",{"type":45,"tag":95,"props":1897,"children":1899},{"className":1898},[],[1900],{"type":51,"value":1901},"snake_case",{"type":51,"value":1903}," (",{"type":45,"tag":95,"props":1905,"children":1907},{"className":1906},[],[1908],{"type":51,"value":1367},{"type":51,"value":1910},"). SDK uses ",{"type":45,"tag":95,"props":1912,"children":1914},{"className":1913},[],[1915],{"type":51,"value":1916},"camelCase",{"type":51,"value":1903},{"type":45,"tag":95,"props":1919,"children":1921},{"className":1920},[],[1922],{"type":51,"value":1923},"publicMetadata",{"type":51,"value":886},{"type":45,"tag":261,"props":1926,"children":1928},{"id":1927},"list-users-last-7-days",[1929],{"type":51,"value":1930},"List users (last 7 days)",{"type":45,"tag":87,"props":1932,"children":1934},{"className":89,"code":1933,"language":91,"meta":92,"style":92},"curl -s \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers?limit=100&offset=0&order_by=-created_at&created_at=gt:$(date -d '7 days ago' +%s 2>\u002Fdev\u002Fnull || date -v-7d +%s)000\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  | python3 -c \"\nimport sys, json\ndata = json.load(sys.stdin)\nif isinstance(data, list):\n    print(f'Found {len(data)} users:')\n    for u in data:\n        print(f'  {u[\\\"id\\\"]}: {u.get(\\\"email_addresses\\\", [{}])[0].get(\\\"email_address\\\", \\\"no email\\\")}')\nelse:\n    print(json.dumps(data, indent=2))\n\"\n",[1935],{"type":45,"tag":95,"props":1936,"children":1937},{"__ignoreMap":92},[1938,2033,2060,2080,2088,2096,2104,2112,2120,2197,2205,2213],{"type":45,"tag":99,"props":1939,"children":1940},{"class":101,"line":102},[1941,1945,1949,1953,1958,1963,1968,1973,1977,1982,1986,1991,1996,2001,2006,2011,2016,2020,2025,2029],{"type":45,"tag":99,"props":1942,"children":1943},{"style":124},[1944],{"type":51,"value":301},{"type":45,"tag":99,"props":1946,"children":1947},{"style":130},[1948],{"type":51,"value":306},{"type":45,"tag":99,"props":1950,"children":1951},{"style":118},[1952],{"type":51,"value":321},{"type":45,"tag":99,"props":1954,"children":1955},{"style":130},[1956],{"type":51,"value":1957},"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers?limit=100&offset=0&order_by=-created_at&created_at=gt:",{"type":45,"tag":99,"props":1959,"children":1960},{"style":118},[1961],{"type":51,"value":1962},"$(",{"type":45,"tag":99,"props":1964,"children":1965},{"style":124},[1966],{"type":51,"value":1967},"date",{"type":45,"tag":99,"props":1969,"children":1970},{"style":130},[1971],{"type":51,"value":1972}," -d ",{"type":45,"tag":99,"props":1974,"children":1975},{"style":118},[1976],{"type":51,"value":1083},{"type":45,"tag":99,"props":1978,"children":1979},{"style":130},[1980],{"type":51,"value":1981},"7 days ago",{"type":45,"tag":99,"props":1983,"children":1984},{"style":118},[1985],{"type":51,"value":1083},{"type":45,"tag":99,"props":1987,"children":1988},{"style":130},[1989],{"type":51,"value":1990}," +%s ",{"type":45,"tag":99,"props":1992,"children":1993},{"style":118},[1994],{"type":51,"value":1995},"2>",{"type":45,"tag":99,"props":1997,"children":1998},{"style":130},[1999],{"type":51,"value":2000},"\u002Fdev\u002Fnull ",{"type":45,"tag":99,"props":2002,"children":2003},{"style":118},[2004],{"type":51,"value":2005},"||",{"type":45,"tag":99,"props":2007,"children":2008},{"style":124},[2009],{"type":51,"value":2010}," date",{"type":45,"tag":99,"props":2012,"children":2013},{"style":130},[2014],{"type":51,"value":2015}," -v-7d +%s",{"type":45,"tag":99,"props":2017,"children":2018},{"style":118},[2019],{"type":51,"value":907},{"type":45,"tag":99,"props":2021,"children":2022},{"style":130},[2023],{"type":51,"value":2024},"000",{"type":45,"tag":99,"props":2026,"children":2027},{"style":118},[2028],{"type":51,"value":331},{"type":45,"tag":99,"props":2030,"children":2031},{"style":112},[2032],{"type":51,"value":336},{"type":45,"tag":99,"props":2034,"children":2035},{"class":101,"line":285},[2036,2040,2044,2048,2052,2056],{"type":45,"tag":99,"props":2037,"children":2038},{"style":130},[2039],{"type":51,"value":345},{"type":45,"tag":99,"props":2041,"children":2042},{"style":118},[2043],{"type":51,"value":321},{"type":45,"tag":99,"props":2045,"children":2046},{"style":130},[2047],{"type":51,"value":354},{"type":45,"tag":99,"props":2049,"children":2050},{"style":112},[2051],{"type":51,"value":235},{"type":45,"tag":99,"props":2053,"children":2054},{"style":118},[2055],{"type":51,"value":331},{"type":45,"tag":99,"props":2057,"children":2058},{"style":112},[2059],{"type":51,"value":336},{"type":45,"tag":99,"props":2061,"children":2062},{"class":101,"line":339},[2063,2067,2071,2075],{"type":45,"tag":99,"props":2064,"children":2065},{"style":118},[2066],{"type":51,"value":831},{"type":45,"tag":99,"props":2068,"children":2069},{"style":124},[2070],{"type":51,"value":511},{"type":45,"tag":99,"props":2072,"children":2073},{"style":130},[2074],{"type":51,"value":133},{"type":45,"tag":99,"props":2076,"children":2077},{"style":118},[2078],{"type":51,"value":2079}," \"\n",{"type":45,"tag":99,"props":2081,"children":2082},{"class":101,"line":30},[2083],{"type":45,"tag":99,"props":2084,"children":2085},{"style":130},[2086],{"type":51,"value":2087},"import sys, json\n",{"type":45,"tag":99,"props":2089,"children":2090},{"class":101,"line":393},[2091],{"type":45,"tag":99,"props":2092,"children":2093},{"style":130},[2094],{"type":51,"value":2095},"data = json.load(sys.stdin)\n",{"type":45,"tag":99,"props":2097,"children":2098},{"class":101,"line":483},[2099],{"type":45,"tag":99,"props":2100,"children":2101},{"style":130},[2102],{"type":51,"value":2103},"if isinstance(data, list):\n",{"type":45,"tag":99,"props":2105,"children":2106},{"class":101,"line":532},[2107],{"type":45,"tag":99,"props":2108,"children":2109},{"style":130},[2110],{"type":51,"value":2111},"    print(f'Found {len(data)} users:')\n",{"type":45,"tag":99,"props":2113,"children":2114},{"class":101,"line":542},[2115],{"type":45,"tag":99,"props":2116,"children":2117},{"style":130},[2118],{"type":51,"value":2119},"    for u in data:\n",{"type":45,"tag":99,"props":2121,"children":2122},{"class":101,"line":551},[2123,2128,2132,2136,2140,2145,2149,2154,2158,2163,2167,2171,2175,2179,2183,2188,2192],{"type":45,"tag":99,"props":2124,"children":2125},{"style":130},[2126],{"type":51,"value":2127},"        print(f'  {u[",{"type":45,"tag":99,"props":2129,"children":2130},{"style":112},[2131],{"type":51,"value":413},{"type":45,"tag":99,"props":2133,"children":2134},{"style":130},[2135],{"type":51,"value":1216},{"type":45,"tag":99,"props":2137,"children":2138},{"style":112},[2139],{"type":51,"value":413},{"type":45,"tag":99,"props":2141,"children":2142},{"style":130},[2143],{"type":51,"value":2144},"]}: {u.get(",{"type":45,"tag":99,"props":2146,"children":2147},{"style":112},[2148],{"type":51,"value":413},{"type":45,"tag":99,"props":2150,"children":2151},{"style":130},[2152],{"type":51,"value":2153},"email_addresses",{"type":45,"tag":99,"props":2155,"children":2156},{"style":112},[2157],{"type":51,"value":413},{"type":45,"tag":99,"props":2159,"children":2160},{"style":130},[2161],{"type":51,"value":2162},", [{}])[0].get(",{"type":45,"tag":99,"props":2164,"children":2165},{"style":112},[2166],{"type":51,"value":413},{"type":45,"tag":99,"props":2168,"children":2169},{"style":130},[2170],{"type":51,"value":755},{"type":45,"tag":99,"props":2172,"children":2173},{"style":112},[2174],{"type":51,"value":413},{"type":45,"tag":99,"props":2176,"children":2177},{"style":130},[2178],{"type":51,"value":237},{"type":45,"tag":99,"props":2180,"children":2181},{"style":112},[2182],{"type":51,"value":413},{"type":45,"tag":99,"props":2184,"children":2185},{"style":130},[2186],{"type":51,"value":2187},"no email",{"type":45,"tag":99,"props":2189,"children":2190},{"style":112},[2191],{"type":51,"value":413},{"type":45,"tag":99,"props":2193,"children":2194},{"style":130},[2195],{"type":51,"value":2196},")}')\n",{"type":45,"tag":99,"props":2198,"children":2199},{"class":101,"line":609},[2200],{"type":45,"tag":99,"props":2201,"children":2202},{"style":130},[2203],{"type":51,"value":2204},"else:\n",{"type":45,"tag":99,"props":2206,"children":2207},{"class":101,"line":617},[2208],{"type":45,"tag":99,"props":2209,"children":2210},{"style":130},[2211],{"type":51,"value":2212},"    print(json.dumps(data, indent=2))\n",{"type":45,"tag":99,"props":2214,"children":2215},{"class":101,"line":626},[2216],{"type":45,"tag":99,"props":2217,"children":2218},{"style":118},[2219],{"type":51,"value":529},{"type":45,"tag":261,"props":2221,"children":2223},{"id":2222},"delete-user-confirm-required",[2224],{"type":51,"value":2225},"Delete user (confirm required)",{"type":45,"tag":87,"props":2227,"children":2229},{"className":89,"code":2228,"language":91,"meta":92,"style":92},"# ONLY run after explicit user confirmation\ncurl -s -X DELETE \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers\u002F${USER_ID}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  | python3 -c \"import sys,json; d=json.load(sys.stdin); print(f'Deleted: {d}')\"\n",[2230],{"type":45,"tag":95,"props":2231,"children":2232},{"__ignoreMap":92},[2233,2241,2285,2312],{"type":45,"tag":99,"props":2234,"children":2235},{"class":101,"line":102},[2236],{"type":45,"tag":99,"props":2237,"children":2238},{"style":279},[2239],{"type":51,"value":2240},"# ONLY run after explicit user confirmation\n",{"type":45,"tag":99,"props":2242,"children":2243},{"class":101,"line":285},[2244,2248,2252,2256,2261,2265,2269,2273,2277,2281],{"type":45,"tag":99,"props":2245,"children":2246},{"style":124},[2247],{"type":51,"value":301},{"type":45,"tag":99,"props":2249,"children":2250},{"style":130},[2251],{"type":51,"value":306},{"type":45,"tag":99,"props":2253,"children":2254},{"style":130},[2255],{"type":51,"value":311},{"type":45,"tag":99,"props":2257,"children":2258},{"style":130},[2259],{"type":51,"value":2260}," DELETE",{"type":45,"tag":99,"props":2262,"children":2263},{"style":118},[2264],{"type":51,"value":321},{"type":45,"tag":99,"props":2266,"children":2267},{"style":130},[2268],{"type":51,"value":1518},{"type":45,"tag":99,"props":2270,"children":2271},{"style":118},[2272],{"type":51,"value":657},{"type":45,"tag":99,"props":2274,"children":2275},{"style":112},[2276],{"type":51,"value":1527},{"type":45,"tag":99,"props":2278,"children":2279},{"style":118},[2280],{"type":51,"value":1532},{"type":45,"tag":99,"props":2282,"children":2283},{"style":112},[2284],{"type":51,"value":336},{"type":45,"tag":99,"props":2286,"children":2287},{"class":101,"line":339},[2288,2292,2296,2300,2304,2308],{"type":45,"tag":99,"props":2289,"children":2290},{"style":130},[2291],{"type":51,"value":345},{"type":45,"tag":99,"props":2293,"children":2294},{"style":118},[2295],{"type":51,"value":321},{"type":45,"tag":99,"props":2297,"children":2298},{"style":130},[2299],{"type":51,"value":354},{"type":45,"tag":99,"props":2301,"children":2302},{"style":112},[2303],{"type":51,"value":235},{"type":45,"tag":99,"props":2305,"children":2306},{"style":118},[2307],{"type":51,"value":331},{"type":45,"tag":99,"props":2309,"children":2310},{"style":112},[2311],{"type":51,"value":336},{"type":45,"tag":99,"props":2313,"children":2314},{"class":101,"line":30},[2315,2319,2323,2327,2331,2336],{"type":45,"tag":99,"props":2316,"children":2317},{"style":118},[2318],{"type":51,"value":831},{"type":45,"tag":99,"props":2320,"children":2321},{"style":124},[2322],{"type":51,"value":511},{"type":45,"tag":99,"props":2324,"children":2325},{"style":130},[2326],{"type":51,"value":133},{"type":45,"tag":99,"props":2328,"children":2329},{"style":118},[2330],{"type":51,"value":321},{"type":45,"tag":99,"props":2332,"children":2333},{"style":130},[2334],{"type":51,"value":2335},"import sys,json; d=json.load(sys.stdin); print(f'Deleted: {d}')",{"type":45,"tag":99,"props":2337,"children":2338},{"style":118},[2339],{"type":51,"value":529},{"type":45,"tag":216,"props":2341,"children":2342},{},[],{"type":45,"tag":46,"props":2344,"children":2346},{"id":2345},"clerk-backend-api-full-endpoint-reference",[2347],{"type":51,"value":2348},"Clerk Backend API — Full Endpoint Reference",{"type":45,"tag":54,"props":2350,"children":2351},{},[2352,2354,2360,2362,2368],{"type":51,"value":2353},"Base URL: ",{"type":45,"tag":95,"props":2355,"children":2357},{"className":2356},[],[2358],{"type":51,"value":2359},"https:\u002F\u002Fapi.clerk.com\u002Fv1",{"type":51,"value":2361},"\nAuth: ",{"type":45,"tag":95,"props":2363,"children":2365},{"className":2364},[],[2366],{"type":51,"value":2367},"Authorization: Bearer $CLERK_SECRET_KEY",{"type":51,"value":2369}," on every request.",{"type":45,"tag":261,"props":2371,"children":2372},{"id":1758},[2373],{"type":51,"value":2374},"Users",{"type":45,"tag":54,"props":2376,"children":2377},{},[2378],{"type":45,"tag":79,"props":2379,"children":2380},{},[2381],{"type":51,"value":2382},"List users",{"type":45,"tag":87,"props":2384,"children":2388},{"className":2385,"code":2387,"language":51},[2386],"language-text","GET \u002Fv1\u002Fusers\nQuery params: limit (max 500, default 10), offset, order_by (+\u002F-created_at, +\u002F-updated_at, +\u002F-email_address, +\u002F-web3wallet, +\u002F-first_name, +\u002F-last_name, +\u002F-phone_number, +\u002F-username, +\u002F-last_active_at, +\u002F-last_sign_in_at), email_address[], phone_number[], username[], web3wallet[], user_id[], query, created_at (ISO 8601 range: gt:TIMESTAMP or lt:TIMESTAMP in Unix ms)\nReturns: array of User objects\n",[2389],{"type":45,"tag":95,"props":2390,"children":2391},{"__ignoreMap":92},[2392],{"type":51,"value":2387},{"type":45,"tag":54,"props":2394,"children":2395},{},[2396],{"type":45,"tag":79,"props":2397,"children":2398},{},[2399],{"type":51,"value":2400},"Get user",{"type":45,"tag":87,"props":2402,"children":2405},{"className":2403,"code":2404,"language":51},[2386],"GET \u002Fv1\u002Fusers\u002F{user_id}\nReturns: User object\n",[2406],{"type":45,"tag":95,"props":2407,"children":2408},{"__ignoreMap":92},[2409],{"type":51,"value":2404},{"type":45,"tag":54,"props":2411,"children":2412},{},[2413],{"type":45,"tag":79,"props":2414,"children":2415},{},[2416],{"type":51,"value":2417},"Update user",{"type":45,"tag":87,"props":2419,"children":2422},{"className":2420,"code":2421,"language":51},[2386],"PATCH \u002Fv1\u002Fusers\u002F{user_id}\nBody (JSON, snake_case): { public_metadata, private_metadata, unsafe_metadata, first_name, last_name, username, ... }\n",[2423],{"type":45,"tag":95,"props":2424,"children":2425},{"__ignoreMap":92},[2426],{"type":51,"value":2421},{"type":45,"tag":54,"props":2428,"children":2429},{},[2430],{"type":45,"tag":79,"props":2431,"children":2432},{},[2433],{"type":51,"value":2434},"Delete user — IRREVERSIBLE",{"type":45,"tag":87,"props":2436,"children":2439},{"className":2437,"code":2438,"language":51},[2386],"DELETE \u002Fv1\u002Fusers\u002F{user_id}\nDestroys: user record, all sessions, all memberships, all associated data\nReturns: { id, object, deleted: true }\n",[2440],{"type":45,"tag":95,"props":2441,"children":2442},{"__ignoreMap":92},[2443],{"type":51,"value":2438},{"type":45,"tag":54,"props":2445,"children":2446},{},[2447],{"type":51,"value":2448},"Always warn the user this is permanent and confirm before proceeding.",{"type":45,"tag":261,"props":2450,"children":2451},{"id":1037},[2452],{"type":51,"value":2453},"Organizations",{"type":45,"tag":54,"props":2455,"children":2456},{},[2457],{"type":45,"tag":79,"props":2458,"children":2459},{},[2460],{"type":51,"value":2461},"Create organization",{"type":45,"tag":87,"props":2463,"children":2466},{"className":2464,"code":2465,"language":51},[2386],"POST \u002Fv1\u002Forganizations\nBody: { name: string, created_by: string (user_id), public_metadata?, private_metadata?, max_allowed_memberships? }\nReturns: Organization object with { id, name, slug, ... }\n",[2467],{"type":45,"tag":95,"props":2468,"children":2469},{"__ignoreMap":92},[2470],{"type":51,"value":2465},{"type":45,"tag":54,"props":2472,"children":2473},{},[2474],{"type":45,"tag":79,"props":2475,"children":2476},{},[2477],{"type":51,"value":2478},"List organizations",{"type":45,"tag":87,"props":2480,"children":2483},{"className":2481,"code":2482,"language":51},[2386],"GET \u002Fv1\u002Forganizations\nQuery params: limit, offset, query, order_by\n",[2484],{"type":45,"tag":95,"props":2485,"children":2486},{"__ignoreMap":92},[2487],{"type":51,"value":2482},{"type":45,"tag":54,"props":2489,"children":2490},{},[2491],{"type":45,"tag":79,"props":2492,"children":2493},{},[2494],{"type":51,"value":2495},"Invite member",{"type":45,"tag":87,"props":2497,"children":2500},{"className":2498,"code":2499,"language":51},[2386],"POST \u002Fv1\u002Forganizations\u002F{organization_id}\u002Finvitations\nBody: { email_address: string, role: string (\"org:admin\" or \"org:member\"), public_metadata?, private_metadata? }\nReturns: OrganizationInvitation object\n",[2501],{"type":45,"tag":95,"props":2502,"children":2503},{"__ignoreMap":92},[2504],{"type":51,"value":2499},{"type":45,"tag":216,"props":2506,"children":2507},{},[],{"type":45,"tag":46,"props":2509,"children":2511},{"id":2510},"how-to-execute-requests",[2512],{"type":51,"value":2513},"How to execute requests",{"type":45,"tag":54,"props":2515,"children":2516},{},[2517,2529,2531,2537,2538,2544,2545,2551,2553,2558,2560,2566],{"type":45,"tag":79,"props":2518,"children":2519},{},[2520,2522,2527],{"type":51,"value":2521},"ALWAYS execute requests with direct ",{"type":45,"tag":95,"props":2523,"children":2525},{"className":2524},[],[2526],{"type":51,"value":301},{"type":51,"value":2528}," commands.",{"type":51,"value":2530}," Use the spec-extraction scripts (",{"type":45,"tag":95,"props":2532,"children":2534},{"className":2533},[],[2535],{"type":51,"value":2536},"api-specs-context.sh",{"type":51,"value":237},{"type":45,"tag":95,"props":2539,"children":2541},{"className":2540},[],[2542],{"type":51,"value":2543},"extract-tags.js",{"type":51,"value":237},{"type":45,"tag":95,"props":2546,"children":2548},{"className":2547},[],[2549],{"type":51,"value":2550},"extract-endpoint-detail.sh",{"type":51,"value":2552},") to discover endpoints, but make actual API calls with ",{"type":45,"tag":95,"props":2554,"children":2556},{"className":2555},[],[2557],{"type":51,"value":301},{"type":51,"value":2559},". Do NOT use ",{"type":45,"tag":95,"props":2561,"children":2563},{"className":2562},[],[2564],{"type":51,"value":2565},"scripts\u002Fexecute-request.sh",{"type":51,"value":2567}," — it's a local dev helper, not for agent use.",{"type":45,"tag":54,"props":2569,"children":2570},{},[2571],{"type":51,"value":2572},"Template for GET requests:",{"type":45,"tag":87,"props":2574,"children":2576},{"className":89,"code":2575,"language":91,"meta":92,"style":92},"curl -s \"https:\u002F\u002Fapi.clerk.com\u002Fv1${PATH}${QUERY_STRING}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\"\n",[2577],{"type":45,"tag":95,"props":2578,"children":2579},{"__ignoreMap":92},[2580,2626],{"type":45,"tag":99,"props":2581,"children":2582},{"class":101,"line":102},[2583,2587,2591,2595,2599,2603,2608,2613,2618,2622],{"type":45,"tag":99,"props":2584,"children":2585},{"style":124},[2586],{"type":51,"value":301},{"type":45,"tag":99,"props":2588,"children":2589},{"style":130},[2590],{"type":51,"value":306},{"type":45,"tag":99,"props":2592,"children":2593},{"style":118},[2594],{"type":51,"value":321},{"type":45,"tag":99,"props":2596,"children":2597},{"style":130},[2598],{"type":51,"value":2359},{"type":45,"tag":99,"props":2600,"children":2601},{"style":118},[2602],{"type":51,"value":657},{"type":45,"tag":99,"props":2604,"children":2605},{"style":112},[2606],{"type":51,"value":2607},"PATH",{"type":45,"tag":99,"props":2609,"children":2610},{"style":118},[2611],{"type":51,"value":2612},"}${",{"type":45,"tag":99,"props":2614,"children":2615},{"style":112},[2616],{"type":51,"value":2617},"QUERY_STRING",{"type":45,"tag":99,"props":2619,"children":2620},{"style":118},[2621],{"type":51,"value":1532},{"type":45,"tag":99,"props":2623,"children":2624},{"style":112},[2625],{"type":51,"value":336},{"type":45,"tag":99,"props":2627,"children":2628},{"class":101,"line":285},[2629,2633,2637,2641,2645],{"type":45,"tag":99,"props":2630,"children":2631},{"style":130},[2632],{"type":51,"value":345},{"type":45,"tag":99,"props":2634,"children":2635},{"style":118},[2636],{"type":51,"value":321},{"type":45,"tag":99,"props":2638,"children":2639},{"style":130},[2640],{"type":51,"value":354},{"type":45,"tag":99,"props":2642,"children":2643},{"style":112},[2644],{"type":51,"value":235},{"type":45,"tag":99,"props":2646,"children":2647},{"style":118},[2648],{"type":51,"value":529},{"type":45,"tag":54,"props":2650,"children":2651},{},[2652],{"type":51,"value":2653},"Template for POST\u002FPATCH requests:",{"type":45,"tag":87,"props":2655,"children":2657},{"className":89,"code":2656,"language":91,"meta":92,"style":92},"curl -s -X ${METHOD} \"https:\u002F\u002Fapi.clerk.com\u002Fv1${PATH}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '${BODY_JSON}'\n",[2658],{"type":45,"tag":95,"props":2659,"children":2660},{"__ignoreMap":92},[2661,2714,2741,2764],{"type":45,"tag":99,"props":2662,"children":2663},{"class":101,"line":102},[2664,2668,2672,2676,2681,2686,2690,2694,2698,2702,2706,2710],{"type":45,"tag":99,"props":2665,"children":2666},{"style":124},[2667],{"type":51,"value":301},{"type":45,"tag":99,"props":2669,"children":2670},{"style":130},[2671],{"type":51,"value":306},{"type":45,"tag":99,"props":2673,"children":2674},{"style":130},[2675],{"type":51,"value":311},{"type":45,"tag":99,"props":2677,"children":2678},{"style":118},[2679],{"type":51,"value":2680}," ${",{"type":45,"tag":99,"props":2682,"children":2683},{"style":112},[2684],{"type":51,"value":2685},"METHOD",{"type":45,"tag":99,"props":2687,"children":2688},{"style":118},[2689],{"type":51,"value":471},{"type":45,"tag":99,"props":2691,"children":2692},{"style":118},[2693],{"type":51,"value":321},{"type":45,"tag":99,"props":2695,"children":2696},{"style":130},[2697],{"type":51,"value":2359},{"type":45,"tag":99,"props":2699,"children":2700},{"style":118},[2701],{"type":51,"value":657},{"type":45,"tag":99,"props":2703,"children":2704},{"style":112},[2705],{"type":51,"value":2607},{"type":45,"tag":99,"props":2707,"children":2708},{"style":118},[2709],{"type":51,"value":1532},{"type":45,"tag":99,"props":2711,"children":2712},{"style":112},[2713],{"type":51,"value":336},{"type":45,"tag":99,"props":2715,"children":2716},{"class":101,"line":285},[2717,2721,2725,2729,2733,2737],{"type":45,"tag":99,"props":2718,"children":2719},{"style":130},[2720],{"type":51,"value":345},{"type":45,"tag":99,"props":2722,"children":2723},{"style":118},[2724],{"type":51,"value":321},{"type":45,"tag":99,"props":2726,"children":2727},{"style":130},[2728],{"type":51,"value":354},{"type":45,"tag":99,"props":2730,"children":2731},{"style":112},[2732],{"type":51,"value":235},{"type":45,"tag":99,"props":2734,"children":2735},{"style":118},[2736],{"type":51,"value":331},{"type":45,"tag":99,"props":2738,"children":2739},{"style":112},[2740],{"type":51,"value":336},{"type":45,"tag":99,"props":2742,"children":2743},{"class":101,"line":339},[2744,2748,2752,2756,2760],{"type":45,"tag":99,"props":2745,"children":2746},{"style":130},[2747],{"type":51,"value":345},{"type":45,"tag":99,"props":2749,"children":2750},{"style":118},[2751],{"type":51,"value":321},{"type":45,"tag":99,"props":2753,"children":2754},{"style":130},[2755],{"type":51,"value":382},{"type":45,"tag":99,"props":2757,"children":2758},{"style":118},[2759],{"type":51,"value":331},{"type":45,"tag":99,"props":2761,"children":2762},{"style":112},[2763],{"type":51,"value":336},{"type":45,"tag":99,"props":2765,"children":2766},{"class":101,"line":30},[2767,2771,2775,2780],{"type":45,"tag":99,"props":2768,"children":2769},{"style":130},[2770],{"type":51,"value":399},{"type":45,"tag":99,"props":2772,"children":2773},{"style":118},[2774],{"type":51,"value":950},{"type":45,"tag":99,"props":2776,"children":2777},{"style":130},[2778],{"type":51,"value":2779},"${BODY_JSON}",{"type":45,"tag":99,"props":2781,"children":2782},{"style":118},[2783],{"type":51,"value":960},{"type":45,"tag":54,"props":2785,"children":2786},{},[2787],{"type":51,"value":2788},"Template for DELETE requests:",{"type":45,"tag":87,"props":2790,"children":2792},{"className":89,"code":2791,"language":91,"meta":92,"style":92},"curl -s -X DELETE \"https:\u002F\u002Fapi.clerk.com\u002Fv1${PATH}\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\"\n",[2793],{"type":45,"tag":95,"props":2794,"children":2795},{"__ignoreMap":92},[2796,2839],{"type":45,"tag":99,"props":2797,"children":2798},{"class":101,"line":102},[2799,2803,2807,2811,2815,2819,2823,2827,2831,2835],{"type":45,"tag":99,"props":2800,"children":2801},{"style":124},[2802],{"type":51,"value":301},{"type":45,"tag":99,"props":2804,"children":2805},{"style":130},[2806],{"type":51,"value":306},{"type":45,"tag":99,"props":2808,"children":2809},{"style":130},[2810],{"type":51,"value":311},{"type":45,"tag":99,"props":2812,"children":2813},{"style":130},[2814],{"type":51,"value":2260},{"type":45,"tag":99,"props":2816,"children":2817},{"style":118},[2818],{"type":51,"value":321},{"type":45,"tag":99,"props":2820,"children":2821},{"style":130},[2822],{"type":51,"value":2359},{"type":45,"tag":99,"props":2824,"children":2825},{"style":118},[2826],{"type":51,"value":657},{"type":45,"tag":99,"props":2828,"children":2829},{"style":112},[2830],{"type":51,"value":2607},{"type":45,"tag":99,"props":2832,"children":2833},{"style":118},[2834],{"type":51,"value":1532},{"type":45,"tag":99,"props":2836,"children":2837},{"style":112},[2838],{"type":51,"value":336},{"type":45,"tag":99,"props":2840,"children":2841},{"class":101,"line":285},[2842,2846,2850,2854,2858],{"type":45,"tag":99,"props":2843,"children":2844},{"style":130},[2845],{"type":51,"value":345},{"type":45,"tag":99,"props":2847,"children":2848},{"style":118},[2849],{"type":51,"value":321},{"type":45,"tag":99,"props":2851,"children":2852},{"style":130},[2853],{"type":51,"value":354},{"type":45,"tag":99,"props":2855,"children":2856},{"style":112},[2857],{"type":51,"value":235},{"type":45,"tag":99,"props":2859,"children":2860},{"style":118},[2861],{"type":51,"value":529},{"type":45,"tag":54,"props":2863,"children":2864},{},[2865,2870,2872,2878],{"type":45,"tag":79,"props":2866,"children":2867},{},[2868],{"type":51,"value":2869},"After getting the response:",{"type":51,"value":2871}," Parse and display it clearly. Use ",{"type":45,"tag":95,"props":2873,"children":2875},{"className":2874},[],[2876],{"type":51,"value":2877},"python3 -c \"import sys,json; data=json.load(sys.stdin); print(json.dumps(data, indent=2))\"",{"type":51,"value":2879}," to pretty-print JSON. Extract key fields (id, email, name, etc.) and summarize them for the user.",{"type":45,"tag":216,"props":2881,"children":2882},{},[],{"type":45,"tag":46,"props":2884,"children":2886},{"id":2885},"api-specs-context",[2887],{"type":51,"value":2888},"API specs context",{"type":45,"tag":54,"props":2890,"children":2891},{},[2892],{"type":51,"value":2893},"Before doing anything outside the FAST PATH, fetch the available spec versions and tags by running:",{"type":45,"tag":87,"props":2895,"children":2897},{"className":89,"code":2896,"language":91,"meta":92,"style":92},"bash scripts\u002Fapi-specs-context.sh\n",[2898],{"type":45,"tag":95,"props":2899,"children":2900},{"__ignoreMap":92},[2901],{"type":45,"tag":99,"props":2902,"children":2903},{"class":101,"line":102},[2904,2908],{"type":45,"tag":99,"props":2905,"children":2906},{"style":124},[2907],{"type":51,"value":91},{"type":45,"tag":99,"props":2909,"children":2910},{"style":130},[2911],{"type":51,"value":2912}," scripts\u002Fapi-specs-context.sh\n",{"type":45,"tag":54,"props":2914,"children":2915},{},[2916],{"type":51,"value":2917},"Use the output to determine the latest version and available tags.",{"type":45,"tag":54,"props":2919,"children":2920},{},[2921,2926],{"type":45,"tag":79,"props":2922,"children":2923},{},[2924],{"type":51,"value":2925},"Caching:",{"type":51,"value":2927}," If you already fetched the spec context earlier in this conversation, do NOT fetch it again. Reuse the version and tags from the previous call.",{"type":45,"tag":216,"props":2929,"children":2930},{},[],{"type":45,"tag":46,"props":2932,"children":2934},{"id":2933},"rules",[2935],{"type":51,"value":2936},"Rules",{"type":45,"tag":2938,"props":2939,"children":2940},"ul",{},[2941,2946,2958,2963,2975,2988,2993,3014],{"type":45,"tag":75,"props":2942,"children":2943},{},[2944],{"type":51,"value":2945},"For common operations (list users, create org, invite, update metadata, delete user): use the FAST PATH above — do NOT fetch specs first.",{"type":45,"tag":75,"props":2947,"children":2948},{},[2949,2951,2957],{"type":51,"value":2950},"Always disregard endpoints\u002Fschemas related to ",{"type":45,"tag":95,"props":2952,"children":2954},{"className":2953},[],[2955],{"type":51,"value":2956},"platform",{"type":51,"value":1032},{"type":45,"tag":75,"props":2959,"children":2960},{},[2961],{"type":51,"value":2962},"Always confirm before performing write requests (POST\u002FPUT\u002FPATCH\u002FDELETE).",{"type":45,"tag":75,"props":2964,"children":2965},{},[2966,2968,2973],{"type":51,"value":2967},"For DELETE operations, always warn the user that the action is ",{"type":45,"tag":79,"props":2969,"children":2970},{},[2971],{"type":51,"value":2972},"irreversible",{"type":51,"value":2974}," and mention what data will be lost (user record, sessions, memberships). This warning is MANDATORY — never skip it.",{"type":45,"tag":75,"props":2976,"children":2977},{},[2978,2980,2986],{"type":51,"value":2979},"For write operations (POST\u002FPUT\u002FPATCH\u002FDELETE), check ",{"type":45,"tag":95,"props":2981,"children":2983},{"className":2982},[],[2984],{"type":51,"value":2985},"CLERK_BAPI_SCOPES",{"type":51,"value":2987}," before attempting the request. If missing or insufficient, ask the user upfront. Do NOT attempt and fail — ask before executing. This check is MANDATORY.",{"type":45,"tag":75,"props":2989,"children":2990},{},[2991],{"type":51,"value":2992},"For metadata operations, always explain all three types (public, private, unsafe) and recommend the appropriate one.",{"type":45,"tag":75,"props":2994,"children":2995},{},[2996,2998,3004,3006,3012],{"type":51,"value":2997},"Pagination: always use ",{"type":45,"tag":95,"props":2999,"children":3001},{"className":3000},[],[3002],{"type":51,"value":3003},"limit",{"type":51,"value":3005}," + ",{"type":45,"tag":95,"props":3007,"children":3009},{"className":3008},[],[3010],{"type":51,"value":3011},"offset",{"type":51,"value":3013}," and mention that results may be paginated for large datasets.",{"type":45,"tag":75,"props":3015,"children":3016},{},[3017,3019,3024],{"type":51,"value":3018},"Use direct curl commands for all API calls — never use ",{"type":45,"tag":95,"props":3020,"children":3022},{"className":3021},[],[3023],{"type":51,"value":2565},{"type":51,"value":1032},{"type":45,"tag":216,"props":3026,"children":3027},{},[],{"type":45,"tag":46,"props":3029,"children":3031},{"id":3030},"rate-limits-gotchas",[3032],{"type":51,"value":3033},"Rate Limits & Gotchas",{"type":45,"tag":261,"props":3035,"children":3037},{"id":3036},"rate-limits",[3038],{"type":51,"value":3039},"Rate Limits",{"type":45,"tag":1309,"props":3041,"children":3042},{},[3043,3059],{"type":45,"tag":1313,"props":3044,"children":3045},{},[3046],{"type":45,"tag":1317,"props":3047,"children":3048},{},[3049,3054],{"type":45,"tag":1321,"props":3050,"children":3051},{},[3052],{"type":51,"value":3053},"Environment",{"type":45,"tag":1321,"props":3055,"children":3056},{},[3057],{"type":51,"value":3058},"Limit",{"type":45,"tag":1347,"props":3060,"children":3061},{},[3062,3075,3088,3101,3114,3127,3140,3153],{"type":45,"tag":1317,"props":3063,"children":3064},{},[3065,3070],{"type":45,"tag":1354,"props":3066,"children":3067},{},[3068],{"type":51,"value":3069},"Production",{"type":45,"tag":1354,"props":3071,"children":3072},{},[3073],{"type":51,"value":3074},"1,000 requests \u002F 10 seconds",{"type":45,"tag":1317,"props":3076,"children":3077},{},[3078,3083],{"type":45,"tag":1354,"props":3079,"children":3080},{},[3081],{"type":51,"value":3082},"Development",{"type":45,"tag":1354,"props":3084,"children":3085},{},[3086],{"type":51,"value":3087},"100 requests \u002F 10 seconds",{"type":45,"tag":1317,"props":3089,"children":3090},{},[3091,3096],{"type":45,"tag":1354,"props":3092,"children":3093},{},[3094],{"type":51,"value":3095},"Single invitations",{"type":45,"tag":1354,"props":3097,"children":3098},{},[3099],{"type":51,"value":3100},"100 \u002F hour",{"type":45,"tag":1317,"props":3102,"children":3103},{},[3104,3109],{"type":45,"tag":1354,"props":3105,"children":3106},{},[3107],{"type":51,"value":3108},"Bulk invitations",{"type":45,"tag":1354,"props":3110,"children":3111},{},[3112],{"type":51,"value":3113},"25 \u002F hour",{"type":45,"tag":1317,"props":3115,"children":3116},{},[3117,3122],{"type":45,"tag":1354,"props":3118,"children":3119},{},[3120],{"type":51,"value":3121},"Org invitations",{"type":45,"tag":1354,"props":3123,"children":3124},{},[3125],{"type":51,"value":3126},"250 \u002F hour",{"type":45,"tag":1317,"props":3128,"children":3129},{},[3130,3135],{"type":45,"tag":1354,"props":3131,"children":3132},{},[3133],{"type":51,"value":3134},"Frontend API sign-in creation",{"type":45,"tag":1354,"props":3136,"children":3137},{},[3138],{"type":51,"value":3139},"5 \u002F 10 seconds",{"type":45,"tag":1317,"props":3141,"children":3142},{},[3143,3148],{"type":45,"tag":1354,"props":3144,"children":3145},{},[3146],{"type":51,"value":3147},"Frontend API sign-in attempts",{"type":45,"tag":1354,"props":3149,"children":3150},{},[3151],{"type":51,"value":3152},"3 \u002F 10 seconds",{"type":45,"tag":1317,"props":3154,"children":3155},{},[3156,3161],{"type":45,"tag":1354,"props":3157,"children":3158},{},[3159],{"type":51,"value":3160},"List users max per page",{"type":45,"tag":1354,"props":3162,"children":3163},{},[3164],{"type":51,"value":3165},"500",{"type":45,"tag":54,"props":3167,"children":3168},{},[3169,3175,3177,3183],{"type":45,"tag":95,"props":3170,"children":3172},{"className":3171},[],[3173],{"type":51,"value":3174},"currentUser()",{"type":51,"value":3176}," makes a real API call that counts against rate limits. Use ",{"type":45,"tag":95,"props":3178,"children":3180},{"className":3179},[],[3181],{"type":51,"value":3182},"auth()",{"type":51,"value":3184}," for just the session claims — it reads from the token without an API call.",{"type":45,"tag":261,"props":3186,"children":3188},{"id":3187},"metadata-overwrites-not-merges",[3189],{"type":51,"value":3190},"Metadata Overwrites (Not Merges)",{"type":45,"tag":54,"props":3192,"children":3193},{},[3194,3200],{"type":45,"tag":95,"props":3195,"children":3197},{"className":3196},[],[3198],{"type":51,"value":3199},"updateUser({ publicMetadata: { role: 'admin' } })",{"type":51,"value":3201}," REPLACES all public metadata, not merges. To add a field without losing existing data: read first, spread, then write.",{"type":45,"tag":54,"props":3203,"children":3204},{},[3205],{"type":51,"value":3206},"Wrong:",{"type":45,"tag":87,"props":3208,"children":3210},{"className":910,"code":3209,"language":912,"meta":92,"style":92},"await clerkClient.users.updateUser(userId, { publicMetadata: { newField: 'value' } })\n",[3211],{"type":45,"tag":95,"props":3212,"children":3213},{"__ignoreMap":92},[3214],{"type":45,"tag":99,"props":3215,"children":3216},{"class":101,"line":102},[3217,3221,3225,3229,3233,3237,3241,3245,3249,3253,3258,3262,3266,3271,3275,3279,3284,3288,3292,3296],{"type":45,"tag":99,"props":3218,"children":3219},{"style":922},[3220],{"type":51,"value":1745},{"type":45,"tag":99,"props":3222,"children":3223},{"style":112},[3224],{"type":51,"value":935},{"type":45,"tag":99,"props":3226,"children":3227},{"style":118},[3228],{"type":51,"value":1032},{"type":45,"tag":99,"props":3230,"children":3231},{"style":112},[3232],{"type":51,"value":1758},{"type":45,"tag":99,"props":3234,"children":3235},{"style":118},[3236],{"type":51,"value":1032},{"type":45,"tag":99,"props":3238,"children":3239},{"style":106},[3240],{"type":51,"value":1767},{"type":45,"tag":99,"props":3242,"children":3243},{"style":112},[3244],{"type":51,"value":1772},{"type":45,"tag":99,"props":3246,"children":3247},{"style":118},[3248],{"type":51,"value":1110},{"type":45,"tag":99,"props":3250,"children":3251},{"style":118},[3252],{"type":51,"value":930},{"type":45,"tag":99,"props":3254,"children":3255},{"style":1062},[3256],{"type":51,"value":3257}," publicMetadata",{"type":45,"tag":99,"props":3259,"children":3260},{"style":118},[3261],{"type":51,"value":1070},{"type":45,"tag":99,"props":3263,"children":3264},{"style":118},[3265],{"type":51,"value":930},{"type":45,"tag":99,"props":3267,"children":3268},{"style":1062},[3269],{"type":51,"value":3270}," newField",{"type":45,"tag":99,"props":3272,"children":3273},{"style":118},[3274],{"type":51,"value":1070},{"type":45,"tag":99,"props":3276,"children":3277},{"style":118},[3278],{"type":51,"value":950},{"type":45,"tag":99,"props":3280,"children":3281},{"style":130},[3282],{"type":51,"value":3283},"value",{"type":45,"tag":99,"props":3285,"children":3286},{"style":118},[3287],{"type":51,"value":1083},{"type":45,"tag":99,"props":3289,"children":3290},{"style":118},[3291],{"type":51,"value":940},{"type":45,"tag":99,"props":3293,"children":3294},{"style":118},[3295],{"type":51,"value":940},{"type":45,"tag":99,"props":3297,"children":3298},{"style":112},[3299],{"type":51,"value":480},{"type":45,"tag":54,"props":3301,"children":3302},{},[3303,3305,3310],{"type":51,"value":3304},"This DELETES all other ",{"type":45,"tag":95,"props":3306,"children":3308},{"className":3307},[],[3309],{"type":51,"value":1923},{"type":51,"value":3311}," fields.",{"type":45,"tag":54,"props":3313,"children":3314},{},[3315],{"type":51,"value":3316},"Right:",{"type":45,"tag":87,"props":3318,"children":3320},{"className":910,"code":3319,"language":912,"meta":92,"style":92},"const user = await clerkClient.users.getUser(userId)\nawait clerkClient.users.updateUser(userId, {\n  publicMetadata: { ...user.publicMetadata, newField: 'value' },\n})\n",[3321],{"type":45,"tag":95,"props":3322,"children":3323},{"__ignoreMap":92},[3324,3370,3409,3471],{"type":45,"tag":99,"props":3325,"children":3326},{"class":101,"line":102},[3327,3331,3336,3340,3344,3348,3352,3356,3360,3365],{"type":45,"tag":99,"props":3328,"children":3329},{"style":1005},[3330],{"type":51,"value":1008},{"type":45,"tag":99,"props":3332,"children":3333},{"style":112},[3334],{"type":51,"value":3335}," user ",{"type":45,"tag":99,"props":3337,"children":3338},{"style":118},[3339],{"type":51,"value":1018},{"type":45,"tag":99,"props":3341,"children":3342},{"style":922},[3343],{"type":51,"value":1023},{"type":45,"tag":99,"props":3345,"children":3346},{"style":112},[3347],{"type":51,"value":935},{"type":45,"tag":99,"props":3349,"children":3350},{"style":118},[3351],{"type":51,"value":1032},{"type":45,"tag":99,"props":3353,"children":3354},{"style":112},[3355],{"type":51,"value":1758},{"type":45,"tag":99,"props":3357,"children":3358},{"style":118},[3359],{"type":51,"value":1032},{"type":45,"tag":99,"props":3361,"children":3362},{"style":106},[3363],{"type":51,"value":3364},"getUser",{"type":45,"tag":99,"props":3366,"children":3367},{"style":112},[3368],{"type":51,"value":3369},"(userId)\n",{"type":45,"tag":99,"props":3371,"children":3372},{"class":101,"line":285},[3373,3377,3381,3385,3389,3393,3397,3401,3405],{"type":45,"tag":99,"props":3374,"children":3375},{"style":922},[3376],{"type":51,"value":1745},{"type":45,"tag":99,"props":3378,"children":3379},{"style":112},[3380],{"type":51,"value":935},{"type":45,"tag":99,"props":3382,"children":3383},{"style":118},[3384],{"type":51,"value":1032},{"type":45,"tag":99,"props":3386,"children":3387},{"style":112},[3388],{"type":51,"value":1758},{"type":45,"tag":99,"props":3390,"children":3391},{"style":118},[3392],{"type":51,"value":1032},{"type":45,"tag":99,"props":3394,"children":3395},{"style":106},[3396],{"type":51,"value":1767},{"type":45,"tag":99,"props":3398,"children":3399},{"style":112},[3400],{"type":51,"value":1772},{"type":45,"tag":99,"props":3402,"children":3403},{"style":118},[3404],{"type":51,"value":1110},{"type":45,"tag":99,"props":3406,"children":3407},{"style":118},[3408],{"type":51,"value":1781},{"type":45,"tag":99,"props":3410,"children":3411},{"class":101,"line":339},[3412,3416,3420,3424,3429,3434,3438,3442,3446,3450,3454,3458,3462,3466],{"type":45,"tag":99,"props":3413,"children":3414},{"style":1062},[3415],{"type":51,"value":1789},{"type":45,"tag":99,"props":3417,"children":3418},{"style":118},[3419],{"type":51,"value":1070},{"type":45,"tag":99,"props":3421,"children":3422},{"style":118},[3423],{"type":51,"value":930},{"type":45,"tag":99,"props":3425,"children":3426},{"style":118},[3427],{"type":51,"value":3428}," ...",{"type":45,"tag":99,"props":3430,"children":3431},{"style":112},[3432],{"type":51,"value":3433},"user",{"type":45,"tag":99,"props":3435,"children":3436},{"style":118},[3437],{"type":51,"value":1032},{"type":45,"tag":99,"props":3439,"children":3440},{"style":112},[3441],{"type":51,"value":1923},{"type":45,"tag":99,"props":3443,"children":3444},{"style":118},[3445],{"type":51,"value":1110},{"type":45,"tag":99,"props":3447,"children":3448},{"style":1062},[3449],{"type":51,"value":3270},{"type":45,"tag":99,"props":3451,"children":3452},{"style":118},[3453],{"type":51,"value":1070},{"type":45,"tag":99,"props":3455,"children":3456},{"style":118},[3457],{"type":51,"value":950},{"type":45,"tag":99,"props":3459,"children":3460},{"style":130},[3461],{"type":51,"value":3283},{"type":45,"tag":99,"props":3463,"children":3464},{"style":118},[3465],{"type":51,"value":1083},{"type":45,"tag":99,"props":3467,"children":3468},{"style":118},[3469],{"type":51,"value":3470}," },\n",{"type":45,"tag":99,"props":3472,"children":3473},{"class":101,"line":30},[3474,3478],{"type":45,"tag":99,"props":3475,"children":3476},{"style":118},[3477],{"type":51,"value":471},{"type":45,"tag":99,"props":3479,"children":3480},{"style":112},[3481],{"type":51,"value":480},{"type":45,"tag":216,"props":3483,"children":3484},{},[],{"type":45,"tag":46,"props":3486,"children":3488},{"id":3487},"modes",[3489],{"type":51,"value":3490},"Modes",{"type":45,"tag":54,"props":3492,"children":3493},{},[3494,3496,3502],{"type":51,"value":3495},"Determine the active mode based on the user prompt in ",{"type":45,"tag":3497,"props":3498,"children":3500},"a",{"href":3499},"#options-context",[3501],{"type":51,"value":52},{"type":51,"value":1070},{"type":45,"tag":1309,"props":3504,"children":3505},{},[3506,3527],{"type":45,"tag":1313,"props":3507,"children":3508},{},[3509],{"type":45,"tag":1317,"props":3510,"children":3511},{},[3512,3517,3522],{"type":45,"tag":1321,"props":3513,"children":3514},{},[3515],{"type":51,"value":3516},"Mode",{"type":45,"tag":1321,"props":3518,"children":3519},{},[3520],{"type":51,"value":3521},"Trigger",{"type":45,"tag":1321,"props":3523,"children":3524},{},[3525],{"type":51,"value":3526},"Behavior",{"type":45,"tag":1347,"props":3528,"children":3529},{},[3530,3572,3608,3638],{"type":45,"tag":1317,"props":3531,"children":3532},{},[3533,3542,3567],{"type":45,"tag":1354,"props":3534,"children":3535},{},[3536],{"type":45,"tag":95,"props":3537,"children":3539},{"className":3538},[],[3540],{"type":51,"value":3541},"help",{"type":45,"tag":1354,"props":3543,"children":3544},{},[3545,3547,3552,3554,3560,3561],{"type":51,"value":3546},"Prompt is empty, or contains only ",{"type":45,"tag":95,"props":3548,"children":3550},{"className":3549},[],[3551],{"type":51,"value":3541},{"type":51,"value":3553}," \u002F ",{"type":45,"tag":95,"props":3555,"children":3557},{"className":3556},[],[3558],{"type":51,"value":3559},"-h",{"type":51,"value":3553},{"type":45,"tag":95,"props":3562,"children":3564},{"className":3563},[],[3565],{"type":51,"value":3566},"--help",{"type":45,"tag":1354,"props":3568,"children":3569},{},[3570],{"type":51,"value":3571},"Print usage examples (step 0)",{"type":45,"tag":1317,"props":3573,"children":3574},{},[3575,3584,3603],{"type":45,"tag":1354,"props":3576,"children":3577},{},[3578],{"type":45,"tag":95,"props":3579,"children":3581},{"className":3580},[],[3582],{"type":51,"value":3583},"browse",{"type":45,"tag":1354,"props":3585,"children":3586},{},[3587,3589,3595,3597,3602],{"type":51,"value":3588},"Prompt is ",{"type":45,"tag":95,"props":3590,"children":3592},{"className":3591},[],[3593],{"type":51,"value":3594},"tags",{"type":51,"value":3596},", or a tag name (e.g. ",{"type":45,"tag":95,"props":3598,"children":3600},{"className":3599},[],[3601],{"type":51,"value":2374},{"type":51,"value":907},{"type":45,"tag":1354,"props":3604,"children":3605},{},[3606],{"type":51,"value":3607},"List all tags or endpoints for a tag",{"type":45,"tag":1317,"props":3609,"children":3610},{},[3611,3620,3633],{"type":45,"tag":1354,"props":3612,"children":3613},{},[3614],{"type":45,"tag":95,"props":3615,"children":3617},{"className":3616},[],[3618],{"type":51,"value":3619},"execute",{"type":45,"tag":1354,"props":3621,"children":3622},{},[3623,3625,3631],{"type":51,"value":3624},"Specific endpoint (e.g. ",{"type":45,"tag":95,"props":3626,"children":3628},{"className":3627},[],[3629],{"type":51,"value":3630},"GET \u002Fusers",{"type":51,"value":3632},") or natural language action (e.g. \"get user john_doe\")",{"type":45,"tag":1354,"props":3634,"children":3635},{},[3636],{"type":51,"value":3637},"Look up endpoint, execute request",{"type":45,"tag":1317,"props":3639,"children":3640},{},[3641,3650,3681],{"type":45,"tag":1354,"props":3642,"children":3643},{},[3644],{"type":45,"tag":95,"props":3645,"children":3647},{"className":3646},[],[3648],{"type":51,"value":3649},"detail",{"type":45,"tag":1354,"props":3651,"children":3652},{},[3653,3655,3660,3661,3666,3667,3672,3674,3680],{"type":51,"value":3654},"Endpoint + ",{"type":45,"tag":95,"props":3656,"children":3658},{"className":3657},[],[3659],{"type":51,"value":3541},{"type":51,"value":3553},{"type":45,"tag":95,"props":3662,"children":3664},{"className":3663},[],[3665],{"type":51,"value":3559},{"type":51,"value":3553},{"type":45,"tag":95,"props":3668,"children":3670},{"className":3669},[],[3671],{"type":51,"value":3566},{"type":51,"value":3673}," (e.g. ",{"type":45,"tag":95,"props":3675,"children":3677},{"className":3676},[],[3678],{"type":51,"value":3679},"GET \u002Fusers help",{"type":51,"value":907},{"type":45,"tag":1354,"props":3682,"children":3683},{},[3684],{"type":51,"value":3685},"Show endpoint schema, don't execute",{"type":45,"tag":216,"props":3687,"children":3688},{},[],{"type":45,"tag":46,"props":3690,"children":3692},{"id":3691},"your-task",[3693],{"type":51,"value":3694},"Your Task",{"type":45,"tag":54,"props":3696,"children":3697},{},[3698,3700,3705,3707,3712,3714,3720],{"type":51,"value":3699},"Use the ",{"type":45,"tag":79,"props":3701,"children":3702},{},[3703],{"type":51,"value":3704},"LATEST VERSION",{"type":51,"value":3706}," from ",{"type":45,"tag":3497,"props":3708,"children":3710},{"href":3709},"#api-specs-context",[3711],{"type":51,"value":2888},{"type":51,"value":3713}," by default. If the user specifies a different version (e.g. ",{"type":45,"tag":95,"props":3715,"children":3717},{"className":3716},[],[3718],{"type":51,"value":3719},"--version 2024-10-01",{"type":51,"value":3721},"), use that version instead.",{"type":45,"tag":54,"props":3723,"children":3724},{},[3725],{"type":51,"value":3726},"Determine the active mode, then follow the applicable steps below.",{"type":45,"tag":216,"props":3728,"children":3729},{},[],{"type":45,"tag":261,"props":3731,"children":3733},{"id":3732},"_0-print-usage",[3734],{"type":51,"value":3735},"0. Print usage",{"type":45,"tag":54,"props":3737,"children":3738},{},[3739,3744,3746,3751,3753,3758,3760,3765,3766,3771,3773,3778],{"type":45,"tag":79,"props":3740,"children":3741},{},[3742],{"type":51,"value":3743},"Modes:",{"type":51,"value":3745}," ",{"type":45,"tag":95,"props":3747,"children":3749},{"className":3748},[],[3750],{"type":51,"value":3541},{"type":51,"value":3752}," only — ",{"type":45,"tag":79,"props":3754,"children":3755},{},[3756],{"type":51,"value":3757},"Skip",{"type":51,"value":3759}," for ",{"type":45,"tag":95,"props":3761,"children":3763},{"className":3762},[],[3764],{"type":51,"value":3583},{"type":51,"value":237},{"type":45,"tag":95,"props":3767,"children":3769},{"className":3768},[],[3770],{"type":51,"value":3619},{"type":51,"value":3772},", and ",{"type":45,"tag":95,"props":3774,"children":3776},{"className":3775},[],[3777],{"type":51,"value":3649},{"type":51,"value":1032},{"type":45,"tag":54,"props":3780,"children":3781},{},[3782],{"type":51,"value":3783},"Print the following examples to the user verbatim:",{"type":45,"tag":87,"props":3785,"children":3788},{"className":3786,"code":3787,"language":51},[2386],"Browse\n  \u002Fclerk-backend-api tags                         — list all tags\n  \u002Fclerk-backend-api Users                        — browse endpoints for the Users tag\n  \u002Fclerk-backend-api Users version 2025-11-10.yml — browse using a different version\n\nExecute\n  \u002Fclerk-backend-api GET \u002Fusers             — fetch all users\n  \u002Fclerk-backend-api get user john_doe      — natural language works too\n  \u002Fclerk-backend-api POST \u002Finvitations      — create an invitation\n\nInspect\n  \u002Fclerk-backend-api GET \u002Fusers help        — show endpoint schema without executing\n  \u002Fclerk-backend-api POST \u002Finvitations -h   — view request\u002Fresponse details\n\nOptions\n  --admin                            — bypass scope restrictions for write\u002Fdelete\n  --version [date], version [date]   — use a specific spec version\n  --help, -h, help                   — inspect endpoint instead of executing\n",[3789],{"type":45,"tag":95,"props":3790,"children":3791},{"__ignoreMap":92},[3792],{"type":51,"value":3787},{"type":45,"tag":54,"props":3794,"children":3795},{},[3796],{"type":51,"value":3797},"Stop here.",{"type":45,"tag":216,"props":3799,"children":3800},{},[],{"type":45,"tag":261,"props":3802,"children":3804},{"id":3803},"_1-fetch-tags",[3805],{"type":51,"value":3806},"1. Fetch tags",{"type":45,"tag":54,"props":3808,"children":3809},{},[3810,3814,3815,3820,3822,3827,3829,3833,3834,3839,3840,3845,3846,3851],{"type":45,"tag":79,"props":3811,"children":3812},{},[3813],{"type":51,"value":3743},{"type":51,"value":3745},{"type":45,"tag":95,"props":3816,"children":3818},{"className":3817},[],[3819],{"type":51,"value":3583},{"type":51,"value":3821}," (when prompt is ",{"type":45,"tag":95,"props":3823,"children":3825},{"className":3824},[],[3826],{"type":51,"value":3594},{"type":51,"value":3828}," or no tag specified) — ",{"type":45,"tag":79,"props":3830,"children":3831},{},[3832],{"type":51,"value":3757},{"type":51,"value":3759},{"type":45,"tag":95,"props":3835,"children":3837},{"className":3836},[],[3838],{"type":51,"value":3541},{"type":51,"value":237},{"type":45,"tag":95,"props":3841,"children":3843},{"className":3842},[],[3844],{"type":51,"value":3619},{"type":51,"value":3772},{"type":45,"tag":95,"props":3847,"children":3849},{"className":3848},[],[3850],{"type":51,"value":3649},{"type":51,"value":1032},{"type":45,"tag":54,"props":3853,"children":3854},{},[3855],{"type":51,"value":3856},"If using a non-latest version, fetch tags for that version:",{"type":45,"tag":87,"props":3858,"children":3860},{"className":89,"code":3859,"language":91,"meta":92,"style":92},"curl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F${version_name} | node scripts\u002Fextract-tags.js\n",[3861],{"type":45,"tag":95,"props":3862,"children":3863},{"__ignoreMap":92},[3864],{"type":45,"tag":99,"props":3865,"children":3866},{"class":101,"line":102},[3867,3871,3875,3880,3884,3889,3893,3897,3902],{"type":45,"tag":99,"props":3868,"children":3869},{"style":124},[3870],{"type":51,"value":301},{"type":45,"tag":99,"props":3872,"children":3873},{"style":130},[3874],{"type":51,"value":306},{"type":45,"tag":99,"props":3876,"children":3877},{"style":130},[3878],{"type":51,"value":3879}," https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F",{"type":45,"tag":99,"props":3881,"children":3882},{"style":118},[3883],{"type":51,"value":657},{"type":45,"tag":99,"props":3885,"children":3886},{"style":112},[3887],{"type":51,"value":3888},"version_name",{"type":45,"tag":99,"props":3890,"children":3891},{"style":118},[3892],{"type":51,"value":471},{"type":45,"tag":99,"props":3894,"children":3895},{"style":118},[3896],{"type":51,"value":506},{"type":45,"tag":99,"props":3898,"children":3899},{"style":124},[3900],{"type":51,"value":3901}," node",{"type":45,"tag":99,"props":3903,"children":3904},{"style":130},[3905],{"type":51,"value":3906}," scripts\u002Fextract-tags.js\n",{"type":45,"tag":54,"props":3908,"children":3909},{},[3910,3912,3917,3919,3923],{"type":51,"value":3911},"Otherwise, use the ",{"type":45,"tag":79,"props":3913,"children":3914},{},[3915],{"type":51,"value":3916},"TAGS",{"type":51,"value":3918}," already in ",{"type":45,"tag":3497,"props":3920,"children":3921},{"href":3709},[3922],{"type":51,"value":2888},{"type":51,"value":1032},{"type":45,"tag":54,"props":3925,"children":3926},{},[3927],{"type":51,"value":3928},"Share tags in a table and prompt the user to select a query.",{"type":45,"tag":216,"props":3930,"children":3931},{},[],{"type":45,"tag":261,"props":3933,"children":3935},{"id":3934},"_2-fetch-tag-endpoints",[3936],{"type":51,"value":3937},"2. Fetch tag endpoints",{"type":45,"tag":54,"props":3939,"children":3940},{},[3941,3945,3946,3951,3953,3957,3958,3963,3964,3969,3970,3975],{"type":45,"tag":79,"props":3942,"children":3943},{},[3944],{"type":51,"value":3743},{"type":51,"value":3745},{"type":45,"tag":95,"props":3947,"children":3949},{"className":3948},[],[3950],{"type":51,"value":3583},{"type":51,"value":3952}," (when a tag name is provided) — ",{"type":45,"tag":79,"props":3954,"children":3955},{},[3956],{"type":51,"value":3757},{"type":51,"value":3759},{"type":45,"tag":95,"props":3959,"children":3961},{"className":3960},[],[3962],{"type":51,"value":3541},{"type":51,"value":237},{"type":45,"tag":95,"props":3965,"children":3967},{"className":3966},[],[3968],{"type":51,"value":3619},{"type":51,"value":3772},{"type":45,"tag":95,"props":3971,"children":3973},{"className":3972},[],[3974],{"type":51,"value":3649},{"type":51,"value":1032},{"type":45,"tag":54,"props":3977,"children":3978},{},[3979],{"type":51,"value":3980},"Fetch all endpoints for the identified tag:",{"type":45,"tag":87,"props":3982,"children":3984},{"className":89,"code":3983,"language":91,"meta":92,"style":92},"curl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F${version_name} | bash scripts\u002Fextract-tag-endpoints.sh \"${tag_name}\"\n",[3985],{"type":45,"tag":95,"props":3986,"children":3987},{"__ignoreMap":92},[3988],{"type":45,"tag":99,"props":3989,"children":3990},{"class":101,"line":102},[3991,3995,3999,4003,4007,4011,4015,4019,4024,4029,4034,4039],{"type":45,"tag":99,"props":3992,"children":3993},{"style":124},[3994],{"type":51,"value":301},{"type":45,"tag":99,"props":3996,"children":3997},{"style":130},[3998],{"type":51,"value":306},{"type":45,"tag":99,"props":4000,"children":4001},{"style":130},[4002],{"type":51,"value":3879},{"type":45,"tag":99,"props":4004,"children":4005},{"style":118},[4006],{"type":51,"value":657},{"type":45,"tag":99,"props":4008,"children":4009},{"style":112},[4010],{"type":51,"value":3888},{"type":45,"tag":99,"props":4012,"children":4013},{"style":118},[4014],{"type":51,"value":471},{"type":45,"tag":99,"props":4016,"children":4017},{"style":118},[4018],{"type":51,"value":506},{"type":45,"tag":99,"props":4020,"children":4021},{"style":124},[4022],{"type":51,"value":4023}," bash",{"type":45,"tag":99,"props":4025,"children":4026},{"style":130},[4027],{"type":51,"value":4028}," scripts\u002Fextract-tag-endpoints.sh",{"type":45,"tag":99,"props":4030,"children":4031},{"style":118},[4032],{"type":51,"value":4033}," \"${",{"type":45,"tag":99,"props":4035,"children":4036},{"style":112},[4037],{"type":51,"value":4038},"tag_name",{"type":45,"tag":99,"props":4040,"children":4041},{"style":118},[4042],{"type":51,"value":4043},"}\"\n",{"type":45,"tag":54,"props":4045,"children":4046},{},[4047],{"type":51,"value":4048},"Share the results (endpoints, schemas, parameters) with the user.",{"type":45,"tag":216,"props":4050,"children":4051},{},[],{"type":45,"tag":261,"props":4053,"children":4055},{"id":4054},"_3-fetch-endpoint-detail",[4056],{"type":51,"value":4057},"3. Fetch endpoint detail",{"type":45,"tag":54,"props":4059,"children":4060},{},[4061,4065,4066,4071,4072,4077,4079,4083,4084,4089,4090,4095],{"type":45,"tag":79,"props":4062,"children":4063},{},[4064],{"type":51,"value":3743},{"type":51,"value":3745},{"type":45,"tag":95,"props":4067,"children":4069},{"className":4068},[],[4070],{"type":51,"value":3619},{"type":51,"value":237},{"type":45,"tag":95,"props":4073,"children":4075},{"className":4074},[],[4076],{"type":51,"value":3649},{"type":51,"value":4078}," — ",{"type":45,"tag":79,"props":4080,"children":4081},{},[4082],{"type":51,"value":3757},{"type":51,"value":3759},{"type":45,"tag":95,"props":4085,"children":4087},{"className":4086},[],[4088],{"type":51,"value":3541},{"type":51,"value":1467},{"type":45,"tag":95,"props":4091,"children":4093},{"className":4092},[],[4094],{"type":51,"value":3583},{"type":51,"value":1032},{"type":45,"tag":54,"props":4097,"children":4098},{},[4099,4101,4106],{"type":51,"value":4100},"For natural language prompts in ",{"type":45,"tag":95,"props":4102,"children":4104},{"className":4103},[],[4105],{"type":51,"value":3619},{"type":51,"value":4107}," mode, first check if the operation matches a FAST PATH entry above. If it does, skip this step and proceed directly to step 4 using the FAST PATH template.",{"type":45,"tag":54,"props":4109,"children":4110},{},[4111],{"type":51,"value":4112},"For other endpoints, identify the matching endpoint by searching the tags in context. Fetch tag endpoints if needed to resolve the exact path and method.",{"type":45,"tag":54,"props":4114,"children":4115},{},[4116],{"type":51,"value":4117},"Extract the full endpoint definition:",{"type":45,"tag":87,"props":4119,"children":4121},{"className":89,"code":4120,"language":91,"meta":92,"style":92},"curl -s https:\u002F\u002Fraw.githubusercontent.com\u002Fclerk\u002Fopenapi-specs\u002Fmain\u002Fbapi\u002F${version_name} | bash scripts\u002Fextract-endpoint-detail.sh \"${path}\" \"${method}\"\n",[4122],{"type":45,"tag":95,"props":4123,"children":4124},{"__ignoreMap":92},[4125],{"type":45,"tag":99,"props":4126,"children":4127},{"class":101,"line":102},[4128,4132,4136,4140,4144,4148,4152,4156,4160,4165,4169,4174,4178,4182,4187],{"type":45,"tag":99,"props":4129,"children":4130},{"style":124},[4131],{"type":51,"value":301},{"type":45,"tag":99,"props":4133,"children":4134},{"style":130},[4135],{"type":51,"value":306},{"type":45,"tag":99,"props":4137,"children":4138},{"style":130},[4139],{"type":51,"value":3879},{"type":45,"tag":99,"props":4141,"children":4142},{"style":118},[4143],{"type":51,"value":657},{"type":45,"tag":99,"props":4145,"children":4146},{"style":112},[4147],{"type":51,"value":3888},{"type":45,"tag":99,"props":4149,"children":4150},{"style":118},[4151],{"type":51,"value":471},{"type":45,"tag":99,"props":4153,"children":4154},{"style":118},[4155],{"type":51,"value":506},{"type":45,"tag":99,"props":4157,"children":4158},{"style":124},[4159],{"type":51,"value":4023},{"type":45,"tag":99,"props":4161,"children":4162},{"style":130},[4163],{"type":51,"value":4164}," scripts\u002Fextract-endpoint-detail.sh",{"type":45,"tag":99,"props":4166,"children":4167},{"style":118},[4168],{"type":51,"value":4033},{"type":45,"tag":99,"props":4170,"children":4171},{"style":112},[4172],{"type":51,"value":4173},"path",{"type":45,"tag":99,"props":4175,"children":4176},{"style":118},[4177],{"type":51,"value":1532},{"type":45,"tag":99,"props":4179,"children":4180},{"style":118},[4181],{"type":51,"value":4033},{"type":45,"tag":99,"props":4183,"children":4184},{"style":112},[4185],{"type":51,"value":4186},"method",{"type":45,"tag":99,"props":4188,"children":4189},{"style":118},[4190],{"type":51,"value":4043},{"type":45,"tag":2938,"props":4192,"children":4193},{},[4194,4211],{"type":45,"tag":75,"props":4195,"children":4196},{},[4197,4203,4205],{"type":45,"tag":95,"props":4198,"children":4200},{"className":4199},[],[4201],{"type":51,"value":4202},"${path}",{"type":51,"value":4204}," — e.g. ",{"type":45,"tag":95,"props":4206,"children":4208},{"className":4207},[],[4209],{"type":51,"value":4210},"\u002Fusers\u002F{user_id}",{"type":45,"tag":75,"props":4212,"children":4213},{},[4214,4220,4222],{"type":45,"tag":95,"props":4215,"children":4217},{"className":4216},[],[4218],{"type":51,"value":4219},"${method}",{"type":51,"value":4221}," — lowercase, e.g. ",{"type":45,"tag":95,"props":4223,"children":4225},{"className":4224},[],[4226],{"type":51,"value":4227},"get",{"type":45,"tag":54,"props":4229,"children":4230},{},[4231,4241],{"type":45,"tag":79,"props":4232,"children":4233},{},[4234,4239],{"type":45,"tag":95,"props":4235,"children":4237},{"className":4236},[],[4238],{"type":51,"value":3649},{"type":51,"value":4240}," mode:",{"type":51,"value":4242}," Share the endpoint definition and schemas with the user. Stop here.",{"type":45,"tag":54,"props":4244,"children":4245},{},[4246,4255],{"type":45,"tag":79,"props":4247,"children":4248},{},[4249,4254],{"type":45,"tag":95,"props":4250,"children":4252},{"className":4251},[],[4253],{"type":51,"value":3619},{"type":51,"value":4240},{"type":51,"value":4256}," Continue to step 4.",{"type":45,"tag":216,"props":4258,"children":4259},{},[],{"type":45,"tag":261,"props":4261,"children":4263},{"id":4262},"_4-execute-request",[4264],{"type":51,"value":4265},"4. Execute request",{"type":45,"tag":54,"props":4267,"children":4268},{},[4269,4273,4274,4279],{"type":45,"tag":79,"props":4270,"children":4271},{},[4272],{"type":51,"value":3743},{"type":51,"value":3745},{"type":45,"tag":95,"props":4275,"children":4277},{"className":4276},[],[4278],{"type":51,"value":3619},{"type":51,"value":4280}," only.",{"type":45,"tag":71,"props":4282,"children":4283},{},[4284,4296,4301,4306,4324],{"type":45,"tag":75,"props":4285,"children":4286},{},[4287,4289,4294],{"type":51,"value":4288},"Run the ",{"type":45,"tag":79,"props":4290,"children":4291},{},[4292],{"type":51,"value":4293},"mandatory checks",{"type":51,"value":4295}," from the CRITICAL section above.",{"type":45,"tag":75,"props":4297,"children":4298},{},[4299],{"type":51,"value":4300},"Identify required and optional parameters from the spec (step 3) or FAST PATH.",{"type":45,"tag":75,"props":4302,"children":4303},{},[4304],{"type":51,"value":4305},"Ask the user for any required path\u002Fquery\u002Fbody parameters that weren't provided.",{"type":45,"tag":75,"props":4307,"children":4308},{},[4309,4311,4316,4318,4323],{"type":51,"value":4310},"Build and execute a ",{"type":45,"tag":79,"props":4312,"children":4313},{},[4314],{"type":51,"value":4315},"direct curl command",{"type":51,"value":4317}," (see How to execute requests above). Do NOT use ",{"type":45,"tag":95,"props":4319,"children":4321},{"className":4320},[],[4322],{"type":51,"value":2565},{"type":51,"value":1032},{"type":45,"tag":75,"props":4325,"children":4326},{},[4327],{"type":51,"value":4328},"Parse the JSON response and display it clearly. Extract and summarize key fields for the user.",{"type":45,"tag":54,"props":4330,"children":4331},{},[4332],{"type":45,"tag":79,"props":4333,"children":4334},{},[4335],{"type":51,"value":4336},"Example — list users and parse response:",{"type":45,"tag":87,"props":4338,"children":4340},{"className":89,"code":4339,"language":91,"meta":92,"style":92},"RESPONSE=$(curl -s \"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers?limit=10\" \\\n  -H \"Authorization: Bearer $CLERK_SECRET_KEY\")\necho \"$RESPONSE\" | python3 -c \"\nimport sys, json\ndata = json.load(sys.stdin)\nif isinstance(data, list):\n    print(f'Found {len(data)} users:')\n    for u in data:\n        print(f'  {u[\\\"id\\\"]}: {u.get(\\\"email_addresses\\\", [{}])[0].get(\\\"email_address\\\", \\\"no email\\\")}')\nelse:\n    print(json.dumps(data, indent=2))\n\"\n",[4341],{"type":45,"tag":95,"props":4342,"children":4343},{"__ignoreMap":92},[4344,4381,4408,4444,4451,4458,4465,4472,4479,4550,4557,4564],{"type":45,"tag":99,"props":4345,"children":4346},{"class":101,"line":102},[4347,4352,4356,4360,4364,4368,4373,4377],{"type":45,"tag":99,"props":4348,"children":4349},{"style":112},[4350],{"type":51,"value":4351},"RESPONSE",{"type":45,"tag":99,"props":4353,"children":4354},{"style":118},[4355],{"type":51,"value":296},{"type":45,"tag":99,"props":4357,"children":4358},{"style":124},[4359],{"type":51,"value":301},{"type":45,"tag":99,"props":4361,"children":4362},{"style":130},[4363],{"type":51,"value":306},{"type":45,"tag":99,"props":4365,"children":4366},{"style":118},[4367],{"type":51,"value":321},{"type":45,"tag":99,"props":4369,"children":4370},{"style":130},[4371],{"type":51,"value":4372},"https:\u002F\u002Fapi.clerk.com\u002Fv1\u002Fusers?limit=10",{"type":45,"tag":99,"props":4374,"children":4375},{"style":118},[4376],{"type":51,"value":331},{"type":45,"tag":99,"props":4378,"children":4379},{"style":112},[4380],{"type":51,"value":336},{"type":45,"tag":99,"props":4382,"children":4383},{"class":101,"line":285},[4384,4388,4392,4396,4400,4404],{"type":45,"tag":99,"props":4385,"children":4386},{"style":130},[4387],{"type":51,"value":345},{"type":45,"tag":99,"props":4389,"children":4390},{"style":118},[4391],{"type":51,"value":321},{"type":45,"tag":99,"props":4393,"children":4394},{"style":130},[4395],{"type":51,"value":354},{"type":45,"tag":99,"props":4397,"children":4398},{"style":112},[4399],{"type":51,"value":235},{"type":45,"tag":99,"props":4401,"children":4402},{"style":118},[4403],{"type":51,"value":331},{"type":45,"tag":99,"props":4405,"children":4406},{"style":118},[4407],{"type":51,"value":480},{"type":45,"tag":99,"props":4409,"children":4410},{"class":101,"line":339},[4411,4415,4419,4424,4428,4432,4436,4440],{"type":45,"tag":99,"props":4412,"children":4413},{"style":106},[4414],{"type":51,"value":109},{"type":45,"tag":99,"props":4416,"children":4417},{"style":118},[4418],{"type":51,"value":321},{"type":45,"tag":99,"props":4420,"children":4421},{"style":112},[4422],{"type":51,"value":4423},"$RESPONSE",{"type":45,"tag":99,"props":4425,"children":4426},{"style":118},[4427],{"type":51,"value":331},{"type":45,"tag":99,"props":4429,"children":4430},{"style":118},[4431],{"type":51,"value":506},{"type":45,"tag":99,"props":4433,"children":4434},{"style":124},[4435],{"type":51,"value":511},{"type":45,"tag":99,"props":4437,"children":4438},{"style":130},[4439],{"type":51,"value":133},{"type":45,"tag":99,"props":4441,"children":4442},{"style":118},[4443],{"type":51,"value":2079},{"type":45,"tag":99,"props":4445,"children":4446},{"class":101,"line":30},[4447],{"type":45,"tag":99,"props":4448,"children":4449},{"style":130},[4450],{"type":51,"value":2087},{"type":45,"tag":99,"props":4452,"children":4453},{"class":101,"line":393},[4454],{"type":45,"tag":99,"props":4455,"children":4456},{"style":130},[4457],{"type":51,"value":2095},{"type":45,"tag":99,"props":4459,"children":4460},{"class":101,"line":483},[4461],{"type":45,"tag":99,"props":4462,"children":4463},{"style":130},[4464],{"type":51,"value":2103},{"type":45,"tag":99,"props":4466,"children":4467},{"class":101,"line":532},[4468],{"type":45,"tag":99,"props":4469,"children":4470},{"style":130},[4471],{"type":51,"value":2111},{"type":45,"tag":99,"props":4473,"children":4474},{"class":101,"line":542},[4475],{"type":45,"tag":99,"props":4476,"children":4477},{"style":130},[4478],{"type":51,"value":2119},{"type":45,"tag":99,"props":4480,"children":4481},{"class":101,"line":551},[4482,4486,4490,4494,4498,4502,4506,4510,4514,4518,4522,4526,4530,4534,4538,4542,4546],{"type":45,"tag":99,"props":4483,"children":4484},{"style":130},[4485],{"type":51,"value":2127},{"type":45,"tag":99,"props":4487,"children":4488},{"style":112},[4489],{"type":51,"value":413},{"type":45,"tag":99,"props":4491,"children":4492},{"style":130},[4493],{"type":51,"value":1216},{"type":45,"tag":99,"props":4495,"children":4496},{"style":112},[4497],{"type":51,"value":413},{"type":45,"tag":99,"props":4499,"children":4500},{"style":130},[4501],{"type":51,"value":2144},{"type":45,"tag":99,"props":4503,"children":4504},{"style":112},[4505],{"type":51,"value":413},{"type":45,"tag":99,"props":4507,"children":4508},{"style":130},[4509],{"type":51,"value":2153},{"type":45,"tag":99,"props":4511,"children":4512},{"style":112},[4513],{"type":51,"value":413},{"type":45,"tag":99,"props":4515,"children":4516},{"style":130},[4517],{"type":51,"value":2162},{"type":45,"tag":99,"props":4519,"children":4520},{"style":112},[4521],{"type":51,"value":413},{"type":45,"tag":99,"props":4523,"children":4524},{"style":130},[4525],{"type":51,"value":755},{"type":45,"tag":99,"props":4527,"children":4528},{"style":112},[4529],{"type":51,"value":413},{"type":45,"tag":99,"props":4531,"children":4532},{"style":130},[4533],{"type":51,"value":237},{"type":45,"tag":99,"props":4535,"children":4536},{"style":112},[4537],{"type":51,"value":413},{"type":45,"tag":99,"props":4539,"children":4540},{"style":130},[4541],{"type":51,"value":2187},{"type":45,"tag":99,"props":4543,"children":4544},{"style":112},[4545],{"type":51,"value":413},{"type":45,"tag":99,"props":4547,"children":4548},{"style":130},[4549],{"type":51,"value":2196},{"type":45,"tag":99,"props":4551,"children":4552},{"class":101,"line":609},[4553],{"type":45,"tag":99,"props":4554,"children":4555},{"style":130},[4556],{"type":51,"value":2204},{"type":45,"tag":99,"props":4558,"children":4559},{"class":101,"line":617},[4560],{"type":45,"tag":99,"props":4561,"children":4562},{"style":130},[4563],{"type":51,"value":2212},{"type":45,"tag":99,"props":4565,"children":4566},{"class":101,"line":626},[4567],{"type":45,"tag":99,"props":4568,"children":4569},{"style":118},[4570],{"type":51,"value":529},{"type":45,"tag":46,"props":4572,"children":4574},{"id":4573},"see-also",[4575],{"type":51,"value":4576},"See Also",{"type":45,"tag":2938,"props":4578,"children":4579},{},[4580,4591,4602],{"type":45,"tag":75,"props":4581,"children":4582},{},[4583,4589],{"type":45,"tag":95,"props":4584,"children":4586},{"className":4585},[],[4587],{"type":51,"value":4588},"clerk-setup",{"type":51,"value":4590}," - Initial Clerk install",{"type":45,"tag":75,"props":4592,"children":4593},{},[4594,4600],{"type":45,"tag":95,"props":4595,"children":4597},{"className":4596},[],[4598],{"type":51,"value":4599},"clerk-orgs",{"type":51,"value":4601}," - Manage organizations via API",{"type":45,"tag":75,"props":4603,"children":4604},{},[4605,4611],{"type":45,"tag":95,"props":4606,"children":4608},{"className":4607},[],[4609],{"type":51,"value":4610},"clerk-webhooks",{"type":51,"value":4612}," - Real-time event sync",{"type":45,"tag":4614,"props":4615,"children":4616},"style",{},[4617],{"type":51,"value":4618},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":4620,"total":4803},[4621,4635,4650,4668,4676,4692,4710,4727,4743,4760,4775,4789],{"slug":8,"name":8,"fn":4622,"description":4623,"org":4624,"tags":4625,"stars":26,"repoUrl":27,"updatedAt":4634},"route Clerk authentication requests","Clerk authentication router. Use when user asks about Clerk CLI operations, adding authentication, setting up Clerk, custom sign-in flows, Swift or native iOS auth, native Android auth, Next.js patterns, React patterns, Vue patterns, Nuxt patterns, Astro patterns, TanStack Start patterns, Expo patterns, React Router patterns, Chrome Extension patterns, organizations, billing, subscriptions, payments, pricing, plans, seat-based pricing, feature entitlements, syncing users, testing, impersonating a user, or testing webhooks locally. Automatically routes to the specific skill based on their task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4626,4627,4628,4631],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4629,"slug":4630,"type":15},"Mobile","mobile",{"name":4632,"slug":4633,"type":15},"Web Development","web-development","2026-07-18T05:12:23.438307",{"slug":4636,"name":4636,"fn":4637,"description":4638,"org":4639,"tags":4640,"stars":26,"repoUrl":27,"updatedAt":4649},"clerk-android","implement Clerk auth for native Android apps","Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns. Use for prebuilt AuthView\u002FUserButton or custom API-driven auth flows. Do not use for Expo or React Native projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4641,4644,4645,4648],{"name":4642,"slug":4643,"type":15},"Android","android",{"name":9,"slug":8,"type":15},{"name":4646,"slug":4647,"type":15},"Kotlin","kotlin",{"name":4629,"slug":4630,"type":15},"2026-04-10T05:00:18.622871",{"slug":4651,"name":4651,"fn":4652,"description":4653,"org":4654,"tags":4655,"stars":26,"repoUrl":27,"updatedAt":4667},"clerk-astro-patterns","implement Clerk auth in Astro apps","Astro patterns with Clerk — middleware, SSR pages, island components, API routes, static vs SSR rendering. Triggers on: astro clerk, clerk astro middleware, astro protected page, clerk island component, astro API route auth, clerk astro SSR.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4656,4659,4660,4661,4664],{"name":4657,"slug":4658,"type":15},"Astro","astro",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},"Frontend","frontend",{"name":4665,"slug":4666,"type":15},"Serverless","serverless","2026-04-07T04:46:14.731808",{"slug":4,"name":4,"fn":5,"description":6,"org":4669,"tags":4670,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4671,4672,4673,4674,4675],{"name":24,"slug":25,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},{"slug":4677,"name":4677,"fn":4678,"description":4679,"org":4680,"tags":4681,"stars":26,"repoUrl":27,"updatedAt":4691},"clerk-billing","manage subscriptions with Clerk Billing","Clerk Billing for subscription management - render Clerk's PricingTable and in-app checkout drawer, configure subscription plans, seat-limit plans for B2B, feature entitlements with has(), and billing webhooks. Use for SaaS monetization, plan gating, checkout flows, trials, invoicing, and subscription lifecycle management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4682,4683,4684,4685,4688],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4686,"slug":4687,"type":15},"Payments","payments",{"name":4689,"slug":4690,"type":15},"SaaS","saas","2026-04-29T05:37:27.130955",{"slug":4693,"name":4693,"fn":4694,"description":4695,"org":4696,"tags":4697,"stars":26,"repoUrl":27,"updatedAt":4709},"clerk-chrome-extension-patterns","implement Clerk auth in Chrome Extensions","Chrome Extension auth with @clerk\u002Fchrome-extension -- popup\u002Fsidepanel setup, syncHost for OAuth\u002FSAML via web app, createClerkClient for service workers and headless extensions, stable CRX ID. Triggers on: Chrome extension auth, Plasmo clerk, popup sign-in, syncHost, background service worker token, createClerkClient, headless extension.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4698,4701,4702,4703,4706],{"name":4699,"slug":4700,"type":15},"Auth","auth",{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4704,"slug":4705,"type":15},"OAuth","oauth",{"name":4707,"slug":4708,"type":15},"Security","security","2026-04-07T04:46:08.489328",{"slug":4711,"name":4711,"fn":4712,"description":4713,"org":4714,"tags":4715,"stars":26,"repoUrl":27,"updatedAt":4726},"clerk-cli","manage Clerk authentication and instances via CLI","Operate the Clerk CLI (`clerk` binary) for authentication, user\u002Forg\u002Fsession management, impersonation, local webhook testing, deploy verification, instance config, env keys, feature toggles, and any Clerk Backend, Platform, or Frontend API call. Use when the user mentions Clerk management tasks, \"list clerk users\", \"impersonate a user\", \"test webhooks locally\", \"enable orgs\", \"enable billing\", \"clerk env pull\", \"clerk doctor\", \"clerk deploy\", \"clerk api\", or any ad-hoc Clerk API request. Prefer the CLI over raw HTTP: it handles auth, key resolution, app\u002Finstance targeting, and formatting automatically.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4716,4717,4718,4719,4722,4725],{"name":24,"slug":25,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4720,"slug":4721,"type":15},"CLI","cli",{"name":4723,"slug":4724,"type":15},"Deployment","deployment",{"name":4707,"slug":4708,"type":15},"2026-07-31T05:52:40.580813",{"slug":4728,"name":4728,"fn":4729,"description":4730,"org":4731,"tags":4732,"stars":26,"repoUrl":27,"updatedAt":4742},"clerk-custom-ui","customize Clerk UI and auth flows","Custom authentication flows and component appearance - hooks (useSignIn, useSignUp), themes, colors, fonts, CSS. Use for custom sign-in\u002Fsign-up flows, appearance styling, visual customization, branding.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4733,4734,4737,4738,4741],{"name":21,"slug":22,"type":15},{"name":4735,"slug":4736,"type":15},"Branding","branding",{"name":9,"slug":8,"type":15},{"name":4739,"slug":4740,"type":15},"Design","design",{"name":4662,"slug":4663,"type":15},"2026-04-10T05:00:10.109158",{"slug":4744,"name":4744,"fn":4745,"description":4746,"org":4747,"tags":4748,"stars":26,"repoUrl":27,"updatedAt":4759},"clerk-expo","implement Clerk authentication in Expo apps","Add Clerk authentication to Expo and React Native apps using @clerk\u002Fexpo. Use for Expo setup, prebuilt native components (AuthView, UserButton), custom sign-in\u002Fsign-up flows (email, password, SMS\u002Fphone OTP, MFA), OAuth\u002FSSO, native Google\u002FApple sign-in, Expo Router protected routes, biometrics, and push notifications. Do not use for native Swift\u002FiOS, native Android\u002FKotlin, or web-only framework projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4749,4750,4751,4754,4755,4756],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4752,"slug":4753,"type":15},"Expo","expo",{"name":4662,"slug":4663,"type":15},{"name":4629,"slug":4630,"type":15},{"name":4757,"slug":4758,"type":15},"React Native","react-native","2026-05-19T06:48:47.074181",{"slug":4761,"name":4761,"fn":4762,"description":4763,"org":4764,"tags":4765,"stars":26,"repoUrl":27,"updatedAt":4774},"clerk-nextjs-patterns","implement advanced Next.js patterns with Clerk","Advanced Next.js patterns - middleware, Server Actions, caching with Clerk.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4766,4767,4768,4771],{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4769,"slug":4770,"type":15},"Next.js","next-js",{"name":4772,"slug":4773,"type":15},"Performance","performance","2026-04-10T05:00:15.80215",{"slug":4776,"name":4776,"fn":4777,"description":4778,"org":4779,"tags":4780,"stars":26,"repoUrl":27,"updatedAt":4788},"clerk-nuxt-patterns","implement Clerk auth in Nuxt 3 apps","Nuxt 3 auth patterns with @clerk\u002Fnuxt - middleware, composables, server API routes, SSR. Triggers on: Nuxt auth, useAuth composable, clerkMiddleware Nuxt, server API Clerk, Nuxt route protection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4781,4782,4783,4784,4785],{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4786,"slug":4787,"type":15},"Nuxt","nuxt","2026-04-07T04:46:18.337538",{"slug":4599,"name":4599,"fn":4790,"description":4791,"org":4792,"tags":4793,"stars":26,"repoUrl":27,"updatedAt":4802},"manage Clerk Organizations for B2B SaaS","Clerk Organizations for B2B SaaS - create multi-tenant apps with org switching, role-based access, verified domains, and enterprise SSO. Use for team workspaces, RBAC, org-based routing, member management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4794,4795,4798,4801],{"name":9,"slug":8,"type":15},{"name":4796,"slug":4797,"type":15},"Multi-Tenant","multi-tenant",{"name":4799,"slug":4800,"type":15},"RBAC","rbac",{"name":4689,"slug":4690,"type":15},"2026-04-10T05:00:14.40165",20,{"items":4805,"total":4803},[4806,4813,4820,4828,4836,4844,4852],{"slug":8,"name":8,"fn":4622,"description":4623,"org":4807,"tags":4808,"stars":26,"repoUrl":27,"updatedAt":4634},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4809,4810,4811,4812],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4629,"slug":4630,"type":15},{"name":4632,"slug":4633,"type":15},{"slug":4636,"name":4636,"fn":4637,"description":4638,"org":4814,"tags":4815,"stars":26,"repoUrl":27,"updatedAt":4649},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4816,4817,4818,4819],{"name":4642,"slug":4643,"type":15},{"name":9,"slug":8,"type":15},{"name":4646,"slug":4647,"type":15},{"name":4629,"slug":4630,"type":15},{"slug":4651,"name":4651,"fn":4652,"description":4653,"org":4821,"tags":4822,"stars":26,"repoUrl":27,"updatedAt":4667},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4823,4824,4825,4826,4827],{"name":4657,"slug":4658,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4665,"slug":4666,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":4829,"tags":4830,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4831,4832,4833,4834,4835],{"name":24,"slug":25,"type":15},{"name":21,"slug":22,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},{"slug":4677,"name":4677,"fn":4678,"description":4679,"org":4837,"tags":4838,"stars":26,"repoUrl":27,"updatedAt":4691},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4839,4840,4841,4842,4843],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4686,"slug":4687,"type":15},{"name":4689,"slug":4690,"type":15},{"slug":4693,"name":4693,"fn":4694,"description":4695,"org":4845,"tags":4846,"stars":26,"repoUrl":27,"updatedAt":4709},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4847,4848,4849,4850,4851],{"name":4699,"slug":4700,"type":15},{"name":9,"slug":8,"type":15},{"name":4662,"slug":4663,"type":15},{"name":4704,"slug":4705,"type":15},{"name":4707,"slug":4708,"type":15},{"slug":4711,"name":4711,"fn":4712,"description":4713,"org":4853,"tags":4854,"stars":26,"repoUrl":27,"updatedAt":4726},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4855,4856,4857,4858,4859,4860],{"name":24,"slug":25,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":4720,"slug":4721,"type":15},{"name":4723,"slug":4724,"type":15},{"name":4707,"slug":4708,"type":15}]