---
title: "Update a group by source system identifier (deprecated)"
method: PUT
path: "/groups/{sourceType}/{crosswalkId}"
tags: ["Group"]
deprecated: true
---

# Update a group by source system identifier (deprecated)

`PUT /groups/{sourceType}/{crosswalkId}`

> **Deprecated.**

**Deprecated.** Updates an existing group identified by its originating source system type and crosswalk identifier. Prefer PUT /groups/{id} for all new integrations; no removal date has currently been published for this endpoint. Unlike PUT /groups/{id}, this endpoint applies JSON Schema validation to the request body and returns 400 on failure. sourceType is validated against the core_sources table — a dynamic, tenant-managed lookup rather than a fixed enum — and the request fails with 400 if no matching source row exists.

## Path parameters

- `crosswalkId` string, required
- `sourceType` string, required

## Query parameters

- `parentHealthcareOrgId` string

## Headers

- `tenant-id` string

## Request body

- UpdateGroupRequest — Request to update an existing group with complete data
  - `certifyGroupId` string — Primary key - Certify Group ID
  - `sourceId` string — Foreign key - Source ID
  - `crosswalkId` string — Foreign key - Crosswalk ID
  - `affiliation` string — Group affiliation
  - `npi` string — National Provider Identifier
  - `name` string — Group name
  - `contacts` Contact1[] — Group contacts
    - `name` string — Contact name
    - `email` string — Contact email
    - `phone` string — Contact phone
    - `title` string — Contact title
    - `department` string — Contact department
  - `parentHealthcareOrg` string — Parent healthcare organization ID
  - `tin` string — Tax Identification Number
  - `type` string — Group type
  - `legalTaxName` string — Legal tax name
  - `email` string — Group Overview email address — an email with no associated contact type (CP-35967). Distinct from contacts[] entries and from the typed contractingContact/officeManager/credentialingContact emails.
  - `active` boolean — Whether the group is active
  - `telemedicineAvailable` boolean — Whether telemedicine is available
  - `taxInfo` TaxInfo
    - `legalTaxName` string
    - `taxEntityStates` string[]
    - `irs575File` string
    - `w9File` string
    - `billingTin` string — Billing Tax Identification Number (TIN) used for billing purposes.
    - `billingNpi` string — Billing National Provider Identifier (NPI) used for billing purposes.
  - `bedCount` integer — Number of beds
  - `dea` string — DEA number
  - `specialtyIds` string[] — Specialty IDs to associate with the group (consistent with create practitioner pattern)
  - `groupEffectiveDate` string, date
  - `externalGroupId` string — External group ID from tenant system
  - `contactPerson` object — Contact person information as JSON
  - `userDefinedFields` object — Custom user-defined fields. Replaces the entire userDefinedFields object (PUT semantics).
  - `credentialingContact` CredentialingContact — Credentialing contact information
    - `name` string — Contact name
    - `email` string — Contact email
    - `phone` string — Contact phone
    - `title` string — Contact title
    - `department` string — Contact department
  - `npdbEnrollmentEnabled` boolean — Whether NPDB enrollment is enabled
  - `createdAt` string, date-time
  - `createdBy` string — Foreign key - Created by User ID
  - `addresses` GroupAddressData[] — Group addresses to update
    - `addressType` string — Address type
    - `addressLine1` string — Address line 1
    - `addressLine2` string — Address line 2
    - `city` string — City
    - `state` string — State
    - `zip` string — ZIP code
    - `county` string — County
    - `country` string — Country
    - `isPrimary` boolean — Whether this is the primary address

## Response `200`

Group successfully updated

- object

## Other responses

- `400` — Invalid request body (schema validation failed against the group schema), or sourceType does not match any row in the core_sources table
- `500` — Internal server error during request processing (e.g., network timeout, etc.)

## Changes

- **2026-08-19** `563848e0ecc0` — 44 warning, 27 info
  - removed the request property `array`
  - removed the request property `bigDecimal`
  - removed the request property `bigInteger`
  - removed the request property `binary`
  - …67 more

[Change history](https://skmtc.dev/certifyos/apis/certify-api-layer/changes/groups/:sourceType/:crosswalkId/put.md)

---

[API](https://skmtc.dev/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.dev/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
