Taiga

Onboard a Provider

Register a therapist and their practice before submitting sessions.

POST /api/v1/partner/providers

Register a therapist before submitting sessions on their behalf. This creates the practice and provider records we need to submit claims under their NPI.

Idempotent within your partner organization — if the provider already exists for your authenticated partner, we return the existing record with "status": "already_exists".

Request

const response = await fetch("https://api.usetaiga.com/api/v1/partner/providers", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    provider: {
      firstName: "Jane",
      lastName: "Smith",
      npi: "1234567890",
      taxonomyCode: "103T00000X",
      specialty: "Clinical Psychologist",
      credentials: "PhD",
    },
    practice: {
      name: "Smith Therapy Associates",
      taxId: "123456789",
      address: {
        street: "100 Main Street",
        line2: "Suite 200",
        city: "New York",
        state: "NY",
        zip: "10001",
      },
      phone: "2125551234",
      contactName: "Jane Smith",
    },
  }),
});

const data = await response.json();
import requests

response = requests.post(
    "https://api.usetaiga.com/api/v1/partner/providers",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "provider": {
            "firstName": "Jane",
            "lastName": "Smith",
            "npi": "1234567890",
            "taxonomyCode": "103T00000X",
            "specialty": "Clinical Psychologist",
            "credentials": "PhD",
        },
        "practice": {
            "name": "Smith Therapy Associates",
            "taxId": "123456789",
            "address": {
                "street": "100 Main Street",
                "line2": "Suite 200",
                "city": "New York",
                "state": "NY",
                "zip": "10001",
            },
            "phone": "2125551234",
            "contactName": "Jane Smith",
        },
    },
)

data = response.json()
curl -X POST https://api.usetaiga.com/api/v1/partner/providers \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": {
      "firstName": "Jane",
      "lastName": "Smith",
      "npi": "1234567890",
      "taxonomyCode": "103T00000X",
      "specialty": "Clinical Psychologist",
      "credentials": "PhD"
    },
    "practice": {
      "name": "Smith Therapy Associates",
      "taxId": "123456789",
      "address": {
        "street": "100 Main Street",
        "line2": "Suite 200",
        "city": "New York",
        "state": "NY",
        "zip": "10001"
      },
      "phone": "2125551234",
      "contactName": "Jane Smith"
    }
  }'

Required fields

FieldDescription
provider.firstNameProvider's first name
provider.lastNameProvider's last name
provider.npi10-digit NPI number
practice.nameLegal practice name
practice.taxId9-digit EIN (no dashes)
practice.addressObject with street, city, state, zip

Optional fields

FieldDescriptionDefault
provider.taxonomyCodeProvider taxonomy codeInferred from specialty
provider.specialtySpecialty description
provider.credentialsCredentials (PhD, PsyD, LCSW, etc.)
practice.npiOrganization NPI (distinct from the individual provider NPI)Falls back to provider.npi
practice.taxonomyCodePractice-level taxonomy codeFalls back to provider.taxonomyCode
practice.phonePractice phone (10 digits, no formatting)
practice.contactNameBilling contact name

The provider NPI is the individual therapist's NPI. The practice NPI is the organization's NPI (Type 2). If the therapist is a solo practitioner, these are typically the same. For group practices, provide both so claims are billed correctly under the organization.

practice.taxId (EIN) and provider.npi are critical for claim submission. Claims will fail validation if the practice is missing a tax ID or the provider is missing an NPI.

Taxonomy codes

Common taxonomy codes for behavioral health providers:

CodeDescription
103T00000XPsychologist
103TA0400XPsychologist, Addiction
103TC0700XPsychologist, Clinical
1041C0700XSocial Worker, Clinical
101YM0800XCounselor, Mental Health
101YP2500XCounselor, Professional
106H00000XMarriage & Family Therapist

If you provide specialty but not taxonomyCode, we infer the taxonomy code automatically.

Response

201 Created

{
  "providerId": "uuid",
  "practiceId": "uuid",
  "providerNpi": "1234567890",
  "practiceName": "Smith Therapy Associates",
  "status": "created"
}

If the provider already exists, the response has the same shape with "status": "already_exists".

Errors

StatusCause
400Missing or invalid required fields (e.g. NPI not 10 digits, missing practice address)
401Invalid or missing API key
409This provider NPI is already registered to a different partner organization

Update a Provider

PATCH /api/v1/partner/providers/{npi}

Update an existing provider's credentials, specialty, or practice information. Only include the fields you want to change — omitted fields remain unchanged.

You can only update providers that were onboarded under your authenticated partner organization.

Request

const response = await fetch("https://api.usetaiga.com/api/v1/partner/providers/1234567890", {
  method: "PATCH",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    provider: {
      credentials: "PsyD",
    },
    practice: {
      phone: "2125559999",
      address: {
        street: "200 New Street, Suite 300",
        city: "New York",
        state: "NY",
        zip: "10002",
      },
    },
  }),
});

const data = await response.json();
curl -X PATCH https://api.usetaiga.com/api/v1/partner/providers/1234567890 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": {
      "credentials": "PsyD"
    },
    "practice": {
      "phone": "2125559999",
      "address": {
        "street": "200 New Street, Suite 300",
        "city": "New York",
        "state": "NY",
        "zip": "10002"
      }
    }
  }'

Updatable fields

All fields are optional. Only include the ones you want to change.

Provider fields:

FieldDescription
provider.taxonomyCodeProvider taxonomy code
provider.specialtySpecialty description
provider.credentialsCredentials (PhD, PsyD, LCSW, etc.)

Practice fields:

FieldDescription
practice.nameLegal practice name
practice.npiOrganization NPI
practice.taxId9-digit EIN
practice.taxonomyCodePractice-level taxonomy code
practice.phonePractice phone number
practice.contactNameBilling contact name
practice.address.streetStreet address
practice.address.cityCity
practice.address.state2-letter state code
practice.address.zipZIP code

Response

{
  "providerId": "uuid",
  "practiceId": "uuid",
  "providerNpi": "1234567890",
  "practiceName": "Smith Therapy Associates",
  "status": "updated"
}

Errors

StatusCause
401Invalid or missing API key
404No provider found with this NPI — onboard the provider first
409This provider NPI belongs to a different partner organization

On this page