Demisto Reports API

The Reports API from Demisto — 4 operation(s) for reports.

Operations 4

GET /reports Get all reports #
GET /reports/{id} Get report by ID #
GET /reports/{id}/latest Get latest report by ID #
POST /reports/upload Upload report file to Demisto #

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-reports-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-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'This is the public REST API to integrate with the demisto server.

    HTTP request can be sent using any HTTP-client.


    For an example dedicated client take a look at: https://github.com/demisto/demisto-py.


    Requests must include API-key that can be generated in the Demisto web client under ''Settings'' -> ''Integrations'' -> ''API keys''



    Optimistic Locking and Versioning\:


    When using Demisto REST API, you will need to make sure to work on the latest version of the item (incident, entry, etc.), otherwise, you will get a DB version error (which not allow you to override a newer item).

    In addition, you can pass ''version\: -1'' to force data override (make sure that other users data might be lost).


    Assume that Alice and Bob both read the same data from Demisto server, then they both changed the data, and then both tried to write the new versions back to the server. Whose changes should be saved? Alice’s? Bob’s?

    To solve this, each data item in Demisto has a numeric incremental version.

    If Alice saved an item with version 4 and Bob trying to save the same item with version 3, Demisto will rollback Bob request and returns a DB version conflict error.

    Bob will need to get the latest item and work on it so Alice work will not get lost.


    Example request using ''curl''\:


    ```

    curl ''https://hostname:443/incidents/search'' -H ''content-type: application/json'' -H ''accept: application/json'' -H ''Authorization: <API Key goes here>'' --data-binary ''{"filter":{"query":"-status:closed -category:job","period":{"by":"day","fromValue":7}}}'' --compressed

    ```'
  title: Demisto Apikeys Reports API
  version: 2.0.0
servers:
- url: https://hostname:443
security:
- api_key: []
- csrf_token: []
- x-xdr-auth-id: []
tags:
- name: Reports
paths:
  /reports:
    get:
      description: Get all of the reports
      summary: Get all reports
      operationId: getAllReports
      responses:
        '200':
          description: Return array of reports
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Report'
      tags:
      - Reports
  /reports/{id}:
    get:
      description: Get a report by its ID
      summary: Get report by ID
      operationId: getReportByID
      parameters:
      - description: the ID of the report to get
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Return a report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Report'
      tags:
      - Reports
  /reports/{id}/latest:
    get:
      description: Get the latest report by its ID
      summary: Get latest report by ID
      operationId: downloadLatestReport
      parameters:
      - description: the ID of the report to get
        name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Return a report file
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
      tags:
      - Reports
  /reports/upload:
    post:
      description: Upload report file to Demisto
      summary: Upload report file to Demisto
      operationId: uploadReport
      responses:
        '200':
          description: A list of all the reports in the instance
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Report'
      tags:
      - Reports
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  description: file
                  format: binary
              required:
              - file
