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

# Tools with every field of the records each row points at: manufacturer, owner, site, tool room.

> Choose this source when one report needs columns from more than one register. Every list, export and dashboard reads the base view instead, which costs none of these joins — and the planner does not remove them when the columns go unnamed, so the two are separate sources on purpose.



## OpenAPI

````yaml /api-reference/openapi.json get /tools_expanded
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: Assets
  - name: Asset lifecycle
  - name: Work lifecycle
  - name: Maintenance
  - name: Inventory
  - name: Inventory detail
  - name: Procurement
  - name: Contracts
  - name: Workforce
  - name: Capacity
  - name: Dispatch
  - name: Tools
  - name: Inspections
  - name: Verification
  - name: Reliability
  - name: Parts demand
  - name: Sensors and meters
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Root cause analysis
  - name: Reports
  - name: Audit center
  - name: Activity
  - name: Notifications
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Files
  - name: Sync
  - name: Support
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Platform
  - name: Amendments
  - name: Asset clone
  - name: Asset components
  - name: Asset register
  - name: Asset transfer
  - name: Audit feed
  - name: Billing
  - name: Bookings
  - name: Budgets
  - name: Bulk jobs
  - name: Calibration history
  - name: Capex plans
  - name: Conversations
  - name: Costing
  - name: Currency
  - name: Dashboards
  - name: Directory sync
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Documents
  - name: Energy
  - name: Extracts
  - name: Features
  - name: Feeds
  - name: File exchange
  - name: Filing exceptions
  - name: Finance
  - name: Inbound mail
  - name: Keys
  - name: Knowledge
  - name: Licence
  - name: List views
  - name: Locations
  - name: Mapping
  - name: Mcp
  - name: Mcp oauth
  - name: Mfa
  - name: Numbering
  - name: Permits
  - name: Readers
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: Release
  - name: Scim
  - name: Security streams
  - name: Self verification
  - name: Setup
  - name: Shutdown
  - name: Sso
  - name: Telegram
  - name: Tenant switch
  - name: The caller's own work
  - name: The checklist library
  - name: Tools on a job, and who has them out
  - name: Tray
  - name: Vendor spend forecast
  - name: Vendors and contracts
  - name: Visitors
  - name: Work order execution
  - name: Work sequencing
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /tools_expanded:
    get:
      tags:
        - tools_expanded
      summary: >-
        Tools with every field of the records each row points at: manufacturer,
        owner, site, tool room.
      description: >-
        Choose this source when one report needs columns from more than one
        register. Every list, export and dashboard reads the base view instead,
        which costs none of these joins — and the planner does not remove them
        when the columns go unnamed, so the two are separate sources on purpose.
      parameters:
        - $ref: '#/components/parameters/rowFilter.tools_expanded.id'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.tool_number'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.tool_type'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.tool_type_name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.tool_category'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.status'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.status_label'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.is_available_for_booking
        - $ref: '#/components/parameters/rowFilter.tools_expanded.condition'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.condition_blocks_use
        - $ref: '#/components/parameters/rowFilter.tools_expanded.serial_number'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site_id'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site_code'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.tool_room_location_id
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner_worker_id'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.quantity'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.requires_calibration
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.calibration_interval_months
        - $ref: '#/components/parameters/rowFilter.tools_expanded.last_calibrated_on'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.next_calibration_on'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.calibration_state'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.held_by'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.primary_image_file_id
        - $ref: '#/components/parameters/rowFilter.tools_expanded.custom_fields'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.is_active'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.row_version'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.created_at'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.created_by_id'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.created_by_name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.created_source'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.updated_at'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.updated_by_id'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.updated_by_name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__site_code'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__parent_name
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__location_type
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__level_hint
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__code'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__path'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__depth'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__latitude'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__longitude'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__is_active'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__allows_direct_filing
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__takes_filing
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__primary_location_head_name
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__alternate_location_heads
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__children'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.location__assets'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.location__assets_in_branch
        - $ref: '#/components/parameters/rowFilter.tools_expanded.manufacturer__code'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.manufacturer__name'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.manufacturer__website
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.manufacturer__support_email
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.manufacturer__support_phone
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.manufacturer__is_active
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.manufacturer__models
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.manufacturer__assets
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__worker_number
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__worker_type'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__max_concurrent_work_orders
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__is_active'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__open_work_orders
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__active_work_orders
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__overdue_work_orders
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__planned_minutes_outstanding
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__skills'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__email'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__phone'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__user_email'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__user_status'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__employment_status
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__employment_start_date
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__can_travel'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__travel_radius_km
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__track_location
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__site_code'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__site_name'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__department_name
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__team_name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__is_team_lead'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__availability'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__valid_certifications
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__certifications_expiring
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__certifications_lapsed
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__next_certification_expiry
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__performance_period_start
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__performance_period_end
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__utilisation_rate
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__first_time_fix_rate
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__sla_compliance_rate
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__completed_in_period
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__custom_fields
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__created_at'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__created_by_name
        - $ref: '#/components/parameters/rowFilter.tools_expanded.owner__updated_at'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.owner__updated_by_name
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site__code'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site__name'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site__timezone'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site__is_active'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site__company_name'
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.site__business_unit_name
        - $ref: >-
            #/components/parameters/rowFilter.tools_expanded.site__business_unit_parent_name
        - $ref: '#/components/parameters/rowFilter.tools_expanded.site__asset_count'
        - $ref: '#/components/parameters/rowFilter.tools_expanded.reference_records'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/range'
        - $ref: '#/components/parameters/rangeUnit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/preferCount'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/tools_expanded'
                type: array
            application/vnd.pgrst.object+json:
              schema:
                items:
                  $ref: '#/components/schemas/tools_expanded'
                type: array
            application/vnd.pgrst.object+json;nulls=stripped:
              schema:
                items:
                  $ref: '#/components/schemas/tools_expanded'
                type: array
            text/csv:
              schema:
                items:
                  $ref: '#/components/schemas/tools_expanded'
                type: array
          description: OK
        '206':
          description: Partial Content
