> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conductor.is/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a job report

> Retrieves a QuickBooks Desktop job report for estimates versus actuals, item profitability, or job profitability. This report is useful for project costing, margin analysis, and estimate tracking by customer or job; job profitability detail and estimates-versus-actuals detail report types require a customer or job filter.



## OpenAPI

````yaml GET /quickbooks-desktop/reports/job
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/reports/job:
    get:
      summary: Retrieve a job report
      description: >-
        Retrieves a QuickBooks Desktop job report for estimates versus actuals,
        item profitability, or job profitability. This report is useful for
        project costing, margin analysis, and estimate tracking by customer or
        job; job profitability detail and estimates-versus-actuals detail report
        types require a customer or job filter.
      parameters:
        - in: header
          name: Conductor-End-User-Id
          schema:
            type: string
            description: The ID of the End-User to receive this request.
            example: end_usr_1234567abcdefg
            x-stainless-naming:
              typescript:
                method_argument: conductorEndUserId
              mcp:
                method_argument: conductorEndUserId
          required: true
          description: The ID of the End-User to receive this request.
        - in: query
          name: reportType
          schema:
            type: string
            enum:
              - item_estimates_vs_actuals
              - item_profitability
              - job_estimates_vs_actuals_detail
              - job_estimates_vs_actuals_summary
              - job_profitability_detail
              - job_profitability_summary
            description: The job report type to retrieve.
            example: item_estimates_vs_actuals
          required: true
          description: The job report type to retrieve.
        - in: query
          name: reportDateFrom
          schema:
            description: >-
              Filter report rows dated on or after this date, in ISO 8601 format
              (YYYY-MM-DD). Choose either `reportDateMacro` or
              `reportDateFrom`/`reportDateTo`. If you omit `reportDateFrom`,
              `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses the
              current fiscal year to date.
            example: '2025-01-01'
            type: string
            format: date
          description: >-
            Filter report rows dated on or after this date, in ISO 8601 format
            (YYYY-MM-DD). Choose either `reportDateMacro` or
            `reportDateFrom`/`reportDateTo`. If you omit `reportDateFrom`,
            `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses the
            current fiscal year to date.
        - in: query
          name: reportDateTo
          schema:
            description: >-
              Filter report rows dated on or before this date, in ISO 8601
              format (YYYY-MM-DD). Choose either `reportDateMacro` or
              `reportDateFrom`/`reportDateTo`. If you omit `reportDateFrom`,
              `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses the
              current fiscal year to date.
            example: '2025-02-01'
            type: string
            format: date
          description: >-
            Filter report rows dated on or before this date, in ISO 8601 format
            (YYYY-MM-DD). Choose either `reportDateMacro` or
            `reportDateFrom`/`reportDateTo`. If you omit `reportDateFrom`,
            `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses the
            current fiscal year to date.
        - in: query
          name: reportDateMacro
          schema:
            description: >-
              A QuickBooks Desktop relative date macro for the report period.
              Choose either `reportDateMacro` or
              `reportDateFrom`/`reportDateTo`.
            example: this_year_to_date
            type: string
            enum:
              - all
              - today
              - this_week
              - this_week_to_date
              - this_month
              - this_month_to_date
              - this_quarter
              - this_quarter_to_date
              - this_year
              - this_year_to_date
              - yesterday
              - last_week
              - last_week_to_date
              - last_month
              - last_month_to_date
              - last_quarter
              - last_quarter_to_date
              - last_year
              - last_year_to_date
              - next_week
              - next_four_weeks
              - next_month
              - next_quarter
              - next_year
          description: >-
            A QuickBooks Desktop relative date macro for the report period.
            Choose either `reportDateMacro` or `reportDateFrom`/`reportDateTo`.
        - in: query
          name: accountType
          schema:
            description: >-
              Filter report rows by account type. Choose only one account filter
              per request: `accountType`, `accountIds`, or `accountFullNames`.
            example: bank
            type: string
            enum:
              - accounts_payable
              - accounts_receivable
              - allowed_for_1099
              - ap_and_sales_tax
              - ap_or_credit_card
              - ar_and_ap
              - asset
              - balance_sheet
              - bank
              - bank_and_ar_and_ap_and_uf
              - bank_and_uf
              - cost_of_sales
              - credit_card
              - current_asset
              - current_asset_and_expense
              - current_liability
              - equity
              - equity_and_income_and_expense
              - expense_and_other_expense
              - fixed_asset
              - income_and_expense
              - income_and_other_income
              - liability
              - liability_and_equity
              - long_term_liability
              - non_posting
              - ordinary_expense
              - ordinary_income
              - ordinary_income_and_cogs
              - ordinary_income_and_expense
              - other_asset
              - other_current_asset
              - other_current_liability
              - other_expense
              - other_income
              - other_income_or_expense
          description: >-
            Filter report rows by account type. Choose only one account filter
            per request: `accountType`, `accountIds`, or `accountFullNames`.
        - in: query
          name: accountIds
          schema:
            description: >-
              Filter report rows by QuickBooks-assigned account IDs. Accepts one
              or more account IDs. Choose only one account filter per request:
              `accountType`, `accountIds`, or `accountFullNames`.
            example:
              - 80000001-1234567890
            type: array
            items:
              type: string
          description: >-
            Filter report rows by QuickBooks-assigned account IDs. Accepts one
            or more account IDs. Choose only one account filter per request:
            `accountType`, `accountIds`, or `accountFullNames`.
        - in: query
          name: accountFullNames
          schema:
            description: >-
              Filter report rows by account `fullName` values, case-insensitive.
              A `fullName` is a fully qualified QuickBooks name formed by
              joining parent object names with the object's `name` using colons.
              Accepts one or more account full names. Choose only one account
              filter per request: `accountType`, `accountIds`, or
              `accountFullNames`.
            example:
              - Corporate:Accounts-Payable
            type: array
            items:
              type: string
          description: >-
            Filter report rows by account `fullName` values, case-insensitive. A
            `fullName` is a fully qualified QuickBooks name formed by joining
            parent object names with the object's `name` using colons. Accepts
            one or more account full names. Choose only one account filter per
            request: `accountType`, `accountIds`, or `accountFullNames`.
        - in: query
          name: entityType
          schema:
            description: >-
              Filter report rows by entity type, such as customer, vendor,
              employee, or other name. Choose only one entity filter per
              request: `entityType`, `entityIds`, or `entityFullNames`.
            example: customer
            type: string
            enum:
              - customer
              - employee
              - other_name
              - vendor
          description: >-
            Filter report rows by entity type, such as customer, vendor,
            employee, or other name. Choose only one entity filter per request:
            `entityType`, `entityIds`, or `entityFullNames`.
        - in: query
          name: entityIds
          schema:
            description: >-
              Filter report rows by QuickBooks-assigned entity IDs. Accepts one
              or more entity IDs. Choose only one entity filter per request:
              `entityType`, `entityIds`, or `entityFullNames`.
            example:
              - 80000001-1234567890
            type: array
            items:
              type: string
          description: >-
            Filter report rows by QuickBooks-assigned entity IDs. Accepts one or
            more entity IDs. Choose only one entity filter per request:
            `entityType`, `entityIds`, or `entityFullNames`.
        - in: query
          name: entityFullNames
          schema:
            description: >-
              Filter report rows by entity `fullName` values, case-insensitive.
              A `fullName` is a fully qualified QuickBooks name formed by
              joining parent object names with the object's `name` using colons.
              Accepts one or more entity full names. Choose only one entity
              filter per request: `entityType`, `entityIds`, or
              `entityFullNames`.
            example:
              - ABC Corporation:Website Redesign Project
            type: array
            items:
              type: string
          description: >-
            Filter report rows by entity `fullName` values, case-insensitive. A
            `fullName` is a fully qualified QuickBooks name formed by joining
            parent object names with the object's `name` using colons. Accepts
            one or more entity full names. Choose only one entity filter per
            request: `entityType`, `entityIds`, or `entityFullNames`.
        - in: query
          name: itemType
          schema:
            description: >-
              Filter report rows by item type. Choose only one item filter per
              request: `itemType`, `itemIds`, or `itemFullNames`.
            example: inventory
            type: string
            enum:
              - all_except_fixed_asset
              - assembly
              - discount
              - fixed_asset
              - inventory
              - inventory_and_assembly
              - non_inventory
              - other_charge
              - payment
              - sales
              - sales_tax
              - service
          description: >-
            Filter report rows by item type. Choose only one item filter per
            request: `itemType`, `itemIds`, or `itemFullNames`.
        - in: query
          name: itemIds
          schema:
            description: >-
              Filter report rows by QuickBooks-assigned item IDs. Accepts one or
              more item IDs. Choose only one item filter per request:
              `itemType`, `itemIds`, or `itemFullNames`.
            example:
              - 80000001-1234567890
            type: array
            items:
              type: string
          description: >-
            Filter report rows by QuickBooks-assigned item IDs. Accepts one or
            more item IDs. Choose only one item filter per request: `itemType`,
            `itemIds`, or `itemFullNames`.
        - in: query
          name: itemFullNames
          schema:
            description: >-
              Filter report rows by item `fullName` values, case-insensitive. A
              `fullName` is a fully qualified QuickBooks name formed by joining
              parent object names with the object's `name` using colons. Accepts
              one or more item full names. Choose only one item filter per
              request: `itemType`, `itemIds`, or `itemFullNames`.
            example:
              - Services:Consulting
            type: array
            items:
              type: string
          description: >-
            Filter report rows by item `fullName` values, case-insensitive. A
            `fullName` is a fully qualified QuickBooks name formed by joining
            parent object names with the object's `name` using colons. Accepts
            one or more item full names. Choose only one item filter per
            request: `itemType`, `itemIds`, or `itemFullNames`.
        - in: query
          name: classIds
          schema:
            description: >-
              Filter report rows by QuickBooks-assigned class IDs. Accepts one
              or more class IDs. Choose only one class filter per request:
              `classIds` or `classFullNames`.
            example:
              - 80000001-1234567890
            type: array
            items:
              type: string
          description: >-
            Filter report rows by QuickBooks-assigned class IDs. Accepts one or
            more class IDs. Choose only one class filter per request: `classIds`
            or `classFullNames`.
        - in: query
          name: classFullNames
          schema:
            description: >-
              Filter report rows by class `fullName` values, case-insensitive. A
              `fullName` is a fully qualified QuickBooks name formed by joining
              parent object names with the object's `name` using colons. Accepts
              one or more class full names. Choose only one class filter per
              request: `classIds` or `classFullNames`.
            example:
              - Department:Marketing
            type: array
            items:
              type: string
          description: >-
            Filter report rows by class `fullName` values, case-insensitive. A
            `fullName` is a fully qualified QuickBooks name formed by joining
            parent object names with the object's `name` using colons. Accepts
            one or more class full names. Choose only one class filter per
            request: `classIds` or `classFullNames`.
        - in: query
          name: transactionTypes
          schema:
            description: >-
              Filter report rows by transaction type. Accepts one or more
              transaction types.
            example:
              - invoice
              - sales_receipt
            type: array
            items:
              type: string
              enum:
                - all
                - ar_refund_credit_card
                - bill
                - bill_payment_check
                - bill_payment_credit_card
                - build_assembly
                - charge
                - check
                - credit_card_charge
                - credit_card_credit
                - credit_memo
                - deposit
                - estimate
                - inventory_adjustment
                - invoice
                - item_receipt
                - journal_entry
                - liability_adjustment
                - paycheck
                - payroll_liability_check
                - purchase_order
                - receive_payment
                - sales_order
                - sales_receipt
                - sales_tax_payment_check
                - transfer
                - vendor_credit
                - ytd_adjustment
          description: >-
            Filter report rows by transaction type. Accepts one or more
            transaction types.
        - in: query
          name: detailLevel
          schema:
            description: >-
              The report detail level to include. Use `all` for all rows,
              `all_except_summary` to omit summary rows, or `summary_only` to
              return only summary rows.
            example: all_except_summary
            type: string
            enum:
              - all
              - all_except_summary
              - summary_only
            default: all
          description: >-
            The report detail level to include. Use `all` for all rows,
            `all_except_summary` to omit summary rows, or `summary_only` to
            return only summary rows.
        - in: query
          name: postingStatus
          schema:
            description: >-
              Filter report rows that are posting, non-posting, or either.
              Posting status refers to whether QuickBooks records the
              transaction in an account register.
            example: posting
            type: string
            enum:
              - either
              - non_posting
              - posting
          description: >-
            Filter report rows that are posting, non-posting, or either. Posting
            status refers to whether QuickBooks records the transaction in an
            account register.
        - in: query
          name: updatedAfter
          schema:
            description: >-
              Filter report rows updated on or after this date, in ISO 8601
              format (YYYY-MM-DD). Choose either `updatedDateMacro` or
              `updatedAfter`/`updatedBefore`.
            example: '2025-01-01'
            type: string
            format: date
          description: >-
            Filter report rows updated on or after this date, in ISO 8601 format
            (YYYY-MM-DD). Choose either `updatedDateMacro` or
            `updatedAfter`/`updatedBefore`.
        - in: query
          name: updatedBefore
          schema:
            description: >-
              Filter report rows updated on or before this date, in ISO 8601
              format (YYYY-MM-DD). Choose either `updatedDateMacro` or
              `updatedAfter`/`updatedBefore`.
            example: '2025-02-01'
            type: string
            format: date
          description: >-
            Filter report rows updated on or before this date, in ISO 8601
            format (YYYY-MM-DD). Choose either `updatedDateMacro` or
            `updatedAfter`/`updatedBefore`.
        - in: query
          name: updatedDateMacro
          schema:
            description: >-
              A QuickBooks Desktop relative updated-date macro. Choose either
              `updatedDateMacro` or `updatedAfter`/`updatedBefore`.
            example: this_month_to_date
            type: string
            enum:
              - all
              - today
              - this_week
              - this_week_to_date
              - this_month
              - this_month_to_date
              - this_quarter
              - this_quarter_to_date
              - this_year
              - this_year_to_date
              - yesterday
              - last_week
              - last_week_to_date
              - last_month
              - last_month_to_date
              - last_quarter
              - last_quarter_to_date
              - last_year
              - last_year_to_date
              - next_week
              - next_four_weeks
              - next_month
              - next_quarter
              - next_year
          description: >-
            A QuickBooks Desktop relative updated-date macro. Choose either
            `updatedDateMacro` or `updatedAfter`/`updatedBefore`.
        - in: query
          name: summarizeColumnsBy
          schema:
            description: >-
              How QuickBooks Desktop calculates report data and labels report
              column headers.
            example: month
            type: string
            enum:
              - account
              - balance_sheet
              - class
              - customer
              - customer_type
              - day
              - employee
              - four_week
              - half_month
              - income_statement
              - item_detail
              - item_type
              - month
              - payee
              - payment_method
              - payroll_item_detail
              - payroll_ytd_detail
              - quarter
              - sales_representative
              - sales_tax_code
              - shipping_method
              - terms
              - total_only
              - two_week
              - vendor
              - vendor_type
              - week
              - year
          description: >-
            How QuickBooks Desktop calculates report data and labels report
            column headers.
        - in: query
          name: includeSubcolumns
          schema:
            description: >-
              Whether to include subcolumns in the report.


              **NOTE**: QuickBooks Desktop may still omit subcolumns that it can
              easily compute from other returned values.
            example: true
            type: boolean
          description: >-
            Whether to include subcolumns in the report.


            **NOTE**: QuickBooks Desktop may still omit subcolumns that it can
            easily compute from other returned values.
      responses:
        '200':
          description: Returns the requested job report.
          headers:
            Conductor-Request-Id:
              required: true
              description: The unique identifier for this API request.
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qbd_report'
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Conductor from 'conductor-node';

            const conductor = new Conductor({
              apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
            });

            const report = await conductor.qbd.reports.job({
              reportType: 'item_estimates_vs_actuals',
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(report.basis);
        - lang: Python
          source: |-
            import os
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            report = conductor.qbd.reports.job(
                report_type="item_estimates_vs_actuals",
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(report.basis)
components:
  schemas:
    qbd_report:
      type: object
      properties:
        objectType:
          type: string
          const: qbd_report
          description: The type of object. This value is always `"qbd_report"`.
          example: qbd_report
        category:
          type: string
          enum:
            - general_summary
            - general_detail
            - aging
            - budget_summary
            - job
            - time
            - custom_detail
            - custom_summary
            - payroll_detail
            - payroll_summary
          description: The report category.
          example: general_summary
        reportType:
          type: string
          enum:
            - balance_sheet_by_class
            - balance_sheet_previous_year_comparison
            - balance_sheet_standard
            - balance_sheet_summary
            - customer_balance_summary
            - expense_by_vendor_summary
            - income_by_customer_summary
            - inventory_stock_status_by_item
            - inventory_stock_status_by_vendor
            - income_tax_summary
            - inventory_valuation_summary
            - inventory_valuation_summary_by_site
            - lot_number_in_stock_by_site
            - physical_inventory_worksheet
            - profit_and_loss_by_class
            - profit_and_loss_by_job
            - profit_and_loss_previous_year_comparison
            - profit_and_loss_standard
            - profit_and_loss_ytd_comparison
            - purchase_by_item_summary
            - purchase_by_vendor_summary
            - sales_by_customer_summary
            - sales_by_item_summary
            - sales_by_sales_representative_summary
            - sales_tax_liability
            - sales_tax_revenue_summary
            - serial_number_in_stock_by_site
            - trial_balance
            - vendor_balance_summary
            - 1099_detail
            - audit_trail
            - balance_sheet_detail
            - check_detail
            - customer_balance_detail
            - deposit_detail
            - estimates_by_job
            - expense_by_vendor_detail
            - general_ledger
            - income_by_customer_detail
            - income_tax_detail
            - inventory_valuation_detail
            - job_progress_invoices_vs_estimates
            - journal
            - missing_checks
            - open_invoices
            - open_purchase_orders
            - open_purchase_orders_by_job
            - open_sales_order_by_customer
            - open_sales_order_by_item
            - pending_sales
            - profit_and_loss_detail
            - purchase_by_item_detail
            - purchase_by_vendor_detail
            - sales_by_customer_detail
            - sales_by_item_detail
            - sales_by_sales_representative_detail
            - transaction_detail_by_account
            - transaction_list_by_customer
            - transaction_list_by_date
            - transaction_list_by_vendor
            - unpaid_bills_detail
            - unbilled_costs_by_job
            - vendor_balance_detail
            - ap_aging_detail
            - ap_aging_summary
            - ar_aging_detail
            - ar_aging_summary
            - collections_report
            - balance_sheet_budget_overview
            - balance_sheet_budget_vs_actual
            - profit_and_loss_budget_overview
            - profit_and_loss_budget_performance
            - profit_and_loss_budget_vs_actual
            - item_estimates_vs_actuals
            - item_profitability
            - job_estimates_vs_actuals_detail
            - job_estimates_vs_actuals_summary
            - job_profitability_detail
            - job_profitability_summary
            - time_by_item
            - time_by_job_detail
            - time_by_job_summary
            - time_by_name
            - custom_transaction_detail
            - custom_summary
            - employee_state_taxes_detail
            - payroll_item_detail
            - payroll_review_detail
            - payroll_transaction_detail
            - payroll_transactions_by_payee
            - employee_earnings_summary
            - payroll_liability_balances
            - payroll_summary
          description: The report type.
          example: trial_balance
        title:
          anyOf:
            - type: string
            - type: 'null'
          description: The report title.
          example: Trial Balance
        subtitle:
          anyOf:
            - type: string
            - type: 'null'
          description: The report subtitle.
          example: As of February 1, 2025
        basis:
          anyOf:
            - type: string
              enum:
                - accrual
                - cash
                - none
            - type: 'null'
          description: The accounting basis.
          example: accrual
        rowCount:
          anyOf:
            - type: number
            - type: 'null'
          description: The number of rows in the report.
          example: 7
        columnCount:
          anyOf:
            - type: number
            - type: 'null'
          description: The number of columns in the report.
          example: 3
        columnTitleRowCount:
          anyOf:
            - type: number
            - type: 'null'
          description: The number of title rows for the report columns.
          example: 2
        columns:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The report column identifier. QuickBooks Desktop numbers
                  columns from left to right, starting at 1. Use this value to
                  match row cells to columns.
              columnType:
                type: string
                description: >-
                  The report column type, describing the business meaning of the
                  column, such as `date`, `amount`, or `transaction_type`.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The raw value data type for this column, such as `string`,
                  `amount`, or `date`. This is `null` if QuickBooks Desktop does
                  not provide a data type.
              titles:
                type: array
                items:
                  type: object
                  properties:
                    rowNumber:
                      type: number
                      description: >-
                        The one-based title row number. Reports can have
                        multiple title rows.
                    value:
                      anyOf:
                        - type: string
                        - type: 'null'
                      description: >-
                        The title text for this column title row. This is `null`
                        if QuickBooks Desktop does not provide one.
                  required:
                    - rowNumber
                    - value
                  additionalProperties: false
                description: The column title cells. Reports can use multiple title rows.
            required:
              - columnId
              - columnType
              - dataType
              - titles
            additionalProperties: false
          description: >-
            The report columns, in display order. Use each column's `columnId`
            to match row cells to columns.
        rows:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/qbd_report_text_row'
              - $ref: '#/components/schemas/qbd_report_data_row'
              - $ref: '#/components/schemas/qbd_report_subtotal_row'
              - $ref: '#/components/schemas/qbd_report_total_row'
            type: object
            discriminator:
              propertyName: kind
              mapping:
                text:
                  $ref: '#/components/schemas/qbd_report_text_row'
                data:
                  $ref: '#/components/schemas/qbd_report_data_row'
                subtotal:
                  $ref: '#/components/schemas/qbd_report_subtotal_row'
                total:
                  $ref: '#/components/schemas/qbd_report_total_row'
          description: >-
            The report rows, in display order. Rows can be text rows, detail
            data rows, subtotal rows, or total rows.
      required:
        - objectType
        - category
        - reportType
        - title
        - subtitle
        - basis
        - rowCount
        - columnCount
        - columnTitleRowCount
        - columns
        - rows
      additionalProperties: false
      title: The Report object
      x-conductor-object-type: other
      x-conductor-sidebar-group-name: Reports
      summary: >-
        A QuickBooks Desktop report result, including report metadata, column
        definitions, and ordered rows.
    qbd_report_text_row:
      type: object
      properties:
        kind:
          type: string
          const: text
          description: The row kind. This value is always `"text"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        text:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The text row value. Text rows are mainly used for headings. This is
            `null` if QuickBooks Desktop does not provide one.
      required:
        - kind
        - rowNumber
        - text
      additionalProperties: false
      title: Text row
    qbd_report_data_row:
      type: object
      properties:
        kind:
          type: string
          const: data
          description: The row kind. This value is always `"data"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        rowDescriptor:
          anyOf:
            - type: object
              properties:
                type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of row-level descriptor, such as `account`,
                    `customer`, or `vendor`. This is `null` if QuickBooks
                    Desktop does not provide one.
                value:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The row-level descriptor value. This can differ from the
                    first cell value and is `null` if QuickBooks Desktop does
                    not provide one.
              required:
                - type
                - value
              additionalProperties: false
            - type: 'null'
          description: >-
            The row-level descriptor provided by QuickBooks Desktop. This is
            separate from the row's table values in `cells` and is `null` when
            QuickBooks Desktop does not provide one.
        cells:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The column identifier for this cell. This matches a column's
                  `columnId` and refers to the column's left-to-right position
                  in the report.
              value:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The cell value as a QuickBooks Desktop-formatted string. This
                  is `null` if QuickBooks Desktop does not provide a value for
                  the cell.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The value data type for this cell. If QuickBooks Desktop omits
                  the cell data type, this uses the matching column's `dataType`
                  when available.
            required:
              - columnId
              - value
              - dataType
            additionalProperties: false
          description: >-
            The cells in this report row. Report rows are sparse, so cells
            appear only for columns where QuickBooks Desktop returned a value.
      required:
        - kind
        - rowNumber
        - rowDescriptor
        - cells
      additionalProperties: false
      title: Data row
    qbd_report_subtotal_row:
      type: object
      properties:
        kind:
          type: string
          const: subtotal
          description: The row kind. This value is always `"subtotal"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        rowDescriptor:
          anyOf:
            - type: object
              properties:
                type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of row-level descriptor, such as `account`,
                    `customer`, or `vendor`. This is `null` if QuickBooks
                    Desktop does not provide one.
                value:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The row-level descriptor value. This can differ from the
                    first cell value and is `null` if QuickBooks Desktop does
                    not provide one.
              required:
                - type
                - value
              additionalProperties: false
            - type: 'null'
          description: >-
            The row-level descriptor provided by QuickBooks Desktop. This is
            separate from the row's table values in `cells` and is `null` when
            QuickBooks Desktop does not provide one.
        cells:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The column identifier for this cell. This matches a column's
                  `columnId` and refers to the column's left-to-right position
                  in the report.
              value:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The cell value as a QuickBooks Desktop-formatted string. This
                  is `null` if QuickBooks Desktop does not provide a value for
                  the cell.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The value data type for this cell. If QuickBooks Desktop omits
                  the cell data type, this uses the matching column's `dataType`
                  when available.
            required:
              - columnId
              - value
              - dataType
            additionalProperties: false
          description: >-
            The cells in this report row. Report rows are sparse, so cells
            appear only for columns where QuickBooks Desktop returned a value.
      required:
        - kind
        - rowNumber
        - rowDescriptor
        - cells
      additionalProperties: false
      title: Subtotal row
    qbd_report_total_row:
      type: object
      properties:
        kind:
          type: string
          const: total
          description: The row kind. This value is always `"total"`.
        rowNumber:
          type: number
          description: The one-based row number from the report.
        rowDescriptor:
          anyOf:
            - type: object
              properties:
                type:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The kind of row-level descriptor, such as `account`,
                    `customer`, or `vendor`. This is `null` if QuickBooks
                    Desktop does not provide one.
                value:
                  anyOf:
                    - type: string
                    - type: 'null'
                  description: >-
                    The row-level descriptor value. This can differ from the
                    first cell value and is `null` if QuickBooks Desktop does
                    not provide one.
              required:
                - type
                - value
              additionalProperties: false
            - type: 'null'
          description: >-
            The row-level descriptor provided by QuickBooks Desktop. This is
            separate from the row's table values in `cells` and is `null` when
            QuickBooks Desktop does not provide one.
        cells:
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                description: >-
                  The column identifier for this cell. This matches a column's
                  `columnId` and refers to the column's left-to-right position
                  in the report.
              value:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The cell value as a QuickBooks Desktop-formatted string. This
                  is `null` if QuickBooks Desktop does not provide a value for
                  the cell.
              dataType:
                anyOf:
                  - type: string
                  - type: 'null'
                description: >-
                  The value data type for this cell. If QuickBooks Desktop omits
                  the cell data type, this uses the matching column's `dataType`
                  when available.
            required:
              - columnId
              - value
              - dataType
            additionalProperties: false
          description: >-
            The cells in this report row. Report rows are sparse, so cells
            appear only for columns where QuickBooks Desktop returned a value.
      required:
        - kind
        - rowNumber
        - rowDescriptor
        - cells
      additionalProperties: false
      title: Total row
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````