# PUT /company/birthday-messages

**Resource:** [Company](./company.md)  
**Scopes:** `company:write`  
**Write operation:** yes

Replace the entire birthday messages array. Send an array of message objects -- one per year of relationship. The cron picks the entry matching the contact's year count (Year 1 on first birthday, etc.). Supported merge tags: {first_name}, {last_name}, {company_name}, {age}.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `(body)` | body | object[] | yes | Array of birthday message objects. Each must have: channels (array of "email" and/or "sms"), email_subject (string), email_body (string), sms_body (string). Optional: label (string). |

## Request example

```bash
curl -X PUT \
  "/company/birthday-messages" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "label": "Year 1",
      "channels": ["email", "sms"],
      "email_subject": "Happy Birthday {first_name}!",
      "email_body": "Hi {first_name}, best wishes from {company_name}!",
      "sms_body": "Happy Birthday {first_name}! From {company_name}."
    }
  ]'
```

## Response example

```json
{
  "data": [
    {
      "label": "Year 1",
      "channels": ["email", "sms"],
      "email_subject": "Happy Birthday {first_name}!",
      "email_body": "Hi {first_name}, best wishes from {company_name}!",
      "sms_body": "Happy Birthday {first_name}! From {company_name}."
    }
  ],
  "meta": { "credits_remaining": 9489 }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`