components:
  schemas:
    ModuleArgs:
      description: ModuleArgs represents module args
      type: object
      additionalProperties:
        type: object
      x-go-package: github.com/demisto/server/domain
    ReportQuery:
      type: object
      title: ReportQuery ...
      properties:
        filter:
          $ref: '#/components/schemas/RawMessage'
        groupBy:
          type: array
          items:
            type: string
          x-go-name: GroupBy
        keys:
          type: array
          items:
            type: string
          x-go-name: Keys
        type:
          type: string
          x-go-name: Type
      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
    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
    Section:
      type: object
      title: Section ...
      properties:
        automation:
          $ref: '#/components/schemas/ReportAutomation'
        data:
          type: object
          x-go-name: Data
        description:
          type: string
          x-go-name: Description
        displayType:
          type: string
          x-go-name: DisplayType
        emptyNotification:
          type: string
          x-go-name: EmptyNotification
        fromDate:
          type: string
          x-go-name: FromDate
        layout:
          type: object
          x-go-name: Layout
        query:
          $ref: '#/components/schemas/ReportQuery'
        title:
          type: string
          x-go-name: Title
        titleStyle:
          type: object
          additionalProperties:
            type: object
          x-go-name: TitleStyle
        toDate:
          type: string
          x-go-name: ToDate
        type:
          type: string
          x-go-name: Type
      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
    RawMessage:
      description: 'It implements Marshaler and Unmarshaler and can

        be used to delay JSON decoding or precompute a JSON encoding.'
      type: array
      title: RawMessage is a raw encoded JSON value.
      items:
        type: integer
        format: uint8
      x-go-package: encoding/json
    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
    WidgetCell:
      type: object
      title: WidgetCell ...
      properties:
        forceRange:
          type: boolean
          x-go-name: ForceRange
        h:
          type: integer
          format: int64
          x-go-name: Height
        i:
          type: string
          x-go-name: Key
        id:
          type: string
          x-go-name: ID
        w:
          type: integer
          format: int64
          x-go-name: Width
        widget:
          $ref: '#/components/schemas/Widget'
        x:
          type: integer
          format: int64
          x-go-name: Xs
        y:
          type: integer
          format: int64
          x-go-name: Ys
      x-go-package: github.com/demisto/server/domain
    EndingType:
      description: EndingType holds the type of schedule Ending
      type: string
      x-go-package: github.com/demisto/server/domain
    ReportFieldsDecoder:
      type: object
      title: ReportFieldsDecoder ...
      properties:
        type:
          type: string
          x-go-name: Type
        value:
          type: string
          x-go-name: Value
      x-go-package: github.com/demisto/server/domain
    ReportAutomation:
      type: object
      title: ReportAutomation ...
      properties:
        args:
          $ref: '#/components/schemas/ModuleArgs'
        id:
          type: string
          x-go-name: ID
        name:
          type: string
          x-go-name: Name
        noEvent:
          type: boolean
          x-go-name: NoEvent
      x-go-package: github.com/demisto/server/domain
    Dashboard:
      type: object
      title: Dashboard ...
      properties:
        commitMessage:
          type: string
          x-go-name: CommitMessage
        fromDate:
          type: string
          format: date-time
          x-go-name: FromDate
        fromDateLicense:
          type: string
          format: date-time
          x-go-name: FromDateLicenseVal
        id:
          type: string
          x-go-name: ID
        isCommon:
          type: boolean
          x-go-name: IsCommon
        layout:
          $ref: '#/components/schemas/WidgetCells'
        modified:
          type: string
          format: date-time
          x-go-name: Modified
        name:
          type: string
          x-go-name: Name
        owner:
          type: string
          x-go-name: Owner
        period:
          $ref: '#/components/schemas/Period'
        prevName:
          type: string
          x-go-name: PrevName
        shared:
          type: boolean
          x-go-name: Shared
        shouldCommit:
          type: boolean
          x-go-name: ShouldCommit
        sortValues:
          type: array
          items:
            type: string
          x-go-name: SortValues
        system:
          type: boolean
          x-go-name: System
        toDate:
          type: string
          format: date-time
          x-go-name: ToDate
        vcShouldIgnore:
          type: boolean
          x-go-name: VCShouldIgnore
        version:
          type: integer
          format: int64
          x-go-name: Versn
      x-go-package: github.com/demisto/server/domain
    WidgetCells:
      type: array
      title: WidgetCells ...
      items:
        $ref: '#/components/schemas/WidgetCell'
      x-go-package: github.com/demisto/server/domain
    Report:
      description: Report - represents report
      type: object
      properties:
        commitMessage:
          type: string
          x-go-name: CommitMessage
        createdBy:
          type: string
          x-go-name: CreatedBy
        cron:
          type: string
          x-go-name: Cron
        cronView:
          type: boolean
          x-go-name: CronView
        dashboard:
          $ref: '#/components/schemas/Dashboard'
        decoder:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ReportFieldsDecoder'
          x-go-name: Decoder
        description:
          type: string
          x-go-name: Description
        disableHeader:
          type: boolean
          x-go-name: DisableHeader
        endingDate:
          type: string
          format: date-time
          x-go-name: EndingDate
        endingType:
          $ref: '#/components/schemas/EndingType'
        humanCron:
          $ref: '#/components/schemas/HumanCron'
        id:
          type: string
          x-go-name: ID
        latestReportName:
          type: string
          x-go-name: LatestReportName
        latestReportTime:
          type: string
          format: date-time
          x-go-name: LatestReportTime
        latestReportUsername:
          type: string
          x-go-name: LatestReportUsername
        latestScheduledReportTime:
          type: string
          format: date-time
          x-go-name: LatestScheduledReportTime
        locked:
          type: boolean
          x-go-name: Locked
        modified:
          type: string
          format: date-time
          x-go-name: Modified
        name:
          type: string
          x-go-name: Name
        nextScheduledTime:
          type: string
          format: date-time
          x-go-name: NextScheduledTime
        orientation:
          type: string
          x-go-name: Orientation
        paperSize:
          type: string
          x-go-name: PaperSize
        prevName:
          type: string
          x-go-name: PrevName
        prevType:
          type: string
          x-go-name: PrevType
        recipients:
          type: array
          items:
            type: string
          x-go-name: Recipients
        recurrent:
          type: boolean
          x-go-name: Recurrent
        reportType:
          type: string
          x-go-name: ReportType
        runOnce:
          type: boolean
          x-go-name: RunOnce
        runningUser:
          type: string
          x-go-name: RunningUser
        scheduled:
          description: is it scheduled
          type: boolean
          x-go-name: Scheduled
        sections:
          type: array
          items:
            $ref: '#/components/schemas/Section'
          x-go-name: Sections
        sensitive:
          type: boolean
          x-go-name: Sensitive
        shouldCommit:
          type: boolean
          x-go-name: ShouldCommit
        sortValues:
          type: array
          items:
            type: string
          x-go-name: SortValues
        startDate:
          type: string
          format: date-time
          x-go-name: StartDate
        system:
          type: boolean
          x-go-name: System
        tags:
          type: array
          items:
            type: string
          x-go-name: Tags
        times:
          type: integer
          format: int64
          x-go-name: Times
        timezoneOffset:
          type: integer
          format: int64
          x-go-name: TimezoneOffset
        type:
          type: string
          x-go-name: Type
        userAPIKey:
          type: string
          x-go-name: UserAPIKey
        userAPIKeyID:
          type: string
          x-go-name: UserAPIKeyID
        vcShouldIgnore:
          type: boolean
          x-go-name: VCShouldIgnore
        version:
          type: integer
          format: int64
          x-go-name: Versn
      x-go-package: github.com/demisto/server/domain
    HumanCron:
      type: object
      title: HumanCron ...
      properties:
        atTimeHour:
          type: string
          x-go-name: AtTimeHour
        atTimeMinute:
          type: string
          x-go-name: AtTimeMinute
        days:
          type: array
          items:
            type: string
          x-go-name: Days
        hoursPeriod:
          type: string
          x-go-name: HoursPeriod
        schedulingType:
          description: the following fields are deprecated. do not use them.
          type: string
          x-go-name: SchedulingType
        timePeriod:
          type: integer
          format: int64
          x-go-name: TimePeriod
        timePeriodType:
          type: string
          x-go-name: TimePeriodType
      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