Cisco XDR Categories API

The Categories API from Cisco XDR — 2 operation(s) for categories.

Operations 5

GET /v1/categories Handler to get all Categories. #
POST /v1/categories Handler to create a Category. #
GET /v1/categories/{category_id} Handler to get a specific category. #
PUT /v1/categories/{category_id} Handler to update category. Allows partial update #
DELETE /v1/categories/{category_id} Handler for delete Category. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cisco-xdr-categories-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

cisco-xdr-categories-api-openapi.yml Raw ↑
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'