---
title: "Add a member to a contact group"
method: POST
path: "/v1/contact-groups/{id}/members"
tags: ["Contact Groups"]
---

# Add a member to a contact group

`POST /v1/contact-groups/{id}/members`

## Request

- Base URL: `https://api.honkio.ca`
- URL: `https://api.honkio.ca/v1/contact-groups/{id}/members`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Provide either `contact_id` (existing Contact record) or `phone_number` (will be auto-created if not exists).

Requires `contact_groups:m`.

## Path parameters

- `id` string, required

## Request body

- object
  - `contact_id` string
  - `phone_number` string

## Response `201`

The member added.

- object: The member added.
  - `id` string, required: The contact id.
  - `phone_number` string, required
  - `name` string, nullable, required
  - `added_at` string, date-time, required

## Other responses

- `401`: Missing, invalid, revoked or expired API key.
- `402`: The account has no balance, or a LIVE key was used before the first top-up.
- `403`: LIVE_KEY_REQUIRED when a test key tries to change something a live key's allow/deny list references; KEY_FENCED when the change would loosen the calling key's own allow/deny fence. Also FORBIDDEN when the key lacks the permission.
- `404`: CONTACT_GROUP_NOT_FOUND or CONTACT_NOT_FOUND.
- `409`: CONTACT_GROUP_MEMBER_EXISTS.
- `422`: VALIDATION_ERROR (neither contact_id nor phone_number), INVALID_PHONE_NUMBER or CONTACT_HAS_NO_PHONE (the contact has no phone number).
- `429`: Rate limit reached: 100 requests per second per account, or a route-specific limit (Retry-After set where one applies).
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/honkio/apis/honkio-api.md) · [All operations](https://skmtc.dev/honkio/apis/honkio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/honkio/apis/honkio-api/revisions/ce4ed3fe9691?raw)
