Skip to main content
GET
Get my active protocol of a type

Authorizations

Authorization
string
header
default:Bearer sandbox_any_token_works
required

A 15-minute token bound to one patient and one enrollment, issued by POST /v1/oauth/token with the token-exchange grant. Treat it as opaque. When it expires, exchange a fresh assertion; there is no refresh token.

Path Parameters

protocol_type
enum<string>
required
Available options:
nutrition,
fitness,
sleep,
stress,
lifestyle,
supplements
Example:

"nutrition"

Response

The active protocol.

id
string<uuid>
required
Example:

"0190f5c6-8b9c-7d01-8e23-4f5a6b7c8d90"

type
enum<string>
required
Available options:
nutrition,
fitness,
sleep,
stress,
lifestyle,
supplements
Example:

"nutrition"

version
integer
required
Example:

2

status
enum<string>
required

Drafts are never shown to patients.

Available options:
active,
superseded
Example:

"active"

mode
enum<string>
required

full_plan protocols come with a meal or workout plan.

Available options:
guideline,
full_plan
Example:

"full_plan"

title
string
required
Example:

"Protein-first nutrition, titration weeks 5-8"

published_at
string<date-time>
required

ISO 8601 in UTC.

Example:

"2026-10-26T14:05:00Z"

published_by
enum<string>
required

coach when a coach approved it; ai_coach when the AI Coach published it on its own (ai_only with ai_autonomy = auto).

Available options:
coach,
ai_coach
Example:

"coach"

content
object
required
summary
string | null
Example:

"Hit 110 g of protein a day and keep meals small while the dose goes up."

change_reason
string | null

Why this version replaced the previous one.

Example:

"Dose increased to 0.5 mg"