# Submit NPI overlaps

Submit NPI overlaps to compare your provider directory with providers
bookable on Zocdoc. Send real-time distribution status
(`developer_app_state`), unverified addresses and other data required
for joint provider operations.

Endpoint: PUT /v1/schedulable_entities/overlaps
Version: 1.182
Security: ClientCredentialsFlow, AuthorizationCodeFlow

## Security:

  - `ClientCredentialsFlow` (unknown)
    oauth2 scopes: external.schedulable_entity.read

  - `AuthorizationCodeFlow` (unknown)
    oauth2 scopes: external.schedulable_entity.read

## Request fields (application/json):

  - `overlaps` (array, required)

  - `overlaps.npi` (string, required)
    National Provider Identifier

  - `overlaps.entity_id` (string)
    Optional Zocdoc provider location ID (`pr_*|lo_*`) for this NPI, typically as returned in `schedulable_entities[].id`; any active provider location of the NPI is accepted. The value is trimmed and matched case-sensitively; an empty or whitespace-only value is rejected. Omit it for an item that applies to the NPI as a whole. When set, the request's `developer_app_state` is stored for this provider location.

  - `overlaps.metadata` (array)

  - `overlaps.metadata.name` (string)

  - `overlaps.metadata.value` (string)

  - `developer_app_state` (string, required)
    Indicates whether each provider in the request is currently active in your application and able to receive bookings. Send `enabled` when the provider is live and bookable in your app, or `disabled` when the provider is suppressed or not currently available for booking. This value applies to every item in `overlaps`. For an item with `entity_id`, it is stored for that provider location. Submit separate requests when providers or locations have different states.
    Enum: "disabled", "enabled"

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `request_id` (string, required)
    Unique request identifier for tracing

  - `data` (array, required)

  - `data.npi` (string, required)
    National Provider Identifier

  - `data.schedule_state` (string, required)
    Enum: "schedulable", "not_schedulable", "added_to_queue"

  - `data.schedulable_entities` (array, required)

  - `data.schedulable_entities.id` (string, required)
    Zocdoc provider location ID (e.g., pr_zzzz|lo_yyyy)

  - `data.schedulable_entities.entity_type` (string, required)
    Entity type
    Enum: "provider_location"

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/json):

  - `request_id` (string, required)
    Unique request identifier for tracing

  - `error_type` (string, required)
    Enum: "api_error", "invalid_request"

  - `errors` (array, required)

  - `errors.field` (string)

  - `errors.message` (string, required)

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 403:

  - `403` (unknown)
    Forbidden

