---
title: "Get Discovery Prefill"
method: GET
path: "/noops/discovery-prefill"
tags: ["noops-onboarding"]
---

# Get Discovery Prefill

`GET /noops/discovery-prefill`

Install-scope lists and the dealer record the form starts from, off staged rows.

## Response `200`

Successful Response

- DiscoveryPrefill — Everything the onboarding form can discover for itself, off staged rows.
  - `install_scope` InstallScopeOptions — The ServiceTitan lists an org picks its install scope from. Names, not ids: Pilot's warranty pipeline scopes by name (DISCOVERY_PROFILES), so a picker keyed by id would not match what the config expects.
    - `business_units` string[] — Active business unit names, alphabetical.
    - `dispatch_teams` string[] — Distinct dispatch team names across active technicians, alphabetical.
    - `suggested_mode` '' | 'Dispatch teams' | 'Business units' — Which list the suggestion is drawn from: "Dispatch teams", "Business units", or "" when the names did not settle it. One list only — a unit and a team are not the same answer.
    - `suggested_names` string[] — Names to preselect, from suggested_mode's list: those reading as install or replacement work for this trade. Empty when two or more survived, since the names cannot then separate them.
    - `staged` boolean — True when these feeds are staged for the org and were read. False means there is no list to offer — no ServiceTitan integration, no staged source, or the reports lane, which stages neither feed — and the form should ask instead. Empty lists with staged=True mean ServiceTitan holds none.
  - `dealer` DealerRecord — The org's contact details, voted across active units; a draft the form asks them to correct.
    - `company_name` string — The officialName most business units agree on.
    - `street_address` string — Street line, no unit number split out.
    - `city` string
    - `state` string — State or province code, as ServiceTitan holds it.
    - `postal_code` string
    - `country` string — As ServiceTitan holds it: USA, Canada, CA.
    - `phone` string — Business unit phone, unformatted as staged.
    - `email` string
    - `staged` boolean — True when active business units were read. False means nothing was available to read and every field above is empty.
  - `equipment_brands` string[] — Manufacturer names on equipment fitted in the last year, most-fitted first, raw as ServiceTitan holds them. The form matches these against the portals we drive and ignores what it does not recognise.

## Changes

- **2026-09-24** `94953390bbd8` — 3 info
  - added the optional property `equipment_brands` to the response with the `200` status
  - added the optional property `install_scope/suggested_mode` to the response with the `200` status
  - added the optional property `install_scope/suggested_names` to the response with the `200` status
- **2026-09-16** `46c87bbc4486` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/noso/apis/crucible-backend-api/changes/noops/discovery-prefill/get.md)

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/c714e58b5156?raw)
