Quickbase Reports API

The Reports API from Quickbase — 3 operation(s) for reports.

Operations 3

GET /reports Get reports for a table #
GET /reports/{reportId} Get a report #
POST /reports/{reportId}/run Run a report #

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/quickbase:quickbase-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

quickbase-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Quickbase Reports API
  version: 1.0.0
  description: 'Operations tagged Reports across 2 of this provider''s published API definitions: qb-openapi-v3.json, quickbase-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.quickbase.com/v1
tags:
- name: Reports
paths:
  /reports:
    get:
      tags:
      - Reports
      summary: Get reports for a table
      description: Get the schema (properties) of all reports for a table. If the user running the API is an application administrator, the API will also return all personal reports with owner's user id.
      operationId: getTableReports
      parameters:
      - $ref: '#/components/parameters/queryTableId'
      - $ref: '#/components/parameters/qbRealmHostname'
      - $ref: '#/components/parameters/userAgent'
      - $ref: '#/components/parameters/authorization'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                description: This is simple example of report schema for more details please refer [Report types page](../reportTypes)
                items:
                  $ref: '#/components/schemas/reportResponse'
    servers:
    - url: https://api.quickbase.com/v1
  /reports/{reportId}:
    get:
      tags:
      - Reports
      summary: Get a report
      description: Get the schema (properties) of an individual report.
      operationId: getReport
      parameters:
      - $ref: '#/components/parameters/queryTableId'
      - $ref: '#/components/parameters/pathReportId'
      - $ref: '#/components/parameters/qbRealmHostname'
      - $ref: '#/components/parameters/userAgent'
      - $ref: '#/components/parameters/authorization'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/reportResponse'
    servers:
    - url: https://api.quickbase.com/v1
  /reports/{reportId}/run:
    post:
      tags:
      - Reports
      summary: Run a report
      description: Runs a report, based on an ID and returns the underlying data associated with it. The format of the data will vary based on the report type. Reports that focus on record-level data (table, calendar, etc.) return the individual records. Aggregate reports (summary, chart) will return the summarized information as configured in the report. UI-specific elements are not returned, such as totals, averages and visualizations. Returns data with intelligent pagination based on the approximate size of each record. The metadata object will include the necessary information to iterate over the response and gather more data.
      operationId: runReport
      parameters:
      - $ref: '#/components/parameters/queryTableId'
      - name: skip
        in: query
        description: The number of records to skip. You can set this value when paginating through a set of results.
        schema:
          type: integer
        example: 500
      - name: top
        in: query
        description: The maximum number of records to return. You can override the default Quickbase pagination to get more or fewer results. If your requested value here exceeds the dynamic maximums, we will return a subset of results and the rest can be gathered in subsequent API calls.
        schema:
          type: integer
        example: 100
      - $ref: '#/components/parameters/pathReportId'
      - $ref: '#/components/parameters/qbRealmHostname'
      - $ref: '#/components/parameters/userAgent'
      - $ref: '#/components/parameters/authorization'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runReportResponse'
    servers:
    - url: https://api.quickbase.com/v1
