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