openapi: 3.2.0 info: title: REST API. Categories API version: 1.0.0 x-provenance: method: harvested authored_by: Cisco XDR harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: visibility.amp.cisco.com note: Anonymously fetchable Swagger 2.0 for nine IROH services plus the CTIA threat-intelligence API. The host returns real 404s on invented paths, so the 200s are genuine. x-evidence: - type: source url: https://visibility.amp.cisco.com/iroh/iroh-int/swagger.json - type: source url: https://private.intel.amp.cisco.com/swagger.json servers: - url: https://automate.us.security.cisco.com/{basePath} variables: basePath: default: api security: - oAuth2: - integration:read - private-intel:read - profile:read - inspect:read - users:read - invite:read - enrich:read - oauth:read - response:read - global-intel:read - ao:read - playbook:read tags: - name: Categories paths: /v1/categories: get: tags: - Categories summary: Handler to get all Categories. description: 'Allowed Role(s): admin, user, sat' operationId: listCategories parameters: - name: type in: query description: Type of Category. schema: type: string x-go-name: Type x-go-name: Type responses: '200': description: 'An CategoryResponse response model # This is used to return response with a single category as a body' content: application/json: schema: type: array items: $ref: '#/components/schemas/CategoryGetResponse' '400': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '403': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '404': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '500': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} post: tags: - Categories summary: Handler to create a Category. description: 'Allowed Role(s): admin Either ViewSchemaID or Type or both in request body can be provided to create a Category.' operationId: categoryCreateRequest requestBody: description: The category to submit. content: application/json: schema: $ref: '#/components/schemas/CategoryPostRequest' required: true x-go-name: RequestBody responses: '201': description: 'An CategoryDefinitonResponse response model # This is used to retutn a response of Category as a body' content: application/json: schema: $ref: '#/components/schemas/CategoryGetResponse' '400': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '403': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '404': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '409': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '422': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '500': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} x-codegen-request-body-name: request_body /v1/categories/{category_id}: get: tags: - Categories summary: Handler to get a specific category. description: 'Allowed Role(s): admin, user, sat' operationId: getCategoryById parameters: - name: category_id in: path description: The definitionId of category required: true schema: type: string x-go-name: CategoryID x-go-name: CategoryID responses: '200': description: 'An CategoryDefinitonResponse response model # This is used to retutn a response of Category as a body' content: application/json: schema: $ref: '#/components/schemas/CategoryGetResponse' '400': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '403': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '404': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '500': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} put: tags: - Categories summary: Handler to update category. Allows partial update description: 'Allowed Role(s): admin' operationId: categoryUpdateRequest parameters: - name: category_id in: path description: The definitionId of category required: true schema: type: string x-go-name: CategoryID x-go-name: CategoryID requestBody: description: The category to submit. content: application/json: schema: $ref: '#/components/schemas/CategoryPutRequest' required: true x-go-name: RequestBody responses: '200': description: 'An CategoryDefinitonResponse response model # This is used to retutn a response of Category as a body' content: application/json: schema: $ref: '#/components/schemas/CategoryGetResponse' '400': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '403': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '404': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '422': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '500': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} x-codegen-request-body-name: request_body delete: tags: - Categories summary: Handler for delete Category. description: 'Allowed Role(s): admin' operationId: deleteCategoryById parameters: - name: category_id in: path description: The definitionId of category required: true schema: type: string x-go-name: CategoryID x-go-name: CategoryID responses: '204': description: NoContent response model content: {} '400': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '403': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '404': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '412': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} '500': description: A Error is a swagger response to represent error headers: code: schema: type: integer format: int64 description: schema: type: string message: schema: type: string content: {} components: schemas: CategoryPostRequest: title: CategoryPostRequest ... required: - title type: object properties: description: type: string description: Description of Category x-go-name: Description name: type: string description: Name of Category x-go-name: Name schema_id: type: string description: ViewSchemaID of Category x-go-name: ViewSchemaID title: type: string description: Title of Category x-go-name: Title type: type: string description: Type x-go-name: Type unique_name: type: string description: Properties of Category x-go-name: UniqueName description: Either ViewSchemaID or Type or both can be provided to create a Category. x-go-package: bitbucket-eng-sjc1.cisco.com/bitbucket/nextg/ao-libs/api/models CategoryPutRequest: title: CategoryPutRequest represents a payload for modifying an existing category by its ID. type: object properties: description: type: string description: Description of Category x-go-name: Description name: type: string description: Name of Category x-go-name: Name title: type: string description: Title of Category x-go-name: Title unique_name: type: string description: Properties of Category x-go-name: UniqueName x-go-package: bitbucket-eng-sjc1.cisco.com/bitbucket/nextg/ao-libs/api/models CategoryGetResponse: title: CategoryGetResponse ... type: object properties: base_type: type: string x-go-name: BaseType category_type: $ref: '#/components/schemas/CategoryType' created_by: type: string x-go-name: CreatedBy created_on: type: string format: date-time x-go-name: CreatedOn description: type: string x-go-name: Description id: type: string x-go-name: CategoryID name: type: string x-go-name: Name owner: type: string x-go-name: Owner schema_id: type: string x-go-name: ViewSchemaID title: type: string x-go-name: Title type: type: string x-go-name: Type unique_name: type: string x-go-name: UniqueName updated_by: type: string x-go-name: UpdatedBy updated_on: type: string format: date-time x-go-name: UpdatedOn x-go-package: bitbucket-eng-sjc1.cisco.com/bitbucket/nextg/be-console/models CategoryType: type: string x-go-package: bitbucket-eng-sjc1.cisco.com/bitbucket/nextg/lib-data/models securitySchemes: oAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://visibility.amp.cisco.com/iroh/oauth2/token scopes: telemetry: Collect application data for analytics integration:read: Manage your modules private-intel:read: Access Private Intelligence admin: Provide admin privileges cognitive: Cognitive Integration profile:read: Get your profile information inspect:read: Extract Observables and data from text asset: Access and modify your assets event: Read IROH Events feedback: Submit Customer Feedback sse: SSE Integration. Manage your Devices. registry: Manage registry entries users:read: Manage users of your organization investigation: Perform threat analysis investigation invite:read: Invite users into your organization casebook: Access and modify your casebooks playbook: Access and modify your playbooks orbital: Orbital Integration. enrich:read: Query your configured modules for threat intelligence oauth:read: Manage OAuth2 Clients vault: Grants access to Module Vaults response:read: List and execute response actions using configured modules notification: Receive notifications from integrations global-intel:read: Access AMP Global Intelligence webhook: Manage your Webhooks ao:read: AO Integration. x-original-swagger-version: '2.0'