Optional caller-chosen run id (UUID). The response only names the job once the probe has finished, so supply one here to open the log websocket on play-<run_id> before submitting. Returns 409 if the id is already in use — retry with a fresh UUID. Omit it and the service generates one.
Response
Successful Response
The response is of type Response Run Playground V1 Playground Post · object.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Enkrypt AI","colors":{"primary":"#ff6b6b","light":"#ff8a80","dark":"#ee5a24"},"logo":{"light":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72","dark":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/dark-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=2134a9f8208236db09c1727430559527"},"favicon":"https://mintcdn.com/enkryptai-42/rjcjkOmgLVUKmbck/favicon.svg?fit=max\u0026auto=format\u0026n=rjcjkOmgLVUKmbck\u0026q=85\u0026s=89efba126b5f4577a46794f171d766f0","appearance":{"default":"light","strict":false},"background":{"decoration":"gradient","color":{"light":"#fff5f5","dark":"#1a0f0f"}},"navbar":{"links":[{"href":"https://app.enkryptai.com/login","label":"Login"},{"href":"https://www.enkryptai.com/request-a-demo","label":"Schedule Demo"}],"primary":{"type":"button","label":"Learn More","href":"https://enkryptai.com"}},"footer":{"socials":{"x":"https://x.com/enkryptai","linkedin":"https://www.linkedin.com/company/enkryptai","website":"https://enkryptai.com"}},"styling":{"codeblocks":"system","latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"enkryptai-42","hasAudioNarration":false,"actualSubdomain":"enkryptai-42","customDomains":["docs.enkryptai.com"],"gitSource":{"type":"github","owner":"enkryptai","repo":"sentry","deployBranch":"docs-wip","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1c016d6a250fd1db8d8b2","collectionId":"3601b564-9eab-40b7-823e-550bf1c8b396","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1c016d6a250fd1db8d8b2"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1c016d6a250fd1db8d8b2","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":340},{"language":"default","tag":"Get Started","count":65},{"language":"default","tag":"🗃️ Archived","count":48},{"language":"default","tag":"Get Started for Guardrails","count":39},{"language":"default","tag":"Examples","count":35},{"language":"default","tag":"🔴 Red Team API","count":30},{"language":"default","tag":"🛡️ Guardrails API Endpoints","count":24},{"language":"default","tag":"Red Team (Legacy)","count":22},{"language":"default","tag":"Guardrails Policy (Legacy)","count":11},{"language":"default","tag":"Get Started for Red Team","count":11}]},"assistantConfig":{},"basePath":"","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":"rbac-expansion","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":"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":"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},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/redteam-v2-api-reference/endpoint/run-playground","slug":"/api-reference/redteam-v2-api-reference/endpoint/run-playground","pageMetadata":{"openapi":"POST /rt/playground","title":"Run Playground","description":null,"href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"openapi":"POST /rt/playground","title":"Run Playground","description":null,"href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Redteam"],"summary":"Run Playground","operationId":"run_playground_v1_playground_post","requestBody":"f002a143-6d4e-44ec-a1f4-af16abc97ac8","responses":{"200":"fbcbe4fe-61bc-40be-853e-1c19255be0c4","422":"53341252-123e-4da7-8c4f-7058dadd3d63"},"method":"post","type":"path","servers":["46d259d2-9225-46ce-aca1-4e05427371e5"],"security":["8565320a-4e60-418d-8700-2d1d509f0638"],"path":"/rt/playground","baseUrlOptions":["https://api.enkryptai.com"],"title":"Run Playground","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"target":{"properties":{"endpoint":{"type":"string","title":"Endpoint","isRequired":true,"uniqueKey":"target.endpoint","typeLabel":"string"},"api_key":{"type":"string","title":"Api Key","isRequired":true,"uniqueKey":"target.api_key","typeLabel":"string"},"model_name":{"title":"Model Name","type":"string","isRequired":true,"uniqueKey":"target.model_name","typeLabel":"string"},"provider":{"oneOf":[{"type":"string","title":"Provider","uniqueKey":"target.provider.oneOf.0","typeLabel":"string"},{"type":"null","title":"Provider","uniqueKey":"target.provider.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.provider","typeLabel":"string | null"},"system_prompt":{"oneOf":[{"type":"string","title":"System Prompt","uniqueKey":"target.system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"System Prompt","uniqueKey":"target.system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.system_prompt","typeLabel":"string | null"},"system_type":{"type":"string","enum":["foundation_model","chatbot","agent"],"title":"SystemType","default":"foundation_model","uniqueKey":"target.system_type","typeLabel":"enum\u003cstring>"},"input_modalities":{"items":{"type":"string","enum":["text","image","audio","video"],"title":"Modality","description":"Input/output modality.\n\nAligned with the V2 ``Modality`` enum in ``redteamV2/ux_and_api.md``.\n``VIDEO`` is reserved; not supported in V2 MVP.","uniqueKey":"target.input_modalities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Input Modalities","uniqueKey":"target.input_modalities","typeLabel":"enum\u003cstring>[]"},"output_modalities":{"items":{"type":"string","enum":["text","image","audio","video"],"title":"Modality","description":"Input/output modality.\n\nAligned with the V2 ``Modality`` enum in ``redteamV2/ux_and_api.md``.\n``VIDEO`` is reserved; not supported in V2 MVP.","uniqueKey":"target.output_modalities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","title":"Output Modalities","uniqueKey":"target.output_modalities","typeLabel":"enum\u003cstring>[]"},"tools":{"items":{"properties":{"name":{"title":"Name","type":"string","isRequired":true,"uniqueKey":"target.tools.items.[INDEX].name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","title":"Description","uniqueKey":"target.tools.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","title":"Description","uniqueKey":"target.tools.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.tools.items.[INDEX].description","typeLabel":"string | null"},"parameters":{"oneOf":[{"additionalProperties":true,"type":"object","title":"Parameters","uniqueKey":"target.tools.items.[INDEX].parameters.oneOf.0","typeLabel":"Parameters · object"},{"additionalProperties":true,"type":"null","title":"Parameters","uniqueKey":"target.tools.items.[INDEX].parameters.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.tools.items.[INDEX].parameters","typeLabel":"Parameters · object | null"}},"additionalProperties":false,"type":"object","required":["name"],"title":"ToolSpec","uniqueKey":"target.tools.items.[INDEX]","typeLabel":"ToolSpec · object"},"type":"array","title":"Tools","uniqueKey":"target.tools","typeLabel":"ToolSpec · object[]"},"connect_via_relay":{"type":"boolean","default":false,"title":"Connect Via Relay","description":"Reach this target through a **relay bridge** running inside your own network instead of dialling `endpoint` from Enkrypt's cloud. Use it when the system under test has no inbound network exposure - the bridge holds one outbound WebSocket to Enkrypt, and every request travels down that socket to your intranet LLM. See `GET /redteam/relay/v1/relay/bridge`.\n\nThis flag is the only switch; there is no `provider: \"relay\"`, and this flag stays at the **root** of `target` - it is not nested under `metadata`. When it is `true`, `metadata.relay` is required and a `422` naming it is returned otherwise, and three of the other fields change meaning:\n\n- `endpoint` is still required by the schema but becomes a **label only** - nothing in the cloud ever dials it, and it is exempt from the usual SSRF pre-check because a private address is the whole point.\n- `api_key` is still required but may be the empty string. The bridge, not Enkrypt, authenticates to your LLM - put those credentials in `metadata.relay.target_headers`, never here.\n- `provider` has no runtime effect. The relay wire is OpenAI-shaped end to end, so an OpenAI-compatible client is always used; `provider` survives only as a label on dashboards and audit logs. Translation to a non-OpenAI local LLM belongs in the bridge's hooks module.\n\nA relay target cannot be health-probed. `POST /rt/model-health` dials `endpoint` directly, so it always reports unhealthy for a relay target however healthy the bridge is - use `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status` instead.","example":true,"uniqueKey":"target.connect_via_relay","typeLabel":"boolean"},"metadata":{"oneOf":[{"properties":{"relay":{"oneOf":[{"properties":{"bridge_id":{"type":"string","title":"Bridge Id","description":"Which of your connected bridges to route this run through. Must equal the id that bridge registered with (`RELAY_BRIDGE_ID` on the SDK bridge). Bridge ids are scoped to your own account, so they only have to be unique within it. Check the bridge is up first with `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status`.","example":"customer-bridge-1","isRequired":true,"uniqueKey":"target.metadata.oneOf.0.relay.oneOf.0.bridge_id","typeLabel":"string"},"target_endpoint":{"type":"string","title":"Target Endpoint","description":"The full URL **inside your own network** that the bridge will POST to. This is the address that is actually called; the target's own `endpoint` is only a label. It is resolved on your side of the connection, so a private hostname or RFC1918 address is expected here.","example":"https://customer-internal-llm.local/v1/chat/completions","isRequired":true,"uniqueKey":"target.metadata.oneOf.0.relay.oneOf.0.target_endpoint","typeLabel":"string"},"model_name":{"type":"string","title":"Model Name","description":"The model identifier **your own LLM** expects, which need not be the name the run is labelled with. This value wins over the target's top-level `model_name` when the request is sent to your endpoint.","example":"their-internal-model","isRequired":true,"uniqueKey":"target.metadata.oneOf.0.relay.oneOf.0.model_name","typeLabel":"string"},"target_headers":{"additionalProperties":{"type":"string","uniqueKey":"target.metadata.oneOf.0.relay.oneOf.0.target_headers.additionalProperties","typeLabel":"string"},"type":"object","title":"Target Headers","description":"Headers forwarded verbatim to your LLM by the bridge. This is where credentials for your own endpoint belong - the target's `api_key` is not used on a relay run and may be left empty. Omit the object entirely rather than sending `{}`.","example":{"Authorization":"Bearer customer-side-internal-key"},"uniqueKey":"target.metadata.oneOf.0.relay.oneOf.0.target_headers","typeLabel":"Target Headers · object"}},"additionalProperties":false,"type":"object","required":["bridge_id","target_endpoint","model_name"],"title":"Relay","description":"Routing for a target reached through a **relay bridge**. Set on `target.metadata.relay` (or on `target.relay`, the older accepted spelling), and only meaningful alongside `target.connect_via_relay: true` - which stays at the root of the target, not under `metadata`.\n\nUnknown keys are rejected with a `422`. In particular there is no relay endpoint, relay token, timeout or offline-grace setting to configure here: the relay address is fixed infrastructure and the timeouts are server-side.","uniqueKey":"target.metadata.oneOf.0.relay.oneOf.0","typeLabel":"Relay · object"},{"properties":{"bridge_id":{"type":"string","title":"Bridge Id","description":"Which of your connected bridges to route this run through. Must equal the id that bridge registered with (`RELAY_BRIDGE_ID` on the SDK bridge). Bridge ids are scoped to your own account, so they only have to be unique within it. Check the bridge is up first with `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status`.","example":"customer-bridge-1"},"target_endpoint":{"type":"string","title":"Target Endpoint","description":"The full URL **inside your own network** that the bridge will POST to. This is the address that is actually called; the target's own `endpoint` is only a label. It is resolved on your side of the connection, so a private hostname or RFC1918 address is expected here.","example":"https://customer-internal-llm.local/v1/chat/completions"},"model_name":{"type":"string","title":"Model Name","description":"The model identifier **your own LLM** expects, which need not be the name the run is labelled with. This value wins over the target's top-level `model_name` when the request is sent to your endpoint.","example":"their-internal-model"},"target_headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Target Headers","description":"Headers forwarded verbatim to your LLM by the bridge. This is where credentials for your own endpoint belong - the target's `api_key` is not used on a relay run and may be left empty. Omit the object entirely rather than sending `{}`.","example":{"Authorization":"Bearer customer-side-internal-key"}}},"additionalProperties":false,"type":"null","required":["bridge_id","target_endpoint","model_name"],"title":"Relay","description":"Routing for a target reached through a **relay bridge**. Set on `target.metadata.relay` (or on `target.relay`, the older accepted spelling), and only meaningful alongside `target.connect_via_relay: true` - which stays at the root of the target, not under `metadata`.\n\nUnknown keys are rejected with a `422`. In particular there is no relay endpoint, relay token, timeout or offline-grace setting to configure here: the relay address is fixed infrastructure and the timeouts are server-side.","uniqueKey":"target.metadata.oneOf.0.relay.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.metadata.oneOf.0.relay","typeLabel":"Relay · object | null"}},"additionalProperties":false,"type":"object","title":"Metadata","description":"The canonical home for relay routing on an inline target: `target.metadata.relay` names which bridge to route through and what it should call. Required when `connect_via_relay` is `true`, and meaningless without it.\n\n**This object is not free-form.** `relay` is the only key it accepts; any other - `metadata.tenant_id`, `metadata.aws_region`, provider-specific metadata in general - is a `422`. The Red Team target cannot express provider metadata, and accepting it silently would let a run attack a differently-configured target and report success on it. Use the Archived Red Team API for a target that needs provider metadata.\n\n`metadata.relay` is the spelling used everywhere else in the chain - a saved model stores `model_config.metadata.relay`, and it is what the gateway fills in when it resolves a saved model for the `/rt/model/*` endpoints.","uniqueKey":"target.metadata.oneOf.0","typeLabel":"Metadata · object"},{"properties":{"relay":{"oneOf":[{"properties":{"bridge_id":{"type":"string","title":"Bridge Id","description":"Which of your connected bridges to route this run through. Must equal the id that bridge registered with (`RELAY_BRIDGE_ID` on the SDK bridge). Bridge ids are scoped to your own account, so they only have to be unique within it. Check the bridge is up first with `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status`.","example":"customer-bridge-1"},"target_endpoint":{"type":"string","title":"Target Endpoint","description":"The full URL **inside your own network** that the bridge will POST to. This is the address that is actually called; the target's own `endpoint` is only a label. It is resolved on your side of the connection, so a private hostname or RFC1918 address is expected here.","example":"https://customer-internal-llm.local/v1/chat/completions"},"model_name":{"type":"string","title":"Model Name","description":"The model identifier **your own LLM** expects, which need not be the name the run is labelled with. This value wins over the target's top-level `model_name` when the request is sent to your endpoint.","example":"their-internal-model"},"target_headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Target Headers","description":"Headers forwarded verbatim to your LLM by the bridge. This is where credentials for your own endpoint belong - the target's `api_key` is not used on a relay run and may be left empty. Omit the object entirely rather than sending `{}`.","example":{"Authorization":"Bearer customer-side-internal-key"}}},"additionalProperties":false,"type":"object","required":["bridge_id","target_endpoint","model_name"],"title":"Relay","description":"Routing for a target reached through a **relay bridge**. Set on `target.metadata.relay` (or on `target.relay`, the older accepted spelling), and only meaningful alongside `target.connect_via_relay: true` - which stays at the root of the target, not under `metadata`.\n\nUnknown keys are rejected with a `422`. In particular there is no relay endpoint, relay token, timeout or offline-grace setting to configure here: the relay address is fixed infrastructure and the timeouts are server-side."},{"properties":{"bridge_id":{"type":"string","title":"Bridge Id","description":"Which of your connected bridges to route this run through. Must equal the id that bridge registered with (`RELAY_BRIDGE_ID` on the SDK bridge). Bridge ids are scoped to your own account, so they only have to be unique within it. Check the bridge is up first with `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status`.","example":"customer-bridge-1"},"target_endpoint":{"type":"string","title":"Target Endpoint","description":"The full URL **inside your own network** that the bridge will POST to. This is the address that is actually called; the target's own `endpoint` is only a label. It is resolved on your side of the connection, so a private hostname or RFC1918 address is expected here.","example":"https://customer-internal-llm.local/v1/chat/completions"},"model_name":{"type":"string","title":"Model Name","description":"The model identifier **your own LLM** expects, which need not be the name the run is labelled with. This value wins over the target's top-level `model_name` when the request is sent to your endpoint.","example":"their-internal-model"},"target_headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Target Headers","description":"Headers forwarded verbatim to your LLM by the bridge. This is where credentials for your own endpoint belong - the target's `api_key` is not used on a relay run and may be left empty. Omit the object entirely rather than sending `{}`.","example":{"Authorization":"Bearer customer-side-internal-key"}}},"additionalProperties":false,"type":"null","required":["bridge_id","target_endpoint","model_name"],"title":"Relay","description":"Routing for a target reached through a **relay bridge**. Set on `target.metadata.relay` (or on `target.relay`, the older accepted spelling), and only meaningful alongside `target.connect_via_relay: true` - which stays at the root of the target, not under `metadata`.\n\nUnknown keys are rejected with a `422`. In particular there is no relay endpoint, relay token, timeout or offline-grace setting to configure here: the relay address is fixed infrastructure and the timeouts are server-side."}]}},"additionalProperties":false,"type":"null","title":"Metadata","description":"The canonical home for relay routing on an inline target: `target.metadata.relay` names which bridge to route through and what it should call. Required when `connect_via_relay` is `true`, and meaningless without it.\n\n**This object is not free-form.** `relay` is the only key it accepts; any other - `metadata.tenant_id`, `metadata.aws_region`, provider-specific metadata in general - is a `422`. The Red Team target cannot express provider metadata, and accepting it silently would let a run attack a differently-configured target and report success on it. Use the Archived Red Team API for a target that needs provider metadata.\n\n`metadata.relay` is the spelling used everywhere else in the chain - a saved model stores `model_config.metadata.relay`, and it is what the gateway fills in when it resolves a saved model for the `/rt/model/*` endpoints.","uniqueKey":"target.metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.metadata","typeLabel":"Metadata · object | null"},"relay":{"oneOf":[{"properties":{"bridge_id":{"type":"string","title":"Bridge Id","description":"Which of your connected bridges to route this run through. Must equal the id that bridge registered with (`RELAY_BRIDGE_ID` on the SDK bridge). Bridge ids are scoped to your own account, so they only have to be unique within it. Check the bridge is up first with `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status`.","example":"customer-bridge-1","isRequired":true,"uniqueKey":"target.relay.oneOf.0.bridge_id","typeLabel":"string"},"target_endpoint":{"type":"string","title":"Target Endpoint","description":"The full URL **inside your own network** that the bridge will POST to. This is the address that is actually called; the target's own `endpoint` is only a label. It is resolved on your side of the connection, so a private hostname or RFC1918 address is expected here.","example":"https://customer-internal-llm.local/v1/chat/completions","isRequired":true,"uniqueKey":"target.relay.oneOf.0.target_endpoint","typeLabel":"string"},"model_name":{"type":"string","title":"Model Name","description":"The model identifier **your own LLM** expects, which need not be the name the run is labelled with. This value wins over the target's top-level `model_name` when the request is sent to your endpoint.","example":"their-internal-model","isRequired":true,"uniqueKey":"target.relay.oneOf.0.model_name","typeLabel":"string"},"target_headers":{"additionalProperties":{"type":"string","uniqueKey":"target.relay.oneOf.0.target_headers.additionalProperties","typeLabel":"string"},"type":"object","title":"Target Headers","description":"Headers forwarded verbatim to your LLM by the bridge. This is where credentials for your own endpoint belong - the target's `api_key` is not used on a relay run and may be left empty. Omit the object entirely rather than sending `{}`.","example":{"Authorization":"Bearer customer-side-internal-key"},"uniqueKey":"target.relay.oneOf.0.target_headers","typeLabel":"Target Headers · object"}},"additionalProperties":false,"type":"object","required":["bridge_id","target_endpoint","model_name"],"title":"Relay","description":"The older accepted spelling of `metadata.relay`, kept working for clients that already send it. Prefer `target.metadata.relay` in new integrations.\n\nSending both is fine when they carry the same block. If `target.relay` and `target.metadata.relay` **disagree**, the request is rejected with a `422` naming the conflict rather than one of them being picked silently.","uniqueKey":"target.relay.oneOf.0","typeLabel":"Relay · object"},{"properties":{"bridge_id":{"type":"string","title":"Bridge Id","description":"Which of your connected bridges to route this run through. Must equal the id that bridge registered with (`RELAY_BRIDGE_ID` on the SDK bridge). Bridge ids are scoped to your own account, so they only have to be unique within it. Check the bridge is up first with `GET /redteam/relay/v1/relay/bridges/{bridge_id}/status`.","example":"customer-bridge-1"},"target_endpoint":{"type":"string","title":"Target Endpoint","description":"The full URL **inside your own network** that the bridge will POST to. This is the address that is actually called; the target's own `endpoint` is only a label. It is resolved on your side of the connection, so a private hostname or RFC1918 address is expected here.","example":"https://customer-internal-llm.local/v1/chat/completions"},"model_name":{"type":"string","title":"Model Name","description":"The model identifier **your own LLM** expects, which need not be the name the run is labelled with. This value wins over the target's top-level `model_name` when the request is sent to your endpoint.","example":"their-internal-model"},"target_headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Target Headers","description":"Headers forwarded verbatim to your LLM by the bridge. This is where credentials for your own endpoint belong - the target's `api_key` is not used on a relay run and may be left empty. Omit the object entirely rather than sending `{}`.","example":{"Authorization":"Bearer customer-side-internal-key"}}},"additionalProperties":false,"type":"null","required":["bridge_id","target_endpoint","model_name"],"title":"Relay","description":"The older accepted spelling of `metadata.relay`, kept working for clients that already send it. Prefer `target.metadata.relay` in new integrations.\n\nSending both is fine when they carry the same block. If `target.relay` and `target.metadata.relay` **disagree**, the request is rejected with a `422` naming the conflict rather than one of them being picked silently.","uniqueKey":"target.relay.oneOf.1","typeLabel":"null"}],"uniqueKey":"target.relay","typeLabel":"Relay · object | null"}},"additionalProperties":false,"type":"object","required":["endpoint","api_key","model_name"],"title":"ModelConfig","isRequired":true,"uniqueKey":"target","typeLabel":"ModelConfig · object"},"goal":{"type":"string","title":"Goal","isRequired":true,"uniqueKey":"goal","typeLabel":"string"},"attack_config":{"additionalProperties":{"additionalProperties":true,"type":"object","uniqueKey":"attack_config.additionalProperties","typeLabel":"object"},"x-propertyNames":{"enum":["basic","encoding","deepinception","single_shot","graph","obfuscation","lang","tap","goat","rt_agent","rt_agent_v2","derail_yourself","figstep","camo","fc","deixis","word_masking","long_character","attack_in_the_middle","waveform","audio_goat","whisper_bandit"]},"type":"object","title":"Attack Config","isRequired":true,"uniqueKey":"attack_config","typeLabel":"Attack Config · object"},"context":{"oneOf":[{"properties":{"system_description":{"oneOf":[{"type":"string","maxLength":2000,"title":"System Description","uniqueKey":"context.oneOf.0.system_description.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2000,"title":"System Description","uniqueKey":"context.oneOf.0.system_description.oneOf.1","typeLabel":"null"}],"uniqueKey":"context.oneOf.0.system_description","typeLabel":"string | null"},"policy_description":{"oneOf":[{"type":"string","maxLength":5000,"title":"Policy Description","uniqueKey":"context.oneOf.0.policy_description.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":5000,"title":"Policy Description","uniqueKey":"context.oneOf.0.policy_description.oneOf.1","typeLabel":"null"}],"uniqueKey":"context.oneOf.0.policy_description","typeLabel":"string | null"},"policy_rules":{"oneOf":[{"type":"array","description":"The rules the system is supposed to follow, structured - one object per rule. Mutually exclusive with policy_description: send one or the other. Naming a saved Code of Conduct policy in the X-Enkrypt-Policy header fills this in for a Policy Wizard policy and clears policy_description.","items":{"type":"object","properties":{"id":{"type":"string","title":"Id","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX].id","typeLabel":"string"},"text":{"type":"string","title":"Text","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX].text","typeLabel":"string"},"risk_category":{"type":"string","title":"Risk Category","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX].risk_category","typeLabel":"string"},"severity":{"type":"string","title":"Severity","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX].severity","typeLabel":"string"},"frameworks":{"type":"array","items":{"type":"string","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX].frameworks.items.[INDEX]","typeLabel":"string"},"title":"Frameworks","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX].frameworks","typeLabel":"string[]"}},"additionalProperties":true,"uniqueKey":"context.oneOf.0.policy_rules.oneOf.0.items.[INDEX]","typeLabel":"object"},"title":"Policy Rules","uniqueKey":"context.oneOf.0.policy_rules.oneOf.0","typeLabel":"Policy Rules · object[]"},{"type":"null","description":"The rules the system is supposed to follow, structured - one object per rule. Mutually exclusive with policy_description: send one or the other. Naming a saved Code of Conduct policy in the X-Enkrypt-Policy header fills this in for a Policy Wizard policy and clears policy_description.","items":{"type":"object","properties":{"id":{"type":"string","title":"Id"},"text":{"type":"string","title":"Text"},"risk_category":{"type":"string","title":"Risk Category"},"severity":{"type":"string","title":"Severity"},"frameworks":{"type":"array","items":{"type":"string"},"title":"Frameworks"}},"additionalProperties":true},"title":"Policy Rules","uniqueKey":"context.oneOf.0.policy_rules.oneOf.1","typeLabel":"null"}],"uniqueKey":"context.oneOf.0.policy_rules","typeLabel":"Policy Rules · object[] | null"}},"additionalProperties":false,"type":"object","title":"Context","uniqueKey":"context.oneOf.0","typeLabel":"Context · object"},{"properties":{"system_description":{"oneOf":[{"type":"string","maxLength":2000,"title":"System Description"},{"type":"null","maxLength":2000,"title":"System Description"}]},"policy_description":{"oneOf":[{"type":"string","maxLength":5000,"title":"Policy Description"},{"type":"null","maxLength":5000,"title":"Policy Description"}]},"policy_rules":{"oneOf":[{"type":"array","description":"The rules the system is supposed to follow, structured - one object per rule. Mutually exclusive with policy_description: send one or the other. Naming a saved Code of Conduct policy in the X-Enkrypt-Policy header fills this in for a Policy Wizard policy and clears policy_description.","items":{"type":"object","properties":{"id":{"type":"string","title":"Id"},"text":{"type":"string","title":"Text"},"risk_category":{"type":"string","title":"Risk Category"},"severity":{"type":"string","title":"Severity"},"frameworks":{"type":"array","items":{"type":"string"},"title":"Frameworks"}},"additionalProperties":true},"title":"Policy Rules"},{"type":"null","description":"The rules the system is supposed to follow, structured - one object per rule. Mutually exclusive with policy_description: send one or the other. Naming a saved Code of Conduct policy in the X-Enkrypt-Policy header fills this in for a Policy Wizard policy and clears policy_description.","items":{"type":"object","properties":{"id":{"type":"string","title":"Id"},"text":{"type":"string","title":"Text"},"risk_category":{"type":"string","title":"Risk Category"},"severity":{"type":"string","title":"Severity"},"frameworks":{"type":"array","items":{"type":"string"},"title":"Frameworks"}},"additionalProperties":true},"title":"Policy Rules"}]}},"additionalProperties":false,"type":"null","title":"Context","uniqueKey":"context.oneOf.1","typeLabel":"null"}],"uniqueKey":"context","typeLabel":"Context · object | null"},"user_metadata":{"oneOf":[{"additionalProperties":true,"type":"object","title":"User Metadata","uniqueKey":"user_metadata.oneOf.0","typeLabel":"User Metadata · object"},{"additionalProperties":true,"type":"null","title":"User Metadata","uniqueKey":"user_metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"user_metadata","typeLabel":"User Metadata · object | null"},"run_id":{"oneOf":[{"type":"string","format":"uuid","title":"Run Id","description":"Optional caller-chosen run id (UUID). The response only names the job once the probe has finished, so supply one here to open the log websocket on `play-\u003crun_id>` before submitting. Returns `409` if the id is already in use — retry with a fresh UUID. Omit it and the service generates one.","uniqueKey":"run_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","title":"Run Id","description":"Optional caller-chosen run id (UUID). The response only names the job once the probe has finished, so supply one here to open the log websocket on `play-\u003crun_id>` before submitting. Returns `409` if the id is already in use — retry with a fresh UUID. Omit it and the service generates one.","uniqueKey":"run_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"run_id","typeLabel":"string\u003cuuid> | null"}},"additionalProperties":false,"type":"object","required":["target","goal","attack_config"],"title":"PlaygroundRequest","description":"`POST /v1/playground` payload.\n\nSingle-goal ad-hoc probe. No category scaffolding, no generation.\n`attack_config` lives top-level (not under categories).","uniqueKey":"","typeLabel":"PlaygroundRequest · object"},"examples":{"Example":{"title":"Example","value":{"target":{"endpoint":"\u003cstring>","api_key":"\u003cstring>","model_name":"\u003cstring>","provider":"\u003cstring>","system_prompt":"\u003cstring>","system_type":"foundation_model","input_modalities":[],"output_modalities":[],"tools":[{"name":"\u003cstring>","description":"\u003cstring>","parameters":{}}],"connect_via_relay":true,"metadata":{"relay":{"bridge_id":"customer-bridge-1","target_endpoint":"https://customer-internal-llm.local/v1/chat/completions","model_name":"their-internal-model","target_headers":{"Authorization":"Bearer customer-side-internal-key"}}},"relay":{"bridge_id":"customer-bridge-1","target_endpoint":"https://customer-internal-llm.local/v1/chat/completions","model_name":"their-internal-model","target_headers":{"Authorization":"Bearer customer-side-internal-key"}}},"goal":"\u003cstring>","attack_config":{},"context":{"system_description":"\u003cstring>","policy_description":"\u003cstring>","policy_rules":[{"id":"\u003cstring>","text":"\u003cstring>","risk_category":"\u003cstring>","severity":"\u003cstring>","frameworks":["\u003cstring>"]}]},"user_metadata":{},"run_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"fbcbe4fe-61bc-40be-853e-1c19255be0c4":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Run Playground V1 Playground Post","uniqueKey":"","typeLabel":"Response Run Playground V1 Playground Post · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"53341252-123e-4da7-8c4f-7058dadd3d63":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8565320a-4e60-418d-8700-2d1d509f0638":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"46d259d2-9225-46ce-aca1-4e05427371e5":{"url":"https://api.enkryptai.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"apikey","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"apikey"}],"title":"apiKeyAuth"}]},"originalFileLocation":"enkrypt-openapi.json"},"subdomain":"enkryptai-42","siteName":"Enkrypt AI","title":"Run Playground - Enkrypt AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T09:28:10.009Z","originalFileLocation":"api-reference/redteam-v2-api-reference/endpoint/run-playground.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=\"light\"}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=\"application-name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_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=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run Playground - Enkrypt AI\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://enkryptai-42.mintlify.app/_mintlify/api/og/v2?division=%F0%9F%94%B4+Red+Team+API\u0026amp;title=Run+Playground\u0026amp;theme=3d60806929a37a29522c9c45\u0026amp;signature=e18cf7f6e425875dec5f086d2f635f0d68007aae3e443b4b4dd54adae501d811\">\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=\"Run Playground - Enkrypt AI\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://enkryptai-42.mintlify.app/_mintlify/api/og/v2?division=%F0%9F%94%B4+Red+Team+API\u0026amp;title=Run+Playground\u0026amp;theme=3d60806929a37a29522c9c45\u0026amp;signature=e18cf7f6e425875dec5f086d2f635f0d68007aae3e443b4b4dd54adae501d811\">\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=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6b6b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/redteam-v2-api-reference/endpoint/run-playground.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.enkryptai.com/#organization\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.enkryptai.com#website\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground#webpage\",\"url\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground\",\"name\":\"Run Playground\",\"dateModified\":\"2026-10-28T09:28:10.009Z\",\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.enkryptai.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"🔴 Red Team API\",\"item\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-redteam\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Run Playground\",\"item\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground#apireference\",\"headline\":\"Run Playground\",\"name\":\"Run Playground\",\"url\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground\",\"mainEntityOfPage\":{\"@id\":\"https://docs.enkryptai.com/api-reference/redteam-v2-api-reference/endpoint/run-playground#webpage\"},\"dateModified\":\"2026-10-28T09:28:10.009Z\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Enkrypt AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Enkrypt AI","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Overview","href":"/api-reference/introduction"},{"group":"📋 Code of Conduct API","pages":[{"title":"Infer Document","openapi":"POST /guardrails/policy-wizard/infer-document","href":"/api-reference/coc-api-reference/endpoint/infer-document"},{"title":"Generate Rules","openapi":"POST /guardrails/policy-wizard/generate-rules","href":"/api-reference/coc-api-reference/endpoint/generate-rules"},{"title":"Add Policy","openapi":"POST /code-of-conduct/add-policy","href":"/api-reference/coc-api-reference/endpoint/add-policy"},{"title":"Get Policy","openapi":"GET /code-of-conduct/get-policy","href":"/api-reference/coc-api-reference/endpoint/get-policy"},{"title":"Modify Policy","openapi":"PATCH /code-of-conduct/modify-policy","href":"/api-reference/coc-api-reference/endpoint/modify-policy"},{"title":"Delete Policy","openapi":"DELETE /code-of-conduct/delete-policy","href":"/api-reference/coc-api-reference/endpoint/delete-policy"},{"title":"List Policies","openapi":"GET /code-of-conduct/list-policies","href":"/api-reference/coc-api-reference/endpoint/list-policies"}]},{"group":"🛡️ Guardrails API Endpoints","pages":[{"openapi":"GET /guardrails/health","title":"Health Check","href":"/api-reference/guardrails-api-reference/endpoint/health-check"},{"openapi":"GET /guardrails/status","title":"Status Check","href":"/api-reference/guardrails-api-reference/endpoint/status"},{"openapi":"GET /guardrails/models","title":"Models Loaded","href":"/api-reference/guardrails-api-reference/endpoint/models"},{"openapi":"POST /guardrails/detect","title":"Guardrails Detect","href":"/api-reference/guardrails-api-reference/endpoint/detect"},{"openapi":"POST /guardrails/batch/detect","title":"Guardrails Batch Detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect"},{"title":"Scan URL","openapi":"POST /guardrails/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/scan-url"},{"title":"Scan PDF","openapi":"POST /guardrails/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/scan-pdf"},{"title":"Detect Image","openapi":"POST /guardrails/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image"},{"title":"Detect Audio","openapi":"POST /guardrails/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio"},{"title":"Guardrail Detect Image","openapi":"POST /guardrails/guardrail/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-image"},{"title":"Guardrail Detect Audio","openapi":"POST /guardrails/guardrail/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-audio"},{"openapi":"POST /guardrails/pii","title":"PII anonymization and de-anonymization","href":"/api-reference/guardrails-api-reference/endpoint/pii"},{"openapi":"POST /guardrails/hallucination","title":"Detect Hallucination","href":"/api-reference/guardrails-api-reference/endpoint/hallucination"},{"openapi":"POST /guardrails/adherence","title":"Guardrails Adherence","href":"/api-reference/guardrails-api-reference/endpoint/adherence"},{"openapi":"POST /guardrails/relevancy","title":"Guardrails Relevancy","href":"/api-reference/guardrails-api-reference/endpoint/relevancy"},{"title":"Add Guardrail","openapi":"POST /guardrails/add-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/add-guardrail"},{"title":"Get Guardrail","openapi":"GET /guardrails/get-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/get-guardrail"},{"title":"Modify Guardrail","openapi":"PATCH /guardrails/modify-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/modify-guardrail"},{"title":"Delete Guardrail","openapi":"DELETE /guardrails/delete-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/delete-guardrail"},{"title":"List Guardrails","openapi":"GET /guardrails/list-guardrails","href":"/api-reference/guardrails-api-reference/endpoint/list-guardrails"},{"title":"Detect with Guardrail","openapi":"POST /guardrails/guardrail/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-guardrail"},{"title":"Batch Detect with Guardrail","openapi":"POST /guardrails/guardrail/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-guardrail"},{"title":"Guardrail Scan URL","openapi":"POST /guardrails/guardrail/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-url"},{"title":"Guardrail Scan PDF","openapi":"POST /guardrails/guardrail/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-pdf"}]},{"group":"🤖 Models API (Endpoints)","pages":[{"openapi":"POST /models/add-model","title":"Create Model","href":"/api-reference/models-api-reference/endpoint/add-model"},{"openapi":"GET /models/get-model","title":"Get Model","href":"/api-reference/models-api-reference/endpoint/get-model"},{"openapi":"PATCH /models/modify-model","title":"Modify Model","href":"/api-reference/models-api-reference/endpoint/modify-model"},{"openapi":"DELETE /models/delete-model","title":"Delete Model","href":"/api-reference/models-api-reference/endpoint/delete-model"},{"title":"List Models","openapi":"GET /models/list-models","href":"/api-reference/models-api-reference/endpoint/list-models"},{"openapi":"GET /models/get-defaults","title":"Get Defaults","href":"/api-reference/models-api-reference/endpoint/get-defaults"}]},{"group":"🔴 Red Team API","pages":[{"openapi":"POST /rt/redteam","title":"Run Redteam","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam"},{"openapi":"POST /rt/model/redteam","title":"Run Redteam with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam-saved-model"},{"openapi":"POST /rt/redteam/jailbreak","title":"Run Jailbreak Benchmark","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak"},{"openapi":"POST /rt/model/redteam/jailbreak","title":"Run Jailbreak Benchmark with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak-saved-model"},{"openapi":"POST /rt/threat-modeling","title":"Run Threat Modeling","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling"},{"openapi":"POST /rt/threat-modeling/categories","title":"Run Threat Modeling Categories","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-categories"},{"openapi":"POST /rt/threat-modeling/data","title":"Run Threat Modeling Data","description":"Phase 2 (Generate + Verify) — takes the edited profile back and runs the\nreal pipeline via the datagen worker.","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-data"},{"openapi":"POST /rt/playground","title":"Run Playground","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground"},{"openapi":"POST /rt/model/playground","title":"Run Playground with saved model","description":"Identical to `POST /rt/playground`, except the system under test is a **saved model** named in the `X-Enkrypt-Model` / `X-Enkrypt-Model-Version` headers instead of an inline `target`. The gateway resolves the model and fills in `target` before the request reaches the Red Team service.\n\nSaved models that reach their provider through a custom cURL command, custom headers/payload/response format, JWT auth, provider-specific `auth_data` or `metadata`, or an outbound proxy have no equivalent in the `target` shape and return `400`. Use an inline `target` on `POST /rt/playground` for those, or the Archived Red Team API.\n\nRelay routing is the one exception to that `metadata` rule: a model saved with `model_config.connect_via_relay: true` and a `model_config.metadata.relay` block is projected onto `target.connect_via_relay` / `target.metadata.relay` and runs through your bridge exactly as an inline relay target would.","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground-saved-model"},{"openapi":"POST /rt/eval","title":"Submit Eval Batch","href":"/api-reference/redteam-v2-api-reference/endpoint/submit-eval"},{"openapi":"POST /rt/leaderboard","title":"Run Leaderboard","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard"},{"openapi":"POST /rt/model/leaderboard","title":"Run Leaderboard with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard-saved-model"},{"openapi":"GET /rt/runs/{run_id}","title":"Get Run Status","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-status"},{"openapi":"GET /rt/runs/{run_id}/records","title":"Get Run Records","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-records"},{"openapi":"GET /rt/runs/{run_id}/results","title":"Get Run Results","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-results"},{"openapi":"GET /rt/runs/{run_id}/compliance/{framework_id}","title":"Get Compliance Report","href":"/api-reference/redteam-v2-api-reference/endpoint/get-compliance-report"},{"openapi":"POST /rt/runs/{run_id}/signal/{name}","title":"Send Signal","href":"/api-reference/redteam-v2-api-reference/endpoint/send-signal"},{"openapi":"POST /rt/runs/{run_id}/resume","title":"Resume Run","href":"/api-reference/redteam-v2-api-reference/endpoint/resume-run"},{"openapi":"GET /rt/runs/{run_id}/stream","title":"Stream Run Events","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-events"},{"openapi":"GET /wss/redteam/v1/logs/tasks/{owner_id}/{job_id}/{model_folder}/app.log","playground":"none","title":"Stream Run Logs (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-logs"},{"openapi":"GET /rt/datasets/{dataset_id}","title":"Get Dataset","href":"/api-reference/redteam-v2-api-reference/endpoint/get-dataset"},{"openapi":"POST /rt/model-health","title":"Model Health","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health"},{"openapi":"POST /rt/model/model-health","title":"Model Health with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health-saved"},{"openapi":"GET /redteam/relay/v1/relay/bridge","playground":"none","title":"Connect a relay bridge (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-connect"},{"openapi":"GET /redteam/relay/v1/relay/bridges/{bridge_id}/status","title":"Relay bridge status","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-status"},{"openapi":"POST /rt/findings","title":"Get findings based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/get-findings"},{"openapi":"POST /rt/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /rt/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"openapi":"GET /rt/health","title":"Red Team Health","href":"/api-reference/redteam-v2-api-reference/endpoint/health"},{"openapi":"GET /rt/status-check","title":"Red Team Status Check","href":"/api-reference/redteam-v2-api-reference/endpoint/status-check"}]},{"group":"🚀 Deployments API","pages":[{"openapi":"POST /deployments/add-deployment","title":"Create Deployment","href":"/api-reference/deployments-api-reference/endpoint/add-deployment"},{"openapi":"GET /deployments/get-deployment","title":"Get Deployment","href":"/api-reference/deployments-api-reference/endpoint/get-deployment"},{"openapi":"PATCH /deployments/modify-deployment","title":"Modify Deployment","href":"/api-reference/deployments-api-reference/endpoint/modify-deployment"},{"openapi":"DELETE /deployments/delete-deployment","title":"Delete Deployment","href":"/api-reference/deployments-api-reference/endpoint/delete-deployment"},{"title":"List Deployments","openapi":"GET /deployments/list-deployments","href":"/api-reference/deployments-api-reference/endpoint/list-deployments"},{"openapi":"GET /deployments/get-allowed-config","title":"Get Allowed Config","href":"/api-reference/deployments-api-reference/endpoint/get-allowed-config"}]},{"group":"🔌 AI Proxy API","pages":[{"openapi":"POST /ai-proxy/chat/completions","title":"AI Chat Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/chat-completions"},{"openapi":"POST /ai-proxy/completions","title":"AI Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/completions"}]},{"group":"🔒 MCP Hub API","pages":[{"openapi":"POST /mcp-hub/scan","title":"Start a New Vulnerability Scan","href":"/api-reference/mcp-hub-api-reference/endpoint/scan"},{"openapi":"POST /mcp-hub/scan/hosted","title":"Scan a Hosted MCP Server","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan"},{"openapi":"POST /mcp-hub/scan/hosted/config","title":"Scan MCP Servers from Config JSON","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan-from-config"},{"openapi":"GET /mcp-hub/scan/{job_id}/status","title":"Get Scan Job Status","href":"/api-reference/mcp-hub-api-reference/endpoint/get-status"},{"openapi":"GET /mcp-hub/scan/{job_id}/results","title":"Get Complete Scan Results","href":"/api-reference/mcp-hub-api-reference/endpoint/get-results"},{"openapi":"GET /mcp-hub/scans","title":"List Scans","href":"/api-reference/mcp-hub-api-reference/endpoint/list-scans"},{"openapi":"GET /mcp-hub/dashboard-stats","title":"Get MCP Hub Scan Statistics","href":"/api-reference/mcp-hub-api-reference/endpoint/dashboard-stats"},{"openapi":"GET /mcp-hub/usage","title":"Get MCP Hub API Usage Summary","href":"/api-reference/mcp-hub-api-reference/endpoint/usage"}]},{"group":"🗂️ MCP Registry Servers API","pages":[{"openapi":"POST /mcp-registry/add-server","title":"Create MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/add-server"},{"openapi":"POST /mcp-registry/bulk-add-servers","title":"Bulk-create MCP Registry Servers (atomic)","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers"},{"openapi":"GET /mcp-registry/get-server","title":"Get MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/get-server"},{"openapi":"PATCH /mcp-registry/modify-server","title":"Update MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/modify-server"},{"openapi":"DELETE /mcp-registry/delete-server","title":"Delete MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/delete-server"},{"openapi":"GET /mcp-registry/list-servers","title":"List MCP Registry Servers","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-servers"},{"openapi":"GET /mcp-registry/list-gateways-by-server","title":"List Gateways by Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-gateways-by-server"}]},{"group":"🚪 MCP Gateways API","pages":[{"openapi":"POST /mcp-gateway/add-gateway","title":"Create MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/add-gateway"},{"openapi":"GET /mcp-gateway/get-gateway","title":"Get MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway"},{"openapi":"GET /mcp-gateway/get-gateway-config","title":"Get Expanded MCP Gateway Configuration","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway-config"},{"openapi":"PATCH /mcp-gateway/modify-gateway","title":"Update MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway"},{"openapi":"DELETE /mcp-gateway/delete-gateway","title":"Delete MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/delete-gateway"},{"openapi":"GET /mcp-gateway/list-gateways","title":"List MCP Gateways","href":"/api-reference/mcp-gateways-api-reference/endpoint/list-gateways"}]},{"group":"🧪 MCP Playground API","pages":[{"openapi":"POST /mcp-playground/test-server","title":"Test MCP Server Connectivity","href":"/api-reference/mcp-playground-api-reference/endpoint/test-server"},{"openapi":"GET /mcp-playground/get-tools","title":"Get MCP Server Tools","href":"/api-reference/mcp-playground-api-reference/endpoint/get-tools"},{"openapi":"POST /mcp-playground/call-tool","title":"Call MCP Server Tool","href":"/api-reference/mcp-playground-api-reference/endpoint/call-tool"}]},{"group":"📜 Skill Scanner API","pages":[{"openapi":"POST /skill-hub/scan","title":"Submit a Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/scan"},{"openapi":"GET /skill-hub/scans/{scan_id}","title":"Get Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/get-scan"},{"openapi":"GET /skill-hub/scans/{scan_id}/report","title":"Get Skill Scan Report","href":"/api-reference/skill-scanner-api-reference/endpoint/get-report"},{"openapi":"GET /skill-hub/scans","title":"List Skill Scans","href":"/api-reference/skill-scanner-api-reference/endpoint/list-scans"},{"openapi":"GET /skill-hub/healthz","title":"Skill Scanner Health","href":"/api-reference/skill-scanner-api-reference/endpoint/health"}]},{"group":"⚖️ Compliance API","pages":[{"openapi":"POST /compliance/test-connection","title":"Test Compliance Connection","href":"/api-reference/compliance-api-reference/endpoint/test-connection"},{"openapi":"POST /compliance/add-scan","title":"Add Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/add-scan"},{"openapi":"GET /compliance/get-scan","title":"Get Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/get-scan"},{"openapi":"PATCH /compliance/modify-scan","title":"Modify Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/modify-scan"},{"openapi":"DELETE /compliance/delete-scan","title":"Delete Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/delete-scan"},{"openapi":"GET /compliance/list-scans","title":"List Compliance Scans","href":"/api-reference/compliance-api-reference/endpoint/list-scans"},{"openapi":"POST /compliance/start-scan","title":"Start Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/start-scan"},{"openapi":"POST /compliance/pause-scan","title":"Pause Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/pause-scan"},{"openapi":"GET /compliance/list-log-files","title":"List Compliance Log Files","href":"/api-reference/compliance-api-reference/endpoint/list-log-files"},{"openapi":"GET /compliance/get-message","title":"Get Compliance Message","href":"/api-reference/compliance-api-reference/endpoint/get-message"}]},{"group":"🏆 Leaderboard API","pages":[{"openapi":"GET /leaderboard/v2/models-list","title":"v2 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v2/models/models-list"},{"openapi":"GET /leaderboard/v2/scores","title":"v2 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/scores-list"},{"openapi":"GET /leaderboard/v2/scores/{modelName}","title":"v2 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/model-score"},{"openapi":"GET /leaderboard/v2/details/{modelName}","title":"v2 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v2/details/model-detail"},{"openapi":"GET /leaderboard/v2/summary/{modelName}","title":"v2 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v2/summary/model-summary"},{"openapi":"GET /leaderboard/v2/rank/{modelName}","title":"v2 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v2/rank/model-rank"},{"openapi":"GET /leaderboard/v2/percentiles","title":"v2 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v2/percentiles/models-risk-percentiles"}]},{"group":"🗃️ Archived","pages":[{"group":"Datasets (Legacy)","pages":[{"openapi":"POST /datasets/add-task","title":"Datasets Add Task","href":"/api-reference/datasets-api-reference/endpoint/add-task"},{"openapi":"GET /datasets/task-status","title":"Datasets Get Task Status","href":"/api-reference/datasets-api-reference/endpoint/task-status"},{"openapi":"GET /datasets/get-task","title":"Datasets Get Task","href":"/api-reference/datasets-api-reference/endpoint/get-task"},{"openapi":"GET /datasets/get-datacard","title":"Datasets Get Datacard","href":"/api-reference/datasets-api-reference/endpoint/get-datacard"},{"openapi":"GET /datasets/get-dataset","title":"Datasets Get Dataset","href":"/api-reference/datasets-api-reference/endpoint/get-dataset"},{"openapi":"GET /datasets/get-summary","title":"Datasets Get Summary","href":"/api-reference/datasets-api-reference/endpoint/get-summary"},{"title":"List Tasks","openapi":"GET /datasets/list-tasks","href":"/api-reference/datasets-api-reference/endpoint/list-tasks"}]},{"group":"Guardrails Policy (Legacy)","pages":[{"title":"Add Policy (Legacy)","openapi":"POST /guardrails/add-policy","href":"/api-reference/guardrails-api-reference/endpoint/add-policy"},{"title":"Get Policy (Legacy)","openapi":"GET /guardrails/get-policy","href":"/api-reference/guardrails-api-reference/endpoint/get-policy"},{"title":"Modify Policy (Legacy)","openapi":"PATCH /guardrails/modify-policy","href":"/api-reference/guardrails-api-reference/endpoint/modify-policy"},{"title":"Delete Policy (Legacy)","openapi":"DELETE /guardrails/delete-policy","href":"/api-reference/guardrails-api-reference/endpoint/delete-policy"},{"title":"List Policies (Legacy)","openapi":"GET /guardrails/list-policies","href":"/api-reference/guardrails-api-reference/endpoint/list-policies"},{"title":"Detect with Policy (Legacy)","openapi":"POST /guardrails/policy/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-policy"},{"title":"Detect Image with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image-using-policy"},{"title":"Detect Audio with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio-using-policy"},{"title":"Policy Batch Detect (Legacy)","openapi":"POST /guardrails/policy/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-policy"},{"title":"Policy Scan URL (Legacy)","openapi":"POST /guardrails/policy/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-url"},{"title":"Policy Scan PDF (Legacy)","openapi":"POST /guardrails/policy/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-pdf"}]},{"group":"Red Team (Legacy)","pages":[{"openapi":"GET /redteam/health","title":"Redteam Health","href":"/api-reference/redteam-api-reference/endpoint/health"},{"openapi":"POST /redteam/v3/model-health","title":"Model Health (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-health"},{"openapi":"POST /redteam/model/model-health","title":"Model Health of saved model","href":"/api-reference/redteam-api-reference/endpoint/model-health-saved"},{"openapi":"POST /redteam/v3/add-custom-task","title":"Add Custom Task (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-add-custom-task"},{"openapi":"POST /redteam/v3/model/add-custom-task","title":"Add Custom Task with saved model (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-add-custom-task"},{"openapi":"PATCH /redteam/cancel-task","title":"Cancel Task","href":"/api-reference/redteam-api-reference/endpoint/cancel-task"},{"openapi":"GET /redteam/get-task","title":"Get Task","href":"/api-reference/redteam-api-reference/endpoint/get-task"},{"openapi":"GET /redteam/task-status","title":"Get Task Status","href":"/api-reference/redteam-api-reference/endpoint/get-task-status"},{"openapi":"GET /redteam/download-link","title":"Get Download Link","href":"/api-reference/redteam-api-reference/endpoint/get-download-link"},{"openapi":"GET /redteam/v3/results/summary","title":"Get Task Results Summary","href":"/api-reference/redteam-api-reference/endpoint/get-results-summary"},{"openapi":"GET /redteam/v3/results/summary/{test_type}","title":"Get Task Results Summary of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-summary-test-type"},{"openapi":"GET /redteam/v3/results/details","title":"Get Task Results Details","href":"/api-reference/redteam-api-reference/endpoint/get-all-details"},{"openapi":"GET /redteam/v3/results/details/{test_type}","title":"Get Task Results Details of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-details-test-type"},{"openapi":"POST /redteam/findings","title":"Get findings based on summary","href":"/api-reference/redteam-api-reference/endpoint/get-findings"},{"openapi":"POST /redteam/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /redteam/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"title":"List All Tasks","openapi":"GET /redteam/list-tasks","href":"/api-reference/redteam-api-reference/endpoint/list-all-tasks"},{"openapi":"POST /redteam/model-health","title":"Model Health","href":"/api-reference/redteam-api-reference/endpoint/model-health"},{"openapi":"POST /redteam/v2/add-task","title":"Add Task","href":"/api-reference/redteam-api-reference/endpoint/add-task"},{"openapi":"POST /redteam/v2/model/add-task","title":"Add Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-task"},{"openapi":"POST /redteam/v2/add-custom-task","title":"Add Custom Task","href":"/api-reference/redteam-api-reference/endpoint/add-custom-task"},{"openapi":"POST /redteam/v2/model/add-custom-task","title":"Add Custom Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-custom-task"}]},{"group":"Leaderboard","pages":[{"openapi":"GET /leaderboard/models-list","title":"v1 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v1/models/models-list"},{"openapi":"GET /leaderboard/scores","title":"v1 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/scores-list"},{"openapi":"GET /leaderboard/scores/{modelName}","title":"v1 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/model-score"},{"openapi":"GET /leaderboard/details/{modelName}","title":"v1 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v1/details/model-detail"},{"openapi":"GET /leaderboard/summary/{modelName}","title":"v1 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v1/summary/model-summary"},{"openapi":"GET /leaderboard/rank/{modelName}","title":"v1 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v1/rank/model-rank"},{"openapi":"GET /leaderboard/percentiles","title":"v1 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v1/percentiles/models-risk-percentiles"}]},{"group":"Policy Atomizer (Legacy)","pages":[{"title":"Policy Atomizer","openapi":"POST /guardrails/policy-atomizer","href":"/api-reference/coc-api-reference/endpoint/policy-atomizer"}]}]}]}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/sdk-reference/python/introduction"}]},{"tab":"Schema and Postman","pages":[{"title":"Schema and Postman","href":"/schema-and-postman/introduction"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/resources/introduction"}]}]},"basePath":"","title":"Run Playground - Enkrypt AI","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}