components:
  parameters:
    authorization:
      name: Authorization
      in: header
      description: The Quickbase authentication scheme you are using to authenticate the request, as described on the [authorization page](../auth).
      required: true
      schema:
        type: string
      example: QB-USER-TOKEN xxxxxx_xxx_xxxxxxxxxxxxxxxxxxxxxxx
    queryTableId:
      name: tableId
      in: query
      description: The unique identifier (dbid) of the table.
      required: true
      allowReserved: true
      schema:
        $ref: '#/components/schemas/tableId'
    pathReportId:
      name: reportId
      in: path
      description: The identifier of the report, unique to the table.
      required: true
      schema:
        type: string
      example: '1'
    qbRealmHostname:
      name: QB-Realm-Hostname
      in: header
      description: Your Quickbase domain, for example demo.quickbase.com
      required: true
      schema:
        type: string
      example: demo.quickbase.com
    userAgent:
      name: User-Agent
      in: header
      description: This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities.
      schema:
        type: string
      example: FileService_Integration_V2.1
  schemas:
    runReportResponse:
      example:
        data:
        - '6':
            value: Jamie Stein
          '7':
            value: 10
          '8':
            value: '2019-12-18T08:00:00Z'
        fields:
        - id: 6
          label: Full Name
          type: text
        - id: 7
          label: Amount
          labelOverride: Total Amount
          type: numeric
        - id: 8
          label: Date time
          type: date time
        metadata:
          totalRecords: 10
          numRecords: 1
          numFields: 3
          skip: 0
          top: 1
      type: object
      properties:
        fields:
          description: An array of objects that contains limited meta-data of each field displayed in the report. This assists in building logic that depends on field types and IDs.
          type: array
          items:
            type: object
            properties:
              id:
                description: Field id.
                type: integer
              label:
                description: Field label.
                type: string
              type:
                description: Field type.
                type: string
              labelOverride:
                description: Column heading label override for field in report.
                type: string
        data:
          description: An array of objects that either represents the record data or summarized values, depending on the report type.
          type: array
        metadata:
          description: Additional information about the results that may be helpful. Pagination may be needed if either you specify a smaller number of results to skip than is available, or if the API automatically returns fewer results. numRecords can be compared to totalRecords to determine if further pagination is needed.
          type: object
          required:
          - numFields
          - totalRecords
          - numRecords
          properties:
            skip:
              description: The number of records to skip
              type: integer
            numFields:
              description: The number of fields in each record in the current response object
              type: integer
            top:
              description: If present, the maximum number of records requested by the caller
              type: integer
            totalRecords:
              description: The total number of records in the result set
              type: integer
            numRecords:
              description: The number of records in the current response object
              type: integer
    tableId:
      type: string
      pattern: ^(\w+\/\(\w+\)|\w+)$
      description: The unique identifier (dbid) of the table.
      example: bck7gp3q2
    reportResponse:
      type: object
      properties:
        id:
          type: string
          description: The identifier of the report, unique to the table.
        name:
          type: string
          description: The configured name of the report.
        type:
          type: string
          description: The type of report in Quickbase (e.g., chart).
        description:
          type: string
          description: The configured description of a report.
        ownerId:
          type: integer
          description: Optional, showed only for personal reports. The user ID of report owner.
        query:
          type: object
          properties:
            tableId:
              type: string
              description: The table identifier for the report.
            filter:
              type: string
              description: Filter used to query for data.
            formulaFields:
              type: array
              description: Calculated formula fields.
              items:
                type: object
                properties:
                  id:
                    type: integer
                    description: Formula field identifier.
                  label:
                    type: string
                    description: Formula field label.
                  fieldType:
                    type: string
                    description: Resulting formula value type.
                    enum:
                    - rich-text
                    - text
                    - numeric
                    - currency
                    - percent
                    - rating
                    - date
                    - timestamp
                    - timeofday
                    - duration
                    - checkbox
                    - phone
                    - email
                    - user
                    - multiuser
                    - url
                  formula:
                    type: string
                    description: Formula text.
                  decimalPrecision:
                    type: integer
                    description: For numeric formula the number precision.
          description: The query definition as configured in Quickbase that gets executed when the report is run.
        properties:
          type: object
          properties: {}
          description: A list of properties specific to the report type. To see a detailed description of the properties for each report type, See [Report Types.](../reportTypes)
        usedLast:
          type: string
          description: The instant at which a report was last used.
        usedCount:
          type: integer
          description: The number of times a report has been used.
      example:
        id: '5'
        name: table-report
        type: table
        description: This is Table report.
        query:
          tableId: bpweef42b
          filter: '{6.CT.''FilterByThisValue''}'
          formulaFields:
          - id: -100
            label: NumericField
            fieldType: numeric
            formula: 1+1
            decimalPrecision: 4
          fields:
          - 7
          sortBy:
          - fieldId: 28
            order: ASC
          - fieldId: 3
            order: ASC
          groupBy:
          - fieldId: 3
            grouping: equal-values
        properties:
          displayOnlyNewOrChangedRecords: true
          columnProperties:
          - fieldId: -100
            labelOverride: Numeric Field Label
        usedLast: '2020-09-20T20:23:00.000Z'
        usedCount: 7
x-refined-from:
- qb-openapi-v3.json
- quickbase-openapi.yml