Group

Update a group by source system identifier (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.

put/groups/{sourceType}/{crosswalkId}

Path parameters

crosswalkIdstring required

External identifier used to link records in the source system.

sourceTypestring required

Source type identifier. Must match an existing row's source_type value in the core_sources table — a dynamic, tenant-managed lookup, not a fixed set of values (e.g. 'nppes' is a known seeded value).

Query parameters

parentHealthcareOrgIdstring

Parent healthcare organization ID (optional)

Headers

tenant-idstring

Request body

certifyGroupIdstring

Primary key - Certify Group ID

sourceIdstring

Foreign key - Source ID

crosswalkIdstring

Foreign key - Crosswalk ID

affiliationstring

Group affiliation

npistring

National Provider Identifier

namestring

Group name

parentHealthcareOrgstring

Parent healthcare organization ID

tinstring

Tax Identification Number

typestring

Group type

legalTaxNamestring

Legal tax name

emailstring

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.

activeboolean

Whether the group is active

telemedicineAvailableboolean

Whether telemedicine is available

bedCountinteger

Number of beds

deastring

DEA number

specialtyIdsstring[]

Specialty IDs to associate with the group (consistent with create practitioner pattern)

groupEffectiveDatestring date
externalGroupIdstring

External group ID from tenant system

contactPersonobject

Contact person information as JSON

userDefinedFieldsobject

Custom user-defined fields. Replaces the entire userDefinedFields object (PUT semantics).

npdbEnrollmentEnabledboolean

Whether NPDB enrollment is enabled

createdAtstring date-time
createdBystring

Foreign key - Created by User ID

Example request

{
  "certifyGroupId": "group-12345",
  "sourceId": "tenant:tenant-123",
  "crosswalkId": "1234567890",
  "affiliation": "Medical Group",
  "npi": "1234567890",
  "name": "Acme Medical Group",
  "contacts": [
    {
      "name": "Jane Smith",
      "email": "jane@example.com",
      "phone": "555-123-4567",
      "title": "Credentialing Manager"
    }
  ],
  "parentHealthcareOrg": "org-12345",
  "tin": "12-3456789",
  "type": "Medical Group",
  "legalTaxName": "Acme Medical Group LLC",
  "email": "group@example.com",
  "active": true,
  "telemedicineAvailable": true,
  "taxInfo": {
    "billingTin": "12-3456789",
    "billingNpi": "1234567890"
  },
  "bedCount": 50,
  "dea": "AB1234567",
  "groupEffectiveDate": "2022-03-10",
  "externalGroupId": "ext-group-123",
  "contactPerson": {
    "name": "John Doe",
    "email": "john@example.com",
    "phone": "555-123-4567"
  },
  "credentialingContact": {
    "name": "Jane Smith",
    "email": "jane@example.com",
    "phone": "555-123-4567",
    "title": "Credentialing Manager",
    "department": "Credentialing"
  },
  "npdbEnrollmentEnabled": true,
  "createdBy": "user-12345",
  "addresses": [
    {
      "addressType": "billing",
      "addressLine1": "123 Main Street",
      "addressLine2": "Suite 100",
      "city": "New York",
      "state": "NY",
      "zip": "10001",
      "county": "New York County",
      "country": "US",
      "isPrimary": true
    }
  ]
}

Response

Group successfully updated

object required

Changes