openapi: 3.2.0 info: title: Prisma AIRS Red Teaming Management Target API description: Red Teaming Management API - Configure and manage security groups and rules for AI/ML model scanning. © 2025 Palo Alto Networks, Inc version: 0.7.67 termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf license: name: MIT url: https://opensource.org/license/mit contact: email: support@paloaltonetworks.com name: Palo Alto Networks Technical Support url: https://support.paloaltonetworks.com servers: - url: https://api.sase.paloaltonetworks.com/ai-red-teaming/mgmt-plane security: - bearerAuth: [] tags: - name: Target description: Operations for managing scan targets (create, update, delete, list). paths: /v1/target: post: tags: - Target summary: Create target description: Create a new scan target. operationId: create_target_v1_target_post parameters: - name: validate in: query required: false schema: type: boolean description: Whether to validate target configuration examples: - true title: Validate description: Whether to validate target configuration requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TargetCreateRequestSchema' responses: 201: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetResponseSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - Target summary: List targets description: List all scan targets with pagination and filtering support. operationId: list_targets_v1_target_get parameters: - name: skip in: query required: false schema: type: integer minimum: 0 description: Number of records to skip default: 0 title: Skip description: Number of records to skip - name: limit in: query required: false schema: type: integer maximum: 100 minimum: 1 description: Maximum records to return default: 10 title: Limit description: Maximum records to return - name: target_type in: query required: false schema: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Filter by target type title: Target Type description: Filter by target type - name: status in: query required: false schema: anyOf: - $ref: '#/components/schemas/TargetStatusFilter' - type: 'null' description: Filter by target status or profiling status title: Status description: Filter by target status or profiling status - name: search in: query required: false schema: anyOf: - type: string - type: 'null' description: Search target by name title: Search description: Search target by name - name: adapter_uuid in: query required: false schema: anyOf: - type: string format: uuid - type: 'null' description: Filter targets by the custom adapter they use title: Adapter Uuid description: Filter targets by the custom adapter they use responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetListSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/{target_uuid}: get: tags: - Target summary: Get target details description: Retrieve a specific target by UUID with complete configuration details and masked connection parameters. operationId: get_target_v1_target__target_uuid__get parameters: - name: target_uuid in: path required: true schema: type: string format: uuid title: Target Uuid responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetRedactSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Target summary: Update target description: Update an existing target with new configuration and optional validation control. operationId: update_target_v1_target__target_uuid__put parameters: - name: target_uuid in: path required: true schema: type: string format: uuid title: Target Uuid - name: validate in: query required: false schema: type: boolean description: Whether to validate target configuration default: true title: Validate description: Whether to validate target configuration requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TargetUpdateRequestSchema' responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - Target summary: Delete target description: Permanently delete a target and its encrypted configuration data. operationId: delete_target_v1_target__target_uuid__delete parameters: - name: target_uuid in: path required: true schema: type: string format: uuid title: Target Uuid responses: 204: description: Successful Response 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/{target_uuid}/profile: post: tags: - Target summary: Start target profiling description: Manually trigger target profiling. Target must be active with industry and use_case. operationId: start_profiling_v1_target__target_uuid__profile_post parameters: - name: target_uuid in: path required: true schema: type: string format: uuid title: Target Uuid responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StartProfilingResponseSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - Target summary: Update target profile description: Update target background and additional context fields without connection validation. operationId: update_target_profile_v1_target__target_uuid__profile_put parameters: - name: target_uuid in: path required: true schema: type: string format: uuid title: Target Uuid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TargetContextUpdateSchema' responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - Target summary: Get profiling results description: Get profiling results including merged user and profiler data. operationId: get_profiling_results_v1_target__target_uuid__profile_get parameters: - name: target_uuid in: path required: true schema: type: string format: uuid title: Target Uuid responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetProfileResponse' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/probe: post: tags: - Target summary: Run profiling probes on target description: Send profiling questions to a target using provided connection parameters. Returns TargetResponseSchema with target_background and additional_context populated from probe responses. operationId: run_target_probes_v1_target_probe_post requestBody: content: application/json: schema: $ref: '#/components/schemas/TargetProbeRequest' required: true responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetResponseSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/validate-auth: post: tags: - Target summary: Validate authentication configuration description: Validate OAuth2 credentials by fetching a test token. For HEADERS and BASIC_AUTH, validates field presence only. operationId: validate_auth_v1_target_validate_auth_post requestBody: content: application/json: schema: $ref: '#/components/schemas/TargetAuthValidationRequestSchema' required: true responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TargetAuthValidationResponseSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/ms-copilot-studio/auth-url: post: tags: - Target summary: Generate Copilot Studio auth URL description: Generate MS Copilot Studio OAuth authorization URL. operationId: generate_ms_copilot_studio_auth_url_v1_target_ms_copilot_studio_auth_url_post requestBody: content: application/json: schema: $ref: '#/components/schemas/MSCopilotStudioAuthUrlRequestSchema' required: true responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MSCopilotStudioAuthUrlResponseSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/ms-copilot-studio/token: post: tags: - Target summary: Exchange Copilot Studio auth code description: Exchange auth code for tokens via MSAL, store token cache in GSM. operationId: exchange_ms_copilot_studio_token_v1_target_ms_copilot_studio_token_post requestBody: content: application/json: schema: $ref: '#/components/schemas/MSCopilotStudioTokenRequestSchema' required: true responses: 200: description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MSCopilotStudioTokenResponseSchema' 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/target/ms-copilot-studio/token/{token_json_uuid}: delete: tags: - Target summary: Delete MS Copilot Studio token records description: Delete both auth flow and token cache GSM records (cancel cleanup). operationId: delete_ms_copilot_studio_token_v1_target_ms_copilot_studio_token__token_json_uuid__delete parameters: - name: token_json_uuid in: path required: true schema: type: string format: uuid title: Token Json Uuid responses: 204: description: Successful Response 422: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: DatabricksConnectionRedactParams: properties: auth_type: $ref: '#/components/schemas/red_team_shared__schemas__databricks__AuthType' description: Auth type access_token: anyOf: - type: string format: password writeOnly: true - type: 'null' title: Access Token description: Databricks access token client_id: anyOf: - type: string - type: 'null' title: Client Id description: Databricks client_id secret: anyOf: - type: string format: password writeOnly: true - type: 'null' title: Secret description: Databricks secret workspace_url: type: string title: Workspace Url description: Databricks workscpace_url model_name: type: string title: Model Name description: Databricks model name type: object required: - auth_type - workspace_url - model_name title: DatabricksConnectionRedactParams RestConnectionParamsRedactBase: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionRedactParams' - $ref: '#/components/schemas/HuggingfaceConnectionRedactParams' - $ref: '#/components/schemas/DatabricksConnectionRedactParams' - $ref: '#/components/schemas/BedrockAccessConnectionRedactParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionRedactParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' type: object title: RestConnectionParamsRedactBase HeadersAuthConfig: properties: auth_header: additionalProperties: type: string type: object title: Auth Header description: 'Auth header as {name: value} dict' examples: - Authorization: Bearer sk-xxxxxxxxxxxx - x-api-key: my-api-key type: object required: - auth_header title: HeadersAuthConfig description: Static header injection (API keys, bearer tokens). TargetType: type: string enum: - APPLICATION - AGENT - MODEL title: TargetType description: Target Types Available HuggingfaceConnectionRedactParams: properties: api_key: type: string format: password title: Api Key description: Huggingface API key for authentication writeOnly: true examples: - sk-abxx model_name: type: string title: Model Name description: Huggingface model name for API requests examples: - gpt-4.1-nano type: object required: - api_key - model_name title: HuggingfaceConnectionRedactParams description: Connection parameters specific to huggingface targets BedrockAccessConnectionParams: properties: access_id: type: string title: Access Id description: AWS access key ID access_secret: type: string title: Access Secret description: AWS secret access key session_token: anyOf: - type: string - type: 'null' title: Session Token description: AWS session token (optional) region: type: string title: Region description: AWS region model_id: type: string title: Model Id description: Bedrock model ID type: object required: - access_id - access_secret - region - model_id title: BedrockAccessConnectionParams description: AWS Bedrock access parameters stored in target_metadata. MSCopilotStudioAuthUrlResponseSchema: properties: auth_url: type: string title: Auth Url description: OAuth authorization URL for user login token_json_uuid: type: string format: uuid title: Token Json Uuid description: UUID referencing MSAL token cache in GSM state: type: string title: State description: MSAL-generated state for frontend session tracking (correlate auth callback with original request) type: object required: - auth_url - token_json_uuid - state title: MSCopilotStudioAuthUrlResponseSchema description: Response containing the generated OAuth auth URL. PaginationSchema: properties: total_items: anyOf: - type: integer - type: 'null' title: Total Items type: object title: PaginationSchema MultiTurnStatelessConfig: properties: type: type: string const: stateless title: Type default: stateless assistant_role: anyOf: - type: string - type: 'null' title: Assistant Role description: Role name for assistant messages in conversation history (e.g., 'assistant', 'bot', 'model') examples: - assistant - bot - model - ai type: object title: MultiTurnStatelessConfig description: 'Configuration for stateless multi-turn targets (session_supported=false). Stateless targets require the client to maintain and send conversation history. The assistant_role specifies the role name used for assistant messages in the history. ' StreamingConnectionParamsBase-Output: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' response_stop_key: type: string title: Response Stop Key response_stop_value: type: string title: Response Stop Value type: object required: - response_stop_key - response_stop_value title: StreamingConnectionParamsBase description: Base streaming connection parameters without generated fields. ResponseMode: type: string enum: - REST - STREAMING - WEBSOCKET - WEBSOCKET_STREAMING title: ResponseMode description: Response mode for target interactions. BasicAuthAuthConfigRedact: properties: basic_auth_location: $ref: '#/components/schemas/BasicAuthLocation' description: 'Where credentials are sent: HEADER or PAYLOAD' default: HEADER basic_auth_header: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Basic Auth Header description: 'Auth header as {name: value} dict (required when location=HEADER)' examples: - Authorization: Basic dXNlcjpwYXNz type: object title: BasicAuthAuthConfigRedact HuggingfaceConnectionParams: properties: api_key: type: string title: Api Key description: Huggingface API key for authentication examples: - sk-abxx model_name: type: string title: Model Name description: Huggingface model name for API requests examples: - gpt-4.1-nano type: object required: - api_key - model_name title: HuggingfaceConnectionParams description: Connection parameters specific to huggingface targets OpenAIConnectionParams: properties: api_key: type: string title: Api Key description: OpenAI API key for authentication examples: - sk-abxx model_name: type: string title: Model Name description: OpenAI model name for API requests examples: - gpt-4.1-nano type: object required: - api_key - model_name title: OpenAIConnectionParams description: Connection parameters specific to OpenAI targets AdapterVarBase: properties: key: type: string maxLength: 255 title: Key description: Variable key value: anyOf: - type: string - type: 'null' title: Value description: Variable value. On update, null means 'keep the existing value' — used for unchanged secrets, whose values are never returned. type: $ref: '#/components/schemas/AdapterVarType' description: VAR (non-sensitive) or SECRET (sensitive) type: object required: - key - type title: AdapterVarBase description: A single adapter configuration variable (also the GSM-stored shape). BasicAuthLocation: type: string enum: - HEADER - PAYLOAD title: BasicAuthLocation description: Where Basic Auth credentials are sent. NativeConnectionParamsBase-Output: properties: target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Provider-specific connection config multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi-turn config for stateful or stateless target multi_turn_supported: type: boolean title: Multi Turn Supported description: Whether a native target that drives multi-turn internally supports it. Currently consumed only by custom target adapters, which have no multi_turn_config to infer it from; gates the multi-turn validation probe. default: false type: object title: NativeConnectionParamsBase description: 'Base connection parameters for native/SDK-based targets (no HTTP endpoint). Used for no-code agent platforms like Microsoft Copilot Studio where interaction is via a provider''s client library, not HTTP REST/streaming. # TODO: Consider refactoring RestConnectionParamsBase and StreamingConnectionParamsBase # to share a common base with this class (e.g., extract target_connection_config and # multi_turn_config into a shared parent). ' MSCopilotStudioTokenRequestSchema: properties: auth_response: additionalProperties: type: string type: object title: Auth Response description: Full redirect query params from Microsoft (code, state, session_state, etc.) token_json_uuid: type: string format: uuid title: Token Json Uuid description: UUID from POST /auth-url response client_id: type: string title: Client Id description: Azure App Registration Client ID client_secret: type: string title: Client Secret description: Azure App Registration Client Secret tenant_id: type: string title: Tenant Id description: Azure AD Tenant ID target_uuid: anyOf: - type: string format: uuid - type: 'null' title: Target Uuid description: Existing target UUID for resolving redacted client_secret on re-auth. additionalProperties: false type: object required: - auth_response - token_json_uuid - client_id - client_secret - tenant_id title: MSCopilotStudioTokenRequestSchema description: Request body for exchanging auth code for tokens (POST /token). StreamingConnectionParamsRedactBase: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionRedactParams' - $ref: '#/components/schemas/HuggingfaceConnectionRedactParams' - $ref: '#/components/schemas/DatabricksConnectionRedactParams' - $ref: '#/components/schemas/BedrockAccessConnectionRedactParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionRedactParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' response_stop_key: type: string title: Response Stop Key response_stop_value: type: string title: Response Stop Value type: object required: - response_stop_key - response_stop_value title: StreamingConnectionParamsRedactBase AiGeneratedLanguageListFieldInfo: properties: ai_discovered_items: items: type: string type: array title: Ai Discovered Items current_items: items: $ref: '#/components/schemas/AiLanguageItemTag' type: array title: Current Items ai_count: type: integer title: Ai Count default: 0 user_count: type: integer title: User Count default: 0 type: object required: - ai_discovered_items - current_items title: AiGeneratedLanguageListFieldInfo description: AI tracking for the languages_supported list field. TargetCreateRequestSchema: properties: connection_params: anyOf: - oneOf: - $ref: '#/components/schemas/NativeConnectionParamsBase-Input' - $ref: '#/components/schemas/WebSocketConnectionParamsBase-Input' - $ref: '#/components/schemas/StreamingConnectionParamsBase-Input' - $ref: '#/components/schemas/RestConnectionParamsBase-Input' - type: 'null' title: Connection Params description: API connection parameters (sensitive data masked for security) examples: - api_endpoint: https://api.openai.com/v1/responses request_headers: Authorization: Bearer sk-xxx Content-Type: application/json request_json: input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: content: '{RESPONSE}' response_key: content auth_config: anyOf: - $ref: '#/components/schemas/HeadersAuthConfig' - $ref: '#/components/schemas/BasicAuthAuthConfig' - $ref: '#/components/schemas/OAuth2AuthConfig' - type: 'null' title: Auth Config description: Authentication configuration (resolved based on auth_type) network_broker_channel_uuid: anyOf: - type: string format: uuid - type: 'null' title: Network Broker Channel Uuid description: Network broker channel UUID for routing requests. Required when api_endpoint_type is NETWORK_BROKER. examples: - 550e8400-e29b-41d4-a716-446655440000 name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. target_metadata: $ref: '#/components/schemas/TargetMetadata' description: Target metadata and configuration options target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background: industry, use_case, competitors' additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: 'Additional context: base_model, system_prompt, languages, etc.' canonical_id: anyOf: - type: string maxLength: 512 - type: 'null' title: Canonical Id description: Partner-supplied stable identifier (e.g. Discovery's id). Free-form opaque string; immutable once set. adapter_variable_overrides: anyOf: - items: $ref: '#/components/schemas/AdapterVarBase' type: array - type: 'null' title: Adapter Variable Overrides description: Target-level overrides for the adapter's variables and secrets, by key. A value wins over the adapter's base value; a null secret value keeps the existing override on update. Only valid when connection_type is CUSTOM_TARGET_ADAPTER. additionalProperties: false type: object required: - name title: TargetCreateRequestSchema description: Target create request schema for validating and defining target creation parameters. OAuth2AuthConfigRedact: properties: oauth2_token_url: type: string title: Oauth2 Token Url description: OAuth2 token endpoint URL examples: - https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token oauth2_expiry_minutes: type: integer minimum: 0.0 title: Oauth2 Expiry Minutes description: Token validity in minutes. System refreshes at expiry - 1 min. default: 60 oauth2_headers: additionalProperties: true type: object title: Oauth2 Headers description: HTTP headers for the token request examples: - Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ= Content-Type: application/x-www-form-urlencoded oauth2_body_params: additionalProperties: true type: object title: Oauth2 Body Params description: Body parameters for the token request (nested JSON dict) examples: - client_id: my-client-id client_secret: my-client-secret grant_type: client_credentials scope: api-access oauth2_token_response_key: type: string title: Oauth2 Token Response Key description: Dot-notation path to token in response JSON default: access_token examples: - access_token - data.credentials.access_token oauth2_inject_header: additionalProperties: type: string type: object title: Oauth2 Inject Header description: Header template with {TOKEN} placeholder examples: - Authorization: Bearer {TOKEN} type: object required: - oauth2_token_url - oauth2_inject_header title: OAuth2AuthConfigRedact TargetBackground: properties: industry: anyOf: - type: string - type: 'null' title: Industry description: Target's industry (e.g., Healthcare, Finance) use_case: anyOf: - type: string - type: 'null' title: Use Case description: Primary use case (e.g., Customer Support, Code Assistant) competitors: anyOf: - items: type: string type: array - type: 'null' title: Competitors description: Known competitor products agentic_profiling_enabled: type: boolean title: Agentic Profiling Enabled description: Whether agentic profiling is enabled for this target default: true type: object title: TargetBackground description: 'Target background - used in create/update API requests and stored in DB/GCS. Required fields for activation: - industry (string, required) - use_case (string, required) Optional field: - competitors (list of strings) ' AiGeneratedItems: properties: languages_supported: anyOf: - $ref: '#/components/schemas/AiGeneratedLanguageListFieldInfo' - type: 'null' tools_accessible: anyOf: - $ref: '#/components/schemas/AiGeneratedListFieldInfo' - type: 'null' banned_keywords: anyOf: - $ref: '#/components/schemas/AiGeneratedListFieldInfo' - type: 'null' competitors: anyOf: - $ref: '#/components/schemas/AiGeneratedListFieldInfo' - type: 'null' base_model: anyOf: - $ref: '#/components/schemas/AiGeneratedStringFieldInfo' - type: 'null' core_architecture: anyOf: - $ref: '#/components/schemas/AiGeneratedStringFieldInfo' - type: 'null' system_prompt: anyOf: - $ref: '#/components/schemas/AiGeneratedStringFieldInfo' - type: 'null' type: object title: AiGeneratedItems description: Per-field AI tracking with item-level tags and counts. MSCopilotStudioConnectionRedactParams: properties: client_id: type: string title: Client Id description: Azure App Registration Client ID client_secret: type: string format: password title: Client Secret description: Azure App Registration Client Secret writeOnly: true tenant_id: type: string title: Tenant Id description: Azure AD Tenant ID schema_name: type: string title: Schema Name description: Copilot Agent schema/identifier environment_id: type: string title: Environment Id description: Power Platform Environment ID token_json_uuid: anyOf: - type: string format: uuid - type: 'null' title: Token Json Uuid description: UUID referencing MSAL token cache in GSM. Set after POST /ms-copilot-studio/token. type: object required: - client_id - client_secret - tenant_id - schema_name - environment_id title: MSCopilotStudioConnectionRedactParams description: Redacted version with SecretStr for sensitive fields. TargetProbeRequest: properties: connection_params: anyOf: - oneOf: - $ref: '#/components/schemas/NativeConnectionParamsBase-Input' - $ref: '#/components/schemas/WebSocketConnectionParamsBase-Input' - $ref: '#/components/schemas/StreamingConnectionParamsBase-Input' - $ref: '#/components/schemas/RestConnectionParamsBase-Input' - type: 'null' title: Connection Params description: API connection parameters (sensitive data masked for security) examples: - api_endpoint: https://api.openai.com/v1/responses request_headers: Authorization: Bearer sk-xxx Content-Type: application/json request_json: input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: content: '{RESPONSE}' response_key: content auth_config: anyOf: - $ref: '#/components/schemas/HeadersAuthConfig' - $ref: '#/components/schemas/BasicAuthAuthConfig' - $ref: '#/components/schemas/OAuth2AuthConfig' - type: 'null' title: Auth Config description: Authentication configuration (resolved based on auth_type) network_broker_channel_uuid: anyOf: - type: string format: uuid - type: 'null' title: Network Broker Channel Uuid description: Network broker channel UUID for routing requests. Required when api_endpoint_type is NETWORK_BROKER. examples: - 550e8400-e29b-41d4-a716-446655440000 name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. target_metadata: $ref: '#/components/schemas/TargetMetadata' description: Target metadata and configuration options target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background: industry, use_case, competitors' additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: 'Additional context: base_model, system_prompt, languages, etc.' canonical_id: anyOf: - type: string maxLength: 512 - type: 'null' title: Canonical Id description: Partner-supplied stable identifier (e.g. Discovery's id). Free-form opaque string; immutable once set. adapter_variable_overrides: anyOf: - items: $ref: '#/components/schemas/AdapterVarBase' type: array - type: 'null' title: Adapter Variable Overrides description: Target-level overrides for the adapter's variables and secrets, by key. A value wins over the adapter's base value; a null secret value keeps the existing override on update. Only valid when connection_type is CUSTOM_TARGET_ADAPTER. uuid: anyOf: - type: string format: uuid - type: 'null' title: Uuid description: Target UUID. If provided, will be returned in response. probe_fields: anyOf: - items: type: string type: array - type: 'null' title: Probe Fields description: 'Specific probes to run. If None, runs all probes. Valid: industry, use_case, competitors, base_model, core_architecture, languages_supported, tools_accessible, system_prompt, banned_keywords' additionalProperties: false type: object required: - name title: TargetProbeRequest description: 'Request to run profiling probes on a target. Inherits all target creation fields (connection params, metadata, etc.) If probe_fields is None, runs all 9 probes. Otherwise runs only specified probes. ' TargetAdditionalContext: properties: base_model: anyOf: - type: string - type: 'null' title: Base Model description: Base model name (e.g., GPT-4, Claude) core_architecture: anyOf: - type: string - type: 'null' title: Core Architecture description: Core architecture details system_prompt: anyOf: - type: string - type: 'null' title: System Prompt description: System prompt languages_supported: anyOf: - items: type: string type: array - type: 'null' title: Languages Supported description: Supported languages banned_keywords: anyOf: - items: type: string type: array - type: 'null' title: Banned Keywords description: Banned keywords/phrases tools_accessible: anyOf: - items: type: string type: array - type: 'null' title: Tools Accessible description: Accessible tools/capabilities type: object title: TargetAdditionalContext description: 'Additional context - used in create/update API requests and stored in DB/GCS. Single value fields are strings. List fields are lists of strings. ' AiGeneratedStringFieldInfo: properties: ai_discovered_value: type: string title: Ai Discovered Value is_ai_generated: type: boolean title: Is Ai Generated default: false type: object required: - ai_discovered_value title: AiGeneratedStringFieldInfo description: AI tracking for a string field (base_model, core_architecture, system_prompt). TargetContextUpdateSchema: properties: target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background: industry, use_case, competitors' additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: 'Additional context: base_model, system_prompt, languages, etc.' type: object title: TargetContextUpdateSchema description: 'Request schema for updating target profile (background + additional context). Used by PUT /{target_uuid}/profile endpoint. User provides plain values which are saved directly to DB and GCS. ' TargetListSchema: properties: pagination: $ref: '#/components/schemas/PaginationSchema' data: items: $ref: '#/components/schemas/TargetListItemSchema' type: array title: Data description: List of targets type: object required: - pagination title: TargetListSchema description: Schema returned by API for list target operations. TargetMetadata: properties: multi_turn: type: boolean title: Multi Turn description: Whether target supports multi-turn conversations (Probe 2 result) default: false multi_turn_error_message: anyOf: - type: string - type: 'null' title: Multi Turn Error Message description: Concise error message if Probe 2 failed examples: - Session ID extraction failed - Assistant role not configured supports_multimodal_files: type: boolean title: Supports Multimodal Files description: Whether the target accepted a sample file attack at validation time (Probe 3). When False, scans against this target run text-only. default: false supports_multimodal_files_error_message: anyOf: - type: string - type: 'null' title: Supports Multimodal Files Error Message description: Concise error message if the multimodal file probe failed examples: - 'HTTP 400: target rejected file payload' - File delivery not configured rate_limit: anyOf: - type: integer - type: 'null' title: Rate Limit description: Current rate limit value examples: - 996 rate_limit_enabled: type: boolean title: Rate Limit Enabled description: Whether rate limiting is enabled default: false rate_limit_error_code: anyOf: - type: integer - type: 'null' title: Rate Limit Error Code description: HTTP status code for rate limit errors examples: - 429 rate_limit_error_json: anyOf: - additionalProperties: true type: object - type: 'null' title: Rate Limit Error Json description: JSON structure of rate limit error response examples: - error: code: rate_limit_exceeded message: 'Rate limit reached for o1-preview on requests per min (RPM): Limit 20, Used 20, Requested 1. Please try again in 3s. Visit https://platform.openai.com/account/rate-limits to learn more.' param: 'null' type: requests rate_limit_error_message: anyOf: - type: string - type: 'null' title: Rate Limit Error Message description: Raw error message string for rate limit errors examples: - 'Rate limit reached for o1-preview on requests per min (RPM): Limit 20, Used 20, Requested 1. Please try again in 3s.' content_filter_enabled: type: boolean title: Content Filter Enabled description: Whether content filtering is enabled default: false content_filter_error_code: anyOf: - type: integer - type: 'null' title: Content Filter Error Code description: HTTP status code for content filter errors examples: - 400 content_filter_error_json: anyOf: - additionalProperties: true type: object - type: 'null' title: Content Filter Error Json description: JSON structure of content filter error response examples: - error: code: invalid_prompt message: 'Invalid prompt: your prompt was flagged as potentially violating our usage policy. Please try again with a different prompt.' type: invalid_request_error content_filter_error_message: anyOf: - type: string - type: 'null' title: Content Filter Error Message description: Raw error message string for content filter errors examples: - 'Invalid prompt: your prompt was flagged as potentially violating our usage policy. Please try again with a different prompt.' probe_message: type: string title: Probe Message default: Hello, this is a test message from the red team validation system. request_timeout: type: number title: Request Timeout description: Request timeout in seconds default: 110 examples: - 110 type: object title: TargetMetadata description: 'Metadata stored in the database for targets (user-provided + computed fields). Inherits the multimodal-capability fields from ``MultiModalResult`` and the multi-turn fields from ``MultiTurnResult``. The base order ``(MultiModalResult, MultiTurnResult)`` keeps the serialized field order ``multi_turn, multi_turn_error_message, supports_multimodal_files, supports_multimodal_files_error_message, rate_limit, …`` identical to before this refactor — which preserves the Restate journal bytes for pre-V4 in-flight scans. ' TargetUpdateRequestSchema: properties: connection_params: anyOf: - oneOf: - $ref: '#/components/schemas/NativeConnectionParamsBase-Input' - $ref: '#/components/schemas/WebSocketConnectionParamsBase-Input' - $ref: '#/components/schemas/StreamingConnectionParamsBase-Input' - $ref: '#/components/schemas/RestConnectionParamsBase-Input' - type: 'null' title: Connection Params description: API connection parameters (sensitive data masked for security) examples: - api_endpoint: https://api.openai.com/v1/responses request_headers: Authorization: Bearer sk-xxx Content-Type: application/json request_json: input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: content: '{RESPONSE}' response_key: content auth_config: anyOf: - $ref: '#/components/schemas/HeadersAuthConfig' - $ref: '#/components/schemas/BasicAuthAuthConfig' - $ref: '#/components/schemas/OAuth2AuthConfig' - type: 'null' title: Auth Config description: Authentication configuration (resolved based on auth_type) network_broker_channel_uuid: anyOf: - type: string format: uuid - type: 'null' title: Network Broker Channel Uuid description: Network broker channel UUID for routing requests. Required when api_endpoint_type is NETWORK_BROKER. examples: - 550e8400-e29b-41d4-a716-446655440000 name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. target_metadata: $ref: '#/components/schemas/TargetMetadata' description: Target metadata and configuration options target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background: industry, use_case, competitors' additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: 'Additional context: base_model, system_prompt, languages, etc.' canonical_id: anyOf: - type: string maxLength: 512 - type: 'null' title: Canonical Id description: Partner-supplied stable identifier (e.g. Discovery's id). Free-form opaque string; immutable once set. adapter_variable_overrides: anyOf: - items: $ref: '#/components/schemas/AdapterVarBase' type: array - type: 'null' title: Adapter Variable Overrides description: Target-level overrides for the adapter's variables and secrets, by key. A value wins over the adapter's base value; a null secret value keeps the existing override on update. Only valid when connection_type is CUSTOM_TARGET_ADAPTER. additionalProperties: false type: object required: - name title: TargetUpdateRequestSchema description: Schema for both create and update operations. NativeConnectionParamsBase-Input: properties: target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Provider-specific connection config multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi-turn config for stateful or stateless target multi_turn_supported: type: boolean title: Multi Turn Supported description: Whether a native target that drives multi-turn internally supports it. Currently consumed only by custom target adapters, which have no multi_turn_config to infer it from; gates the multi-turn validation probe. default: false type: object title: NativeConnectionParamsBase description: 'Base connection parameters for native/SDK-based targets (no HTTP endpoint). Used for no-code agent platforms like Microsoft Copilot Studio where interaction is via a provider''s client library, not HTTP REST/streaming. # TODO: Consider refactoring RestConnectionParamsBase and StreamingConnectionParamsBase # to share a common base with this class (e.g., extract target_connection_config and # multi_turn_config into a shared parent). ' MultiTurnStatefulConfig: properties: type: type: string const: stateful title: Type default: stateful response_id_field: type: string title: Response Id Field description: JSON path to extract session ID from target response (e.g., 'id' for OpenAI responses API) examples: - id - conversation_id - session.id request_id_field: type: string title: Request Id Field description: JSON path to inject session ID in next request (e.g., 'previous_response_id' for OpenAI) examples: - previous_response_id - conversation_id - session_id type: object required: - response_id_field - request_id_field title: MultiTurnStatefulConfig description: 'Configuration for stateful multi-turn targets (session_supported=true). Stateful targets maintain conversation state on the server side using session IDs. The session ID is extracted from responses and injected into subsequent requests. ' TargetSchema: properties: connection_params: anyOf: - oneOf: - $ref: '#/components/schemas/NativeConnectionParamsBase-Output' - $ref: '#/components/schemas/WebSocketConnectionParamsBase-Output' - $ref: '#/components/schemas/StreamingConnectionParamsBase-Output' - $ref: '#/components/schemas/RestConnectionParamsBase-Output' - type: 'null' title: Connection Params description: API connection parameters (sensitive data masked for security) examples: - api_endpoint: https://api.openai.com/v1/responses request_headers: Authorization: Bearer sk-xxx Content-Type: application/json request_json: input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: content: '{RESPONSE}' response_key: content auth_config: anyOf: - $ref: '#/components/schemas/HeadersAuthConfig' - $ref: '#/components/schemas/BasicAuthAuthConfig' - $ref: '#/components/schemas/OAuth2AuthConfig' - type: 'null' title: Auth Config description: Authentication configuration (resolved based on auth_type) network_broker_channel_uuid: anyOf: - type: string format: uuid - type: 'null' title: Network Broker Channel Uuid description: Network broker channel UUID for routing requests. Required when api_endpoint_type is NETWORK_BROKER. examples: - 550e8400-e29b-41d4-a716-446655440000 uuid: type: string format: uuid title: Uuid tsg_id: type: string title: Tsg Id name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. status: $ref: '#/components/schemas/TargetStatus' description: Target status active: type: boolean title: Active description: Whether target is active validated: type: boolean title: Validated description: Whether target is validated version: anyOf: - type: integer - type: 'null' title: Version description: Configuration version reference for encrypted config secret_version: anyOf: - type: string - type: 'null' title: Secret Version description: Secret Manager version for connection_params. When present, sensitive connection data is stored in Secret Manager. When None, connection_params are stored in GCS (legacy). created_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Created By User Id description: User ID of target creator updated_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Updated By User Id description: User ID of last target updater created_at: type: string format: date-time title: Created At description: Creation timestamp updated_at: type: string format: date-time title: Updated At description: Last update timestamp profiling_status: anyOf: - $ref: '#/components/schemas/ProfilingStatus' - type: 'null' description: Status of the profiling workflow canonical_id: anyOf: - type: string - type: 'null' title: Canonical Id description: Partner-supplied stable identifier. Null for targets without partner integration metadata (most targets). target_metadata: $ref: '#/components/schemas/TargetMetadata' description: Target metadata and configuration options adapter_secret_version: anyOf: - type: string - type: 'null' title: Adapter Secret Version description: Frozen Secret Manager version of the referenced adapter, pinned at scan (job) creation so an adapter edited mid-scan doesn't change the script/secrets that scan uses. Server-managed; null for non-adapter targets. target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background info: industry, use_case, competitors' profiling_progress: anyOf: - type: integer - type: 'null' title: Profiling Progress description: Profiling progress percentage (0–100) additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: Additional context with source tracking (user + profiler) adapter_variable_overrides: anyOf: - items: $ref: '#/components/schemas/AdapterVarBase' type: array - type: 'null' title: Adapter Variable Overrides description: Target-level overrides for the adapter's variables/secrets type: object required: - uuid - tsg_id - name - status - active - validated - created_at - updated_at title: TargetSchema description: 'Target Get Schema with profiling fields. Inherits from TargetDetailSchema which includes: - target_background: industry, use_case, competitors - profiling_status: INIT, QUEUED, IN_PROGRESS, COMPLETED, FAILED - additional_context: merged user + profiler values with source tracking ' red_team_shared__schemas__databricks__AuthType: type: string enum: - OAUTH - ACCESS_TOKEN title: AuthType TargetStatusFilter: type: string enum: - DRAFT - ACTIVE - FAILED - QUEUED - IN_PROGRESS - COMPLETED - PARTIALLY_COMPLETE title: TargetStatusFilter description: 'Status values accepted by the list-targets ``status`` filter. Unions the target status and profiling status values so a single ``status`` filter can match on either. A supplied value matches a target whose target status or profiling status equals it. Note (internal): keep members in sync with :class:`TargetStatus` and :class:`ProfilingStatus`. ``FAILED`` is shared by both and defined once. ' TargetAuthValidationResponseSchema: properties: validated: type: boolean title: Validated description: Whether auth validation passed token_preview: anyOf: - type: string - type: 'null' title: Token Preview description: First 20 chars of token (OAuth2 only) expires_in: anyOf: - type: integer - type: 'null' title: Expires In description: Token expiry from response (OAuth2 only) type: object required: - validated title: TargetAuthValidationResponseSchema description: 'Response schema from target authentication validation. On failure, the service raises airs_common exceptions (ValidationError, AuthError, etc.) which are converted to HTTP error responses by middleware. ' HeadersAuthConfigRedact: properties: auth_header: additionalProperties: type: string type: object title: Auth Header description: 'Auth header as {name: value} dict' examples: - Authorization: Bearer sk-xxxxxxxxxxxx - x-api-key: my-api-key type: object required: - auth_header title: HeadersAuthConfigRedact MSCopilotStudioAuthUrlRequestSchema: properties: client_id: type: string title: Client Id description: Azure App Registration Client ID client_secret: type: string title: Client Secret description: Azure App Registration Client Secret tenant_id: type: string title: Tenant Id description: Azure AD Tenant ID target_uuid: anyOf: - type: string format: uuid - type: 'null' title: Target Uuid description: Existing target UUID for resolving redacted client_secret on re-auth. token_json_uuid: anyOf: - type: string format: uuid - type: 'null' title: Token Json Uuid description: Existing token_json_uuid for re-auth. If omitted, a new UUID is generated. additionalProperties: false type: object required: - client_id - client_secret - tenant_id title: MSCopilotStudioAuthUrlRequestSchema description: 'Request body for generating MS Copilot Studio OAuth auth URL (POST /auth-url). If token_json_uuid is provided, reuses existing UUID (re-auth). If omitted, generates a new UUID (new target). ' AiItemTag: properties: value: type: string title: Value is_ai_generated: type: boolean title: Is Ai Generated type: object required: - value - is_ai_generated title: AiItemTag description: Single item with AI tracking tag. FE renders directly. TargetRedactSchema: properties: connection_params: anyOf: - oneOf: - $ref: '#/components/schemas/NativeConnectionParamsRedactBase' - $ref: '#/components/schemas/WebSocketConnectionParamsRedactBase' - $ref: '#/components/schemas/StreamingConnectionParamsRedactBase' - $ref: '#/components/schemas/RestConnectionParamsRedactBase' - type: 'null' title: Connection Params description: API connection parameters (sensitive data masked for security) auth_config: anyOf: - $ref: '#/components/schemas/HeadersAuthConfigRedact' - $ref: '#/components/schemas/BasicAuthAuthConfigRedact' - $ref: '#/components/schemas/OAuth2AuthConfigRedact' - type: 'null' title: Auth Config description: Authentication configuration (sensitive data masked for security) network_broker_channel_uuid: anyOf: - type: string format: uuid - type: 'null' title: Network Broker Channel Uuid description: Network broker channel UUID for routing requests. Required when api_endpoint_type is NETWORK_BROKER. examples: - 550e8400-e29b-41d4-a716-446655440000 uuid: type: string format: uuid title: Uuid tsg_id: type: string title: Tsg Id name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. status: $ref: '#/components/schemas/TargetStatus' description: Target status active: type: boolean title: Active description: Whether target is active validated: type: boolean title: Validated description: Whether target is validated version: anyOf: - type: integer - type: 'null' title: Version description: Configuration version reference for encrypted config secret_version: anyOf: - type: string - type: 'null' title: Secret Version description: Secret Manager version for connection_params. When present, sensitive connection data is stored in Secret Manager. When None, connection_params are stored in GCS (legacy). created_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Created By User Id description: User ID of target creator updated_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Updated By User Id description: User ID of last target updater created_at: type: string format: date-time title: Created At description: Creation timestamp updated_at: type: string format: date-time title: Updated At description: Last update timestamp profiling_status: anyOf: - $ref: '#/components/schemas/ProfilingStatus' - type: 'null' description: Status of the profiling workflow canonical_id: anyOf: - type: string - type: 'null' title: Canonical Id description: Partner-supplied stable identifier. Null for targets without partner integration metadata (most targets). target_metadata: $ref: '#/components/schemas/TargetMetadata' description: Target metadata and configuration options adapter_secret_version: anyOf: - type: string - type: 'null' title: Adapter Secret Version description: Frozen Secret Manager version of the referenced adapter, pinned at scan (job) creation so an adapter edited mid-scan doesn't change the script/secrets that scan uses. Server-managed; null for non-adapter targets. target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background info: industry, use_case, competitors' profiling_progress: anyOf: - type: integer - type: 'null' title: Profiling Progress description: Profiling progress percentage (0–100) additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: Additional context with source tracking (user + profiler) adapter_variable_overrides: anyOf: - items: $ref: '#/components/schemas/AdapterVarResponseSchema' type: array - type: 'null' title: Adapter Variable Overrides description: Target-level overrides for the adapter's variables (secret values masked). Only set for CUSTOM_TARGET_ADAPTER targets. type: object required: - uuid - tsg_id - name - status - active - validated - created_at - updated_at title: TargetRedactSchema description: Target redact Schema BedrockAccessConnectionRedactParams: properties: access_id: type: string format: password title: Access Id description: AWS access key ID writeOnly: true access_secret: type: string format: password title: Access Secret description: AWS secret access key writeOnly: true session_token: anyOf: - type: string format: password writeOnly: true - type: 'null' title: Session Token description: AWS session token (optional) region: type: string title: Region description: AWS region model_id: type: string title: Model Id description: Bedrock model ID type: object required: - access_id - access_secret - region - model_id title: BedrockAccessConnectionRedactParams description: AWS Bedrock access parameters stored in target_metadata. AiLanguageItemTag: properties: value: type: string title: Value is_ai_generated: type: boolean title: Is Ai Generated country_code: anyOf: - type: string - type: 'null' title: Country Code type: object required: - value - is_ai_generated title: AiLanguageItemTag description: AI tracking tag for language items, includes ISO 639-1 code for flag display. NativeConnectionParamsRedactBase: properties: target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionRedactParams' - $ref: '#/components/schemas/HuggingfaceConnectionRedactParams' - $ref: '#/components/schemas/DatabricksConnectionRedactParams' - $ref: '#/components/schemas/BedrockAccessConnectionRedactParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionRedactParams' - type: 'null' title: Target Connection Config description: Provider-specific connection config (redacted) multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi-turn config for stateful or stateless target multi_turn_supported: type: boolean title: Multi Turn Supported description: Whether a native target that drives multi-turn internally supports it. Currently consumed only by custom target adapters, which have no multi_turn_config to infer it from; gates the multi-turn validation probe. default: false type: object title: NativeConnectionParamsRedactBase description: Redacted version of NativeConnectionParamsBase. OpenAIConnectionRedactParams: properties: api_key: type: string format: password title: Api Key description: OpenAI API key for authentication writeOnly: true examples: - sk-abxx model_name: type: string title: Model Name description: OpenAI model name for API requests examples: - gpt-4.1-nano type: object required: - api_key - model_name title: OpenAIConnectionRedactParams description: Connection parameters specific to OpenAI targets MSCopilotStudioTokenResponseSchema: properties: token_json_uuid: type: string format: uuid title: Token Json Uuid description: UUID referencing MSAL token cache in GSM type: object required: - token_json_uuid title: MSCopilotStudioTokenResponseSchema description: Response after successful token exchange (POST/PUT /token). AiGeneratedListFieldInfo: properties: ai_discovered_items: items: type: string type: array title: Ai Discovered Items current_items: items: $ref: '#/components/schemas/AiItemTag' type: array title: Current Items ai_count: type: integer title: Ai Count default: 0 user_count: type: integer title: User Count default: 0 type: object required: - ai_discovered_items - current_items title: AiGeneratedListFieldInfo description: AI tracking for a list field (tools, keywords, competitors). DatabricksConnectionParams: properties: auth_type: $ref: '#/components/schemas/red_team_shared__schemas__databricks__AuthType' description: Auth type access_token: anyOf: - type: string - type: 'null' title: Access Token description: Databricks access token client_id: anyOf: - type: string - type: 'null' title: Client Id description: Databricks client_id secret: anyOf: - type: string - type: 'null' title: Secret description: Databricks secret workspace_url: type: string title: Workspace Url description: Databricks workscpace_url model_name: type: string title: Model Name description: Databricks model name type: object required: - auth_type - workspace_url - model_name title: DatabricksConnectionParams TargetResponseSchema: properties: uuid: type: string format: uuid title: Uuid tsg_id: type: string title: Tsg Id name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. status: $ref: '#/components/schemas/TargetStatus' description: Target status active: type: boolean title: Active description: Whether target is active validated: type: boolean title: Validated description: Whether target is validated version: anyOf: - type: integer - type: 'null' title: Version description: Configuration version secret_version: anyOf: - type: string - type: 'null' title: Secret Version description: Secret Manager version for connection_params. When present, sensitive connection data is stored in Secret Manager. When None, connection_params are stored in GCS (legacy). created_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Created By User Id description: User ID of target creator updated_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Updated By User Id description: User ID of last target updater created_at: type: string format: date-time title: Created At description: Creation timestamp updated_at: type: string format: date-time title: Updated At description: Last update timestamp profiling_status: anyOf: - $ref: '#/components/schemas/ProfilingStatus' - type: 'null' description: Status of the profiling workflow canonical_id: anyOf: - type: string - type: 'null' title: Canonical Id description: Partner-supplied stable identifier. Null for targets without partner integration metadata (most targets). target_metadata: $ref: '#/components/schemas/TargetMetadata' description: Target metadata and configuration options adapter_secret_version: anyOf: - type: string - type: 'null' title: Adapter Secret Version description: Frozen Secret Manager version of the referenced adapter, pinned at scan (job) creation so an adapter edited mid-scan doesn't change the script/secrets that scan uses. Server-managed; null for non-adapter targets. target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' description: 'Target background info: industry, use_case, competitors' profiling_progress: anyOf: - type: integer - type: 'null' title: Profiling Progress description: Profiling progress percentage (0–100) additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' description: Additional context with source tracking (user + profiler) type: object required: - uuid - tsg_id - name - status - active - validated - created_at - updated_at title: TargetResponseSchema OAuth2AuthConfig: properties: oauth2_token_url: type: string title: Oauth2 Token Url description: OAuth2 token endpoint URL examples: - https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token oauth2_expiry_minutes: type: integer minimum: 0.0 title: Oauth2 Expiry Minutes description: Token validity in minutes. System refreshes at expiry - 1 min. default: 60 oauth2_headers: additionalProperties: true type: object title: Oauth2 Headers description: HTTP headers for the token request examples: - Authorization: Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ= Content-Type: application/x-www-form-urlencoded oauth2_body_params: additionalProperties: true type: object title: Oauth2 Body Params description: Body parameters for the token request (nested JSON dict) examples: - client_id: my-client-id client_secret: my-client-secret grant_type: client_credentials scope: api-access oauth2_token_response_key: type: string title: Oauth2 Token Response Key description: Dot-notation path to token in response JSON default: access_token examples: - access_token - data.credentials.access_token oauth2_inject_header: additionalProperties: type: string type: object title: Oauth2 Inject Header description: Header template with {TOKEN} placeholder examples: - Authorization: Bearer {TOKEN} type: object required: - oauth2_token_url - oauth2_inject_header title: OAuth2AuthConfig description: OAuth2 client credentials with proactive token refresh. WebSocketConnectionParamsBase-Output: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' ws_response_timeout: type: number title: Ws Response Timeout description: Timeout in seconds for waiting for a WebSocket response message default: 110.0 examples: - 60.0 - 110.0 type: object title: WebSocketConnectionParamsBase description: Connection parameters for WebSocket targets. MSCopilotStudioConnectionParams: properties: client_id: type: string title: Client Id description: Azure App Registration Client ID client_secret: type: string title: Client Secret description: Azure App Registration Client Secret tenant_id: type: string title: Tenant Id description: Azure AD Tenant ID schema_name: type: string title: Schema Name description: Copilot Agent schema/identifier environment_id: type: string title: Environment Id description: Power Platform Environment ID token_json_uuid: anyOf: - type: string format: uuid - type: 'null' title: Token Json Uuid description: UUID referencing MSAL token cache in GSM. Set after POST /ms-copilot-studio/token. token_cache_json: anyOf: - type: string - type: 'null' title: Token Cache Json description: Serialized MSAL token cache. Injected at POST/PUT /target time from standalone GSM record. type: object required: - client_id - client_secret - tenant_id - schema_name - environment_id title: MSCopilotStudioConnectionParams description: Microsoft Copilot Studio Agent connection parameters. StreamingConnectionParamsBase-Input: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' response_stop_key: type: string title: Response Stop Key response_stop_value: type: string title: Response Stop Value type: object required: - response_stop_key - response_stop_value title: StreamingConnectionParamsBase description: Base streaming connection parameters without generated fields. StartProfilingResponseSchema: properties: message: type: string title: Message description: Status message type: object required: - message title: StartProfilingResponseSchema description: Response schema for start profiling action. TargetConnectionType: type: string enum: - DATABRICKS - BEDROCK - OPENAI - HUGGING_FACE - CUSTOM - REST - STREAMING - WEBSOCKET - WEBSOCKET_STREAMING - MS_COPILOT_STUDIO - CUSTOM_TARGET_ADAPTER title: TargetConnectionType description: Connection type/provider for the target. ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError WebSocketConnectionParamsBase-Input: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' ws_response_timeout: type: number title: Ws Response Timeout description: Timeout in seconds for waiting for a WebSocket response message default: 110.0 examples: - 60.0 - 110.0 type: object title: WebSocketConnectionParamsBase description: Connection parameters for WebSocket targets. TargetListItemSchema: properties: uuid: type: string format: uuid title: Uuid tsg_id: type: string title: Tsg Id name: type: string title: Name description: Target name examples: - GPT 4.1 Nano description: anyOf: - type: string - type: 'null' title: Description description: Optional target description default: null examples: - AI model for testing target_type: anyOf: - $ref: '#/components/schemas/TargetType' - type: 'null' description: Type of target connection_type: anyOf: - $ref: '#/components/schemas/TargetConnectionType' - type: 'null' description: Connection type/provider for the target examples: - CUSTOM - OPENAI - BEDROCK api_endpoint_type: anyOf: - $ref: '#/components/schemas/ApiEndpointType' - type: 'null' description: Accessibility type of the API endpoint examples: - PUBLIC - PRIVATE - NETWORK_BROKER response_mode: anyOf: - $ref: '#/components/schemas/ResponseMode' - type: 'null' description: Response mode for API interactions examples: - REST - STREAMING - WEBSOCKET auth_type: anyOf: - $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' - type: 'null' description: Authentication method for target API access examples: - HEADERS - BASIC_AUTH - OAUTH2 session_supported: type: boolean title: Session Supported description: Whether target supports session for multi-turn conversations default: false extra_info: anyOf: - additionalProperties: true type: object - type: 'null' title: Extra Info description: Additional configuration or metadata for the target default: {} examples: - custom_key: custom_value adapter_uuid: anyOf: - type: string format: uuid - type: 'null' title: Adapter Uuid description: Custom adapter this target uses. Required when connection_type is CUSTOM_TARGET_ADAPTER; must be null for every other connection type. status: $ref: '#/components/schemas/TargetStatus' description: Target status active: type: boolean title: Active description: Whether target is active validated: type: boolean title: Validated description: Whether target is validated version: anyOf: - type: integer - type: 'null' title: Version description: Configuration version secret_version: anyOf: - type: string - type: 'null' title: Secret Version description: Secret Manager version for connection_params. When present, sensitive connection data is stored in Secret Manager. When None, connection_params are stored in GCS (legacy). created_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Created By User Id description: User ID of target creator updated_by_user_id: anyOf: - type: string format: uuid - type: 'null' title: Updated By User Id description: User ID of last target updater created_at: type: string format: date-time title: Created At description: Creation timestamp updated_at: type: string format: date-time title: Updated At description: Last update timestamp profiling_status: anyOf: - $ref: '#/components/schemas/ProfilingStatus' - type: 'null' description: Status of the profiling workflow canonical_id: anyOf: - type: string - type: 'null' title: Canonical Id description: Partner-supplied stable identifier. Null for targets without partner integration metadata (most targets). type: object required: - uuid - tsg_id - name - status - active - validated - created_at - updated_at title: TargetListItemSchema OtherDetails: properties: items: additionalProperties: true type: object title: Items type: object title: OtherDetails description: 'Additional profiler discoveries. Read-only key-value pairs. Examples: code_execution_capability, internet_access, etc. ' TargetProfileResponse: properties: target_id: type: string format: uuid title: Target Id target_version: type: integer title: Target Version status: type: string title: Status target_background: anyOf: - $ref: '#/components/schemas/TargetBackground' - type: 'null' additional_context: anyOf: - $ref: '#/components/schemas/TargetAdditionalContext' - type: 'null' other_details: anyOf: - $ref: '#/components/schemas/OtherDetails' - type: 'null' other_details_prettified: anyOf: - $ref: '#/components/schemas/OtherDetailsPrettified' - type: 'null' ai_generated_fields: anyOf: - items: type: string type: array - type: 'null' title: Ai Generated Fields description: Field names populated by AI profiler (e.g., competitors, base_model, system_prompt) ai_generated_items: anyOf: - $ref: '#/components/schemas/AiGeneratedItems' - type: 'null' profiling_completed_at: anyOf: - type: string format: date-time - type: 'null' title: Profiling Completed At description: When profiling finished profiling_status: anyOf: - type: string - type: 'null' title: Profiling Status description: Status of the profiling workflow profiling_progress: anyOf: - type: integer - type: 'null' title: Profiling Progress description: Profiling progress percentage (0–100) type: object required: - target_id - target_version - status title: TargetProfileResponse description: Combined response for profile view. RestConnectionParamsBase-Output: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' type: object title: RestConnectionParamsBase description: Base connection parameters without generated fields. TargetStatus: type: string enum: - DRAFT - VALIDATING - VALIDATED - ACTIVE - INACTIVE - FAILED - PENDING_AUTH title: TargetStatus description: Status enumeration for scan targets. BasicAuthAuthConfig: properties: basic_auth_location: $ref: '#/components/schemas/BasicAuthLocation' description: 'Where credentials are sent: HEADER or PAYLOAD' default: HEADER basic_auth_header: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Basic Auth Header description: 'Auth header as {name: value} dict (required when location=HEADER)' examples: - Authorization: Basic dXNlcjpwYXNz type: object title: BasicAuthAuthConfig description: Basic Auth credentials — header or payload location. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError AdapterVarResponseSchema: properties: key: type: string maxLength: 255 title: Key description: Variable key value: anyOf: - type: string - type: 'null' title: Value description: Variable value. On update, null means 'keep the existing value' — used for unchanged secrets, whose values are never returned. type: $ref: '#/components/schemas/AdapterVarType' description: VAR (non-sensitive) or SECRET (sensitive) is_redacted: type: boolean title: Is Redacted description: True when the value is hidden (secrets). Redacted values are returned as null. default: false type: object required: - key - type title: AdapterVarResponseSchema description: 'A variable returned in adapter responses. Secrets are masked: value is returned as null with is_redacted=true. ' ProfilingStatus: type: string enum: - INIT - QUEUED - IN_PROGRESS - COMPLETED - FAILED - PARTIALLY_COMPLETE title: ProfilingStatus description: Status of target profiling workflow. AdapterVarType: type: string enum: - VAR - SECRET title: AdapterVarType description: Whether a configuration variable is a plain var or a sensitive secret. OtherDetailsPrettified: properties: execution_environment: additionalProperties: true type: object title: Execution Environment core_architecture_and_identity: additionalProperties: true type: object title: Core Architecture And Identity tools_and_integrations: additionalProperties: true type: object title: Tools And Integrations audience_and_governance: additionalProperties: true type: object title: Audience And Governance performance_and_metrics: additionalProperties: true type: object title: Performance And Metrics content_policy: additionalProperties: true type: object title: Content Policy other_discoveries: additionalProperties: true type: object title: Other Discoveries type: object title: OtherDetailsPrettified description: Categorized view of profiler discoveries for FE display. WebSocketConnectionParamsRedactBase: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionRedactParams' - $ref: '#/components/schemas/HuggingfaceConnectionRedactParams' - $ref: '#/components/schemas/DatabricksConnectionRedactParams' - $ref: '#/components/schemas/BedrockAccessConnectionRedactParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionRedactParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' ws_response_timeout: type: number title: Ws Response Timeout description: Timeout in seconds for waiting for a WebSocket response message default: 110.0 examples: - 60.0 - 110.0 type: object title: WebSocketConnectionParamsRedactBase description: "Redacted connection parameters for WebSocket targets.\n\nMRO: WebSocketConnectionParamsRedactBase → RestConnectionParamsRedactBase\n → WebSocketConnectionParamsBase → RestConnectionParamsBase.\nBoth RestConnectionParamsRedactBase and WebSocketConnectionParamsBase inherit\nfrom RestConnectionParamsBase (diamond). Pydantic v2 deduplicates field validators\nby name, so WebSocketConnectionParamsBase.validate_url (ws/wss) overrides\nRestConnectionParamsBase.validate_url (http/https) — ws:// URLs are accepted.\n" RestConnectionParamsBase-Input: properties: api_endpoint: anyOf: - type: string - type: 'null' title: Api Endpoint description: API endpoint URL examples: - https://api.openai.com/v1/responses request_headers: additionalProperties: true type: object title: Request Headers description: Request headers default: {} examples: - Authorization: Bearer sk-xxx Content-Type: application/json request_json: additionalProperties: true type: object title: Request Json description: Request JSON default: {} examples: - input: - content: - text: '{INPUT}' type: input_text role: user model: gpt-4.1-nano response_json: additionalProperties: true type: object title: Response Json description: Response JSON default: {} examples: - content: '{RESPONSE}' response_key: type: string title: Response Key description: Response key default: null examples: - content target_connection_config: anyOf: - $ref: '#/components/schemas/OpenAIConnectionParams' - $ref: '#/components/schemas/HuggingfaceConnectionParams' - $ref: '#/components/schemas/DatabricksConnectionParams' - $ref: '#/components/schemas/BedrockAccessConnectionParams' - $ref: '#/components/schemas/MSCopilotStudioConnectionParams' - type: 'null' title: Target Connection Config description: Target Connection config of type openai/huggingface .. curl: anyOf: - type: string - type: 'null' title: Curl description: Generated cURL command ready to use (redacted for security) examples: - 'curl "https://api.openai.com/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer ***" -d ''{"model":"gpt-4","messages":[{"role":"user","content":"{INPUT}"}]}''' multi_turn_config: anyOf: - oneOf: - $ref: '#/components/schemas/MultiTurnStatefulConfig' - $ref: '#/components/schemas/MultiTurnStatelessConfig' discriminator: propertyName: type mapping: stateful: '#/components/schemas/MultiTurnStatefulConfig' stateless: '#/components/schemas/MultiTurnStatelessConfig' - type: 'null' title: Multi Turn Config description: Multi turn config for stateful or stateless target examples: - 'assistant_role: assistant' type: object title: RestConnectionParamsBase description: Base connection parameters without generated fields. red_team_shared__schemas__auth_config__AuthType: type: string enum: - HEADERS - BASIC_AUTH - OAUTH2 - CUSTOM_TARGET_ADAPTER title: AuthType description: Authentication method for target API access. ApiEndpointType: type: string enum: - PUBLIC - PRIVATE - NETWORK_BROKER title: ApiEndpointType description: API endpoint accessibility type. TargetAuthValidationRequestSchema: properties: auth_type: $ref: '#/components/schemas/red_team_shared__schemas__auth_config__AuthType' description: Authentication method type auth_config: anyOf: - $ref: '#/components/schemas/HeadersAuthConfig' - $ref: '#/components/schemas/BasicAuthAuthConfig' - $ref: '#/components/schemas/OAuth2AuthConfig' title: Auth Config description: Authentication configuration to validate target_id: anyOf: - type: string format: uuid - type: 'null' title: Target Id description: Existing target UUID. When provided and auth_config contains redacted values, actual credentials are fetched from secrets manager. network_broker_channel_uuid: anyOf: - type: string format: uuid - type: 'null' title: Network Broker Channel Uuid description: Network broker channel UUID. When provided, OAuth2 token requests are routed via network broker. type: object required: - auth_type - auth_config title: TargetAuthValidationRequestSchema description: Request schema to validate target authentication configuration. securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT