# Resources

> The catalog of resources exposed through the REST API and MCP tools, grouped by module.

Source: https://app.assetlab.ca/docs/reference/resources

Every resource below is available through the [REST API](/docs/reference/rest-api) (as endpoints) and through [MCP](/docs/ai/tools-and-scopes) (as `list_` / `get_` / `create_` / `update_` / `delete_` tools). Access is gated by the [scope family](/docs/reference/scopes) shown - `family:read` for reads, `family:write` for writes.

## Registry

| Resource | Scope family | Notes |
|---|---|---|
| Assets | `assets` | Full CRUD + bulk; the registry core |
| Sites / Buildings / Locations | `sites` / `buildings` / `locations` | The location hierarchy |
| System classes / groups / systems | `systems` | The classification hierarchy |
| Asset types & type groups | `asset_types` / `asset_type_groups` | The equipment catalog |
| Asset statuses | `asset_statuses` | Status catalog |
| Manufacturers | `manufacturers` | |
| Custom field definitions & values | `custom_fields` | [Custom fields](/docs/asset-management/custom-fields) |
| Floorplans & regions | `floorplans` / `floorplan_regions` | [Floorplans](/docs/asset-management/floorplans); regions are legacy |
| Asset placements | `asset_placements` | Asset pins on floorplans |

## Asset records

| Resource | Scope family | Notes |
|---|---|---|
| Asset comments | `asset_comments` | |
| Asset costs | `asset_costs` | The O&M cost history |
| Asset documents | `asset_documents` | |
| Asset ↔ part associations | `asset_parts` | |
| Condition assessments | `asset_condition_assessments` | [Condition](/docs/asset-management/condition-assessments) |
| Replacement plans | `asset_replacement_plans` | [Planner](/docs/projects/replacement-planner) |
| Risk history | `asset_risk_history` | Read-only |

## CMMS

| Resource | Scope family | Notes |
|---|---|---|
| Work orders & comments | `work_orders` / `work_order_comments` | The work queue |
| Work order schedules | `work_order_schedules` | Technician calendar + [day plans](/docs/cmms/work-orders-map); filter by technician + date for an ordered day |
| Work requests | `work_requests` | Intake |
| Work categories | `work_categories` | Trade/type catalog |
| PM schedules / templates | `pm_schedules` / `pm_templates` | Recurring maintenance |
| Form templates & items | `form_templates` / `form_template_items` | [Forms](/docs/cmms/forms-and-inspections) |
| Form responses & answers | `form_responses` / `form_response_answers` | Answers read-only via API |
| Parts & categories | `parts` / `part_categories` | Inventory |
| Vendors & site assignments | `vendors` / `vendor_site_assignments` | |
| Contracts, sites & documents | `contracts` / `contract_sites` / `contract_documents` | |
| Compliance items & records | `compliance` / `compliance_records` | |

## Financials

| Resource | Scope family |
|---|---|
| Expenses | `expenses` |
| Invoices | `invoices` |
| Purchase orders | `purchase_orders` |
| Budgets | `budgets` |
| Change orders | `change_orders` |
| Cost categories | `cost_categories` |

## Projects

| Resource | Scope family | Notes |
|---|---|---|
| Projects | `projects` | |
| Tasks & dependencies | `project_tasks` / `project_task_dependencies` | [Schedule](/docs/projects/tasks-and-milestones) |
| Milestones / phases / phase categories | `project_milestones` / `project_phases` / `project_phase_categories` | |
| Budget items & cost snapshots | `project_budget_items` / `project_cost_snapshots` | [Financials](/docs/projects/budgets-and-financials) |
| Risks / updates / comments | `project_risks` / `project_updates` / `project_comments` | |
| Team members & time entries | `project_team_members` / `project_time_entries` | |
| Documents & folder templates | `project_documents` / `project_document_folder_templates` | |
| Scope links (sites, buildings, locations, assets, systems, classes, groups, infrastructure) | `project_sites`, `project_assets`, … | One junction resource per link type |

## Infrastructure & planning

| Resource | Scope family | Notes |
|---|---|---|
| Networks | `infrastructure_networks` | [Model](/docs/infrastructure/networks-and-classes) |
| Feature classes | `infrastructure_feature_classes` | |
| Features | `infrastructure_assets` | [Features](/docs/infrastructure/features) |
| Feature inspections | `infrastructure_asset_inspections` | Condition record |
| Feature costs / parts / documents / comments | `infrastructure_asset_costs` etc. | |
| Feature risk history | `infrastructure_asset_risk_history` | Read-only |
| Zones | `infrastructure_zones` | |
| Service areas | `service_areas` | [Level of service](/docs/infrastructure/level-of-service) |
| LoS measures & measurements | `los_measures` / `los_measurements` | |

## Analytics & platform

| Resource | Scope family | Notes |
|---|---|---|
| Dashboard summary | `dashboard` | Read-only |
| Dashboard snapshots | `dashboard_snapshots` | Read-only |
| Site FCI history | `site_fci_history` | Read-only |
| Users | `users` | Read-only membership list, for assignment lookups |
| Attachments | `attachments` | |
| Upload URLs | `upload_urls` | Two-step upload: mint URL, then PUT the file |

> [!note] The exact field schema for each resource lives in the [interactive API reference](/docs/reference/api) - generated from the same specification the gateway enforces, so it never drifts from reality.
