Palo Alto Networks Custom Topic API

Operations related to custom topic management

OpenAPI Specification

palo-alto-networks-custom-topic-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Prisma AIRS API Management service Custom Topic API
  description: OpenAPI Specification for Prisma AIRS AI Runtime API Management Service
  version: 0.0.0
  contact:
    name: Palo Alto Networks
    url: https://www.paloaltonetworks.com
    email: support@paloaltonetworks.com
servers:
- url: https://api.sase.paloaltonetworks.com/aisec
  description: Prisma AIRS API service URL
tags:
- name: Custom Topic
  description: Operations related to custom topic management
paths:
  /v1/mgmt/topic:
    post:
      summary: Create New Custom Topic
      description: Post a new Custom Topic
      tags:
      - Custom Topic
      security:
      - Auth: []
      operationId: CreateNewCustomTopic
      requestBody:
        description: Custom Topic creation request object
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomTopicObject'
      responses:
        '200':
          description: Successfully created a new Custom Topic
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTopicObject'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/mgmt/topic/{topic_id}:
    delete:
      summary: Delete a Custom Topic
      description: Delete a given Custom Topic
      tags:
      - Custom Topic
      security:
      - Auth: []
      operationId: DeleteCustomTopic
      parameters:
      - name: topic_id
        in: path
        description: Custom TopicId to delete
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully deleted a given Custom Topic
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '409':
          description: conflict occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCustomTopicResponse'
        default:
          description: error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/mgmt/topic/{topic_id}/force:
    delete:
      summary: Force Delete a Custom Topic
      description: Force delete a given Custom Topic, bypassing any safety checks
      tags:
      - Custom Topic
      security:
      - Auth: []
      operationId: ForceDeleteCustomTopic
      parameters:
      - name: topic_id
        in: path
        description: Custom TopicId to force delete
        required: true
        schema:
          type: string
      - name: updated_by
        in: query
        description: User performing the force deletion
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successfully force deleted the Custom Topic
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '404':
          description: Topic not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/mgmt/topic/uuid/{topic_id}:
    put:
      summary: Modify Custom Topic Details
      description: Update metadata for a given Custom Topic Id.
      tags:
      - Custom Topic
      security:
      - Auth: []
      operationId: UpdateTopicByTopicId
      parameters:
      - name: topic_id
        in: path
        description: encoded Custom Topic Id
        required: true
        schema:
          type: string
      requestBody:
        description: Custom Topic object
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomTopicObject'
      responses:
        '200':
          description: Successfully updated metadata for a given Custom Topic Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTopicObject'
        '404':
          description: Topic not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/mgmt/topics:
    get:
      summary: Get All Custom Topics
      description: Get all Custom Topics and their metadata for the auth token's TSG
      tags:
      - Custom Topic
      operationId: GetAllCustomTopicsForTsgId
      parameters:
      - name: offset
        in: query
        description: The offset at which to start fetching more records
        required: false
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: The number of records to return.
        required: false
        schema:
          type: integer
          format: int32
      responses:
        200:
          description: Successfully returned metadata for all Custom Topics for a given CspId and TsgId.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomTopicObject'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ProfilePayload:
      type: object
      properties:
        profile_id:
          type: string
        profile_name:
          type: string
        revision:
          type: integer
          format: int64
    PaginatedCustomTopicObject:
      type: object
      properties:
        custom_topics:
          type: array
          items:
            $ref: '#/components/schemas/CustomTopicObject'
        next_offset:
          type: integer
          format: int32
    Error:
      type: object
      properties:
        status_code:
          type: integer
          format: int32
        error_message:
          type: string
      required:
      - status_code
      - error_message
    DeleteCustomTopicResponse:
      type: object
      properties:
        message:
          type: string
        payload:
          type: array
          items:
            $ref: '#/components/schemas/ProfilePayload'
          minItems: 0
    CustomTopicObject:
      type: object
      properties:
        topic_id:
          type: string
          description: Unique identifier for the custom topic
        topic_name:
          type: string
          description: Name of the custom topic
        revision:
          type: integer
          format: int64
          description: Revision number of the custom topic
        active:
          type: boolean
          description: Indicates whether the custom topic is currently active or disabled
        description:
          type: string
          description: Detailed explanation or purpose of the custom topic
        examples:
          type: array
          description: List of example usages or scenarios for the custom topic
          items:
            type: string
        created_by:
          type: string
          description: Email address of the user who created the custom topic
        updated_by:
          type: string
          description: Email address of the user who last modified the custom topic
        last_modified_ts:
          type: string
          format: date-time
          description: Timestamp of when the custom topic was last modified
        created_ts:
          type: string
          format: date-time
          description: Timestamp of when the custom topic was created
      required:
      - topic_name
      - revision
      - description
      - examples
  securitySchemes:
    Auth:
      type: http
      scheme: bearer
      bearerFormat: JWT