---
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`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/Patients/{id}/contacts`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Patients/:id/contacts/post.ts> (a function with typed inputs; its response is checked against the schema)

## 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.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
