Cisco XDR Categories API
The Categories API from Cisco XDR — 2 operation(s) for categories.
The Categories API from Cisco XDR — 2 operation(s) for categories.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cisco-xdr-categories-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
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'