> ## Documentation Index
> Fetch the complete documentation index at: https://docs.osis.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Upsert a contact

> POST /api/v1/comms/contacts — create or update a person on your line.

Create or update a contact record.

**Scope:** `write` (broader write access when present on the key)

<Note>
  Listing contacts uses `comms_read`. Upsert currently expects the broader `write` scope. If you only hold send/read messaging scopes, prefer listing or use a key that includes write for CRM-style workers.
</Note>

## Request

```bash theme={null}
curl -X POST "https://osis.co/api/v1/comms/contacts" \
  -H "Authorization: Bearer $COMMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+12125550147",
    "name": "Alex",
    "email": "alex@example.com",
    "tags": ["vip"]
  }'
```

### Body parameters

<ParamField body="phone" type="string">
  E.164 phone number.
</ParamField>

<ParamField body="name" type="string">
  Display name.
</ParamField>

<ParamField body="email" type="string">
  Email address.
</ParamField>

<ParamField body="tags" type="string[]">
  Optional tags for segmentation.
</ParamField>

## Response

```json theme={null}
{
  "contact": {
    "id": "ctc_…",
    "phone": "+12125550147",
    "name": "Alex"
  }
}
```
