Cisco Secure Firewall Action API

Action APIs

OpenAPI Specification

cisco-secure-firewall-action-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: APIs for interacting with AI Assistant
  title: AI Assistant Action API
  version: 2.0.0
  x-provenance:
    method: harvested
    authored_by: Cisco Security Cloud Control
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
  x-evidence:
  - type: source
    url: https://github.com/CiscoDevNet/scc-public-api-docs/blob/main/specs/ai-assistant.yaml
  - type: raw
    url: https://raw.githubusercontent.com/CiscoDevNet/scc-public-api-docs/main/specs/ai-assistant.yaml
servers:
- description: AI Assistant Production API Server (NAM region)
  url: https://api.security.cisco.com/api/ai-assistant
tags:
- description: Action APIs
  name: Action
paths:
  /v2/conversations/{conversation_id}/action/{action_id}/action_steps:
    get:
      operationId: listActionSteps
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: unique ID for the conversation.
        in: path
        name: conversation_id
        required: true
        schema:
          type: string
      - description: unique ID for the action.
        in: path
        name: action_id
        required: true
        schema:
          type: string
      - description: max number of action steps to return
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: offset used to retrieve the desired set of action steps
        in: query
        name: offset
        required: false
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/listActionStepResponse'
          description: A successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: list action steps for a given action
      tags:
      - Action
  /v2/conversations/{conversation_id}/actions/{action_id}:
    get:
      operationId: getAction
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: ID of conversation to fetch
        in: path
        name: conversation_id
        required: true
        schema:
          format: uuid
          type: string
      - description: ID of action to fetch
        in: path
        name: action_id
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actionGetResponse'
          description: Action retrieved successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: Get action details
      tags:
      - Action
    patch:
      operationId: updateAction
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: ID of conversation to fetch
        in: path
        name: conversation_id
        required: true
        schema:
          format: uuid
          type: string
      - description: ID of action to fetch
        in: path
        name: action_id
        required: true
        schema:
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/actionUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actionUpdateResponse'
          description: Action retrieved successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: Update the action
      tags:
      - Action
  /v2/conversations/{conversation_id}/actions/{action_id}/invoke:
    post:
      operationId: invokeAction
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: ID of conversation to fetch
        in: path
        name: conversation_id
        required: true
        schema:
          format: uuid
          type: string
      - description: ID of action to fetch
        in: path
        name: action_id
        required: true
        schema:
          format: uuid
          type: string
      - description: Common metadata to be passed to the action
        in: query
        name: common_metadata
        required: true
        schema:
          $ref: '#/components/schemas/commonMetadata'
      - description: Param to skip actual action execution and just post a message
        in: query
        name: post_message_only
        required: false
        schema:
          type: boolean
      - description: Operation to perform on the action
        in: query
        name: action_operation
        required: true
        schema:
          $ref: '#/components/schemas/actionOperation'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actionInvokeResponse'
          description: Action invoked successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: Invoke an action
      tags:
      - Action
  /v2/conversations/{conversation_id}/actions/{action_id}/status:
    get:
      operationId: getActionStatus
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: conversation id
        in: path
        name: conversation_id
        required: true
        schema:
          type: string
      - description: action ID
        in: path
        name: action_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pollActionExecutionStatusResponse'
          description: A successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: get the execution status of an action that has already been invoked
      tags:
      - Action
  /v2/conversations/{conversation_id}/actions/{action_id}/validate:
    put:
      operationId: validateAction
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: ID of conversation to fetch
        in: path
        name: conversation_id
        required: true
        schema:
          format: uuid
          type: string
      - description: ID of action to fetch
        in: path
        name: action_id
        required: true
        schema:
          format: uuid
          type: string
      - description: Common metadata to be passed to the action
        in: query
        name: common_metadata
        required: true
        schema:
          $ref: '#/components/schemas/commonMetadata'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actionValidateResponse'
          description: Action validated successfully and status updated accordingly.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: Validate action details
      tags:
      - Action
  /v2/conversations/{conversation_id}/message/{message_id}/actions:
    get:
      operationId: listConversationActions
      parameters:
      - description: Client product identifier
        in: header
        name: x-aiassistant-client-product
        required: true
        schema:
          type: string
      - description: conversation ID
        in: path
        name: conversation_id
        required: true
        schema:
          type: string
      - description: message ID
        in: path
        name: message_id
        required: true
        schema:
          type: string
      - description: return only actions with these names
        in: query
        name: nameFilter
        required: false
        schema:
          items:
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getActionsByConversationIDResponse'
          description: A successful response.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request or missing fields
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
        '500':
          description: Internal server error
      security:
      - bearerAuth: []
      summary: get list of actions for a single conversation
      tags:
      - Action
