> ## 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.

# What each technician is carrying, against the limit they are set.

> Open, active and overdue counts with the planned minutes still outstanding, and the skills they
hold, because the number alone does not say whether they can take the next job.



## OpenAPI

````yaml /api-reference/openapi.json get /technician_workload
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes (ADR-014). 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: Routing
  - 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: Self verification
  - name: Setup
  - name: Tools on a job, and who has them out
  - name: Vendors and contracts
  - name: Work order execution
  - name: Workforce detail
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /technician_workload:
    get:
      tags:
        - Workforce
      summary: What each technician is carrying, against the limit they are set.
      description: >-
        Open, active and overdue counts with the planned minutes still
        outstanding, and the skills they

        hold, because the number alone does not say whether they can take the
        next job.
      parameters:
        - $ref: '#/components/parameters/rowFilter.technician_workload.worker_id'
        - $ref: '#/components/parameters/rowFilter.technician_workload.worker_number'
        - $ref: '#/components/parameters/rowFilter.technician_workload.name'
        - $ref: '#/components/parameters/rowFilter.technician_workload.worker_type'
        - $ref: >-
            #/components/parameters/rowFilter.technician_workload.primary_site_id
        - $ref: >-
            #/components/parameters/rowFilter.technician_workload.max_concurrent_work_orders
        - $ref: '#/components/parameters/rowFilter.technician_workload.is_active'
        - $ref: >-
            #/components/parameters/rowFilter.technician_workload.open_work_orders
        - $ref: >-
            #/components/parameters/rowFilter.technician_workload.active_work_orders
        - $ref: >-
            #/components/parameters/rowFilter.technician_workload.overdue_work_orders
        - $ref: >-
            #/components/parameters/rowFilter.technician_workload.planned_minutes_outstanding
        - $ref: '#/components/parameters/rowFilter.technician_workload.skills'
        - $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/technician_workload'
                type: array
            application/vnd.pgrst.object+json:
              schema:
                items:
                  $ref: '#/components/schemas/technician_workload'
                type: array
            application/vnd.pgrst.object+json;nulls=stripped:
              schema:
                items:
                  $ref: '#/components/schemas/technician_workload'
                type: array
            text/csv:
              schema:
                items:
                  $ref: '#/components/schemas/technician_workload'
                type: array
          description: OK
        '206':
          description: Partial Content
components:
  parameters:
    rowFilter.technician_workload.worker_id:
      in: query
      name: worker_id
      required: false
      schema:
        type: string
    rowFilter.technician_workload.worker_number:
      in: query
      name: worker_number
      required: false
      schema:
        type: string
    rowFilter.technician_workload.name:
      in: query
      name: name
      required: false
      schema:
        type: string
    rowFilter.technician_workload.worker_type:
      in: query
      name: worker_type
      required: false
      schema:
        type: string
    rowFilter.technician_workload.primary_site_id:
      in: query
      name: primary_site_id
      required: false
      schema:
        type: string
    rowFilter.technician_workload.max_concurrent_work_orders:
      in: query
      name: max_concurrent_work_orders
      required: false
      schema:
        type: string
    rowFilter.technician_workload.is_active:
      in: query
      name: is_active
      required: false
      schema:
        type: string
    rowFilter.technician_workload.open_work_orders:
      in: query
      name: open_work_orders
      required: false
      schema:
        type: string
    rowFilter.technician_workload.active_work_orders:
      in: query
      name: active_work_orders
      required: false
      schema:
        type: string
    rowFilter.technician_workload.overdue_work_orders:
      in: query
      name: overdue_work_orders
      required: false
      schema:
        type: string
    rowFilter.technician_workload.planned_minutes_outstanding:
      in: query
      name: planned_minutes_outstanding
      required: false
      schema:
        type: string
    rowFilter.technician_workload.skills:
      in: query
      name: skills
      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:
    technician_workload:
      description: >-
        What each technician is carrying, against the limit they are set.


        Open, active and overdue counts with the planned minutes still
        outstanding, and the skills they

        hold, because the number alone does not say whether they can take the
        next job.
      properties:
        active_work_orders:
          format: bigint
          type: integer
        is_active:
          format: boolean
          type: boolean
        max_concurrent_work_orders:
          format: smallint
          type: integer
        name:
          format: character varying
          maxLength: 200
          type: string
        open_work_orders:
          format: bigint
          type: integer
        overdue_work_orders:
          format: bigint
          type: integer
        planned_minutes_outstanding:
          format: integer
          type: integer
        primary_site_id:
          description: >-
            Note:

            This is a Foreign Key to `site_settings.id`.<fk
            table='site_settings' column='id'/>
          format: uuid
          type: string
        skills:
          format: jsonb
        worker_id:
          description: |-
            Note:
            This is a Primary Key.<pk/>
          format: uuid
          type: string
        worker_number:
          format: character varying
          maxLength: 60
          type: string
        worker_type:
          format: character varying
          maxLength: 40
          type: string
      type: object

````

## Related topics

- [Sensors and condition alerts](/assets/sensors.md)
- [Technicians](/workforce/technicians.md)
- [The dispatch board](/work/dispatch.md)
- [Sites and organisation](/setup/sites.md)
- [Document settings](/config/documents.md)
