Openpath orgs/reports API

Reports and Analytics

OpenAPI Specification

openpath-orgs-reports-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Openpath API Documentation auth orgs/reports API
  version: 1.0.0
  description: Authentication and Login
host: api.openpath.com
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: orgs/reports
  description: Reports and Analytics
paths:
  /orgs/{orgId}/reports/deviceTimeZoneDependentRelativeTimeRanges:
    get:
      summary: Get the search and display unix timestamp ranges for relative times based on the device with a timezone in the min utc offset
      operationId: getDeviceTimeZoneDependentRelativeTimeRanges
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-occupancyReport:w,o{params.orgId}-occupancyReport:r,o{params.orgId}-rpt:r,o{params.orgId}-rpt:w,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: getDeviceTimeZoneDependentRelativeTimeRanges'
      parameters:
      - type: integer
        name: orgId
        in: path
        required: true
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
          minimum: 1
        collectionFormat: multi
        name: siteIds
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
          minimum: 1
        collectionFormat: multi
        name: zoneIds
        in: query
      - type: string
        format: date
        name: referenceTime
        in: query
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - orgs/reports
      security:
      - jwt: []
      responses:
        '200':
          schema:
            type: object
            properties:
              totalCount:
                type: integer
              filteredCount:
                type: integer
              cursors:
                type: object
                properties:
                  nextCursor:
                    type: integer
                    x-nullable: true
                    x-alternatives:
                    - type: integer
                      x-nullable: true
                    - type: string
                      pattern: ^[a-zA-Z0-9,@._~-]+$
                      x-nullable: true
                  hasNextPage:
                    type: boolean
              data:
                type: array
                items:
                  type: object
                  properties:
                    relativeTime:
                      type: string
                      enum:
                      - today
                      - thisWeek
                      - thisMonth
                      - thisQuarter
                      - thisYear
                      - yesterday
                      - lastFullWeek
                      - lastFullMonth
                      - lastFullQuarter
                      - last6FullMonths
                      - last12FullMonths
                    deviceMinUtcOffsetTimeZoneId:
                      type: string
                    displayStartDateUnix:
                      type: integer
                      minimum: 1721088000
                    displayEndDateUnix:
                      type: integer
                      minimum: 1721088000
                    searchStartDateUnix:
                      type: integer
                      minimum: 1721088000
                    searchEndDateUnix:
                      type: integer
                      minimum: 1721088000
                  required:
                  - relativeTime
                  - deviceMinUtcOffsetTimeZoneId
                  - displayStartDateUnix
                  - displayEndDateUnix
                  - searchStartDateUnix
                  - searchEndDateUnix
              meta:
                type: object
                properties:
                  accessToken:
                    x-nullable: true
                    type: object
                    properties:
                      scopeUpdatedAt:
                        type: string
                        format: date
                  siteSpecificAccess:
                    x-nullable: true
                    type: object
                    properties:
                      isSiteSpecific:
                        type: boolean
                      siteIds:
                        x-nullable: true
                        type: array
                        items:
                          type: integer
                      siteIdsByScope:
                        type: object
                        properties:
                          string:
                            x-nullable: true
                            type: array
                            items:
                              type: integer
                        x-nullable: true
          description: Successful
      x-op-scopes:
      - o{params.orgId}-occupancyReport:w
      - o{params.orgId}-occupancyReport:r
      - o{params.orgId}-rpt:r
      - o{params.orgId}-rpt:w
      - o:w
      - o:r
      - s-o:w
      - s-o:r
  /orgs/{orgId}/reports/activity:
    get:
      summary: Get entry access activity
      operationId: getActivity
      description: 'Note: Please use `/org/{orgId}/reports/activity/events` API when possible as it replaces this API and is faster.<br/><br/>Returns activity events for the `time` specified date range. This API does not handle large date range requests. If not specified, the default search time span is 24 hours ago to now.<br/><br/>This API can return 422 Unprocessable Entity status code. A 422 is returned when the `time` filter specified a date range with more data than can be retrieved within the 55 second API timeout period. Please try narrowing the query date range or use the `/org/{orgId}/reports/activity/events` API as an alternative. The `/org/{orgId}/reports/activity/events` API does not have the 422 status code problem.<br/><br/>The difference between entryName, zoneName, and siteName vs. entryName2, zoneName2, and siteName2 is that the `*Name2` fields can potentially return "Multiple" as the name. This occurs when the entries array indicates multiple unique ids for that resource type. Whereas the entryId, entryName, zoneId, zoneName, siteId, and siteName values always equal their entries[0] (the first one) equivalent values.<br/><br/>__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-dash:w,o{params.orgId}-dash:r,o{params.orgId}-dashActivity:w,o{params.orgId}-dashActivity:r,o{params.orgId}-rpt:w,o{params.orgId}-rpt:r,o{params.orgId}-rptGeneral:w,o{params.orgId}-rptGeneral:r,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: getActivity'
      parameters:
      - type: string
        default: ''
        pattern: ^((log-all)(,|$))*$
        name: x-op-debug
        in: header
      - type: integer
        name: orgId
        in: path
        required: true
      - type: integer
        default: 10000
        minimum: 1
        maximum: 10000
        name: limit
        in: query
      - type: integer
        default: 0
        minimum: 0
        name: offset
        in: query
      - type: string
        default: time
        pattern: ^[a-zA-Z0-9.]+(,\s*[a-zA-Z0-9.]+)*$
        name: sort
        in: query
      - type: string
        default: desc
        pattern: ^(asc|desc)+(,\s*(asc|desc)+)*$
        name: order
        in: query
      - type: string
        name: filter
        in: query
      - type: string
        default: ''
        maxLength: 512
        pattern: ^((useOpProton|quick|noquick|withTouch|searchId:[a-zA-Z0-9_-]+)(,|$))*
        name: options
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: customFieldIds
        in: query
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - orgs/reports
      security:
      - jwt: []
      responses:
        '200':
          schema:
            type: object
            properties:
              totalCount:
                type: integer
              filteredCount:
                type: integer
              cursors:
                type: object
                properties:
                  nextCursor:
                    type: integer
                    x-nullable: true
                    x-alternatives:
                    - type: integer
                      x-nullable: true
                    - type: string
                      pattern: ^[a-zA-Z0-9,@._~-]+$
                      x-nullable: true
                  hasNextPage:
                    type: boolean
              data:
                type: array
                items:
                  type: object
                  properties:
                    time:
                      type: number
                    timeIsoString:
                      type: string
                    userId:
                      type: number
                      x-nullable: true
                    userFirstName:
                      type: string
                      x-nullable: true
                    userMiddleName:
                      type: string
                      x-nullable: true
                    userLastName:
                      type: string
                      x-nullable: true
                    userName:
                      type: string
                      x-nullable: true
                    userEmail:
                      type: string
                    userMobilePhone:
                      type: string
                      x-nullable: true
                    userOrgId:
                      type: number
                      x-nullable: true
                    userOrgName:
                      type: string
                      x-nullable: true
                    userExternalId:
                      type: string
                      x-nullable: true
                    userIdpName:
                      type: string
                      x-nullable: true
                    userGroups:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                        required:
                        - id
                    userSites:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                        required:
                        - id
                    sourceName:
                      type: string
                    category:
                      type: string
                      x-nullable: true
                    subCategory:
                      type: string
                      x-nullable: true
                    credentialSubtype:
                      type: string
                    credentialTypeModelName:
                      type: string
                      x-nullable: true
                    credentialTypeName:
                      type: string
                      x-nullable: true
                    credentialDetail:
                      type: string
                      x-nullable: true
                    cardFields:
                      x-nullable: true
                      type: object
                      properties:
                        rcm:
                          type: string
                          pattern: ^[0-9]+$
                        facilityCode:
                          type: string
                          pattern: ^[0-9]+$
                        issueLevel:
                          type: string
                          pattern: ^[0-9]+$
                        cardId:
                          type: string
                          pattern: ^[0-9]+$
                        companyId:
                          type: string
                          pattern: ^[0-9]+$
                        companyCode:
                          type: string
                          pattern: ^[0-9]+$
                        siteCode:
                          type: string
                          pattern: ^[0-9]+$
                        oem:
                          type: string
                          pattern: ^[0-9]+$
                    acuId:
                      type: number
                      x-nullable: true
                    acuName:
                      type: string
                    entryId:
                      type: number
                      x-nullable: true
                    entryName:
                      type: string
                    entryName2:
                      type: string
                    zoneId:
                      type: number
                      x-nullable: true
                    zoneName:
                      type: string
                      x-nullable: true
                    zoneName2:
                      type: string
                      x-nullable: true
                    siteId:
                      type: number
                      x-nullable: true
                    siteName:
                      type: string
                      x-nullable: true
                    siteName2:
                      type: string
                      x-nullable: true
                    entries:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                          name:
                            type: string
                          zone:
                            type: object
                            properties:
                              id:
                                type: integer
                              name:
                                type: string
                            required:
                            - id
                          site:
                            type: object
                            properties:
                              id:
                                type: integer
                              name:
                                type: string
                            required:
                            - id
                        required:
                        - id
                    lockdownPlanId:
                      type: number
                      x-nullable: true
                    lockdownPlanName:
                      type: string
                    gatewayDevice:
                      x-nullable: true
                      type: object
                      properties:
                        type:
                          type: string
                          x-nullable: true
                        uid:
                          type: string
                          x-nullable: true
                        opal:
                          type: string
                        name:
                          type: string
                          x-nullable: true
                      required:
                      - type
                    sourceDevice:
                      x-nullable: true
                      type: object
                      properties:
                        type:
                          type: string
                          x-nullable: true
                        uid:
                          type: string
                          x-nullable: true
                        opal:
                          type: string
                        name:
                          type: string
                          x-nullable: true
                      required:
                      - type
                    deviceDetail:
                      type: string
                    deviceDetailName:
                      type: string
                    deviceTimezone:
                      type: string
                      x-nullable: true
                    readerId:
                      type: number
                      x-nullable: true
                    readerName:
                      type: string
                    readerPortNumber:
                      type: number
                      x-nullable: true
                    portNumber:
                      type: object
                      properties:
                        modelName:
                          type: string
                          enum:
                          - contactSensor
                          - genericInput
                          - reader
                          - rex
                        raw:
                          type: integer
                        acuId:
                          type: integer
                        expansionBoardNum:
                          type: integer
                        virtualPortNum:
                          type: integer
                    targetType:
                      type: string
                      x-nullable: true
                    targetName:
                      type: string
                      x-nullable: true
                    requestType:
                      type: string
                    requestId:
                      type: string
                    result:
                      type: string
                    resultDescription:
                      type: string
                    deniedReason:
                      type: string
                      x-nullable: true
                    connectionType:
                      type: string
                      x-nullable: true
                    location:
                      type: string
                    userCustomFields:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                          value:
                            type: string
                            x-nullable: true
                          customField:
                            type: object
                            properties:
                              id:
                                type: number
                              name:
                                type: string
                              customFieldType:
                                type: object
                                properties:
                                  id:
                                    type: number
                                  name:
                                    type: string
                                required:
                                - id
                            required:
                            - id
                        required:
                        - id
                    userCustomFieldsData:
                      type: object
                    firstAuthInfos:
                      type: array
                      items:
                        type: object
                        properties:
                          connectionType:
                            type: string
                            x-nullable: true
                          requestType:
                            type: string
                          credentialSubtype:
                            type: string
                          credentialTypeModelName:
                            type: string
                            x-nullable: true
                          credentialDetail:
                            type: string
                            x-nullable: true
                          credentialTypeName:
                            type: string
                            x-nullable: true
                          cardFields:
                            x-nullable: true
                            type: object
                            properties:
                              rcm:
                                type: string
                                pattern: ^[0-9]+$
                              facilityCode:
                                type: string
                                pattern: ^[0-9]+$
                              issueLevel:
                                type: string
                                pattern: ^[0-9]+$
                              cardId:
                                type: string
                                pattern: ^[0-9]+$
                              companyId:
                                type: string
                                pattern: ^[0-9]+$
                              companyCode:
                                type: string
                                pattern: ^[0-9]+$
                              siteCode:
                                type: string
                                pattern: ^[0-9]+$
                              oem:
                                type: string
                                pattern: ^[0-9]+$
                          readerId:
                            type: number
                            x-nullable: true
                          readerName:
                            type: string
                          userId:
                            type: number
                            x-nullable: true
                          userFirstName:
                            type: string
                            x-nullable: true
                          userMiddleName:
                            type: string
                            x-nullable: true
                          userLastName:
                            type: string
                            x-nullable: true
                          userName:
                            type: string
                            x-nullable: true
                          userEmail:
                            type: string
                          userOrgId:
                            type: number
                            x-nullable: true
                          userOrgName:
                            type: string
                            x-nullable: true
                          userExternalId:
                            type: string
                            x-nullable: true
                          userIdpName:
                            type: string
                            x-nullable: true
                  required:
                  - time
                  - sourceName
              meta:
                type: object
                properties:
                  accessToken:
                    x-nullable: true
                    type: object
                    properties:
                      scopeUpdatedAt:
                        type: string
                        format: date
                  siteSpecificAccess:
                    x-nullable: true
                    type: object
                    properties:
                      isSiteSpecific:
                        type: boolean
                      siteIds:
                        x-nullable: true
                        type: array
                        items:
                          type: integer
                      siteIdsByScope:
                        type: object
                        properties:
                          string:
                            x-nullable: true
                            type: array
                            items:
                              type: integer
                        x-nullable: true
          description: Successful
      x-op-scopes:
      - o{params.orgId}-dash:w
      - o{params.orgId}-dash:r
      - o{params.orgId}-dashActivity:w
      - o{params.orgId}-dashActivity:r
      - o{params.orgId}-rpt:w
      - o{params.orgId}-rpt:r
      - o{params.orgId}-rptGeneral:w
      - o{params.orgId}-rptGeneral:r
      - o:w
      - o:r
      - s-o:w
      - s-o:r
  /orgs/{orgId}/reports/auditLogs/ui:
    get:
      summary: Search/filter/return audit logs for UI
      operationId: getAuditLogsUi
      description: 'Returns audit log UI events for the `timestamp` specified date range. Default search time span is 1 hour ago to now.<br/><br/>__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-dash:w,o{params.orgId}-dash:r,o{params.orgId}-rpt:w,o{params.orgId}-rpt:r,o{params.orgId}-portalAudit:w,o{params.orgId}-portalAudit:r,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: getAuditLogsUi'
      parameters:
      - type: string
        default: ''
        pattern: ^((log-all)(,|$))*$
        name: x-op-debug
        in: header
      - type: integer
        name: orgId
        in: path
        required: true
      - type: integer
        default: 10000
        minimum: 1
        maximum: 10000
        name: limit
        in: query
      - type: integer
        default: 0
        minimum: 0
        name: offset
        in: query
      - type: string
        default: timestamp
        pattern: ^[a-zA-Z0-9.]+(,\s*[a-zA-Z0-9.]+)*$
        name: sort
        in: query
      - type: string
        default: desc
        pattern: ^(asc|desc)+(,\s*(asc|desc)+)*$
        name: order
        in: query
      - type: string
        name: filter
        in: query
      - type: string
        default: ''
        maxLength: 512
        pattern: ^((searchId:[a-zA-Z0-9_-]+)(,|$))*$
        name: options
        in: query
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - orgs/reports
      security:
      - jwt: []
      responses:
        '200':
          schema:
            type: object
            properties:
              totalCount:
                type: integer
              filteredCount:
                type: integer
              cursors:
                type: object
                properties:
                  nextCursor:
                    type: integer
                    x-nullable: true
                    x-alternatives:
                    - type: integer
                      x-nullable: true
                    - type: string
                      pattern: ^[a-zA-Z0-9,@._~-]+$
                      x-nullable: true
                  hasNextPage:
                    type: boolean
              data:
                type: array
                items:
                  type: object
              meta:
                type: object
                properties:
                  accessToken:
                    x-nullable: true
                    type: object
                    properties:
                      scopeUpdatedAt:
                        type: string
                        format: date
                  siteSpecificAccess:
                    x-nullable: true
                    type: object
                    properties:
                      isSiteSpecific:
                        type: boolean
                      siteIds:
                        x-nullable: true
                        type: array
                        items:
                          type: integer
                      siteIdsByScope:
                        type: object
                        properties:
                          string:
                            x-nullable: true
                            type: array
                            items:
                              type: integer
                        x-nullable: true
          description: Successful
      x-op-scopes:
      - o{params.orgId}-dash:w
      - o{params.orgId}-dash:r
      - o{params.orgId}-rpt:w
      - o{params.orgId}-rpt:r
      - o{params.orgId}-portalAudit:w
      - o{params.orgId}-portalAudit:r
      - o:w
      - o:r
      - s-o:w
      - s-o:r
  /orgs/{orgId}/reports/presence/buckets:
    get:
      summary: Get presence bucket reports
      operationId: getPresenceBucketsReport
      description: '__JWT is required for this endpoint with at least one of the following scopes__: o{params.orgId}-presence:w,o{params.orgId}-presence:r,o:w,o:r,s-o:w,s-o:r<br/><br/>__Endpoint name__: getPresenceBucketsReport'
      parameters:
      - type: string
        default: ''
        pattern: ^((log-all|log-request|log-pd-request-construction|pd-.+)(,|$))*$
        name: x-op-debug
        in: header
      - type: integer
        name: orgId
        in: path
        required: true
      - type: integer
        minimum: 1
        maximum: 100
        name: limit
        in: query
      - type: integer
        default: 0
        minimum: 0
        name: offset
        in: query
      - type: string
        default: day
        enum:
        - hour
        - day
        - week
        - month
        - year
        name: timeScale
        in: query
      - type: string
        default: org
        enum:
        - org
        - sites
        - zones
        - entries
        - readers
        - groups
        - users
        name: category
        in: query
      - type: string
        format: date
        name: startDate
        in: query
        required: true
      - type: string
        format: date
        name: endDate
        in: query
        required: true
      - type: string
        maxLength: 256
        name: timeZone
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: string
          enum:
          - readers
          - entries
        collectionFormat: multi
        name: sensorTypes
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: siteIds
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: zoneIds
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: entryIds
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: readerIds
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: groupIds
        in: query
      - type: array
        x-constraint:
          single: true
        items:
          type: integer
        collectionFormat: multi
        name: userIds
        in: query
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - orgs/reports
      security:
      - jwt: []
      responses:
        '200':
          schema:
            type: object
            properties:
              data:
                type: object
                properties:
                  columnLabelsMs:
                    type: array
                    items:
                      type: integer
                  columnLabels:
                    type: array
                    items:
                      type: string
                  rows:
                    type: array
                    items:
                      type: object
                      properties:
                        resourceOpal:
                          type: string
                        name:
                          type: string
                        counts:
                          type: array
                          items:
                            type: number
                  debugInfo:
                    type: object
                  request:
                    type: object
                required:
                - request
              meta:
                type: object
                properties:
                  accessToken:
                    x-nullable: true
                    type: object
                    properties:
                      scopeUpdatedAt:
                        type: string
                        format: date
                  siteSpecificAccess:
                    x-nullable: true
                    type: object
                    properties:
                      isSiteSpecific:
                        type: boolean
                      siteIds:
           

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openpath/refs/heads/main/openapi/openpath-orgs-reports-api-openapi.yml