openapi: 3.0.0
info:
  title: VisibilityIQ Device Disruption
  version: 1.0.0
servers:
- url: https://api.zebra.com/v2/data/visibility/devices/utilization
  description: For US
- url: https://api.zebra.com/v2/eu/data/visibility/devices/utilization
  description: For EU
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: Device Disruption
paths:
  /disruptions/anrs:
    get:
      tags:
      - Device Disruption
      summary: Retrieves device disruption information of the applications which are
        not responding
      description: Retrieves information of the applications which are not responding,
        causing device disruption for the specified date range for a company partner.
      operationId: Retrieve ANR Device Disruptions
      parameters:
      - name: companyName
        in: header
        description: Company name
        required: true
        schema:
          type: string
      - name: partnerName
        in: header
        description: Partner name
        required: true
        schema:
          type: string
      - name: startDatetime
        in: header
        description: ISO timestamp for the start of the time period in which data
          is retrieved. The startDatetime should be less than endDatetime. Example=2020-04-13T00:00:00Z
        required: true
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: endDatetime
        in: header
        description: ISO timestamp for the end of the time period in which data is
          fetched. The difference between start and end date should not be more than
          18 months.
        required: true
        style: simple
        explode: false
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: offset
        in: query
        description: 'Pagination parameter indicating the starting record position
          for returning the results from the result set.  Any positive value is acceptable.
          An offset bigger than the number of available results will result in an
          error. A negative value will be replaced with 0. Normally, value should
          be 0 or a positive multiple of limit. '
        required: false
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: 'Pagination size indicating the maximum number of results to
          be returned in the response. Valid values are 1 to 20000. Values higher
          than 20000 will be replaced with 20000. Values less than 1 will be replaced
          with 250. '
        required: false
        schema:
          type: integer
          default: 250
      - name: sort
        in: header
        description: '"Sort order for the results. Specified as a JSON object. Currently,\
          \ only one sort order is supported in the criteria even though it is an\
          \ array. Elements other than the first one will be ignored currently.\n\
          \  {\n    \"criteria\": [\n      {\n        \"a\": \"deviceCount\",\n    \
          \    \"o\": \"asc\"\n      }\n    ]\n  }"'
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ANRDisruptionSortCriteria'
      - name: filter
        in: header
        description: |-
          Filter based on column values.  Numeric value will be filtered by an partial match.  Strings will be filtered by partial matches as well and are case insensitive matches.   The filter criteria are ANDed together.Date filters are also supported, but the value must match the format yyyy-MM-dd. Example
           {
             "totalAnr": 40
           }
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ANRDisruptionFilterCriteria'
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ANRDisruptionInfoApiResponse'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
  /disruptions/devices:
    get:
      tags:
      - Device Disruption
      summary: Retrieves devices disruption information
      description: Retrieves devices information which are having device disruption
        for the specified date range for a company partner.
      operationId: Retrieve Device Disruption Information
      parameters:
      - name: companyName
        in: header
        description: Company name
        required: true
        schema:
          type: string
      - name: partnerName
        in: header
        description: Partner name
        required: true
        schema:
          type: string
      - name: startDatetime
        in: header
        description: ISO timestamp for the start of the time period in which data
          is retrieved. The startDatetime should be less than endDatetime. Example=2020-04-13T00:00:00Z
        required: true
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: endDatetime
        in: header
        description: ISO timestamp for the end of the time period in which data is
          fetched. The difference between start and end date should not be more than
          18 months.
        required: true
        style: simple
        explode: false
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: offset
        in: query
        description: 'Pagination parameter indicating the starting record position
          for returning the results from the result set.  Any positive value is acceptable.
          An offset bigger than the number of available results will result in an
          error. A negative value will be replaced with 0. Normally, value should
          be 0 or a positive multiple of limit. '
        required: false
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: 'Pagination size indicating the maximum number of results to
          be returned in the response. Valid values are 1 to 20000. Values higher
          than 20000 will be replaced with 20000. Values less than 1 will be replaced
          with 250. '
        required: false
        schema:
          type: integer
          default: 250
      - name: sort
        in: header
        description: '"Sort order for the results. Specified as a JSON object. Currently,\
          \ only one sort order is supported in the criteria even though it is an\
          \ array. Elements other than the first one will be ignored currently.\n\
          \  {\n    \"criteria\": [\n      {\n        \"a\": \"totalDisurption\",\n    \
          \    \"o\": \"asc\"\n      }\n    ]\n  }"'
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceDisruptionSortCriteria'
      - name: filter
        in: header
        description: |-
          Filter based on column values. Numeric value will be filtered by an partial match.  Strings will be filtered by partial matches as well and are case insensitive matches.   The filter criteria are ANDed together.Date filters are also supported, but the value must match the format yyyy-MM-dd. Example
           {
             "totalAnr": 40
           }
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceDisruptionFilterCriteria'
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceDisruptionInfoApiResponse'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
  /disruptions:
    get:
      tags:
      - Device Disruption
      summary: Retrieves disruption information for rebooted devices and installed
        applications that are not responding
      description: Retrieves disruptions information i.e. devices which are rebooted
        and installed applications that are not responding for the specified date
        range and for a company partner.
      operationId: Retrieve Device Disruption Information For Reboots and installed
        applications that are not responding.
      parameters:
      - name: companyName
        in: header
        description: Company name
        required: true
        schema:
          type: string
      - name: partnerName
        in: header
        description: Partner name
        required: true
        schema:
          type: string
      - name: startDatetime
        in: header
        description: ISO timestamp for the start of the time period in which data
          is retrieved. The startDatetime should be less than endDatetime. Example=2020-04-13T00:00:00Z
        required: true
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: endDatetime
        in: header
        description: ISO timestamp for the end of the time period in which data is
          fetched. The difference between start and end date should not be more than
          18 months.
        required: true
        style: simple
        explode: false
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: offset
        in: query
        description: 'Pagination parameter indicating the starting record position
          for returning the results from the result set.  Any positive value is acceptable.
          An offset bigger than the number of available results will result in an
          error. A negative value will be replaced with 0. Normally, value should
          be 0 or a positive multiple of limit. '
        required: false
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: 'Pagination size indicating the maximum number of results to
          be returned in the response. Valid values are 1 to 20000. Values higher
          than 20000 will be replaced with 20000. Values less than 1 will be replaced
          with 250. '
        required: false
        schema:
          type: integer
          default: 250
      - name: sort
        in: header
        description: '"Sort order for the results. Specified as a JSON object. Currently,\
          \ only one sort order is supported in the criteria even though it is an\
          \ array. Elements other than the first one will be ignored currently.\n\
          \  {\n    \"criteria\": [\n      {\n        \"a\": \"totalAnr\",\n    \
          \    \"o\": \"asc\"\n      }\n    ]\n  }"'
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DisruptionSortCriteria'
      - name: filter
        in: header
        description: |-
          Filter based on column values. Numeric value will be filtered by an partial match.  Strings will be filtered by partial matches as well and are case insensitive matches.   The filter criteria are ANDed together.Date filters are also supported, but the value must match the format yyyy-MM-dd. Example
           {
             "totalAnr": 40
           }
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DisruptionFilterCriteria'
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisruptionInfoApiResponse'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
  /disruptions/thread-states:
    get:
      tags:
      - Device Disruption
      summary: Retrieves the thread states of an application resulting ANR
      description: Retrieves the thread states of an application resulting ANR for
        the specified date range and for a company partner.
      operationId: Retrieve ANR Thread States
      parameters:
      - name: companyName
        in: header
        description: Company name
        required: true
        schema:
          type: string
      - name: partnerName
        in: header
        description: Partner name
        required: true
        schema:
          type: string
      - name: startDatetime
        in: header
        description: ISO timestamp for the start of the time period in which data
          is retrieved. The startDatetime should be less than endDatetime. Example=2020-04-13T00:00:00Z
        required: true
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: endDatetime
        in: header
        description: ISO timestamp for the end of the time period in which data is
          fetched. The difference between start and end date should not be more than
          18 months.
        required: true
        style: simple
        explode: false
        schema:
          $ref: '#/components/schemas/DateTime'
      - name: offset
        in: query
        description: 'Pagination parameter indicating the starting record position
          for returning the results from the result set.  Any positive value is acceptable.
          An offset bigger than the number of available results will result in an
          error. A negative value will be replaced with 0. Normally, value should
          be 0 or a positive multiple of limit. '
        required: false
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        description: 'Pagination size indicating the maximum number of results to
          be returned in the response. Valid values are 1 to 20000. Values higher
          than 20000 will be replaced with 20000. Values less than 1 will be replaced
          with 250. '
        required: false
        schema:
          type: integer
          default: 250
      - name: applicationName
        in: header
        description: Application name
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: applicationPackage
        in: header
        description: Package name of an application
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: sort
        in: header
        description: '"Sort order for the results. Specified as a JSON object. Currently,\
          \ only one sort order is supported in the criteria even though it is an\
          \ array. Elements other than the first one will be ignored currently.\n\
          \  {\n    \"criteria\": [\n      {\n        \"a\": \"total\",\n    \ \    \"o\":
          \"asc\"\n      }\n    ]\n  }"'
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationThreadStateSortCriteria'
      - name: filter
        in: header
        description: |-
          Filter based on column values. Numeric value will be filtered by an partial match.  Strings will be filtered by partial matches as well and are case insensitive matches.   The filter criteria are ANDed together.Date filters are also supported, but the value must match the format yyyy-MM-dd. Example
           {
             "date": '2021-09-06'
           }
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationThreadStateFilterCriteria'
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationThreadStateInfoApiResponse'
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        "500":
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
components:
  schemas:
    ApiResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/ANRDisruptionInfo'
            - $ref: '#/components/schemas/DeviceDisruptionInfo'
            - $ref: '#/components/schemas/DisruptionInfo'
            - $ref: '#/components/schemas/ApplicationThreadStateInfo'
        links:
          $ref: '#/components/schemas/ApiResponseLinks'
    ANRDisruptionInfoApiResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/ANRDisruptionInfo'
        links:
          $ref: '#/components/schemas/ApiResponseLinks'
    DeviceDisruptionInfoApiResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/DeviceDisruptionInfo'
        links:
          $ref: '#/components/schemas/ApiResponseLinks'
    DisruptionInfoApiResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/DisruptionInfo'
        links:
          $ref: '#/components/schemas/ApiResponseLinks'
    ApplicationThreadStateInfoApiResponse:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ApiResponseStatus'
        meta:
          $ref: '#/components/schemas/ApiResponseMeta'
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/ApplicationThreadStateInfo'
        links:
          $ref: '#/components/schemas/ApiResponseLinks'
    DateTime:
      type: string
      format: date-time
    ApiError:
      type: object
      properties:
        id:
          type: string
          description: A unique identifier for this particular occurrence of the problem
        links:
          type: object
          properties:
            about:
              type: string
              description: A link that leads to further details about this particular
                occurrence of the problem
          description: Links providing information related to this error
        status:
          type: integer
          description: The HTTP status code applicable to this problem
          format: int32
        code:
          type: string
          description: An application-specific error code, expressed as a string value
        title:
          type: string
          description: A short, human-readable summary of the problem that SHOULD
            NOT change from occurrence to occurrence of the problem, except for purposes
            of localization
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of
            the problem. Like title, this field’s value can be localized
        source:
          type: object
          properties:
            pointer:
              type: string
              description: A JSON Pointer [RFC6901] to the associated entity in the
                request document [e.g. "/data" for a primary data object, or "/data/attributes/title"
                for a specific attribute]
            parameter:
              type: string
              description: A string indicating which URI query parameter caused the
                error
          description: An object containing references to the source of the error
        meta:
          type: object
          description: A meta object containing non-standard meta-information about
            the error
    ANRDisruptionInfo:
      type: object
      properties:
        date:
          type: string
          description: Date in a given date range.
        applicationName:
          type: string
          description: Application name which is causing disruption.
        totalAnrs:
          type: integer
          description: Total ANR count for application.
        deviceCount:
          type: integer
          description: Total device count for a application.
      example:
        date: 2021-08-20
        applicationName: system_server
        totalAnrs: 43
        deviceCount: 42
    DeviceDisruptionInfo:
      type: object
      properties:
        serialNum:
          type: string
          description: The device serial number.
        assetName:
          type: string
          description: Application name which is causing disruption.
        model:
          type: string
          description: The model of the device.
        os:
          type: string
          description: The operating system of the device.
        totalDisurptions:
          type: integer
          description: Total disruption count which is sum of ANR and total reboot
            counts for the device.
        totalReboots:
          type: integer
          description: Total reboot count is the sum of user and system reboots for
            the device.
        userInitiatedReboots:
          type: integer
          description: Total user initiated reboot count for the device.
        systemInitiatedReboots:
          type: integer
          description: Total system initiated reboot count for the device.
        totalANRs:
          type: integer
          description: Total ANR count for the device.
        siteName:
          type: string
          description: The name of the site that the device belongs to.
        siteHierarchy:
          type: string
          description: The Site hierarchy  that the device belongs to.
      example:
        serialNum: KQXXXXX
        assetName: ETXX_4XXXXXX
        model: ETXX
        os: 6.0.1
        totalDisurptions: 4
        totalReboots: 2
        userInitiatedReboots: 1
        systemInitiatedReboots: 1
        totalANRs: 2
        siteName: 0612 XXXX XXXX XXXXXX
        siteHierarchy: company/region/country/timezome/state/sitename
    DisruptionInfo:
      type: object
      properties:
        date:
          type: string
          description: Date in a given date range.
        totalAnrs:
          type: integer
          description: Application count which is not responding.
        anrDeviceCount:
          type: integer
          description: Total device count where application not responding.
        totalSystemReboots:
          type: integer
          description: Total system reboot count.
        systemRebootDeviceCount:
          type: integer
          description: System reboot device count.
        totalUserReboots:
          type: integer
          description: Total user reboot count.
        userRebootDeviceCount:
          type: integer
          description: User reboot device count.
        userRebootsNormalizedRate:
          type: number
          description: Average of user reboots per device.
        systemRebootsNormalizedRate:
          type: number
          description: Average of system reboots per device.
        anrsNormalizedRate:
          type: number
          description: Average of anrs per device.
      example:
        date: 2021-08-21
        totalAnrs: 43
        anrDeviceCount: 42
        totalSystemReboots: 24
        systemRebootDeviceCount: 14
        totalUserReboots: 45
        userRebootDeviceCount: 56
        userRebootsNormalizedRate: 1.04
        systemRebootsNormalizedRate: 1.25
        anrsNormalizedRate: 1.15
    ApplicationThreadStateInfo:
      type: object
      properties:
        date:
          type: string
          description: Date in a given date range.
        threadState:
          type: string
          description: Thread state of an application.
        total:
          type: integer
          description: Total number of thread state.
        deviceCount:
          type: integer
          description: Total device count in this thread state.
      example:
        date: 2021-08-20
        threadState: Blocked
        total: 43
        deviceCount: 42
    ANRDisruptionSortCriteria:
      type: object
      properties:
        criteria:
          type: array
          items:
            type: object
            properties:
              a:
                type: string
                description: Attribute name
                enum:
                - date
                - applicationName
                - totalAnrs
                - deviceCount
              o:
                type: string
                description: Order for attribute values
                enum:
                - asc
                - desc
    ANRDisruptionFilterCriteria:
      type: object
      properties:
        date:
          type: string
          description: Date in a given date range.
        applicationName:
          type: string
          description: Application name which is causing disruption.
        totalAnrs:
          type: integer
          description: Total ANR count for application.
        deviceCount:
          type: integer
          description: Total device count for a application.
    DeviceDisruptionSortCriteria:
      type: object
      properties:
        criteria:
          type: array
          items:
            type: object
            properties:
              a:
                type: string
                description: Attribute name
                enum:
                - serialNum
                - assetName
                - model
                - os
                - totalDisurptions
                - totalReboots
                - userInitiatedReboots
                - systemInitiatedReboots
                - totalANRs
                - siteName
                - siteHierarchy
              o:
                type: string
                description: Order for attribute values
                enum:
                - asc
                - desc
    DeviceDisruptionFilterCriteria:
      type: object
      properties:
        serialNum:
          type: string
          description: The device serial number.
        assetName:
          type: string
          description: Application name which is causing disruption.
        model:
          type: string
          description: The model of the device.
        os:
          type: string
          description: The operating system of the device.
        totalDisurptions:
          type: integer
          description: Total disruption count which is sum of ANR and total reboot
            counts for the device.
        totalReboots:
          type: integer
          description: Total reboot count is the sum of user and system reboots for
            the device.
        userInitiatedReboots:
          type: integer
          description: Total user initiated reboot count for the device.
        systemInitiatedReboots:
          type: integer
          description: Total system initiated reboot count for the device.
        totalANRs:
          type: integer
          description: Total ANR count for the device.
        siteName:
          type: string
          description: The name of the site that the device belongs to.
        siteHierarchy:
          type: string
          description: The Site hierarchy  that the device belongs to.
    DisruptionSortCriteria:
      type: object
      properties:
        criteria:
          type: array
          items:
            type: object
            properties:
              a:
                type: string
                description: Attribute name
                enum:
                - date
                - totalAnrs
                - anrDeviceCount
                - totalSystemReboots
                - systemRebootDeviceCount
                - totalUserReboots
                - userRebootDeviceCount
                - userRebootsNormalizedRate
                - systemRebootsNormalizedRate
                - anrsNormalizedRate
              o:
                type: string
                description: Order for attribute values
                enum:
                - asc
                - desc
    DisruptionFilterCriteria:
      type: object
      properties:
        date:
          type: string
          description: Date in a given date range.
        totalAnrs:
          type: integer
          description: Application count which is not responding.
        anrDeviceCount:
          type: integer
          description: Total device count where application not responding.
        totalSystemReboots:
          type: integer
          description: Total system reboot count.
        systemRebootDeviceCount:
          type: integer
          description: System reboot device count.
        totalUserReboots:
          type: integer
          description: Total user reboot count.
        userRebootDeviceCount:
          type: integer
          description: User reboot device count.
        userRebootsNormalizedRate:
          type: string
          description: Average of user reboots per device.
        systemRebootsNormalizedRate:
          type: string
          description: Average of system reboots per device.
        anrsNormalizedRate:
          type: string
          description: Average of anrs per device.
    ApplicationThreadStateSortCriteria:
      type: object
      properties:
        criteria:
          type: array
          items:
            type: object
            properties:
              a:
                type: string
                description: Attribute name
                enum:
                - date
                - threadState
                - total
                - deviceCount
              o:
                type: string
                description: Order for attribute values
                enum:
                - asc
                - desc
    ApplicationThreadStateFilterCriteria:
      type: object
      properties:
        date:
          type: string
          description: Date in a given date range.
        threadState:
          type: string
          description: Thread state of an application.
        total:
          type: integer
          description: Total number of thread state.
        deviceCount:
          type: integer
          description: Total device count in this thread state.
    ApiResponseStatus:
      type: integer
      description: The HTTP status code
      format: int32
    ApiResponseMeta:
      type: object
      properties:
        id:
          type: string
          description: A unique identifier for this request
        total:
          type: integer
          description: The total number of results
        offset:
          type: integer
          description: The offset used in this request
        limit:
          type: integer
          description: The effective limit used in this request
    ApiResponseLinks:
      type: object
      properties:
        self:
          type: string
          description: URL to this page
        first:
          type: string
          description: URL to the first page
        last:
          type: string
          description: URL to the last page
        prev:
          type: string
          description: URL to the previous page
        next:
          type: string
          description: URL to the next page
      description: Links for navigation. Only the applicable links are required to
        be present.
  responses:
    Response200:
      description: Successful operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiResponse'
    Response400:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Response401:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Response403:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Response500:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  parameters:
    companyName:
      name: companyName
      in: header
      description: Company name
      required: true
      schema:
        type: string
    partnerName:
      name: partnerName
      in: header
      description: Partner name
      required: true
      schema:
        type: string
    startDatetime:
      name: startDatetime
      in: header
      description: ISO timestamp for the start of the time period in which data is
        retrieved. The startDatetime should be less than endDatetime. Example=2020-04-13T00:00:00Z
      required: true
      schema:
        $ref: '#/components/schemas/DateTime'
    endDatetime:
      name: endDatetime
      in: header
      description: ISO timestamp for the end of the time period in which data is fetched.
        The difference between start and end date should not be more than 18 months.
      required: true
      style: simple
      explode: false
      schema:
        $ref: '#/components/schemas/DateTime'
    offset:
      name: offset
      in: query
      description: 'Pagination parameter indicating the starting record position for
        returning the results from the result set.  Any positive value is acceptable.
        An offset bigger than the number of available results will result in an error.
        A negative value will be replaced with 0. Normally, value should be 0 or a
        positive multiple of limit. '
      required: false
      schema:
        type: integer
        default: 0
    limit:
      name: limit
      in: query
      description: 'Pagination size indicating the maximum number of results to be
        returned in the response. Valid values are 1 to 20000. Values higher than
        20000 will be replaced with 20000. Values less than 1 will be replaced with
        250. '
      required: false
      schema:
        type: integer
        default: 250
  requestBodies: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
    ApiKeyAuth:
      type: apiKey
      name: X-APIKey
      in: header
  links: {}
  callbacks: {}
