Family
Family enables multi-user collaboration in Pulse. A family owner can invite members (up to 5 total), share projects, and assign tasks to family members. Members join via a UUID invite code.
GET /api/v1/family
Get the authenticated user's family information, including all members.
Response
{
"id": "clxf1a2b3...",
"name": "The Smiths",
"invite_code": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"members": [
{
"id": "clxu1s2e3...",
"name": "Daniel",
"email": "daniel@example.com",
"role": "owner",
"joinedAt": "2026-01-01T10:00:00.000Z"
},
{
"id": "clxu4m5e6...",
"name": "Alex",
"email": "alex@example.com",
"role": "member",
"joinedAt": "2026-02-15T10:00:00.000Z"
}
],
"createdAt": "2026-01-01T10:00:00.000Z"
}
POST /api/v1/family
Create a new family. The authenticated user becomes the owner. Maximum of 5 members per family.
Request Body
{
"name": "The Smiths"
}
Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The family name |
Response
Returns the created family object with an auto-generated invite code.
POST /api/v1/family/invite
Regenerate the family invite code. Only the family owner can perform this action. The previous invite code will be invalidated.
Response
{
"invite_code": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
}
POST /api/v1/family/join
Join an existing family using an invite code.
Request Body
{
"invite_code": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
Fields
| Field | Type | Required | Description |
|---|---|---|---|
invite_code | string | Yes | UUID invite code provided by the family owner |
Response
Returns the family object the user has joined.
DELETE /api/v1/family/members/:id
Remove a member from the family. Only the family owner can perform this action. The owner cannot remove themselves.
Response
{
"success": true
}