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

# POST Add members

> Add multiple contacts to a group.

## Endpoint

```txt theme={null}
POST /api/v1/contacts/groups/{groupId}/members
```

## Parameters path

| Nom       | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `groupId` | UUID | yes      | Group ID    |

## Body

| Field        | Type    | Required | Description                   |
| ------------ | ------- | -------- | ----------------------------- |
| `contactIds` | UUID\[] | yes      | 1 to 10000 contact IDs to add |

## Success response `200`

```json theme={null}
{
  "data": {
    "added": 2,
    "alreadyInGroup": 0,
    "notFound": 0,
    "total": 2
  }
}
```

## Async response `202`

When `contactIds.length >= 100`, the operation runs in background.

```json theme={null}
{
  "data": {
    "mode": "async",
    "jobId": "job_abc123",
    "status": "pending",
    "operation": "add_to_group",
    "requestedCount": 4900,
    "groupId": "uuid-group",
    "progress": 0,
    "message": "Bulk operation queued. Check status via GET /api/contacts/bulk-jobs/job_abc123"
  }
}
```

## Notes

* `< 100` contacts: synchronous response
* `>= 100` contacts: asynchronous response with HTTP `202`
* Poll `GET /api/v1/contacts/bulk-jobs/{jobId}/progress` every `2s`