components:
  schemas:
    commonMetadata:
      description: metadata which can be common across all actions
      properties:
        entities:
          $ref: '#/components/schemas/entityParams'
        error:
          description: store custom error which will be reflected on UI
          type: string
        incompleteEntities:
          $ref: '#/components/schemas/incompleteEntities'
      type: object
    messageAction:
      description: action details for a message
      properties:
        actionId:
          description: action ID
          type: string
        commonMetadata:
          $ref: '#/components/schemas/commonMetadata'
        description:
          description: action description
          type: string
        name:
          $ref: '#/components/schemas/actionName'
        status:
          $ref: '#/components/schemas/actionStatus'
        title:
          description: action title
          type: string
      type: object
    actionValidateResponse:
      description: validate action API response body
      properties:
        common_metadata:
          description: action metadata
          type: object
        error:
          description: action validation error
          type: string
        status:
          $ref: '#/components/schemas/actionStatus'
      type: object
    interObjectOptions:
      description: InterObjectOptions is used to provide options for the ambiguity in the inter-object params.
      properties:
        options:
          $ref: '#/components/schemas/entityParams'
        type:
          description: this type is used to disambiguate between Application, URL, and other types
          type: string
      type: object
    actionStepType:
      default: DEFAULT
      description: action step type
      enum:
      - DEFAULT
      - API
      type: string
    actionGetResponse:
      description: response body for getAction API
      properties:
        actionId:
          description: action ID
          type: string
        commonMetadata:
          description: action metadata
          type: object
        createdAt:
          description: time at which the action was created
          format: date-time
          type: string
        description:
          description: action description
          type: string
        error:
          description: action error
          type: string
        messageId:
          description: message ID
          format: uuid
          type: string
        name:
          $ref: '#/components/schemas/actionName'
        retryConfig:
          description: action retry config
          type: string
        status:
          $ref: '#/components/schemas/actionStatus'
        title:
          description: action title
          type: string
        updatedAt:
          description: time at which the action was last updated
          format: date-time
          type: string
        userDetails:
          description: user details
          properties:
            email:
              description: user email
              type: string
            id:
              description: user ID
              type: string
            name:
              description: user name
              type: string
          type: object
      type: object
    errorResponse:
      description: error response
      properties:
        code:
          description: Error code
          type: integer
        details:
          description: Additional details about the error
          type: object
        message:
          description: Error message
          type: string
      type: object
    actionStepStatus:
      default: UNKNOWN
      description: status of action step
      enum:
      - UNKNOWN
      - CREATED
      - EXECUTION_IN_PROGRESS
      - EXECUTION_COMPLETE
      - EXECUTION_FAILED
      - EXECUTION_CANCELLED
      type: string
    actionUpdateResponse:
      description: action update response body
      properties:
        error:
          description: update error
          type: string
      type: object
    actionStep:
      description: action step object
      properties:
        actionOperation:
          $ref: '#/components/schemas/actionOperation'
        apiMetadata:
          $ref: '#/components/schemas/actionStepAPIMetadata'
        completedAt:
          description: execution completion timestamp
          format: date-time
          type: string
        createdAt:
          description: action step creation timestamp
          format: date-time
          type: string
        description:
          description: description for action step
          type: string
        executedAt:
          description: execution start timestamp
          format: date-time
          type: string
        id:
          description: unique identifier of action step
          type: string
        parentActionId:
          description: id of parent action
          type: string
        result:
          description: result of action step execution
          format: byte
          type: string
        retryConfig:
          description: retry details
          format: byte
          type: string
        sequenceNumber:
          description: sequence number of action step
          type: integer
        status:
          $ref: '#/components/schemas/actionStepStatus'
        type:
          $ref: '#/components/schemas/actionStepType'
        updatedAt:
          description: action step update timestamp
          format: date-time
          type: string
      type: object
    actionName:
      description: action name
      enum:
      - NONE
      - FPA_CREATE_RULE
      - FPA_PAO_REMEDIATION_ENQUEUE
      - DISPLAY
      - PROMPT
      type: string
    missedInvalidSingleValuedParams:
      description: represents the ambiguity in Missed, Invalid, and SingleValued params.
      properties:
        actionStepId:
          description: action step id
          type: string
        error:
          description: error string which might be helpful for UI display
          type: string
        name:
          description: name of the param
          type: string
        options:
          description: options for the ambiguity
          items:
            $ref: '#/components/schemas/entityParams'
          type: array
        type:
          description: type of the entity
          type: string
      type: object
    pollActionExecutionStatusResponse:
      description: response to getActionStatus API
      properties:
        responseMessage:
          description: response message
          type: string
        status:
          $ref: '#/components/schemas/actionStatus'
      type: object
    entityParams:
      description: leaf entity details
      properties:
        actionStepId:
          description: action step id
          type: string
        details:
          description: details related to entity
          format: byte
          type: string
        id:
          description: id of the entity
          type: string
        isSelected:
          description: is entity selected by user
          type: boolean
        name:
          description: name of the entity
          type: string
        type:
          description: type of the entity
          type: string
        value:
          description: value of the entity
          type: string
      type: object
    actionStepAPIMetadata:
      description: all details to trigger action step of type API
      properties:
        endpoint:
          description: endpoint of the API
          type: string
        headers:
          description: headers for the API request
          type: object
        method:
          description: http method for API
          type: string
        payload:
          description: payload for the API request
          format: byte
          type: string
      type: object
    getActionsByConversationIDResponse:
      description: response structure for getting actions for a single conversation
      properties:
        msgActions:
          $ref: '#/components/schemas/messageActions'
      type: object
    actionInvokeResponse:
      description: invoke action response body
      properties:
        error:
          description: action invocation error
          type: string
        status:
          $ref: '#/components/schemas/actionStatus'
        taskId:
          description: async task ID for action execution
          type: string
        taskUrl:
          description: URL to async task
          type: string
      type: object
    intraObjectParams:
      description: represents the ambiguity in the intra-object params like RickMiles1, RickMiles2, etc.
      properties:
        actionStepId:
          description: action step id
          type: string
        options:
          $ref: '#/components/schemas/entityParams'
        type:
          description: type of the entity
          type: string
      type: object
    listActionStepResponse:
      description: response containing list of action steps
      properties:
        actionSteps:
          description: list of action step objects
          items:
            $ref: '#/components/schemas/actionStep'
          type: array
      type: object
    actionUpdateRequest:
      description: action update API request body
      properties:
        common_metadata:
          description: action metadata
          type: object
        description:
          description: action description
          type: string
        status:
          $ref: '#/components/schemas/actionStatus'
      required:
      - status
      type: object
    actionOperation:
      description: action operation
      enum:
      - EXECUTE
      - UNDO
      type: string
    actionStatus:
      description: action status
      enum:
      - NO_ACTION_STATUS
      - DISABLED
      - VALIDATION
      - CONFIRMATION
      - IN_PROGRESS
      - COMPLETE
      - FAILED
      - CANCELLED
      - VALIDATION_IN_PROGRESS
      - UNDO_IN_PROGRESS
      - UNDO_COMPLETE
      - UNDO_FAILED
      - INVALID
      type: string
    incompleteEntities:
      description: list of incomplete entities where we need user interaction
      properties:
        interObjects:
          $ref: '#/components/schemas/interObjectParams'
        intraObject:
          $ref: '#/components/schemas/intraObjectParams'
        invalidParams:
          $ref: '#/components/schemas/missedInvalidSingleValuedParams'
        missedParams:
          $ref: '#/components/schemas/missedInvalidSingleValuedParams'
        singleValuedParams:
          $ref: '#/components/schemas/missedInvalidSingleValuedParams'
      type: object
    messageActions:
      description: list of actions for a message
      properties:
        actions:
          description: list of actions
          items:
            $ref: '#/components/schemas/messageAction'
          type: array
        messageId:
          description: message ID
          type: string
      type: object
    interObjectParams:
      description: represents the ambiguity in the inter-object params like Application or URL
      properties:
        actionStepId:
          description: action step id
          type: string
        options:
          description: options for the ambiguity
          items:
            $ref: '#/components/schemas/interObjectOptions'
          type: array
        rawValue:
          description: raw value of the entity which can be used for UI display
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: bearer token security scheme
      scheme: bearer
      type: http