# Orita Provider Imports

Tested with: Orita API v2
Last verified: 2026-07-31

Bulk-import or synchronize a provider network using customer-owned external IDs.
Your database remains the source of truth.

## Endpoint

POST /api/v2/provider-imports

## Request

```json
{
  "mode": "upsert",
  "dryRun": true,
  "deactivateMissing": false,
  "providers": [
    {
      "externalId": "customer-provider-2841",
      "displayName": "Dr. Ana García",
      "professionCode": "clinical_psychologist",
      "specialtyCodes": ["anxiety", "cbt"],
      "languageCodes": ["es", "en"],
      "modalityCodes": ["virtual"],
      "serviceRegionCodes": ["US-NJ"],
      "insurancePlanCodes": ["aetna", "cigna"],
      "licenseRecords": [
        {
          "licenseTypeCode": "psychologist",
          "regionCode": "US-NJ",
          "status": "active",
          "expiresAt": "2027-06-30",
          "verifiedAt": "2026-07-20T14:00:00Z"
        }
      ],
      "ageGroupCodes": ["adult"],
      "acceptsNewClients": true
    }
  ]
}
```

## Response (202 Accepted)

```json
{
  "importId": "imp_01K...",
  "status": "validating",
  "dryRun": true
}
```

## Completed import

GET /api/v2/provider-imports

```json
{
  "importId": "imp_01K...",
  "status": "completed",
  "summary": {
    "received": 100,
    "created": 22,
    "updated": 61,
    "unchanged": 14,
    "invalid": 3,
    "deactivated": 0
  }
}
```

## Rules

- Maximum 500 providers per import
- Processed asynchronously
- Errors stored per row and available on GET
- dryRun=true validates without committing
- externalId is required; must be unique within the organization
- Idempotent: re-importing the same externalId updates instead of duplicating
- Email is operational metadata; do not use as the provider identifier

## Modes

- upsert (default) — create new, update existing
- create_only — skip rows where externalId already exists
- update_only — skip rows where externalId does not exist

## After import

Imported providers are immediately eligible for resolution.
Check readiness: GET /api/v2/providers?status=active

## Machine-readable

- Capabilities: /capabilities.json
- OpenAPI: /openapi.json
