---
title: "Measured routes (conduit, feeder, duct, pipe, tray) with endpoints and geometry"
method: GET
path: "/takeoffs/{takeoff_id}/routes"
tags: ["Takeoffs"]
---

# Measured routes (conduit, feeder, duct, pipe, tray) with endpoints and geometry

`GET /takeoffs/{takeoff_id}/routes`

## Request

- Base URL: `https://api.aginera.ai/partner/v1`
- URL: `https://api.aginera.ai/partner/v1/takeoffs/{takeoff_id}/routes`
- Auth: OAuth 2 (authorization code, authorization URL `https://auth.aginera.ai/oauth/authorize`, token URL `https://auth.aginera.ai/oauth/token`; client credentials, token URL `https://login.microsoftonline.com/65f567a9-6e6a-4f81-863c-aea4ece1f8eb/oauth2/v2.0/token`, scopes: `takeoffs:read`)

## Path parameters

- `takeoff_id` string, required

## Query parameters

- `limit` integer
- `cursor` string
- `trade` 'electrical' | 'mechanical' | 'plumbing' | 'fire_protection' | 'structural' | 'architectural' | 'civil' | 'process' | 'other'
- `system` 'conduit' | 'feeder' | 'branch_circuit' | 'cable_tray' | 'duct' | 'pipe' | 'other'
- `page_number` integer
- `include_geometry` boolean, nullable
- `units` 'imperial' | 'metric' | 'as_drawn'

## Response `200`

OK

- object
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required
  - `data` Route[], required
    - `id` string, required
    - `takeoff_id` string, required
    - `item_id` string
    - `trade` 'electrical' | 'mechanical' | 'plumbing' | 'fire_protection' | 'structural' | 'architectural' | 'civil' | 'process' | 'other', required
    - `system` 'conduit' | 'feeder' | 'branch_circuit' | 'cable_tray' | 'duct' | 'pipe' | 'other', required
    - `quantity` number, required
    - `unit` string, required: Canonical unit code from /reference/units (extensible; not a closed enum). Examples EA, LF, FT, IN, SF, SY, CF, CY, LB, TON, HR, GAL, M, MM, M2, M3, KG, T, L, LS.
    - `from` RouteEndpoint
      - `type` 'panel' | 'equipment' | 'device' | 'device_group' | 'junction' | 'riser' | 'unknown', required
      - `tag` string, nullable
      - `item_id` string
      - `count` integer
    - `to` RouteEndpoint
      - `type` 'panel' | 'equipment' | 'device' | 'device_group' | 'junction' | 'riser' | 'unknown', required
      - `tag` string, nullable
      - `item_id` string
      - `count` integer
    - `segments` integer
    - `page_number` integer, required
    - `geometry` union: Measured shape in page_normalized space (x, y in 0..1, origin top-left, page as displayed after rotation). bbox = [x_min, y_min, x_max, y_max].
      - object
        - `type` 'point', required
        - `page_number` integer, required
        - `coordinate_space` 'page_normalized', required
        - `coordinates` unknown[], required
          - unknown
      - object
        - `type` 'bbox', required
        - `page_number` integer, required
        - `coordinate_space` 'page_normalized', required
        - `coordinates` unknown[], required
          - unknown
      - object
        - `type` 'polyline', required
        - `page_number` integer, required
        - `coordinate_space` 'page_normalized', required
        - `coordinates` NormPoint[], required
          - unknown[]
            - unknown
        - `scale` Scale
          - `units_per_normalized_x` number, required: Real-world units spanned by the full normalized page width.
          - `unit` string, required: Canonical unit code from /reference/units (extensible; not a closed enum). Examples EA, LF, FT, IN, SF, SY, CF, CY, LB, TON, HR, GAL, M, MM, M2, M3, KG, T, L, LS.
          - `source` 'title_block' | 'scale_bar' | 'declared', required
      - object
        - `type` 'polygon', required
        - `page_number` integer, required
        - `coordinate_space` 'page_normalized', required
        - `coordinates` NormPoint[], required
          - unknown[]
            - unknown
        - `holes` array[]
          - NormPoint[]
            - unknown[]
              - …
        - `scale` Scale
          - `units_per_normalized_x` number, required: Real-world units spanned by the full normalized page width.
          - `unit` string, required: Canonical unit code from /reference/units (extensible; not a closed enum). Examples EA, LF, FT, IN, SF, SY, CF, CY, LB, TON, HR, GAL, M, MM, M2, M3, KG, T, L, LS.
          - `source` 'title_block' | 'scale_bar' | 'declared', required
    - `attributes` object, required
    - `confidence` 'high' | 'medium' | 'low', required
  - `totals_by_system` object, required

## Other responses

- `default`: Error (RFC 7807)

---

[API](https://skmtc.dev/aginera/apis/aginera-takeoff-estimation-api.md) · [All operations](https://skmtc.dev/aginera/apis/aginera-takeoff-estimation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aginera/apis/aginera-takeoff-estimation-api/revisions/39115958da1e?raw)
