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.
{
"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.
| Name | Type | Required | Description |
|---|---|---|---|
firstName | string | optional | First name |
lastName | string | optional | Last name |
occupation | string | optional | Job title or occupation |
activityLevel | string | optional | "sedentary" | "light" | "moderate" | "active" | "very_active" |
fitnessGoal | string | optional | "lose_weight" | "build_muscle" | "maintain" | "improve_endurance" | "flexibility" |
stressLevel | number | optional | Self-reported stress 1–10 |
sleepHours | number | optional | Average hours of sleep per night |
goals | object | optional | { shortTerm: string[], longTerm: string[] } |
{
"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.
{
"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).
| Name | Type | Required | Description |
|---|---|---|---|
id | string | required | Plan ID |
{
"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.
| Name | Type | Required | Description |
|---|---|---|---|
type | string | required | "fitness" | "nutrition" | "learning" | "productivity" | "financial" | "wellbeing" | "custom" |
title | string | required | Plan title |
description | string | optional | One-sentence description |
content | object | optional | Plan content object: { overview, goals, sections, duration } |
status | string | optional | "active" (default) | "completed" | "archived" |
{
"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.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | required | Plan ID |
| Name | Type | Required | Description |
|---|---|---|---|
title | string | optional | Updated title |
status | string | optional | "active" | "completed" | "archived" |
content | object | optional | Replacement content object |
{
"plan": {
"id": "plan_abc",
"status": "completed",
"updatedAt": "2026-06-04T12:00:00Z"
}
}Delete a life plan. Returns 204 No Content.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | required | Plan ID |