---
title: "Add a non-primary contact (co-owner, emergency contact, etc.) to a patient (PAW-659/PAW-650)."
method: POST
path: "/Patients/{id}/contacts"
tags: ["Patients"]
---

# Add a non-primary contact (co-owner, emergency contact, etc.) to a patient (PAW-659/PAW-650).

`POST /Patients/{id}/contacts`

## Path parameters

- `id` string, required

## Request body

- AddPatientContactRequest — Request to add a non-primary contact (co-owner, emergency contact, etc.) to a patient.
  - `clientId` string
  - `relationshipType` integer — Describes who a contact (Client) is in relation to a specific patient. One contact per patient is the `PrimaryOwner`; all others are additional relationships (co-owners, agents, emergency contacts, etc.). Stored as text on `patient_contacts.relationship_type`.
  - `permissions` string[] — Permission flag names to grant (e.g. `["PickUpPatient"]`). Empty grants none.

## Response `200`

OK

- PatientContactDto[]
  - `id` string
  - `patientId` string
  - `clientId` string
  - `client` ClientSummaryDto
    - `id` string
    - `firstName` string
    - `lastName` string
    - `email` string, nullable
    - `phoneNumber` string, nullable
  - `relationshipType` integer — Describes who a contact (Client) is in relation to a specific patient. One contact per patient is the `PrimaryOwner`; all others are additional relationships (co-owners, agents, emergency contacts, etc.). Stored as text on `patient_contacts.relationship_type`.
  - `isPrimary` boolean
  - `permissions` string[] — The set permission flags by name (e.g. `"ApproveTreatment"`). Exposed as a list rather than the raw ContactPermissions bitmask so clients can check individual permissions without bit math.
  - `verificationMethod` integer — How a patient contact's identity was verified by clinic staff. Stored as text on `patient_contacts.verification_method`.
  - `verifiedByUserId` string, nullable
  - `verifiedAt` string, date-time, nullable
  - `verificationNotes` string, nullable
  - `displayOrder` union
    - integer
    - string, int32
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `404` — Not Found
- `409` — Conflict

---

[API](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1.md) · [All operations](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clinicos/pawthosx-business-api-v1/revisions/a905bde4e796/schema)
