API keys authenticate requests to the inference API. They are not accepted on the Admin API, which is authorised with a Strata Cloud Manager access token issued to a service account. See Admin API Authentication.The scopes below describe what an API key may do on the inference path, and what the Admin API may do on that key’s behalf.
The AI Gateway uses two types of API keys to manage access to resources and operations: Admin API Keys and Workspace API Keys. These keys play crucial roles in authenticating and authorizing various operations within your organisation and workspaces.
Workspace API Keys are scoped to a specific workspace and are used for operations within that workspace only. There are two types — Service API Keys and User API Keys — which share most scopes. The only difference is that Service API Keys can also manage other API keys within the workspace; User API Keys cannot.
Used for automated processes, backend integrations, and CI pipelines. In addition to all operational scopes, service keys can create, update, rotate, and delete other workspace API keys.
Key Management
Scope
Description
workspace_service_api_keys.create
Create new workspace service API keys
workspace_service_api_keys.read
View workspace service API key details
workspace_service_api_keys.update
Modify workspace service API keys
workspace_service_api_keys.delete
Delete workspace service API keys
workspace_service_api_keys.list
List all workspace service API keys
workspace_service_api_keys.rotate
Regenerate workspace service API keys
workspace_user_api_keys.create
Create new workspace user API keys
workspace_user_api_keys.read
View workspace user API key details
workspace_user_api_keys.update
Modify workspace user API keys
workspace_user_api_keys.delete
Delete workspace user API keys
workspace_user_api_keys.list
List all workspace user API keys
workspace_user_api_keys.rotate
Regenerate workspace user API keys
Workspace Management
Scope
Description
workspaces.read
View workspace details
workspaces.update
Modify workspace settings
workspaces.list
List available workspaces
workspace_users.create
Create new workspace users
workspace_users.read
View workspace user details
workspace_users.update
Update workspace user settings
workspace_users.delete
Remove users from workspace
workspace_users.list
List workspace users
LLM Operations
Scope
Description
completions.write
Create and manage completions (includes /chat/completions, /completions, /images, /audio)
Associated with individual users within a workspace. Identical in scope to service keys except they cannot manage other API keys — use these for personal access and user-level integrations.
Workspace Management
Scope
Description
workspaces.read
View workspace details
workspaces.update
Modify workspace settings
workspaces.list
List available workspaces
workspace_users.create
Create new workspace users
workspace_users.read
View workspace user details
workspace_users.update
Update workspace user settings
workspace_users.delete
Remove users from workspace
workspace_users.list
List workspace users
LLM Operations
Scope
Description
completions.write
Create and manage completions (includes /chat/completions, /completions, /images, /audio)
When creating or updating API keys, you can define specific permission scopes based on your security requirements:Both types of API keys play important roles in the AI Gateway’s security model, enabling secure and efficient access to resources while maintaining proper separation of concerns between organisation-wide administration and workspace-specific operations.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Portkey (Prisma AIRS AI Gateway) Docs","description":"Comprehensive documentation for AI Gateway, Guardrails, Observability, and Governance features.","colors":{"primary":"#0891B2","light":"#0891B2","dark":"#0891B2"},"logo":{"light":"https://mintcdn.com/portkey-docs/tHk-hgNjLbEj4dhh/images/portkey-PANW-company-logo-positive.png?fit=max\u0026auto=format\u0026n=tHk-hgNjLbEj4dhh\u0026q=85\u0026s=c5fb09014ff79616583b1d3bffe27450","dark":"https://mintcdn.com/portkey-docs/tHk-hgNjLbEj4dhh/images/portkey-PANW-company-logo-negative.png?fit=max\u0026auto=format\u0026n=tHk-hgNjLbEj4dhh\u0026q=85\u0026s=6025ca49ef544522f58ff471b7f75f8f"},"favicon":"https://mintcdn.com/portkey-docs/Hf1XgyjG_b79ym4Q/favicon.png?fit=max\u0026auto=format\u0026n=Hf1XgyjG_b79ym4Q\u0026q=85\u0026s=cbaa1bfc49bb6e3fd6cf499a5da313a3","api":{"openapi":"https://raw.githubusercontent.com/Portkey-AI/openapi/refs/heads/master/openapi.yaml","examples":{"prefill":true},"url":"full"},"navbar":{"links":[{"href":"https://portkey.ai/models","label":"Models"},{"href":"https://support.portkey.ai/forms/customer-portal-ticket-form","label":"Support"},{"href":"https://www.paloaltonetworks.in/ai-security/ai-gateway?utm_source=portkey\u0026utm_medium=referral\u0026utm_campaign=prisma_airs\u0026utm_content=docs_nav#contact","label":"Contact Us"}],"primary":{"type":"button","label":"Sign in","href":"https://stratacloudmanager.paloaltonetworks.com/"}},"footer":{"socials":{"x":"https://twitter.com/PortkeyAI","linkedin":"https://www.linkedin.com/company/portkey-ai","github":"https://git.new/portkey"},"links":[{"header":"For LLMs","items":[{"label":"llms.txt","href":"https://portkey.ai/docs/llms.txt"},{"label":"llms-full.txt","href":"https://portkey.ai/docs/llms-full.txt"}]},{"header":"Products","items":[{"label":"Observability","href":"https://portkey.ai/features/observability"},{"label":"AI Gateway","href":"https://portkey.ai/features/ai-gateway"},{"label":"Guardrails","href":"https://portkey.ai/features/guardrails"},{"label":"Prompt Management","href":"https://portkey.ai/features/prompt-management"},{"label":"Agents","href":"https://portkey.ai/features/agents"},{"label":"MCP Gateway","href":"https://portkey.ai/docs/product/mcp-gateway"},{"label":"Security","href":"https://portkey.ai/features/security-and-compliance"},{"label":"Auto-Instrumentation","href":"https://portkey.ai/features/auto-instrumentation"}]},{"header":"Resources","items":[{"label":"API Status","href":"https://status.portkey.ai/"},{"label":"Helm Charts","href":"https://github.com/portkey-ai/helm"},{"label":"AI Grants Finder","href":"https://grantsfinder.portkey.ai/"},{"label":"Events Calendar","href":"https://lu.ma/portkey"},{"label":"Blog","href":"https://portkey.ai/blog"},{"label":"Error Library","href":"https://portkey.ai/error-library"},{"label":"Models \u0026 Pricing","href":"https://portkey.ai/models"}]},{"header":"Company","items":[{"label":"Pricing","href":"https://portkey.ai/pricing"},{"label":"Compliances","href":"https://trust.portkey.ai/"},{"label":"Privacy Policy","href":"https://portkey.ai/privacy-policy"},{"label":"Terms of Service","href":"https://portkey.ai/terms"},{"label":"DPA","href":"https://portkey.ai/dpa"},{"label":"Cookie Policy","href":"https://portkey.ai/cookie-policy"}]}]},"seo":{"metatags":{"og:type":"website","og:site_name":"Portkey AI Gateway Docs"},"indexing":"navigable"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":true},"integrations":{"ga4":{"measurementId":"G-JJMXYE4DRL"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"toc"},"interaction":{"drilldown":true},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"portkey-docs","hasAudioNarration":false,"actualSubdomain":"portkey-docs","customDomains":["docs.portkey.ai","portkey.ai"],"gitSource":{"type":"github","owner":"portkey-ai","repo":"docs-core","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4a3f4c2eaceb0e3450b94","collectionId":"3fc5fddf-cd0a-44c8-8c84-d700aea81ada","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4a3f4c2eaceb0e3450b94"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4a3f4c2eaceb0e3450b94","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Integrations","count":699},{"language":"default","tag":"Product","count":382},{"language":"default","tag":"Docs","count":320},{"language":"default","tag":"LLM Integrations","count":307},{"language":"default","tag":"More","count":176},{"language":"default","tag":"Admin APIs","count":172},{"language":"default","tag":"Guardrails","count":101},{"language":"default","tag":"AI Gateway","count":99},{"language":"default","tag":"Admin API","count":95},{"language":"default","tag":"Documentation","count":91}],"searchSettings":{"isFiltersEnabled":true,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@portkey.ai","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#banner{background:linear-gradient(90deg,#0d1b2e 0,#1a1040 40%,#2d0f22 100%);border-bottom:1px solid rgba(255,255,255,.08)}#banner a{color:#f0f0f0;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(240,240,240,.5);padding-bottom:1px;transition:border-color .2s ease}#banner a:hover{border-bottom-color:#fff}"}],"page":{"pagePath":"aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz","slug":"/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz","pageMetadata":{"title":"API Keys (AuthN and AuthZ)","description":"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.","href":"/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,Heading,Table,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`api-keys`,children:`API Keys`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[`API keys authenticate requests to the `,_jsx(_components.strong,{children:`inference API`}),`. They are not accepted on the Admin API, which is authorised with a Strata Cloud Manager access token issued to a service account. See `,_jsx(_components.a,{href:`/aigw/api-reference/admin-api/authentication`,children:`Admin API Authentication`}),`.`]}),_jsx(_components.p,{children:`The scopes below describe what an API key may do on the inference path, and what the Admin API may do on that key’s behalf.`})]}),`\n`,_jsxs(_components.p,{children:[`The AI Gateway uses two types of API keys to manage access to resources and operations: `,_jsx(_components.strong,{children:`Admin API Keys`}),` and `,_jsx(_components.strong,{children:`Workspace API Keys`}),`. These keys play crucial roles in authenticating and authorizing various operations within your `,_jsx(_components.a,{href:`/aigw/product/enterprise-offering/org-management/organizations`,children:`organisation`}),` and `,_jsx(_components.a,{href:`/aigw/product/enterprise-offering/org-management/workspaces`,children:`workspaces`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`admin-api-keys`,children:`Admin API Keys`}),`\n`,_jsx(_components.p,{children:`Admin API Keys operate at the organisation level and provide broad access across all workspaces within an organisation.`}),`\n`,_jsx(_components.p,{children:`Key features of Admin API Keys:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Created and managed by organisation owners and admins`}),`\n`,_jsx(_components.li,{children:`Provide access to organisation-wide operations`}),`\n`,_jsx(_components.li,{children:`Can perform actions across all workspaces in the organisation`}),`\n`,_jsx(_components.li,{children:`Used for administrative tasks and integrations that require broad access`}),`\n`,_jsx(_components.li,{children:`When making updates to entities, can specify a workspace_id to target specific workspaces`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Admin API Keys should be carefully managed and their use should be limited to necessary administrative operations due to their broad scope of access.`}),`\n`,_jsx(Heading,{level:`4`,id:`admin-api-key-permission-scopes`,children:`Admin API Key Permission Scopes`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Organisation Management`,icon:`building`,id:`organisation-management`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_users.create`})}),_jsx(_components.td,{children:`Create new users in the organisation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_users.read`})}),_jsx(_components.td,{children:`View organisation user details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_users.update`})}),_jsx(_components.td,{children:`Modify organisation user settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_users.delete`})}),_jsx(_components.td,{children:`Remove users from the organisation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_users.list`})}),_jsx(_components.td,{children:`List all organisation users`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_service_api_keys.create`})}),_jsx(_components.td,{children:`Create new organisation service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_service_api_keys.update`})}),_jsx(_components.td,{children:`Modify organisation service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_service_api_keys.read`})}),_jsx(_components.td,{children:`View organisation service API key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_service_api_keys.delete`})}),_jsx(_components.td,{children:`Delete organisation service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_service_api_keys.list`})}),_jsx(_components.td,{children:`List all organisation service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_service_api_keys.rotate`})}),_jsx(_components.td,{children:`Regenerate organisation service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_settings.read`})}),_jsx(_components.td,{children:`View organisation settings, defaults, workspace overrides, and properties`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_settings.update`})}),_jsx(_components.td,{children:`Modify organisation settings, defaults, workspace overrides, and properties`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_guardrails.create`})}),_jsx(_components.td,{children:`Create organisation-level guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_guardrails.read`})}),_jsx(_components.td,{children:`View organisation guardrail details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_guardrails.update`})}),_jsx(_components.td,{children:`Modify organisation guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_guardrails.delete`})}),_jsx(_components.td,{children:`Remove organisation guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_guardrails.list`})}),_jsx(_components.td,{children:`List organisation guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_exclusions.update`})}),_jsxs(_components.td,{children:[`Exempt workspaces from `,_jsx(_components.a,{href:`/aigw/product/administration/enforce-organisation-level-guardrails#excluding-workspaces`,children:`organisation-level guardrails`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_exclusions.list`})}),_jsx(_components.td,{children:`List workspaces exempted from organisation-level guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`audit_logs.list`})}),_jsx(_components.td,{children:`Access system-wide audit logs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`plugins.create`})}),_jsx(_components.td,{children:`Create plugins`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`plugins.update`})}),_jsx(_components.td,{children:`Update plugins`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`plugins.list`})}),_jsx(_components.td,{children:`List plugins`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deployments.create`})}),_jsx(_components.td,{children:`Create new deployments`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deployments.read`})}),_jsx(_components.td,{children:`View deployment details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deployments.update`})}),_jsx(_components.td,{children:`Modify deployment settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deployments.delete`})}),_jsx(_components.td,{children:`Remove deployments`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`deployments.list`})}),_jsx(_components.td,{children:`List deployments`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret_references.create`})}),_jsx(_components.td,{children:`Create new secret references`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret_references.read`})}),_jsx(_components.td,{children:`View secret reference details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret_references.update`})}),_jsx(_components.td,{children:`Modify secret references`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret_references.delete`})}),_jsx(_components.td,{children:`Delete secret references`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secret_references.list`})}),_jsx(_components.td,{children:`List secret references`})]})]})]})}),_jsx(Accordion,{title:`Workspace Management`,icon:`folder-tree`,id:`workspace-management`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.create`})}),_jsx(_components.td,{children:`Create new workspaces`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.read`})}),_jsx(_components.td,{children:`View workspace details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.update`})}),_jsx(_components.td,{children:`Modify workspace settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.delete`})}),_jsx(_components.td,{children:`Delete workspaces`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.list`})}),_jsx(_components.td,{children:`List all workspaces`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.create`})}),_jsx(_components.td,{children:`Create new workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.update`})}),_jsx(_components.td,{children:`Modify workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.read`})}),_jsx(_components.td,{children:`View workspace service API key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.delete`})}),_jsx(_components.td,{children:`Delete workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.list`})}),_jsx(_components.td,{children:`List all workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.rotate`})}),_jsx(_components.td,{children:`Regenerate workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.create`})}),_jsx(_components.td,{children:`Create new workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.update`})}),_jsx(_components.td,{children:`Modify workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.read`})}),_jsx(_components.td,{children:`View workspace user API key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.delete`})}),_jsx(_components.td,{children:`Delete workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.list`})}),_jsx(_components.td,{children:`List all workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.rotate`})}),_jsx(_components.td,{children:`Regenerate workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.create`})}),_jsx(_components.td,{children:`Create new workspace users`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.read`})}),_jsx(_components.td,{children:`View workspace user details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.update`})}),_jsx(_components.td,{children:`Update workspace user settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.delete`})}),_jsx(_components.td,{children:`Remove users from workspace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.list`})}),_jsx(_components.td,{children:`List workspace users`})]})]})]})}),_jsx(Accordion,{title:`Resource Management`,icon:`screwdriver-wrench`,id:`resource-management`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.create`})}),_jsx(_components.td,{children:`Create new prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.read`})}),_jsx(_components.td,{children:`View prompt template details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.update`})}),_jsx(_components.td,{children:`Modify existing prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.delete`})}),_jsx(_components.td,{children:`Delete prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.list`})}),_jsx(_components.td,{children:`List available prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.publish`})}),_jsx(_components.td,{children:`Publish prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.create`})}),_jsx(_components.td,{children:`Create new configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.update`})}),_jsx(_components.td,{children:`Update existing configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.delete`})}),_jsx(_components.td,{children:`Delete configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.read`})}),_jsx(_components.td,{children:`View configuration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.list`})}),_jsx(_components.td,{children:`List available configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.create`})}),_jsx(_components.td,{children:`Create new guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.read`})}),_jsx(_components.td,{children:`View guardrail details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.update`})}),_jsx(_components.td,{children:`Modify existing guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.delete`})}),_jsx(_components.td,{children:`Delete guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.list`})}),_jsx(_components.td,{children:`List available guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.create`})}),_jsx(_components.td,{children:`Create new virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.read`})}),_jsx(_components.td,{children:`View virtual key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.update`})}),_jsx(_components.td,{children:`Modify existing virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.delete`})}),_jsx(_components.td,{children:`Delete virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.list`})}),_jsx(_components.td,{children:`List available virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.duplicate`})}),_jsx(_components.td,{children:`Duplicate virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.copy`})}),_jsx(_components.td,{children:`Copy virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.create`})}),_jsx(_components.td,{children:`Create new providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.read`})}),_jsx(_components.td,{children:`View provider details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.update`})}),_jsx(_components.td,{children:`Update existing providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.delete`})}),_jsx(_components.td,{children:`Delete providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.list`})}),_jsx(_components.td,{children:`List available providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.create`})}),_jsx(_components.td,{children:`Create policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.read`})}),_jsx(_components.td,{children:`View policy details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.update`})}),_jsx(_components.td,{children:`Update policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.delete`})}),_jsx(_components.td,{children:`Delete policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.list`})}),_jsx(_components.td,{children:`List policies`})]})]})]})}),_jsx(Accordion,{title:`Integrations`,icon:`plug`,id:`integrations`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.create`})}),_jsx(_components.td,{children:`Create organisation-level integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.read`})}),_jsx(_components.td,{children:`View organisation integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.update`})}),_jsx(_components.td,{children:`Update organisation integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.delete`})}),_jsx(_components.td,{children:`Delete organisation integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.list`})}),_jsx(_components.td,{children:`List organisation integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.create`})}),_jsx(_components.td,{children:`Create organisation MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.read`})}),_jsx(_components.td,{children:`View organisation MCP integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.update`})}),_jsx(_components.td,{children:`Update organisation MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.delete`})}),_jsx(_components.td,{children:`Delete organisation MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.list`})}),_jsx(_components.td,{children:`List organisation MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.create`})}),_jsx(_components.td,{children:`Create organisation agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.read`})}),_jsx(_components.td,{children:`View organisation agent integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.update`})}),_jsx(_components.td,{children:`Update organisation agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.delete`})}),_jsx(_components.td,{children:`Delete organisation agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.list`})}),_jsx(_components.td,{children:`List organisation agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.create`})}),_jsx(_components.td,{children:`Create workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.read`})}),_jsx(_components.td,{children:`View workspace integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.update`})}),_jsx(_components.td,{children:`Update workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.list`})}),_jsx(_components.td,{children:`List workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.create`})}),_jsx(_components.td,{children:`Create workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.read`})}),_jsx(_components.td,{children:`View workspace MCP integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.update`})}),_jsx(_components.td,{children:`Update workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.list`})}),_jsx(_components.td,{children:`List workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.create`})}),_jsx(_components.td,{children:`Create workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.read`})}),_jsx(_components.td,{children:`View workspace agent integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.update`})}),_jsx(_components.td,{children:`Update workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.list`})}),_jsx(_components.td,{children:`List workspace agent integrations`})]})]})]})}),_jsx(Accordion,{title:`AI \u0026 Agent Gateway`,icon:`robot`,id:`ai-and-agent-gateway`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.create`})}),_jsx(_components.td,{children:`Create agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.read`})}),_jsx(_components.td,{children:`View agent server details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.update`})}),_jsx(_components.td,{children:`Update agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.delete`})}),_jsx(_components.td,{children:`Delete agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.list`})}),_jsx(_components.td,{children:`List agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.create`})}),_jsx(_components.td,{children:`Create MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.read`})}),_jsx(_components.td,{children:`View MCP server details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.update`})}),_jsx(_components.td,{children:`Update MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.delete`})}),_jsx(_components.td,{children:`Delete MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.list`})}),_jsx(_components.td,{children:`List MCP servers`})]})]})]})}),_jsx(Accordion,{title:`Analytics and Logs`,icon:`chart-line`,id:`analytics-and-logs`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`analytics.view`})}),_jsx(_components.td,{children:`Access analytics data`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.export`})}),_jsx(_components.td,{children:`Export logs to external systems`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.list`})}),_jsx(_components.td,{children:`List available logs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.view`})}),_jsx(_components.td,{children:`View log details`})]})]})]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`workspace-api-keys`,children:`Workspace API Keys`}),`\n`,_jsx(_components.p,{children:`Workspace API Keys are scoped to a specific workspace and are used for operations within that workspace only. There are two types — Service API Keys and User API Keys — which share most scopes. The only difference is that Service API Keys can also manage other API keys within the workspace; User API Keys cannot.`}),`\n`,_jsx(Heading,{level:`4`,id:`workspace-service-api-keys`,children:`Workspace Service API Keys`}),`\n`,_jsx(_components.p,{children:`Used for automated processes, backend integrations, and CI pipelines. In addition to all operational scopes, service keys can create, update, rotate, and delete other workspace API keys.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Key Management`,icon:`key`,id:`key-management`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.create`})}),_jsx(_components.td,{children:`Create new workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.read`})}),_jsx(_components.td,{children:`View workspace service API key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.update`})}),_jsx(_components.td,{children:`Modify workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.delete`})}),_jsx(_components.td,{children:`Delete workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.list`})}),_jsx(_components.td,{children:`List all workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_service_api_keys.rotate`})}),_jsx(_components.td,{children:`Regenerate workspace service API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.create`})}),_jsx(_components.td,{children:`Create new workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.read`})}),_jsx(_components.td,{children:`View workspace user API key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.update`})}),_jsx(_components.td,{children:`Modify workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.delete`})}),_jsx(_components.td,{children:`Delete workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.list`})}),_jsx(_components.td,{children:`List all workspace user API keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_user_api_keys.rotate`})}),_jsx(_components.td,{children:`Regenerate workspace user API keys`})]})]})]})}),_jsx(Accordion,{title:`Workspace Management`,icon:`folder-tree`,id:`workspace-management-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.read`})}),_jsx(_components.td,{children:`View workspace details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.update`})}),_jsx(_components.td,{children:`Modify workspace settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.list`})}),_jsx(_components.td,{children:`List available workspaces`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.create`})}),_jsx(_components.td,{children:`Create new workspace users`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.read`})}),_jsx(_components.td,{children:`View workspace user details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.update`})}),_jsx(_components.td,{children:`Update workspace user settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.delete`})}),_jsx(_components.td,{children:`Remove users from workspace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.list`})}),_jsx(_components.td,{children:`List workspace users`})]})]})]})}),_jsx(Accordion,{title:`LLM Operations`,icon:`microchip`,id:`llm-operations`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`completions.write`})}),_jsx(_components.td,{children:`Create and manage completions (includes /chat/completions, /completions, /images, /audio)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.create`})}),_jsx(_components.td,{children:`Create new prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.read`})}),_jsx(_components.td,{children:`View prompt template details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.update`})}),_jsx(_components.td,{children:`Modify existing prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.delete`})}),_jsx(_components.td,{children:`Delete prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.list`})}),_jsx(_components.td,{children:`List available prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.publish`})}),_jsx(_components.td,{children:`Publish prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.render`})}),_jsx(_components.td,{children:`Render prompt templates`})]})]})]})}),_jsx(Accordion,{title:`MCP Gateway`,icon:`network-wired`,id:`mcp-gateway`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp.invoke`})}),_jsx(_components.td,{children:`Call MCP gateway methods`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.create`})}),_jsx(_components.td,{children:`Create MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.read`})}),_jsx(_components.td,{children:`View MCP server details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.update`})}),_jsx(_components.td,{children:`Update MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.delete`})}),_jsx(_components.td,{children:`Delete MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.list`})}),_jsx(_components.td,{children:`List MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.create`})}),_jsx(_components.td,{children:`Create workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.read`})}),_jsx(_components.td,{children:`View workspace MCP integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.update`})}),_jsx(_components.td,{children:`Update workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.list`})}),_jsx(_components.td,{children:`List workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.list`})}),_jsx(_components.td,{children:`List organisation MCP integrations`})]})]})]})}),_jsx(Accordion,{title:`Agent Gateway`,icon:`robot`,id:`agent-gateway`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agents.invoke`})}),_jsx(_components.td,{children:`Invoke agents`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.create`})}),_jsx(_components.td,{children:`Create agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.read`})}),_jsx(_components.td,{children:`View agent server details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.update`})}),_jsx(_components.td,{children:`Update agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.delete`})}),_jsx(_components.td,{children:`Delete agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.list`})}),_jsx(_components.td,{children:`List agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.create`})}),_jsx(_components.td,{children:`Create workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.read`})}),_jsx(_components.td,{children:`View workspace agent integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.update`})}),_jsx(_components.td,{children:`Update workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.list`})}),_jsx(_components.td,{children:`List workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.list`})}),_jsx(_components.td,{children:`List organisation agent integrations`})]})]})]})}),_jsx(Accordion,{title:`Resources`,icon:`server`,id:`resources`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.create`})}),_jsx(_components.td,{children:`Create new configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.update`})}),_jsx(_components.td,{children:`Update existing configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.delete`})}),_jsx(_components.td,{children:`Delete configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.read`})}),_jsx(_components.td,{children:`View configuration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.list`})}),_jsx(_components.td,{children:`List available configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.create`})}),_jsx(_components.td,{children:`Create new guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.read`})}),_jsx(_components.td,{children:`View guardrail details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.update`})}),_jsx(_components.td,{children:`Modify existing guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.delete`})}),_jsx(_components.td,{children:`Delete guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.list`})}),_jsx(_components.td,{children:`List available guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.invoke`})}),_jsx(_components.td,{children:`Invoke guardrails directly`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.create`})}),_jsx(_components.td,{children:`Create new virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.read`})}),_jsx(_components.td,{children:`View virtual key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.update`})}),_jsx(_components.td,{children:`Modify existing virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.delete`})}),_jsx(_components.td,{children:`Delete virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.list`})}),_jsx(_components.td,{children:`List available virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.duplicate`})}),_jsx(_components.td,{children:`Duplicate virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.copy`})}),_jsx(_components.td,{children:`Copy virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.create`})}),_jsx(_components.td,{children:`Create new providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.read`})}),_jsx(_components.td,{children:`View provider details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.update`})}),_jsx(_components.td,{children:`Update existing providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.delete`})}),_jsx(_components.td,{children:`Delete providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.list`})}),_jsx(_components.td,{children:`List available providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.create`})}),_jsx(_components.td,{children:`Create policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.read`})}),_jsx(_components.td,{children:`View policy details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.update`})}),_jsx(_components.td,{children:`Update policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.delete`})}),_jsx(_components.td,{children:`Delete policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.list`})}),_jsx(_components.td,{children:`List policies`})]})]})]})}),_jsx(Accordion,{title:`Integrations`,icon:`plug`,id:`integrations-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.create`})}),_jsx(_components.td,{children:`Create workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.read`})}),_jsx(_components.td,{children:`View workspace integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.update`})}),_jsx(_components.td,{children:`Update workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.list`})}),_jsx(_components.td,{children:`List workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.list`})}),_jsx(_components.td,{children:`List organisation integrations`})]})]})]})}),_jsx(Accordion,{title:`Analytics and Logs`,icon:`chart-line`,id:`analytics-and-logs-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`analytics.view`})}),_jsx(_components.td,{children:`Access analytics data`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.export`})}),_jsx(_components.td,{children:`Export logs to external systems`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.list`})}),_jsx(_components.td,{children:`List available logs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.view`})}),_jsx(_components.td,{children:`View log details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.write`})}),_jsx(_components.td,{children:`Create and modify logs`})]})]})]})})]}),`\n`,_jsx(Heading,{level:`4`,id:`workspace-user-api-keys`,children:`Workspace User API Keys`}),`\n`,_jsx(_components.p,{children:`Associated with individual users within a workspace. Identical in scope to service keys except they cannot manage other API keys — use these for personal access and user-level integrations.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Workspace Management`,icon:`folder-tree`,id:`workspace-management-2`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.read`})}),_jsx(_components.td,{children:`View workspace details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.update`})}),_jsx(_components.td,{children:`Modify workspace settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspaces.list`})}),_jsx(_components.td,{children:`List available workspaces`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.create`})}),_jsx(_components.td,{children:`Create new workspace users`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.read`})}),_jsx(_components.td,{children:`View workspace user details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.update`})}),_jsx(_components.td,{children:`Update workspace user settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.delete`})}),_jsx(_components.td,{children:`Remove users from workspace`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_users.list`})}),_jsx(_components.td,{children:`List workspace users`})]})]})]})}),_jsx(Accordion,{title:`LLM Operations`,icon:`microchip`,id:`llm-operations-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`completions.write`})}),_jsx(_components.td,{children:`Create and manage completions (includes /chat/completions, /completions, /images, /audio)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.create`})}),_jsx(_components.td,{children:`Create new prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.read`})}),_jsx(_components.td,{children:`View prompt template details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.update`})}),_jsx(_components.td,{children:`Modify existing prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.delete`})}),_jsx(_components.td,{children:`Delete prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.list`})}),_jsx(_components.td,{children:`List available prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.publish`})}),_jsx(_components.td,{children:`Publish prompt templates`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompts.render`})}),_jsx(_components.td,{children:`Render prompt templates`})]})]})]})}),_jsx(Accordion,{title:`MCP Gateway`,icon:`network-wired`,id:`mcp-gateway-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp.invoke`})}),_jsx(_components.td,{children:`Call MCP gateway methods`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.create`})}),_jsx(_components.td,{children:`Create MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.read`})}),_jsx(_components.td,{children:`View MCP server details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.update`})}),_jsx(_components.td,{children:`Update MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.delete`})}),_jsx(_components.td,{children:`Delete MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mcp_servers.list`})}),_jsx(_components.td,{children:`List MCP servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.create`})}),_jsx(_components.td,{children:`Create workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.read`})}),_jsx(_components.td,{children:`View workspace MCP integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.update`})}),_jsx(_components.td,{children:`Update workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_mcp_integrations.list`})}),_jsx(_components.td,{children:`List workspace MCP integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_mcp_integrations.list`})}),_jsx(_components.td,{children:`List organisation MCP integrations`})]})]})]})}),_jsx(Accordion,{title:`Agent Gateway`,icon:`robot`,id:`agent-gateway-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agents.invoke`})}),_jsx(_components.td,{children:`Invoke agents`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.create`})}),_jsx(_components.td,{children:`Create agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.read`})}),_jsx(_components.td,{children:`View agent server details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.update`})}),_jsx(_components.td,{children:`Update agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.delete`})}),_jsx(_components.td,{children:`Delete agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`agent_servers.list`})}),_jsx(_components.td,{children:`List agent servers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.create`})}),_jsx(_components.td,{children:`Create workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.read`})}),_jsx(_components.td,{children:`View workspace agent integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.update`})}),_jsx(_components.td,{children:`Update workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_agent_integrations.list`})}),_jsx(_components.td,{children:`List workspace agent integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_agent_integrations.list`})}),_jsx(_components.td,{children:`List organisation agent integrations`})]})]})]})}),_jsx(Accordion,{title:`Resources`,icon:`server`,id:`resources-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.create`})}),_jsx(_components.td,{children:`Create new configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.update`})}),_jsx(_components.td,{children:`Update existing configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.delete`})}),_jsx(_components.td,{children:`Delete configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.read`})}),_jsx(_components.td,{children:`View configuration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configs.list`})}),_jsx(_components.td,{children:`List available configurations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.create`})}),_jsx(_components.td,{children:`Create new guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.read`})}),_jsx(_components.td,{children:`View guardrail details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.update`})}),_jsx(_components.td,{children:`Modify existing guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.delete`})}),_jsx(_components.td,{children:`Delete guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.list`})}),_jsx(_components.td,{children:`List available guardrails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guardrails.invoke`})}),_jsx(_components.td,{children:`Invoke guardrails directly`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.create`})}),_jsx(_components.td,{children:`Create new virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.read`})}),_jsx(_components.td,{children:`View virtual key details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.update`})}),_jsx(_components.td,{children:`Modify existing virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.delete`})}),_jsx(_components.td,{children:`Delete virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.list`})}),_jsx(_components.td,{children:`List available virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.duplicate`})}),_jsx(_components.td,{children:`Duplicate virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`virtual_keys.copy`})}),_jsx(_components.td,{children:`Copy virtual keys`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.create`})}),_jsx(_components.td,{children:`Create new providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.read`})}),_jsx(_components.td,{children:`View provider details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.update`})}),_jsx(_components.td,{children:`Update existing providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.delete`})}),_jsx(_components.td,{children:`Delete providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers.list`})}),_jsx(_components.td,{children:`List available providers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.create`})}),_jsx(_components.td,{children:`Create policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.read`})}),_jsx(_components.td,{children:`View policy details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.update`})}),_jsx(_components.td,{children:`Update policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.delete`})}),_jsx(_components.td,{children:`Delete policies`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`policies.list`})}),_jsx(_components.td,{children:`List policies`})]})]})]})}),_jsx(Accordion,{title:`Integrations`,icon:`plug`,id:`integrations-2`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.create`})}),_jsx(_components.td,{children:`Create workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.read`})}),_jsx(_components.td,{children:`View workspace integration details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.update`})}),_jsx(_components.td,{children:`Update workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.delete`})}),_jsx(_components.td,{children:`Delete workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workspace_integrations.list`})}),_jsx(_components.td,{children:`List workspace integrations`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`organisation_integrations.list`})}),_jsx(_components.td,{children:`List organisation integrations`})]})]})]})}),_jsx(Accordion,{title:`Analytics and Logs`,icon:`chart-line`,id:`analytics-and-logs-2`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`analytics.view`})}),_jsx(_components.td,{children:`Access analytics data`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.export`})}),_jsx(_components.td,{children:`Export logs to external systems`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.list`})}),_jsx(_components.td,{children:`List available logs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.view`})}),_jsx(_components.td,{children:`View log details`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`logs.write`})}),_jsx(_components.td,{children:`Create and modify logs`})]})]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`using-api-key-scopes`,children:`Using API Key Scopes`}),`\n`,_jsx(_components.p,{children:`When creating or updating API keys, you can define specific permission scopes based on your security requirements:`}),`\n`,_jsx(_components.p,{children:`Both types of API keys play important roles in the AI Gateway’s security model, enabling secure and efficient access to resources while maintaining proper separation of concerns between organisation-wide administration and workspace-specific operations.`}),`\n`,_jsx(Heading,{level:`3`,id:`related-topics`,children:`Related Topics`}),`\n`,_jsx(Card,{title:`Admin API Authentication`,href:`/aigw/api-reference/admin-api/authentication`}),`\n`,_jsx(Card,{title:`Organisations`,href:`/aigw/product/enterprise-offering/org-management/organizations`}),`\n`,_jsx(Card,{title:`Workspaces`,href:`/aigw/product/enterprise-offering/org-management/workspaces`}),`\n`,_jsx(Card,{title:`User Roles \u0026 Permissions`,href:`/aigw/product/enterprise-offering/org-management/user-roles-and-permissions`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"API Keys (AuthN and AuthZ)","description":"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.","href":"/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"API Keys","slug":"api-keys","depth":2,"children":[{"title":"Admin API Keys","slug":"admin-api-keys","depth":3,"children":[]},{"title":"Admin API Key Permission Scopes","slug":"admin-api-key-permission-scopes","depth":4,"children":[]},{"title":"Workspace API Keys","slug":"workspace-api-keys","depth":3,"children":[]},{"title":"Workspace Service API Keys","slug":"workspace-service-api-keys","depth":4,"children":[]},{"title":"Workspace User API Keys","slug":"workspace-user-api-keys","depth":4,"children":[]}]},{"title":"Using API Key Scopes","slug":"using-api-key-scopes","depth":2,"children":[{"title":"Related Topics","slug":"related-topics","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"portkey-docs","siteName":"Portkey (Prisma AIRS AI Gateway) Docs","title":"API Keys (AuthN and AuthZ) - Portkey (Prisma AIRS AI Gateway) Docs","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"contextualStarterQuestions":[{"_id":"6ab0bd594480cd3814e71ffb","deploymentId":"67086365a151447bf2fa5021","questionText":"What are Admin API Keys used for?","status":"active","generatedBy":"contextual","path":"aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz","createdAt":"2026-09-21T05:15:05.252Z","updatedAt":"2026-09-21T05:15:05.252Z","__v":0},{"_id":"6ab0bd594480cd3814e71ffc","deploymentId":"67086365a151447bf2fa5021","questionText":"How do Workspace API Keys differ?","status":"active","generatedBy":"contextual","path":"aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz","createdAt":"2026-09-21T05:15:05.252Z","updatedAt":"2026-09-21T05:15:05.252Z","__v":0},{"_id":"6ab0bd594480cd3814e71ffd","deploymentId":"67086365a151447bf2fa5021","questionText":"What can I do with scopes?","status":"active","generatedBy":"contextual","path":"aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz","createdAt":"2026-09-21T05:15:05.252Z","updatedAt":"2026-09-21T05:15:05.252Z","__v":0}],"navMaps":{"firstHrefInVersion":{"Latest":{"href":"/product/enterprise-offering/org-management/api-keys-authn-and-authz","matchLevel":1},"Prisma AIRS":{"href":"/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz","matchLevel":0},"Virtual Keys (Deprecated)":{"href":"/virtual_key_old/product/enterprise-offering/org-management/api-keys-authn-and-authz","matchLevel":1}},"firstHrefInLanguage":{}},"lastModified":"2026-09-21T05:14:25.772Z","gitLastModified":"2026-09-21T05:13:17.000Z","originalFileLocation":"aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Portkey (Prisma AIRS AI Gateway) Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"API Keys (AuthN and AuthZ) - Portkey (Prisma AIRS AI Gateway) Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Portkey AI Gateway Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://portkey-docs.mintlify.app/_mintlify/api/og/v2?division=Security+Keys\u0026amp;title=API+Keys+%28AuthN+and+AuthZ%29\u0026amp;description=Discover+how+Admin+and+Workspace+API+Keys+are+used+to+manage+access+and+operations+in+Prisma+AIRS+AI+Gateway.\u0026amp;theme=262137c9f2583e48984715e7\u0026amp;signature=b646528539677c9d2494b10d8a78abc763888b3b3f453b0b7cf265a57226f74f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"API Keys (AuthN and AuthZ) - Portkey (Prisma AIRS AI Gateway) Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://portkey-docs.mintlify.app/_mintlify/api/og/v2?division=Security+Keys\u0026amp;title=API+Keys+%28AuthN+and+AuthZ%29\u0026amp;description=Discover+how+Admin+and+Workspace+API+Keys+are+used+to+manage+access+and+operations+in+Prisma+AIRS+AI+Gateway.\u0026amp;theme=262137c9f2583e48984715e7\u0026amp;signature=b646528539677c9d2494b10d8a78abc763888b3b3f453b0b7cf265a57226f74f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/portkey-docs/9Whrk-8bCE6hyGSn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Portkey (Prisma AIRS AI Gateway) Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0891B2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.portkey.ai/#organization\",\"name\":\"Portkey (Prisma AIRS AI Gateway) Docs\",\"url\":\"https://docs.portkey.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/portkey-docs/tHk-hgNjLbEj4dhh/images/portkey-PANW-company-logo-positive.png?fit=max\u0026auto=format\u0026n=tHk-hgNjLbEj4dhh\u0026q=85\u0026s=c5fb09014ff79616583b1d3bffe27450\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.portkey.ai/docs#website\",\"name\":\"Portkey (Prisma AIRS AI Gateway) Docs\",\"url\":\"https://docs.portkey.ai/docs\",\"publisher\":{\"@id\":\"https://docs.portkey.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz#webpage\",\"url\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz\",\"name\":\"API Keys (AuthN and AuthZ)\",\"description\":\"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.\",\"dateModified\":\"2026-09-21T05:13:17.000Z\",\"isPartOf\":{\"@id\":\"https://docs.portkey.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Product\",\"item\":\"https://docs.portkey.ai/docs/aigw/product/ai-gateway\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Keys (AuthN and AuthZ)\",\"item\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz#article\",\"headline\":\"API Keys (AuthN and AuthZ)\",\"name\":\"API Keys (AuthN and AuthZ)\",\"description\":\"Discover how Admin and Workspace API Keys are used to manage access and operations in Prisma AIRS AI Gateway.\",\"url\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz\",\"mainEntityOfPage\":{\"@id\":\"https://docs.portkey.ai/docs/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz#webpage\"},\"dateModified\":\"2026-09-21T05:13:17.000Z\",\"publisher\":{\"@id\":\"https://docs.portkey.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.portkey.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Portkey (Prisma AIRS AI Gateway) Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Portkey (Prisma AIRS AI Gateway) Docs","nav":{"global":null,"versions":[{"version":"Latest","pages":[{"title":"Latest","href":"/product/enterprise-offering/org-management/api-keys-authn-and-authz"}]},{"version":"Prisma AIRS","tabs":[{"tab":"Docs","groups":[{"group":"Introduction","pages":[{"title":"Welcome","sidebarTitle":"Welcome","href":"/aigw/introduction/welcome"},{"title":"Simple Setup","sidebarTitle":"Simple Setup","href":"/aigw/introduction/simple-setup"},{"title":"Features","sidebarTitle":"Features","href":"/aigw/introduction/feature-overview"}]},{"group":"Product","pages":[{"group":"AI Gateway","pages":[{"title":"AI Gateway","href":"/aigw/product/ai-gateway"},{"group":"Universal API","pages":[{"title":"Universal API","sidebarTitle":"Overview","href":"/aigw/product/ai-gateway/universal-api"},{"title":"Chat Completions","href":"/aigw/product/ai-gateway/chat-completions"},{"title":"Messages","href":"/aigw/product/ai-gateway/messages-api"},{"title":"Open Responses","href":"/aigw/product/ai-gateway/responses-api"},{"title":"Decisions","href":"/aigw/product/ai-gateway/decisions-api"}]},{"title":"Configs","href":"/aigw/product/ai-gateway/configs"},{"title":"Custom hosts","href":"/aigw/product/ai-gateway/custom-hosts"},{"title":"Remote MCP","href":"/aigw/product/ai-gateway/remote-mcp"},{"title":"Beta Features","href":"/aigw/product/ai-gateway/beta-features"},{"title":"Conditional Routing","href":"/aigw/product/ai-gateway/conditional-routing"},{"group":"Multimodal Capabilities","pages":[{"title":"Multimodal Capabilities","href":"/aigw/product/ai-gateway/multimodal-capabilities"},{"title":"Image Generation","href":"/aigw/product/ai-gateway/multimodal-capabilities/image-generation"},{"title":"Function Calling","href":"/aigw/product/ai-gateway/multimodal-capabilities/function-calling"},{"title":"Vision","href":"/aigw/product/ai-gateway/multimodal-capabilities/vision"},{"title":"Text-to-Speech","href":"/aigw/product/ai-gateway/multimodal-capabilities/text-to-speech"},{"title":"Speech-to-Text","href":"/aigw/product/ai-gateway/multimodal-capabilities/speech-to-text"},{"title":"Thinking Mode","href":"/aigw/product/ai-gateway/multimodal-capabilities/thinking-mode"}]},{"title":"Cache (Simple \u0026 Semantic)","href":"/aigw/product/ai-gateway/cache-simple-and-semantic"},{"title":"Fallbacks","href":"/aigw/product/ai-gateway/fallbacks"},{"title":"Automatic Retries","href":"/aigw/product/ai-gateway/automatic-retries"},{"title":"Circuit Breaker","href":"/aigw/product/ai-gateway/circuit-breaker"},{"title":"Realtime API","href":"/aigw/product/ai-gateway/realtime-api"},{"title":"gRPC (Beta)","href":"/aigw/product/ai-gateway/grpc"},{"title":"Load Balancing","href":"/aigw/product/ai-gateway/load-balancing"},{"title":"Canary Testing","href":"/aigw/product/ai-gateway/canary-testing"},{"title":"Strict OpenAI Compliance","href":"/aigw/product/ai-gateway/strict-open-ai-compliance"},{"group":"Virtual Keys [Deprecated]","pages":[{"title":"Virtual Keys","href":"/aigw/product/ai-gateway/virtual-keys"},{"title":"Budget Limits","href":"/aigw/product/ai-gateway/virtual-keys/budget-limits"},{"title":"Rate Limits","href":"/aigw/product/ai-gateway/virtual-keys/rate-limits"},{"title":"Connect Bedrock with Amazon Assumed Role","href":"/aigw/product/ai-gateway/virtual-keys/bedrock-amazon-assumed-role"}]},{"title":"Request Timeouts","href":"/aigw/product/ai-gateway/request-timeouts"},{"title":"Files","href":"/aigw/product/ai-gateway/files"},{"title":"Unified Batch Inference","href":"/aigw/product/ai-gateway/batches"},{"title":"Fine-tuning","href":"/aigw/product/ai-gateway/fine-tuning"},{"title":"Nitro Mode (Beta)","href":"/aigw/product/ai-gateway/nitro-mode"}]},{"group":"MCP Gateway","pages":[{"title":"MCP Gateway","href":"/aigw/product/mcp-gateway"},{"title":"Quickstart","href":"/aigw/product/mcp-gateway/quickstart"},{"group":"MCP Registry","pages":[{"title":"MCP Registry","href":"/aigw/product/mcp-gateway/mcp-registry"},{"title":"Add Internal MCP Servers","href":"/aigw/product/mcp-gateway/internal-mcp-servers"},{"title":"Add External MCP Servers","href":"/aigw/product/mcp-gateway/external-mcp-servers"},{"title":"Registry API (Beta)","tag":"Beta","href":"/aigw/product/mcp-gateway/registry-api"},{"title":"MCP Advanced Configuration","href":"/aigw/product/mcp-gateway/advanced-configuration"}]},{"title":"Using MCP Servers","href":"/aigw/product/mcp-gateway/using-mcp-servers"},{"title":"Team Provisioning","href":"/aigw/product/mcp-gateway/access-control"},{"title":"Tool Provisioning","href":"/aigw/product/mcp-gateway/tool-provisioning"},{"group":"Authentication","pages":[{"title":"Authentication","href":"/aigw/product/mcp-gateway/authentication"},{"title":"OAuth","href":"/aigw/product/mcp-gateway/authentication/oauth"},{"title":"OAuth in SCM","sidebarTitle":"OAuth (SCM)","href":"/aigw/product/mcp-gateway/authentication/cas"},{"title":"Bring Your Own Auth","href":"/aigw/product/mcp-gateway/authentication/external-oauth"},{"title":"Identity Forwarding","href":"/aigw/product/mcp-gateway/authentication/identity-forwarding"},{"title":"JWT Validation","href":"/aigw/product/mcp-gateway/authentication/jwt"},{"title":"OAuth Client Metadata","href":"/aigw/product/mcp-gateway/authentication/oauth-client-metadata"},{"title":"Forwarding Headers","href":"/aigw/product/mcp-gateway/authentication/forwarding-headers"},{"title":"Custom Auth","href":"/aigw/product/mcp-gateway/authentication/custom-auth"}]},{"title":"Authorization","href":"/aigw/product/mcp-gateway/authorization"},{"title":"Observability","href":"/aigw/product/mcp-gateway/observability"},{"title":"Integrations","href":"/aigw/product/mcp-gateway/integrations"},{"title":"Guardrails","href":"/aigw/product/mcp-gateway/guardrails"},{"group":"Reliability","pages":[{"title":"Rate Limits","href":"/aigw/product/mcp-gateway/rate-limits"},{"title":"Circuit Breakers","href":"/aigw/product/mcp-gateway/circuit-breakers"}]}]},{"group":"Agent Gateway","pages":[{"title":"Agent Gateway","href":"/aigw/product/agent-gateway"},{"title":"Quickstart","href":"/aigw/product/agent-gateway/quickstart"},{"title":"Agent Registry","href":"/aigw/product/agent-gateway/registry"},{"title":"Agent Servers","href":"/aigw/product/agent-gateway/servers"},{"title":"Advanced code snippets and examples","href":"/aigw/product/agent-gateway/advanced-code-snippets-and-examples"}]},{"group":"Coding Agents","pages":[{"title":"Coding Agents","href":"/aigw/product/coding-agent"}]},{"group":"Observability","pages":[{"title":"Observability (OpenTelemetry)","href":"/aigw/product/observability"},{"title":"Logs","href":"/aigw/product/observability/logs"},{"title":"Tracing","href":"/aigw/product/observability/traces"},{"title":"Analytics","href":"/aigw/product/observability/analytics"},{"title":"Feedback","href":"/aigw/product/observability/feedback"},{"title":"Metadata","href":"/aigw/product/observability/metadata"},{"title":"Filters","href":"/aigw/product/observability/filters"},{"title":"Logs Export","href":"/aigw/product/observability/logs-export"},{"title":"Model Pricing and Cost Management","href":"/aigw/product/observability/cost-management"},{"title":"Auto-Instrumentation [BETA]","href":"/aigw/product/observability/auto-instrumentation"},{"title":"Configure Request Logging","href":"/aigw/product/administration/configuring-request-logging"},{"group":"OpenTelemetry","pages":[{"title":"OpenTelemetry for LLM Observability","href":"/aigw/product/observability/opentelemetry"},{"title":"Supported OTel Libraries","href":"/aigw/product/observability/opentelemetry/list-of-supported-otel-instrumenters"}]},{"group":"OTel Export","pages":[{"title":"OpenTelemetry(OTel) Export","sidebarTitle":"OTel Export","href":"/aigw/product/enterprise-offering/otel/otel"},{"title":"Analytics Export","sidebarTitle":"Analytics","href":"/aigw/product/enterprise-offering/otel/analytics"},{"title":"Complete Logs Export","sidebarTitle":"Complete Logs","href":"/aigw/product/enterprise-offering/otel/complete-logs"}]}]},{"group":"Catalogs","pages":[{"group":"LLMs","pages":[{"title":"LLM Catalog","sidebarTitle":"LLMs","href":"/aigw/product/catalogs/llms"},{"title":"Model Catalog","sidebarTitle":"Model Catalog","href":"/aigw/product/model-catalog"},{"title":"Prisma AIRS AI Gateway Models","api":"GET https://aigw.portkey.ai/model-configs/pricing/{provider}/{model}","href":"/aigw/product/model-catalog/gateway-models"},{"title":"Adding Custom Models","href":"/aigw/product/model-catalog/custom-models"},{"title":"Adding Pricing Adjustments","href":"/aigw/product/model-catalog/pricing-adjustments"},{"title":"Overriding Model Details","href":"/aigw/product/model-catalog/model-overrides"},{"title":"Connect Bedrock with Amazon Assumed Role","href":"/aigw/product/model-catalog/connect-bedrock-with-amazon-assumed-role"}]},{"title":"MCP Catalog","sidebarTitle":"MCPs","href":"/aigw/product/catalogs/mcps"},{"title":"Agent Catalog","sidebarTitle":"Agents","description":"Every agent registered with the Agent Gateway, and the skills each one exposes.","href":"/aigw/product/catalogs/agents"}]},{"group":"Security Keys","pages":[{"title":"API Keys (AuthN and AuthZ)","href":"/aigw/product/enterprise-offering/org-management/api-keys-authn-and-authz"},{"title":"API Key Rotation","description":"Periodically replace API key secrets without downtime using manual or automatic rotation with configurable transition periods.","href":"/aigw/product/enterprise-offering/org-management/api-key-rotation"},{"title":"JWT Authentication","href":"/aigw/product/enterprise-offering/org-management/jwt"},{"title":"JWT Authentication with Okta","href":"/aigw/product/enterprise-offering/org-management/jwt/okta"}]},{"group":"Policies \u0026 Profiles","pages":[{"group":"Budget \u0026 Rate Limits","pages":[{"title":"Budget Limits","href":"/aigw/product/policies/budget-limits"},{"title":"Rate Limits","href":"/aigw/product/policies/rate-limits"},{"title":"Enforce Budget Limits and Rate Limits for Your API Keys","href":"/aigw/product/administration/enforce-budget-and-rate-limit"},{"title":"Enforce Workspace Budget and Rate Limits","href":"/aigw/product/administration/enforce-workspace-budget-and-rate-limits"},{"title":"Usage \u0026 Rate Limit Policies","href":"/aigw/product/enterprise-offering/budget-policies"}]},{"group":"Routing Configs","pages":[{"title":"Enforcing Default Configs on API Keys","href":"/aigw/product/administration/enforce-default-config"},{"title":"Enforcing Saved-Only Resources","sidebarTitle":"Enforcing Saved-Only Resources","href":"/aigw/product/administration/enforce-saved-only-config"}]},{"group":"Guardrails","pages":[{"title":"Guardrails","href":"/aigw/product/guardrails"},{"title":"Supported Endpoints \u0026 Capabilities","href":"/aigw/product/guardrails/capabilities"},{"title":"List of Guardrail Checks","href":"/aigw/product/guardrails/list-of-guardrail-checks"},{"title":"Guardrails for Embedding Requests","href":"/aigw/product/guardrails/embedding-guardrails"},{"title":"Guardrails for Decisions Requests","href":"/aigw/product/guardrails/decisions-guardrails"},{"title":"Creating Raw Guardrails (in JSON)","href":"/aigw/product/guardrails/creating-raw-guardrails-in-json"},{"title":"Forwarding Headers","href":"/aigw/product/guardrails/forwarding-headers"},{"title":"PII Redaction","href":"/aigw/product/guardrails/pii-redaction"},{"title":"Guardrails for Batches","href":"/aigw/product/guardrails/guardrails-for-batches"},{"title":"Bring Your Own Guardrails","href":"/aigw/integrations/guardrails/bring-your-own-guardrails"},{"title":"Enforcing Org Level Guardrails","href":"/aigw/product/administration/enforce-organisation-level-guardrails"},{"title":"Enforcing Workspace Level Guardrails","href":"/aigw/product/administration/enforce-workspace-level-guardrails"}]},{"title":"Enforcing Request Metadata","href":"/aigw/product/administration/enforcing-request-metadata"}]},{"group":"Administration","pages":[{"group":"Integrations","pages":[{"title":"Integrations","href":"/aigw/product/model-catalog/integrations"},{"title":"Workspace Provisioning","href":"/aigw/product/model-catalog/workspace-provisioning"},{"title":"AI Model Provisioning","href":"/aigw/product/model-catalog/model-provisioning"},{"title":"Secret References","href":"/aigw/product/enterprise-offering/secret-references"}]},{"group":"Workspace Control","pages":[{"title":"Org Management","href":"/aigw/product/enterprise-offering/org-management"},{"title":"Organisations","href":"/aigw/product/enterprise-offering/org-management/organizations"},{"title":"Workspaces","href":"/aigw/product/enterprise-offering/org-management/workspaces"},{"title":"User Roles \u0026 Permissions","href":"/aigw/product/enterprise-offering/org-management/user-roles-and-permissions"},{"title":"Access Control Management","href":"/aigw/product/enterprise-offering/access-control-management"},{"title":"Configure Logs Access Permissions for Workspace","href":"/aigw/product/administration/configure-logs-access-permissions-in-workspace"},{"title":"Configure Analytics Access Permissions for Workspaces","href":"/aigw/product/administration/configure-analytics-access-permissions"},{"title":"Configure Data Visibility Settings for Workspaces","href":"/aigw/product/administration/configure-data-visibility-settings"},{"title":"Configure Provider Access Permissions","href":"/aigw/product/administration/configure-virtual-key-access-permissions"},{"title":"Configure API Key Access Permissions for Workspaces","href":"/aigw/product/administration/configure-api-key-access-permissions"},{"title":"Configure Guardrail Access Permissions for Workspaces","href":"/aigw/product/administration/configure-guardrail-access-permissions"},{"title":"Configure Integration Access Permissions for Workspaces","href":"/aigw/product/administration/configure-integration-access-permissions"}]},{"group":"Admin Settings","pages":[{"title":"Gateway Registration","sidebarTitle":"Gateway Registration","href":"/aigw/self-hosting/hybrid-deployments/gateway-registration"},{"title":"SSO","href":"/aigw/product/enterprise-offering/org-management/sso"},{"group":"SCIM","pages":[{"title":"Overview","href":"/aigw/product/enterprise-offering/org-management/scim/scim"},{"title":"SCIM Group Management","href":"/aigw/product/enterprise-offering/org-management/scim/group-management"},{"title":"Azure Entra","href":"/aigw/product/enterprise-offering/org-management/scim/azure-ad"},{"title":"Okta","href":"/aigw/product/enterprise-offering/org-management/scim/okta"}]},{"group":"Directory Sync","pages":[{"title":"CIE Directory Sync","href":"/aigw/product/enterprise-offering/org-management/directory-sync/cie-directory-sync"}]},{"title":"KMS Integration","href":"/aigw/product/enterprise-offering/kms"},{"title":"Security @ Prisma AIRS AI Gateway","href":"/aigw/product/enterprise-offering/security"},{"title":"Deployment Components","href":"/aigw/product/enterprise-offering/components"},{"title":"Gateway URLs","href":"/aigw/product/enterprise-offering/org-management/gateway-urls"}]},{"title":"Audit Logs","href":"/aigw/product/enterprise-offering/audit-logs"}]}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/aigw/integrations/overview"}]},{"tab":"Self-Hosting","pages":[{"title":"Self-Hosting","href":"/aigw/self-hosting/hybrid-deployments/architecture"}]},{"tab":"Gateway APIs","pages":[{"title":"Gateway APIs","href":"/aigw/api-reference/inference-api/introduction"}]},{"tab":"Admin APIs","pages":[{"title":"Admin APIs","href":"/aigw/api-reference/admin-api/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/enterprise"}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/aigw/help-center/you-do-not-have-enough-permissions"}]}]},{"version":"Virtual Keys (Deprecated)","pages":[{"title":"Virtual Keys (Deprecated)","href":"/virtual_key_old/product/enterprise-offering/org-management/api-keys-authn-and-authz"}]}]},"basePath":"","title":"API Keys (AuthN and AuthZ) - Portkey (Prisma AIRS AI Gateway) Docs","buildId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","deploymentId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","dynamics":[],"chunks":[]}