components:
  parameters:
    rowFilter.tools_expanded.id:
      in: query
      name: id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.tool_number:
      in: query
      name: tool_number
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.name:
      in: query
      name: name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.tool_type:
      in: query
      name: tool_type
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.tool_type_name:
      in: query
      name: tool_type_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.tool_category:
      in: query
      name: tool_category
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.status:
      in: query
      name: status
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.status_label:
      in: query
      name: status_label
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.is_available_for_booking:
      in: query
      name: is_available_for_booking
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.condition:
      in: query
      name: condition
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.condition_blocks_use:
      in: query
      name: condition_blocks_use
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.serial_number:
      in: query
      name: serial_number
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site_id:
      in: query
      name: site_id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site_code:
      in: query
      name: site_code
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.tool_room_location_id:
      in: query
      name: tool_room_location_id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner_worker_id:
      in: query
      name: owner_worker_id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.quantity:
      in: query
      name: quantity
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.requires_calibration:
      in: query
      name: requires_calibration
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.calibration_interval_months:
      in: query
      name: calibration_interval_months
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.last_calibrated_on:
      in: query
      name: last_calibrated_on
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.next_calibration_on:
      in: query
      name: next_calibration_on
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.calibration_state:
      in: query
      name: calibration_state
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.held_by:
      in: query
      name: held_by
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.primary_image_file_id:
      in: query
      name: primary_image_file_id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.custom_fields:
      in: query
      name: custom_fields
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.is_active:
      in: query
      name: is_active
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.row_version:
      in: query
      name: row_version
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.created_at:
      in: query
      name: created_at
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.created_by_id:
      in: query
      name: created_by_id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.created_by_name:
      in: query
      name: created_by_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.created_source:
      in: query
      name: created_source
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.updated_at:
      in: query
      name: updated_at
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.updated_by_id:
      in: query
      name: updated_by_id
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.updated_by_name:
      in: query
      name: updated_by_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__site_code:
      in: query
      name: location__site_code
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__parent_name:
      in: query
      name: location__parent_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__location_type:
      in: query
      name: location__location_type
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__level_hint:
      in: query
      name: location__level_hint
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__code:
      in: query
      name: location__code
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__name:
      in: query
      name: location__name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__path:
      in: query
      name: location__path
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__depth:
      in: query
      name: location__depth
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__latitude:
      in: query
      name: location__latitude
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__longitude:
      in: query
      name: location__longitude
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__is_active:
      in: query
      name: location__is_active
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__allows_direct_filing:
      in: query
      name: location__allows_direct_filing
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__takes_filing:
      in: query
      name: location__takes_filing
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__primary_location_head_name:
      in: query
      name: location__primary_location_head_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__alternate_location_heads:
      in: query
      name: location__alternate_location_heads
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__children:
      in: query
      name: location__children
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__assets:
      in: query
      name: location__assets
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.location__assets_in_branch:
      in: query
      name: location__assets_in_branch
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__code:
      in: query
      name: manufacturer__code
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__name:
      in: query
      name: manufacturer__name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__website:
      in: query
      name: manufacturer__website
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__support_email:
      in: query
      name: manufacturer__support_email
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__support_phone:
      in: query
      name: manufacturer__support_phone
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__is_active:
      in: query
      name: manufacturer__is_active
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__models:
      in: query
      name: manufacturer__models
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.manufacturer__assets:
      in: query
      name: manufacturer__assets
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__worker_number:
      in: query
      name: owner__worker_number
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__name:
      in: query
      name: owner__name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__worker_type:
      in: query
      name: owner__worker_type
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__max_concurrent_work_orders:
      in: query
      name: owner__max_concurrent_work_orders
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__is_active:
      in: query
      name: owner__is_active
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__open_work_orders:
      in: query
      name: owner__open_work_orders
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__active_work_orders:
      in: query
      name: owner__active_work_orders
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__overdue_work_orders:
      in: query
      name: owner__overdue_work_orders
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__planned_minutes_outstanding:
      in: query
      name: owner__planned_minutes_outstanding
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__skills:
      in: query
      name: owner__skills
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__email:
      in: query
      name: owner__email
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__phone:
      in: query
      name: owner__phone
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__user_email:
      in: query
      name: owner__user_email
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__user_status:
      in: query
      name: owner__user_status
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__employment_status:
      in: query
      name: owner__employment_status
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__employment_start_date:
      in: query
      name: owner__employment_start_date
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__can_travel:
      in: query
      name: owner__can_travel
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__travel_radius_km:
      in: query
      name: owner__travel_radius_km
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__track_location:
      in: query
      name: owner__track_location
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__site_code:
      in: query
      name: owner__site_code
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__site_name:
      in: query
      name: owner__site_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__department_name:
      in: query
      name: owner__department_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__team_name:
      in: query
      name: owner__team_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__is_team_lead:
      in: query
      name: owner__is_team_lead
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__availability:
      in: query
      name: owner__availability
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__valid_certifications:
      in: query
      name: owner__valid_certifications
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__certifications_expiring:
      in: query
      name: owner__certifications_expiring
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__certifications_lapsed:
      in: query
      name: owner__certifications_lapsed
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__next_certification_expiry:
      in: query
      name: owner__next_certification_expiry
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__performance_period_start:
      in: query
      name: owner__performance_period_start
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__performance_period_end:
      in: query
      name: owner__performance_period_end
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__utilisation_rate:
      in: query
      name: owner__utilisation_rate
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__first_time_fix_rate:
      in: query
      name: owner__first_time_fix_rate
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__sla_compliance_rate:
      in: query
      name: owner__sla_compliance_rate
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__completed_in_period:
      in: query
      name: owner__completed_in_period
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__custom_fields:
      in: query
      name: owner__custom_fields
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__created_at:
      in: query
      name: owner__created_at
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__created_by_name:
      in: query
      name: owner__created_by_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__updated_at:
      in: query
      name: owner__updated_at
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.owner__updated_by_name:
      in: query
      name: owner__updated_by_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__code:
      in: query
      name: site__code
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__name:
      in: query
      name: site__name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__timezone:
      in: query
      name: site__timezone
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__is_active:
      in: query
      name: site__is_active
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__company_name:
      in: query
      name: site__company_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__business_unit_name:
      in: query
      name: site__business_unit_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__business_unit_parent_name:
      in: query
      name: site__business_unit_parent_name
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.site__asset_count:
      in: query
      name: site__asset_count
      required: false
      schema:
        type: string
    rowFilter.tools_expanded.reference_records:
      in: query
      name: reference_records
      required: false
      schema:
        type: string
    select:
      description: Filtering Columns
      in: query
      name: select
      required: false
      schema:
        type: string
    order:
      description: Ordering
      in: query
      name: order
      required: false
      schema:
        type: string
    range:
      description: Limiting and Pagination
      in: header
      name: Range
      required: false
      schema:
        type: string
    rangeUnit:
      description: Limiting and Pagination
      in: header
      name: Range-Unit
      required: false
      schema:
        default: items
        type: string
    offset:
      description: Limiting and Pagination
      in: query
      name: offset
      required: false
      schema:
        type: string
    limit:
      description: Limiting and Pagination
      in: query
      name: limit
      required: false
      schema:
        type: string
    preferCount:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - count=none
        type: string
  schemas:
    tools_expanded:
      description: >-
        Tools with every field of the records each row points at: manufacturer,
        owner, site, tool room.


        Choose this source when one report needs columns from more than one
        register. Every list, export and dashboard reads the base view instead,
        which costs none of these joins — and the planner does not remove them
        when the columns go unnamed, so the two are separate sources on purpose.
      properties:
        calibration_interval_months:
          format: integer
          type: integer
        calibration_state:
          format: text
          type: string
        condition:
          format: character varying
          maxLength: 40
          type: string
        condition_blocks_use:
          format: boolean
          type: boolean
        created_at:
          format: timestamp with time zone
          type: string
        created_by_id:
          description: >-
            Note:

            This is a Foreign Key to `capex_invite_candidates.id`.<fk
            table='capex_invite_candidates' column='id'/>
          format: uuid
          type: string
        created_by_name:
          format: character varying
          maxLength: 200
          type: string
        created_source:
          format: text
          type: string
        custom_fields:
          format: jsonb
        held_by:
          format: jsonb
        id:
          description: |-
            Note:
            This is a Primary Key.<pk/>
          format: uuid
          type: string
        is_active:
          format: boolean
          type: boolean
        is_available_for_booking:
          format: boolean
          type: boolean
        last_calibrated_on:
          format: date
          type: string
        location__allows_direct_filing:
          format: boolean
          type: boolean
        location__alternate_location_heads:
          format: jsonb
        location__assets:
          format: bigint
          type: integer
        location__assets_in_branch:
          format: bigint
          type: integer
        location__children:
          format: bigint
          type: integer
        location__code:
          format: character varying
          maxLength: 80
          type: string
        location__depth:
          format: smallint
          type: integer
        location__is_active:
          format: boolean
          type: boolean
        location__latitude:
          format: numeric
          type: number
        location__level_hint:
          format: smallint
          type: integer
        location__location_type:
          format: character varying
          maxLength: 150
          type: string
        location__longitude:
          format: numeric
          type: number
        location__name:
          format: character varying
          maxLength: 200
          type: string
        location__parent_name:
          format: character varying
          maxLength: 200
          type: string
        location__path:
          format: text
          type: string
        location__primary_location_head_name:
          format: character varying
          maxLength: 200
          type: string
        location__site_code:
          format: character varying
          maxLength: 50
          type: string
        location__takes_filing:
          format: boolean
          type: boolean
        manufacturer__assets:
          format: bigint
          type: integer
        manufacturer__code:
          format: character varying
          maxLength: 60
          type: string
        manufacturer__is_active:
          format: boolean
          type: boolean
        manufacturer__models:
          format: bigint
          type: integer
        manufacturer__name:
          format: character varying
          maxLength: 200
          type: string
        manufacturer__support_email:
          format: public.citext
          type: string
        manufacturer__support_phone:
          format: character varying
          maxLength: 40
          type: string
        manufacturer__website:
          format: character varying
          maxLength: 250
          type: string
        name:
          format: character varying
          maxLength: 200
          type: string
        next_calibration_on:
          format: date
          type: string
        owner__active_work_orders:
          format: bigint
          type: integer
        owner__availability:
          format: text
          type: string
        owner__can_travel:
          format: boolean
          type: boolean
        owner__certifications_expiring:
          format: bigint
          type: integer
        owner__certifications_lapsed:
          format: bigint
          type: integer
        owner__completed_in_period:
          format: integer
          type: integer
        owner__created_at:
          format: timestamp with time zone
          type: string
        owner__created_by_name:
          format: character varying
          maxLength: 200
          type: string
        owner__custom_fields:
          format: jsonb
        owner__department_name:
          format: character varying
          maxLength: 200
          type: string
        owner__email:
          format: public.citext
          type: string
        owner__employment_start_date:
          format: date
          type: string
        owner__employment_status:
          format: character varying
          maxLength: 30
          type: string
        owner__first_time_fix_rate:
          format: numeric
          type: number
        owner__is_active:
          format: boolean
          type: boolean
        owner__is_team_lead:
          format: boolean
          type: boolean
        owner__max_concurrent_work_orders:
          format: smallint
          type: integer
        owner__name:
          format: character varying
          maxLength: 200
          type: string
        owner__next_certification_expiry:
          format: date
          type: string
        owner__open_work_orders:
          format: bigint
          type: integer
        owner__overdue_work_orders:
          format: bigint
          type: integer
        owner__performance_period_end:
          format: date
          type: string
        owner__performance_period_start:
          format: date
          type: string
        owner__phone:
          format: character varying
          maxLength: 40
          type: string
        owner__planned_minutes_outstanding:
          format: integer
          type: integer
        owner__site_code:
          format: character varying
          maxLength: 50
          type: string
        owner__site_name:
          format: character varying
          maxLength: 200
          type: string
        owner__skills:
          format: jsonb
        owner__sla_compliance_rate:
          format: numeric
          type: number
        owner__team_name:
          format: character varying
          maxLength: 200
          type: string
        owner__track_location:
          format: boolean
          type: boolean
        owner__travel_radius_km:
          format: integer
          type: integer
        owner__updated_at:
          format: timestamp with time zone
          type: string
        owner__updated_by_name:
          format: character varying
          maxLength: 200
          type: string
        owner__user_email:
          format: text
          type: string
        owner__user_status:
          format: character varying
          maxLength: 30
          type: string
        owner__utilisation_rate:
          format: numeric
          type: number
        owner__valid_certifications:
          format: bigint
          type: integer
        owner__worker_number:
          format: character varying
          maxLength: 60
          type: string
        owner__worker_type:
          format: character varying
          maxLength: 40
          type: string
        owner_worker_id:
          description: >-
            Note:

            This is a Foreign Key to `assignable_workers.id`.<fk
            table='assignable_workers' column='id'/>
          format: uuid
          type: string
        primary_image_file_id:
          format: uuid
          type: string
        quantity:
          format: numeric
          type: number
        reference_records:
          format: jsonb
        requires_calibration:
          format: boolean
          type: boolean
        row_version:
          format: bigint
          type: integer
        serial_number:
          format: character varying
          maxLength: 120
          type: string
        site__asset_count:
          format: bigint
          type: integer
        site__business_unit_name:
          format: character varying
          maxLength: 200
          type: string
        site__business_unit_parent_name:
          format: character varying
          maxLength: 200
          type: string
        site__code:
          format: character varying
          maxLength: 50
          type: string
        site__company_name:
          format: character varying
          maxLength: 200
          type: string
        site__is_active:
          format: boolean
          type: boolean
        site__name:
          format: character varying
          maxLength: 200
          type: string
        site__timezone:
          format: character varying
          maxLength: 100
          type: string
        site_code:
          format: character varying
          maxLength: 50
          type: string
        site_id:
          description: >-
            Note:

            This is a Foreign Key to `entry_currencies.for_site_id`.<fk
            table='entry_currencies' column='for_site_id'/>
          format: uuid
          type: string
        status:
          format: character varying
          maxLength: 40
          type: string
        status_label:
          format: character varying
          maxLength: 150
          type: string
        tool_category:
          format: character varying
          maxLength: 60
          type: string
        tool_number:
          format: character varying
          maxLength: 60
          type: string
        tool_room_location_id:
          description: >-
            Note:

            This is a Foreign Key to `location_settings.id`.<fk
            table='location_settings' column='id'/>
          format: uuid
          type: string
        tool_type:
          format: character varying
          maxLength: 60
          type: string
        tool_type_name:
          format: character varying
          maxLength: 200
          type: string
        updated_at:
          format: timestamp with time zone
          type: string
        updated_by_id:
          description: >-
            Note:

            This is a Foreign Key to `capex_invite_candidates.id`.<fk
            table='capex_invite_candidates' column='id'/>
          format: uuid
          type: string
        updated_by_name:
          format: character varying
          maxLength: 200
          type: string
      type: object

````