Palo Alto Networks · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Prisma AIRS Red Teaming Management Target API

14 actions 14 updates phrasing extends openapi/palo-alto-networks-target-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Palo Alto Networks's API. It is a proposal applied on top of the contract, not a document Palo Alto Networks publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 14

$.info
$.paths['/v1/target'].get
$.paths['/v1/target'].post
$.paths['/v1/target/{target_uuid}'].get
$.paths['/v1/target/{target_uuid}'].put
$.paths['/v1/target/{target_uuid}'].delete
$.paths['/v1/target/{target_uuid}/profile'].get
$.paths['/v1/target/{target_uuid}/profile'].put
$.paths['/v1/target/{target_uuid}/profile'].post
$.paths['/v1/target/probe'].post
$.paths['/v1/target/validate-auth'].post
$.paths['/v1/target/ms-copilot-studio/auth-url'].post
$.paths['/v1/target/ms-copilot-studio/token'].post
$.paths['/v1/target/ms-copilot-studio/token/{token_json_uuid}'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Prisma AIRS Red Teaming Management Target API
  version: 1.0.0
extends: openapi/palo-alto-networks-target-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 13
- target: $.paths['/v1/target'].get
  update:
    x-apievangelist-phrasing:
      intent: List scan targets
      effect: read
      questions:
      - Which AI red-teaming scan targets have I configured?
      - Can I filter my scan targets by type or status?
      instructions:
      - text: List my scan targets.
      - text: Show scan targets of type {target_type} with status {status}.
        slots:
          target_type: query.target_type
          status: query.status
      - text: Find scan targets whose name matches {search}.
        slots:
          search: query.search
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a scan target
      effect: write
      questions:
      - How do I register a new target to scan?
      - Can I skip connection validation when creating a target?
      instructions:
      - text: Create a scan target named {name}.
        slots:
          name: requestBody.name
      - text: Add target {name} of type {target_type} with description {description}.
        slots:
          name: requestBody.name
          target_type: requestBody.target_type
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/{target_uuid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a scan target's details
      effect: read
      questions:
      - What configuration is stored for a particular scan target?
      - Can I see a target's connection parameters with secrets masked?
      instructions:
      - text: Show details for target {target_uuid}.
        slots:
          target_uuid: path.target_uuid
      - text: Get the full configuration of scan target {target_uuid}.
        slots:
          target_uuid: path.target_uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/{target_uuid}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a scan target
      effect: write
      questions:
      - Can I change a target's connection settings after creating it?
      - Is validation optional when I update an existing target?
      instructions:
      - text: Update target {target_uuid} and rename it to {name}.
        slots:
          target_uuid: path.target_uuid
          name: requestBody.name
      - text: Change the auth type of target {target_uuid} named {name} to {auth_type}.
        slots:
          target_uuid: path.target_uuid
          name: requestBody.name
          auth_type: requestBody.auth_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/{target_uuid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a scan target
      effect: destructive
      questions:
      - Can I permanently remove a scan target I no longer need?
      - Does deleting a target also wipe its encrypted configuration?
      instructions:
      - text: Delete scan target {target_uuid}.
        slots:
          target_uuid: path.target_uuid
      - text: Permanently remove target {target_uuid} and its stored config.
        slots:
          target_uuid: path.target_uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/{target_uuid}/profile'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a target's profiling results
      effect: read
      questions:
      - What did profiling learn about my target?
      - Can I see the merged user and profiler data for a target?
      instructions:
      - text: Show profiling results for target {target_uuid}.
        slots:
          target_uuid: path.target_uuid
      - text: Get the profile data collected on target {target_uuid}.
        slots:
          target_uuid: path.target_uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/{target_uuid}/profile'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit a target's background context
      effect: write
      questions:
      - Can I edit a target's background and extra context without revalidating the connection?
      - Where do I add more context to a target's profile by hand?
      instructions:
      - text: Set the background of target {target_uuid} to {target_background}.
        slots:
          target_uuid: path.target_uuid
          target_background: requestBody.target_background
      - text: Add context {additional_context} to target {target_uuid}'s profile.
        slots:
          additional_context: requestBody.additional_context
          target_uuid: path.target_uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/{target_uuid}/profile'].post
  update:
    x-apievangelist-phrasing:
      intent: Start profiling a target
      effect: write
      questions:
      - Can I manually kick off profiling for a target?
      - What must a target have before profiling will start?
      instructions:
      - text: Start profiling target {target_uuid}.
        slots:
          target_uuid: path.target_uuid
      - text: Re-run the profiler on target {target_uuid} now.
        slots:
          target_uuid: path.target_uuid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/probe'].post
  update:
    x-apievangelist-phrasing:
      intent: Probe a target with profiling questions
      effect: write
      questions:
      - Can I send profiling questions to a target before saving it?
      - Is there a way to fill in a target's background automatically from probe answers?
      instructions:
      - text: Run profiling probes against target {name}.
        slots:
          name: requestBody.name
      - text: Probe {name} with fields {probe_fields} and return the background it reports.
        slots:
          name: requestBody.name
          probe_fields: requestBody.probe_fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/validate-auth'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate target auth credentials
      effect: read
      questions:
      - Can I check that OAuth2 credentials for a target actually work before saving?
      - Does auth validation test headers and basic auth, or only check fields are present?
      instructions:
      - text: Validate {auth_type} credentials {auth_config}.
        slots:
          auth_type: requestBody.auth_type
          auth_config: requestBody.auth_config
      - text: Test the OAuth2 config {auth_config} by fetching a token, auth type {auth_type}.
        slots:
          auth_config: requestBody.auth_config
          auth_type: requestBody.auth_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/ms-copilot-studio/auth-url'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate a Copilot Studio sign-in URL
      effect: write
      questions:
      - How do I get the OAuth authorization URL for a Microsoft Copilot Studio target?
      - What client and tenant details does the Copilot Studio auth URL need?
      instructions:
      - text: Generate a Copilot Studio auth URL for client {client_id} in tenant {tenant_id} with secret {client_secret}.
        slots:
          client_id: requestBody.client_id
          tenant_id: requestBody.tenant_id
          client_secret: requestBody.client_secret
      - text: Create the Microsoft Copilot Studio login link for target {target_uuid}, tenant {tenant_id}, client {client_id}, secret {client_secret}.
        slots:
          target_uuid: requestBody.target_uuid
          tenant_id: requestBody.tenant_id
          client_id: requestBody.client_id
          client_secret: requestBody.client_secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/ms-copilot-studio/token'].post
  update:
    x-apievangelist-phrasing:
      intent: Exchange a Copilot Studio auth code
      effect: write
      questions:
      - After signing in to Copilot Studio, how do I turn the auth response into stored tokens?
      - Where are exchanged Copilot Studio tokens kept?
      instructions:
      - text: Exchange Copilot Studio auth response {auth_response} into token record {token_json_uuid} for client {client_id}, tenant {tenant_id}, secret {client_secret}.
        slots:
          auth_response: requestBody.auth_response
          token_json_uuid: requestBody.token_json_uuid
          client_id: requestBody.client_id
          tenant_id: requestBody.tenant_id
          client_secret: requestBody.client_secret
      - text: 'Finish Copilot Studio login: store tokens under {token_json_uuid} from {auth_response} (client {client_id}, tenant {tenant_id}, secret {client_secret}).'
        slots:
          token_json_uuid: requestBody.token_json_uuid
          auth_response: requestBody.auth_response
          client_id: requestBody.client_id
          tenant_id: requestBody.tenant_id
          client_secret: requestBody.client_secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/target/ms-copilot-studio/token/{token_json_uuid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete Copilot Studio token records
      effect: destructive
      questions:
      - If I cancel a Copilot Studio setup, how do I clean up the stored tokens?
      - Can I remove both the auth flow and token cache records for Copilot Studio?
      instructions:
      - text: Delete Copilot Studio token records {token_json_uuid}.
        slots:
          token_json_uuid: path.token_json_uuid
      - text: Clean up the cancelled Copilot Studio sign-in {token_json_uuid}.
        slots:
          token_json_uuid: path.token_json_uuid
      method: generated
      generated: '2026-09-26'