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

FieldTypeRequiredDescription
namestringYesThe 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

FieldTypeRequiredDescription
invite_codestringYesUUID 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
}