Life Copilot

Life Copilot stores personal context — health, goals, work schedule, memories — and uses it to generate structured life plans. Via the API you can read and update profiles, create and manage plans, and build personalised coaching apps.

Profile

Get the life profile for the user associated with the API key. Returns health data, goals, occupation, and personal context.

Response
{
  "profile": {
    "firstName": "Alex",
    "occupation": "Founder",
    "fitnessGoal": "build_muscle",
    "activityLevel": "moderate",
    "goals": {
      "shortTerm": ["Launch v2", "Hit 50 customers"],
      "longTerm": ["Build profitable company", "Work 4 days/week"]
    }
  }
}

Update (or create) the user's life profile. All fields are optional — only provided fields are updated. Uses an upsert — safe to call even if no profile exists yet.

Request body
NameTypeRequiredDescription
firstNamestringoptionalFirst name
lastNamestringoptionalLast name
occupationstringoptionalJob title or occupation
activityLevelstringoptional"sedentary" | "light" | "moderate" | "active" | "very_active"
fitnessGoalstringoptional"lose_weight" | "build_muscle" | "maintain" | "improve_endurance" | "flexibility"
stressLevelnumberoptionalSelf-reported stress 1–10
sleepHoursnumberoptionalAverage hours of sleep per night
goalsobjectoptional{ shortTerm: string[], longTerm: string[] }
Response
{
  "profile": {
    "id": "prof_abc",
    "firstName": "Alex",
    "occupation": "Founder",
    "activityLevel": "moderate",
    "updatedAt": "2026-06-04T10:00:00Z"
  }
}

Plans

List all life plans for the user. Plans are structured AI-generated roadmaps across domains like fitness, nutrition, learning, and finance.

Response
{
  "plans": [
    {
      "id": "plan_abc",
      "type": "fitness",
      "title": "12-week strength program",
      "status": "active",
      "createdAt": "2026-05-01T09:00:00Z"
    }
  ]
}

Get a single life plan with its full content (overview, sections, goals, milestones).

Path / Query parameters
NameTypeRequiredDescription
idstringrequiredPlan ID
Response
{
  "plan": {
    "id": "plan_abc",
    "type": "fitness",
    "title": "12-week strength program",
    "status": "active",
    "content": {
      "overview": "Progressive strength training...",
      "goals": ["Squat 100kg", "Bench 80kg"],
      "sections": [ { "title": "Week 1-4", "items": [ ... ] } ]
    }
  }
}

Create a new life plan. You can create plans programmatically and later have the AI generate journey paths for them in the app.

Request body
NameTypeRequiredDescription
typestringrequired"fitness" | "nutrition" | "learning" | "productivity" | "financial" | "wellbeing" | "custom"
titlestringrequiredPlan title
descriptionstringoptionalOne-sentence description
contentobjectoptionalPlan content object: { overview, goals, sections, duration }
statusstringoptional"active" (default) | "completed" | "archived"
Response
{
  "plan": {
    "id": "plan_xyz",
    "type": "learning",
    "title": "Learn TypeScript in 30 days",
    "status": "active",
    "createdAt": "2026-06-04T10:00:00Z"
  }
}

Update any field on an existing plan. Commonly used to update status, add content sections, or mark a plan as completed.

Path / Query parameters
NameTypeRequiredDescription
idstringrequiredPlan ID
Request body
NameTypeRequiredDescription
titlestringoptionalUpdated title
statusstringoptional"active" | "completed" | "archived"
contentobjectoptionalReplacement content object
Response
{
  "plan": {
    "id": "plan_abc",
    "status": "completed",
    "updatedAt": "2026-06-04T12:00:00Z"
  }
}

Delete a life plan. Returns 204 No Content.

Path / Query parameters
NameTypeRequiredDescription
idstringrequiredPlan ID