Demisto Widgets API

The Widgets API from Demisto — 3 operation(s) for widgets.

Operations 5

GET /widgets Get all widgets #
POST /widgets Add or update a widget #
POST /widgets/import Import a widget #
GET /widgets/{id} Get widget by ID #
DELETE /widgets/{id} Remove existing widget #

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/demisto-widgets-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

demisto-widgets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This is the public REST API to integrate with the demisto server.
  title: Demisto Widgets API
  version: 2.0.0
servers:
- url: https://hostname:443
security:
- api_key: []
- csrf_token: []
- x-xdr-auth-id: []
tags:
- name: Widgets
paths:
  /widgets:
    get:
      operationId: getAllWidgets
      responses:
        '200':
          description: Return all the widgets in the system.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Widget'
      tags:
      - Widgets
      summary: Get all widgets
      x-summary-source: derived
    post:
      description: Add or update a given widget based on Id.
      summary: Add or update a widget
      operationId: saveWidget
      responses:
        '200':
          description: The saved widget newest version.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Widget'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Widget'
          application/xml:
            schema:
              $ref: '#/components/schemas/Widget'
      tags:
      - Widgets
  /widgets/import:
    post:
      description: Import a widget to the system, ignoring ID or version, used to import new widgets.
      summary: Import a widget
      operationId: importWidget
      responses:
        '200':
          description: The saved widget
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Widget'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: file
                  format: binary
              required:
              - file
      tags:
      - Widgets
  /widgets/{id}:
    get:
      description: Get a widget object by a given ID.
      summary: Get widget by ID
      operationId: getWidget
      parameters:
      - description: The ID of widget to get.
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Return the widget if found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Widget'
      tags:
      - Widgets
    delete:
      description: Remove a given widget Id from the system.
      summary: Remove existing widget
      operationId: deleteWidget
      parameters:
      - description: Widget id to remove (returned from widget save or widgets get)
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: widget deleted
      tags:
      - Widgets
components:
  schemas:
    Order:
      description: Order struct holds a sort field and the direction of sorting
      type: object
      properties:
        asc:
          type: boolean
          x-go-name: Asc
        field:
          type: string
          x-go-name: Field
        fieldType:
          type: string
          x-go-name: FieldType
      x-go-package: github.com/demisto/server/domain
    Widget:
      description: 'Widget describe a widget component used to get statistics requests, based on parameters such as

        dataType and widgetType. A widget can be a part of widgets collection inside a dashboard.'
      type: object
      required:
      - name
      - widgetType
      properties:
        category:
          description: Category the widget is related to. Used to display in widget library under category or dataType if empty.
          type: string
          x-go-name: Category
        commitMessage:
          type: string
          x-go-name: CommitMessage
        dataType:
          description: Data type of the widget. Describes what data does the widget query. supporting data types "incidents","messages","system","entries","tasks", "audit".
          type: string
          x-go-name: DataType
        dateRange:
          $ref: '#/components/schemas/DateRange'
        description:
          description: The description of the widget's usage and data representation.
          type: string
          x-go-name: Description
        id:
          type: string
          x-go-name: ID
        isPredefined:
          description: Is the widget a system widget.
          type: boolean
          x-go-name: IsPredefined
        locked:
          description: Is the widget locked for editing.
          type: boolean
          x-go-name: Locked
        modified:
          type: string
          format: date-time
          x-go-name: Modified
        name:
          description: Default name of the widget.
          type: string
          x-go-name: Name
        params:
          description: Additional parameters for this widget, depends on widget type and data.
          type: object
          additionalProperties:
            type: object
          x-go-name: AdditionalParams
        prevName:
          description: The previous name of the widget.
          type: string
          x-go-name: PrevName
        query:
          description: Query to search on the dataType.
          type: string
          x-go-name: Query
        shouldCommit:
          type: boolean
          x-go-name: ShouldCommit
        size:
          description: Maximum size for this widget data returned.
          type: integer
          format: int64
          x-go-name: Size
        sort:
          description: Sorting array to sort the data received by the given Order parameters.
          type: array
          items:
            $ref: '#/components/schemas/Order'
          x-go-name: Sort
        sortValues:
          type: array
          items:
            type: string
          x-go-name: SortValues
        vcShouldIgnore:
          type: boolean
          x-go-name: VCShouldIgnore
        version:
          type: integer
          format: int64
          x-go-name: Versn
        widgetType:
          description: 'Widget type describes how does the widget should recieve the data, and display it. Supporting types: "bar", "column", "pie", "list", "number", "trend", "text", "duration", "image", "line", and "table".'
          type: string
          x-go-name: WidgetType
      x-go-package: github.com/demisto/server/domain
    DateRange:
      description: DateRange provides common fields for date filtering
      type: object
      properties:
        fromDate:
          type: string
          format: date-time
          x-go-name: FromDate
        fromDateLicense:
          type: string
          format: date-time
          x-go-name: FromDateLicenseVal
        period:
          $ref: '#/components/schemas/Period'
        toDate:
          type: string
          format: date-time
          x-go-name: ToDate
      x-go-package: github.com/demisto/server/domain
    Period:
      type: object
      title: Period holds the 'Period' query, such as last 3 days, last 6 hours, between 6 days from now until 3 days from now.
      properties:
        by:
          description: By is used for legacty, and if exists it will override ByTo and ByFrom
          type: string
          x-go-name: By
        byFrom:
          type: string
          x-go-name: ByFrom
        byTo:
          type: string
          x-go-name: ByTo
        field:
          type: string
          x-go-name: Field
        fromValue:
          type: string
          format: duration
          x-go-name: FromValue
        toValue:
          type: string
          format: duration
          x-go-name: ToValue
      x-go-package: github.com/demisto/server/domain
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
    csrf_token:
      type: apiKey
      name: X-XSRF-TOKEN
      in: header
    x-xdr-auth-id:
      type: apiKey
      name: x-xdr-auth-id
      in: header