openapi: 3.1.0
info:
  title: Introduction to the Data Access Report REST API
  description: >-
    The FlexNet Operations Data Access Report APIs can be used to extract data
    from the FlexNet Operations Data Warehouse for the purposes of reporting.
    They allow programmatic access to data using a standard interface on which
    it is possible to build customer reporting tools. Using the APIs, the data
    can be integrated into any web or mobile application.

    <br/><br/>

    Query the **/report/report-names/** API to identify the individual report
    names (required for the \"{group}\" parameter).

    <br/><br/>

    Data from up to the preceding 30 days can be obtained, eliminating the need
    to store data in an external data warehouse. Where the quantity of data is
    large, it is returned in pages. The \"header\" of the response payload
    contains URLs to link directly to the previous and next pages of data. A
    specific page of data can be requested using the pageNumber filter (see the
    **/global-filters/** API).

    <br/><br/>

    The API that obtains a report for a particular data group is **/report/**.
    The other APIs in the report-controller provide meta data that allow the
    report API to be understood, in order to plan how to use it in a custom
    application.

    <br/><br/>

    <b>Using the "Try it" Console</b><br/>

    To execute an API command using the **Try It** console, enter the Flexnet
    Operations **Username** and **Password** (in the **Authorize** section).

    <br/><br/>

    <br/><p><i>Build: 1da3323 (2025-09-25T05:24:58+0000)</i></p>
  version: 1.0.0
servers:
  - url: http://{siteID}.flexnetoperations.com/data
    description: Replace {siteID} with your FlexNet Operations instance.
security:
  - FNO_Credentials:
      - read
      - write
paths:
  /api/{version}/report/{group}:
    get:
      tags:
        - Data Access Report API
      summary: Get Specific Report
      description: >-
        Use this API to retrieve a specific report. Specify the report using the
        **group** parameter.
      operationId: reportGet
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
        - name: group
          in: path
          description: Report Name.
          required: true
          schema:
            type: string
          example: account
        - name: mode
          in: query
          description: 'Either batch or interactive. Default: batch.'
          required: false
          schema:
            type: string
            default: batch
        - name: format
          in: query
          description: 'Format of the resulting report {json|csv}. Default: json.'
          required: false
          schema:
            type: string
            default: json
        - name: pastDays
          in: query
          description: 'Return data for the past X days {[1-30]}. Default: 1.'
          required: false
          schema:
            type: integer
            format: int32
            default: 1
        - name: limitRecords
          in: query
          description: 'Limit the number of records returned {[1-2500]}. Default: 500.'
          required: false
          schema:
            type: integer
            format: int32
            default: 500
        - name: pageNumber
          in: query
          description: 'Return a specific page {minimum value is 1}. Default: 1.'
          required: false
          schema:
            type: integer
            format: int32
            default: 1
        - name: dateFrom
          in: query
          description: 'Report start date {yyyy-MM-dd}. Example: 2019-01-10.'
          required: false
          schema:
            type: string
            default: ''
        - name: dateTo
          in: query
          description: 'Report end date {yyyy-MM-dd}. Example: 2019-01-10.'
          required: false
          schema:
            type: string
            default: ''
        - name: query
          in: query
          description: >-
            Optional filters based on the specific group (report name). Example:
            {"accountId" : { "$eq" : "test"}}
          required: false
          schema:
            type: string
            default: '{}'
      responses:
        '200':
          description: Successfully retrieved report
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
        '403':
          description: Accessing the report you were trying to reach is forbidden
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
    post:
      tags:
        - Data Access Report API
      summary: Get Specific Report using POST method.
      description: >-
        Use this API to retrieve a specific report. Specify the report using the
        **group** parameter.
      operationId: reportPost
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
        - name: group
          in: path
          description: Report Name.
          required: true
          schema:
            type: string
          example: account
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: object
        required: true
      responses:
        '200':
          description: Successfully retrieved report
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
        '403':
          description: Accessing the report you were trying to reach is forbidden
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
  /api/{version}/report/report-types:
    get:
      tags:
        - Data Access Report API
      summary: Get Data Model for All Reports
      description: >-
        This API retrieves information about the data model used in each
        available report. The response provides the name and type of each data
        item included in a given report. This information helps you understand
        the content of a report before you run it against live data. The
        response also contains information about the filters that can be used
        for each of the reports.
      operationId: reportTypes
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '403':
          description: Accessing the report you were trying to reach is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /api/{version}/report/report-types/{group}:
    get:
      tags:
        - Data Access Report API
      summary: Get Data Model for Specific Report
      description: >-
        This API retrieves information about the data model used in a specific
        report. The response provides the name and type of each data item
        included in the report. This information helps you understand the
        content of the report before you run it against live data.
      operationId: reportType
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
        - name: group
          in: path
          description: Report Name.
          required: true
          schema:
            type: string
          example: account
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '403':
          description: Accessing the report you were trying to reach is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /api/{version}/report/report-names:
    get:
      tags:
        - Data Access Report API
      summary: Get Report Names
      description: This API returns the names of the available reports.
      operationId: reportNames
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
        - name: all
          in: query
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '403':
          description: Accessing the report you were trying to reach is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /api/{version}/report/report-filters/{group}:
    get:
      tags:
        - Data Access Report API
      summary: Get Filters for Specific Report
      description: >-
        This API retrieves the filters that can be used when requesting a
        specific report.
      operationId: reportFilters
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
        - name: group
          in: path
          description: Report Name.
          required: true
          schema:
            type: string
          example: account
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '403':
          description: Accessing the report you were trying to reach is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
  /api/{version}/report/op-list:
    get:
      tags:
        - Data Access Report API
      summary: Get Conditional Operators
      description: This API retrieves the supported conditional operators.
      operationId: queryOperatorList
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '403':
          description: Accessing the report you were trying to reach is forbidden
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
  /api/{version}/report/global-filters:
    get:
      tags:
        - Data Access Report API
      summary: Get Filters for All Reports
      description: >-
        This API retrieves the filters available for each of the reports. These
        filters can be used to obtain specific data or to reduce the amount of
        data returned.
      operationId: globalFilters
      parameters:
        - name: version
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '400':
          description: The reporter identified a request with incorrect parameters
          content: {}
        '401':
          description: You are not authorized to view the report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '403':
          description: Accessing the report you were trying to reach is forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
        '404':
          description: The report you were trying to reach can't be found
          content: {}
        '500':
          description: The reporter returned an error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceResponse'
components:
  schemas:
    ServiceResponse:
      type: object
      description: Service Response Basic
      properties:
        data:
          type: object
          description: The basic service response
  securitySchemes:
    FNO_Credentials:
      type: apiKey
      description: >-
        <u>(Please enter <b>Basic</b> followed by base64 encoded
        <b>userid:password</b>)</u>
      name: Authorization
      in: header
