---
title: "Scan"
method: GET
path: "/organization-external-providers/v1/updates/scan"
tags: ["v1"]
---

# Scan

`GET /organization-external-providers/v1/updates/scan`

Scans up to 1000 organization external provider updates. The since query parameter is inclusive, and the result list is ordered by updatedAt ascending.

**Polling Pattern:**
To continuously poll for updates without gaps:
1. Make your initial request with a `since` timestamp (e.g., `since=2020-01-01T13:00:00.000Z`)
2. The API returns 100 by default and up to 1000 records, sorted by `updated_at` ascending
3. Find the `updated_at` value from the last record in the response
4. Use that `updated_at` value as the `since` parameter in your next request
5. Repeat steps 2-4 to ingest updates until you receive an empty list

**Important Notes:**
- The `since` parameter is inclusive, so you may receive the last record from the previous batch again (you can deduplicate by ID and version)
- All records include `updated_at`, `id`, `version`, `deactivated`, and `updating_user` fields for tracking changes
- Timestamps have millisecond resolution for precise ordering

## Query parameters

- `since` string, date-time, required
- `maxResults` integer

## Response `200`

Response with status 200

- PreEncounterOrganizationExternalProvidersV1OrganizationExternalProvider[]
  - `organization_id` string, required — The unique identifier for an Organization in the database
  - `deactivated` boolean, required — True if the object is deactivated. Deactivated objects are not returned in search results but are returned in all other endpoints including scan.
  - `version` integer, required — The version of the object. Any update to any property of an object object will create a new version.
  - `updated_at` string, date-time, required
  - `updating_user_id` string, required — The unique identifier for a User in the database
  - `name` PreEncounterCommonHumanName, required
    - `family` string, required
    - `given` string[], required
    - `use` 'USUAL' | 'OFFICIAL' | 'TEMP' | 'NICKNAME' | 'ANONYMOUS' | 'OLD' | 'MAIDEN', required
    - `period` PreEncounterCommonPeriod
      - `start` string, date
      - `end` string, date
    - `suffix` string
  - `types` PreEncounterOrganizationExternalProvidersV1OrganizationExternalProviderType[], required
  - `npi` string
  - `tax_id` string
  - `taxonomy_code` string
  - `phone_number` string
  - `other_phone_numbers` string[]
  - `fax_number` string
  - `other_fax_numbers` string[]
  - `emails` string[]
  - `license_type` 'MD' | 'NP' | 'PA' | 'LMFT' | 'LCPC' | 'LCSW' | 'PMHNP' | 'FNP' | 'LPCC' | 'DO' | 'RD' | 'SLP' | 'APRN' | 'LPC' | 'PHD' | 'PSYD' | 'LMSW' | 'LMHC' | 'OTHER_MASTERS' | 'BCBA' | 'UNKNOWN' | 'RPH' | 'PHT' | 'LAC' | 'LMT' | 'DC' | 'ND' | 'MA' | 'PT' | 'IBCLC' | 'RN' | 'DPT' | 'LCMHC' | 'CNM' | 'RNFA' | 'ACSW' | 'APC' | 'BCABA' | 'BHA' | 'OD' | 'DPM' | 'DA' | 'DDS' | 'DEH' | 'DMD' | 'PTA' | 'LCADC' | 'LCAT' | 'LCMHCS' | 'LCMHCA' | 'LCSWA' | 'LICSW' | 'LISW' | 'LMFTS' | 'LMFTA' | 'LPCI' | 'LSCSW' | 'MHCA' | 'MHT' | 'RBT' | 'RCSWI' | 'RHMCI' | 'LPN' | 'OTD' | 'OMS' | 'MFTA' | 'APCC' | 'DNP' | 'AGNPBC' | 'ANP' | 'FNPPP' | 'LCSWR' | 'ALC' | 'RMFTI' | 'LAMFT' | 'LPCA' | 'LSWI' | 'CSW' | 'CPC' | 'LGMFT' | 'LLPC' | 'PLPC' | 'PLMFT' | 'LMHCA' | 'CIT' | 'CT' | 'MFT' | 'LSW' | 'PLMHP' | 'PCMSW' | 'LMHP' | 'OTR/L' | 'RPA' | 'COTA' | 'CRNP' | 'SLP-CF' | 'NP-C' | 'PA-C' | 'AMFT' | 'CDN' | 'CGC' | 'CNS' | 'MDPHD' | 'AuD' | 'ATC' | 'LAT' | 'OTA' | 'LSSP' | 'SLPA'
  - `addresses` PreEncounterCommonAddress[]
    - `use` 'HOME' | 'WORK' | 'TEMP' | 'OLD' | 'BILLING', required
    - `line` string[], required
    - `city` string, required
    - `state` string, required
    - `administrative_area` string — The top-level administrative subdivision of the country for addresses outside the US — for example a Canadian province, a UK county, or a Japanese prefecture. Only permitted on international addresses: `country` must be present and non-US, and `state` must be "FC" (the X12 foreign-country sentinel). For US addresses use `state` instead.
    - `postal_code` string, required
    - `country` string, required
    - `county` string
    - `period` PreEncounterCommonPeriod
      - `start` string, date
      - `end` string, date
  - `id` string, uuid, required — The unique identifier for an OrganizationExternalProvider in the database

## Changes

- **2026-09-19** `72fc5ca65ba5` — 1 info
  - added the optional property `items/addresses/items/administrative_area` to the response with the `200` status
- **2026-09-17** `24b2d80d577a` — 1 breaking, 1 warning, 19 info
  - the `items/` response's property type changed from no type to `object` for status `200`
  - deleted the `header` request parameter `Authorization`
  - the endpoint scheme security `OAuthScheme` was added to the API
  - added the optional property `items/addresses` to the response with the `200` status
  - …17 more
- **2026-09-12** `3a81ee81d4ed` — 1 info
  - api operation id `scan` removed and replaced with `v1_scan_3`

[Change history](https://skmtc.dev/joincandidhealth/apis/api-reference/changes/organization-external-providers/v1/updates/scan/get.md)

---

[API](https://skmtc.dev/joincandidhealth/apis/api-reference.md) · [All operations](https://skmtc.dev/joincandidhealth/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc.dev/joincandidhealth/apis/api-reference/revisions/7fd881bab7b6?raw)
