A brand's server, one OAuth client per brand and environment. Get a token with the
client_credentials grant and send it as Authorization: Bearer <token>. Tokens last 1 hour.
A brand server reads status and ids only; it never reads clinical content. A platform partner holds one
client for all its brands and gets one token per brand, naming it with tenant_id.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TeraRx API","description":"GLP-1 coaching for telehealth brands, their patients and their prescribers.","colors":{"primary":"#465FFF","light":"#7592FF","dark":"#2A31D8"},"logo":{"light":"https://mintcdn.com/tera-health/uWz_0YeC9jmRBnOf/logo/terarx-logo-on-light.webp?fit=max\u0026auto=format\u0026n=uWz_0YeC9jmRBnOf\u0026q=85\u0026s=e1b13d13ab2a8adf4dd39a95782a1e51","dark":"https://mintcdn.com/tera-health/uWz_0YeC9jmRBnOf/logo/terarx-logo-on-dark.webp?fit=max\u0026auto=format\u0026n=uWz_0YeC9jmRBnOf\u0026q=85\u0026s=e22a4d909beab942b4f07d1241ad3f50","href":"/introduction"},"favicon":"https://mintcdn.com/tera-health/Etya93TUDmx6XFCd/logo/terarx-mark-192.png?fit=max\u0026auto=format\u0026n=Etya93TUDmx6XFCd\u0026q=85\u0026s=8affa9c088be3e81c330395cc04d8772","api":{"playground":{"display":"interactive","proxy":false},"examples":{"languages":["curl","javascript","python"],"prefill":true}},"appearance":{"default":"light"},"navbar":{"primary":{"type":"button","label":"Quickstart","href":"/quickstart"}},"footer":{"links":[{"header":"Try it","items":[{"label":"Postman collection","href":"https://sandbox.rx.tera.health/docs/postman/terarx-v1.postman_collection.json"},{"label":"Postman environment","href":"https://sandbox.rx.tera.health/docs/postman/terarx-sandbox.postman_environment.json"},{"label":"Samples","href":"/samples"}]}]},"fonts":{"family":"Outfit"},"icons":{"library":"lucide"},"banner":{"content":"This contract is a draft for partner review. Every example uses synthetic data.","dismissible":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tera-health","hasAudioNarration":false,"actualSubdomain":"tera-health","customDomains":["docs.tera.health"],"gitSource":{"type":"github","owner":"tera-engineering","repo":"terarx","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":"","_id":"6ae13351e0799c60782bc4ce"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af0a42e99ffa6db69675356","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API reference","count":139},{"language":"default","tag":"Webhooks","count":22},{"language":"default","tag":"Logging","count":21},{"language":"default","tag":"Brand logs","count":13},{"language":"default","tag":"Guides","count":12},{"language":"default","tag":"AI Coach","count":9},{"language":"default","tag":"Enrollments","count":9},{"language":"default","tag":"Protocols and plans","count":8},{"language":"default","tag":"Care messaging","count":7},{"language":"default","tag":"Library","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/enrollments/get-an-enrollment","slug":"/api-reference/enrollments/get-an-enrollment","pageMetadata":{"title":"Get an enrollment","description":"Stage, care team status, form status, protocol timestamps and risk level. No clinical content.\n\n**Scope:** `enrollments:read`.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enrollments/{enrollment_id}","href":"/api-reference/enrollments/get-an-enrollment","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Stage, care team status, form status, protocol timestamps and risk level. No clinical content.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Scope:\"\n }), \" \", _jsx(_components.code, {\n children: \"enrollments:read\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get an enrollment","description":"Stage, care team status, form status, protocol timestamps and risk level. No clinical content.\n\n**Scope:** `enrollments:read`.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enrollments/{enrollment_id}","href":"/api-reference/enrollments/get-an-enrollment","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getEnrollment","tags":["Enrollments"],"summary":"Get an enrollment","description":"Stage, care team status, form status, protocol timestamps and risk level. No clinical content.\n\n**Scope:** `enrollments:read`.","security":["bb793b00-f461-4b11-9991-b7fdf34408d4"],"responses":{"200":"728e43c6-41ce-439f-b2b5-f2fc6849fb26","401":"7e42c8fb-66f6-4cae-8f57-cb45da57c724","403":"bcd5b689-a8df-40f8-8e00-4877ce2a722c","404":"93251bcd-02e3-4e1d-8942-1b0247b68a74","422":"0576dfcc-6fc8-4a60-a4ce-f991338720e6","429":"3574f380-1134-463f-9426-58dc97a97e94"},"method":"get","type":"path","servers":["cbd6961c-1d43-4b1a-ace5-6c8cd05a19e6","d31af898-dd82-49ef-beb0-575942e35d63"],"path":"/v1/enrollments/{enrollment_id}","baseUrlOptions":["https://sandbox.rx.tera.health","http://localhost:4010"],"title":"Get an enrollment","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[],"disableProxy":true},"dependencies":{"parameters":{"33a4b72f-173e-4dc8-95f1-fb39fa50c7cd":{"name":"enrollment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","x-default":"0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"example":"0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5"}},"responses":{"728e43c6-41ce-439f-b2b5-f2fc6849fb26":{"description":"The enrollment.","content":{"application/json":{"schema":{"type":"object","description":"The brand server's view of an enrollment. Status and ids only, never clinical content.","required":["id","external_patient_id","plan_code","status","stage","risk_level","data_sharing","created_at","care_team","forms","protocols"],"properties":{"id":{"type":"string","format":"uuid","example":"0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"external_patient_id":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[\\x21-\\x7E]+$","description":"Your own identifier, printable ASCII without spaces.","example":"brand-pt-48213","isRequired":true,"uniqueKey":"external_patient_id","typeLabel":"string"},"plan_code":{"type":"string","enum":["ai_only","ai_health_fitness"],"description":"* `ai_only`: the AI Coach only. Escalations go to the brand's prescriber as clinical flags.\n* `ai_health_fitness`: the AI Coach plus a health coach (nutrition) and a fitness coach.\n","example":"ai_health_fitness","isRequired":true,"uniqueKey":"plan_code","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending_screening","ineligible","active","paused","cancelled","completed"],"example":"active","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"stage":{"type":"string","enum":["created","awaiting_assignment","assigned","onboarding_pending","onboarding_completed","protocols_active"],"example":"onboarding_pending","isRequired":true,"uniqueKey":"stage","typeLabel":"enum\u003cstring>"},"risk_level":{"type":"string","enum":["normal","elevated","high"],"description":"Raised by clinical flags. Only a prescriber's resolve lowers it.","example":"normal","isRequired":true,"uniqueKey":"risk_level","typeLabel":"enum\u003cstring>"},"data_sharing":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"data_sharing","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","description":"ISO 8601 in UTC.","example":"2026-10-26T14:05:00Z","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"care_team":{"type":"array","description":"Empty on `ai_only`.","items":{"type":"object","description":"One care role on the coached plan. Brand servers see whether it is filled, never who fills it.","required":["care_role","assigned"],"properties":{"care_role":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"A care role on the coached plan. Today `health_coach` or `fitness_coach`; more may be added.","example":"health_coach","isRequired":true,"uniqueKey":"care_team.items.[INDEX].care_role","typeLabel":"string"},"assigned":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"care_team.items.[INDEX].assigned","typeLabel":"boolean"},"assigned_at":{"oneOf":[{"type":"string","format":"date-time","example":"2026-10-21T15:12:00Z","uniqueKey":"care_team.items.[INDEX].assigned_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":"2026-10-21T15:12:00Z","uniqueKey":"care_team.items.[INDEX].assigned_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"care_team.items.[INDEX].assigned_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"care_team.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"care_team","typeLabel":"object[]"},"forms":{"type":"array","items":{"type":"object","required":["form_assignment_id","form_code","purpose","status","blocks_onboarding"],"properties":{"form_assignment_id":{"type":"string","format":"uuid","example":"0190f5c3-7e21-7a40-9b11-5d6e7f8091a2","isRequired":true,"uniqueKey":"forms.items.[INDEX].form_assignment_id","typeLabel":"string\u003cuuid>"},"form_code":{"type":"string","example":"glp1_onboarding","isRequired":true,"uniqueKey":"forms.items.[INDEX].form_code","typeLabel":"string"},"purpose":{"type":"string","enum":["onboarding","check_in","eligibility"],"example":"onboarding","isRequired":true,"uniqueKey":"forms.items.[INDEX].purpose","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","sent","in_progress","completed","expired","cancelled"],"example":"sent","isRequired":true,"uniqueKey":"forms.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"blocks_onboarding":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"forms.items.[INDEX].blocks_onboarding","typeLabel":"boolean"},"due_at":{"oneOf":[{"type":"string","format":"date-time","example":"2026-10-24T15:00:00Z","uniqueKey":"forms.items.[INDEX].due_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":"2026-10-24T15:00:00Z","uniqueKey":"forms.items.[INDEX].due_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"forms.items.[INDEX].due_at","typeLabel":"string\u003cdate-time> | null"},"completed_at":{"oneOf":[{"type":"string","format":"date-time","example":null,"uniqueKey":"forms.items.[INDEX].completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":null,"uniqueKey":"forms.items.[INDEX].completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"forms.items.[INDEX].completed_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"forms.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"forms","typeLabel":"object[]"},"protocols":{"type":"array","description":"Active protocols.","items":{"type":"object","description":"Timestamps only. The content is for the patient and the care team.","required":["protocol_id","type","version","published_at"],"properties":{"protocol_id":{"type":"string","format":"uuid","example":"0190f5c6-8b9c-7d01-8e23-4f5a6b7c8d90","isRequired":true,"uniqueKey":"protocols.items.[INDEX].protocol_id","typeLabel":"string\u003cuuid>"},"type":{"type":"string","enum":["nutrition","fitness","sleep","stress","lifestyle","supplements"],"example":"nutrition","isRequired":true,"uniqueKey":"protocols.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"version":{"type":"integer","example":1,"isRequired":true,"uniqueKey":"protocols.items.[INDEX].version","typeLabel":"integer"},"published_at":{"type":"string","format":"date-time","description":"ISO 8601 in UTC.","example":"2026-10-26T14:05:00Z","isRequired":true,"uniqueKey":"protocols.items.[INDEX].published_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"protocols.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"protocols","typeLabel":"object[]"},"external_order_id":{"oneOf":[{"type":"string","example":"ord-2026-10-000123","uniqueKey":"external_order_id.oneOf.0","typeLabel":"string"},{"type":"null","example":"ord-2026-10-000123","uniqueKey":"external_order_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"external_order_id","typeLabel":"string | null"},"purchased_at":{"oneOf":[{"type":"string","format":"date-time","example":"2026-10-21T14:58:00Z","uniqueKey":"purchased_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":"2026-10-21T14:58:00Z","uniqueKey":"purchased_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"purchased_at","typeLabel":"string\u003cdate-time> | null"},"assigned_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the last care role was filled.","example":"2026-10-21T15:12:00Z","uniqueKey":"assigned_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the last care role was filled.","example":"2026-10-21T15:12:00Z","uniqueKey":"assigned_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"assigned_at","typeLabel":"string\u003cdate-time> | null"},"onboarding_completed_at":{"oneOf":[{"type":"string","format":"date-time","example":null,"uniqueKey":"onboarding_completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":null,"uniqueKey":"onboarding_completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"onboarding_completed_at","typeLabel":"string\u003cdate-time> | null"},"first_protocol_published_at":{"oneOf":[{"type":"string","format":"date-time","example":null,"uniqueKey":"first_protocol_published_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":null,"uniqueKey":"first_protocol_published_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"first_protocol_published_at","typeLabel":"string\u003cdate-time> | null"},"last_activity_at":{"oneOf":[{"type":"string","format":"date-time","description":"Last patient activity, updated about hourly.","example":"2026-10-26T13:40:00Z","uniqueKey":"last_activity_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Last patient activity, updated about hourly.","example":"2026-10-26T13:40:00Z","uniqueKey":"last_activity_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_activity_at","typeLabel":"string\u003cdate-time> | null"},"ended_at":{"oneOf":[{"type":"string","format":"date-time","example":null,"uniqueKey":"ended_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","example":null,"uniqueKey":"ended_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"ended_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","external_patient_id":"brand-pt-48213","external_order_id":"ord-2026-10-000123","plan_code":"ai_only","status":"active","stage":"protocols_active","risk_level":"elevated","data_sharing":true,"purchased_at":"2026-10-21T14:58:00Z","created_at":"2026-10-21T14:58:02Z","assigned_at":null,"onboarding_completed_at":"2026-10-22T09:30:00Z","first_protocol_published_at":"2026-10-22T09:31:10Z","last_activity_at":"2026-10-26T13:40:00Z","ended_at":null,"care_team":[],"forms":[{"form_assignment_id":"0190f5c3-7e21-7a40-9b11-5d6e7f8091a2","form_code":"glp1_onboarding","purpose":"onboarding","status":"completed","blocks_onboarding":true,"due_at":"2026-10-24T15:00:00Z","completed_at":"2026-10-22T09:30:00Z"}],"protocols":[{"protocol_id":"0190f5c6-8b9c-7d01-8e23-4f5a6b7c8d90","type":"nutrition","version":2,"published_at":"2026-10-25T08:00:00Z"}]},"examples":{"Example":{"title":"Example","value":{"id":"0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","external_patient_id":"brand-pt-48213","external_order_id":"ord-2026-10-000123","plan_code":"ai_only","status":"active","stage":"protocols_active","risk_level":"elevated","data_sharing":true,"purchased_at":"2026-10-21T14:58:00Z","created_at":"2026-10-21T14:58:02Z","assigned_at":null,"onboarding_completed_at":"2026-10-22T09:30:00Z","first_protocol_published_at":"2026-10-22T09:31:10Z","last_activity_at":"2026-10-26T13:40:00Z","ended_at":null,"care_team":[],"forms":[{"form_assignment_id":"0190f5c3-7e21-7a40-9b11-5d6e7f8091a2","form_code":"glp1_onboarding","purpose":"onboarding","status":"completed","blocks_onboarding":true,"due_at":"2026-10-24T15:00:00Z","completed_at":"2026-10-22T09:30:00Z"}],"protocols":[{"protocol_id":"0190f5c6-8b9c-7d01-8e23-4f5a6b7c8d90","type":"nutrition","version":2,"published_at":"2026-10-25T08:00:00Z"}]}}},"exampleType":"examples"}},"headers":{"X-Request-Id":{"description":"Unique id of this request. Echoes a valid `X-Request-Id` you sent, otherwise generated. Also in every problem body.","schema":{"type":"string"},"example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"RateLimit-Limit":{"description":"Requests allowed per minute for this client (600 by default, set per contract).","schema":{"type":"integer"},"example":600},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"},"example":587},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"},"example":42}},"exampleType":"examples"},"7e42c8fb-66f6-4cae-8f57-cb45da57c724":{"description":"The access token is missing, expired or revoked.","headers":{"X-Request-Id":{"description":"Unique id of this request. Echoes a valid `X-Request-Id` you sent, otherwise generated. Also in every problem body.","schema":{"type":"string"},"example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"RateLimit-Limit":{"description":"Requests allowed per minute for this client (600 by default, set per contract).","schema":{"type":"integer"},"example":600},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"},"example":587},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"},"example":42},"WWW-Authenticate":{"description":"The scheme to authenticate with.","schema":{"type":"string"},"example":"Bearer error=\"invalid_token\""}},"content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details, sent as `application/problem+json` with every 4xx and 5xx.\nA problem never contains patient data: no names, no values from the request, no free text the caller sent.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","description":"`about:blank` until the docs have a public home. Branch on `code`, not on `type` or `title`.","example":"about:blank","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","description":"The HTTP status phrase.","example":"Not Found","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Stable machine-readable code. New codes may be added; existing ones never change meaning.","example":"enrollment_not_found","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","description":"Same value as the `X-Request-Id` response header. Quote it when you contact TeraRx.","example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in words safe to log.","example":"No enrollment with this id is visible to this client.","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","description":"The path of the request that failed.","example":"/v1/enrollments/0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"errors":{"type":"array","description":"One entry per invalid field, for `validation_failed`.","items":{"type":"object","required":["pointer","code"],"properties":{"pointer":{"type":"string","description":"JSON Pointer (RFC 6901) to the field in the request body, or `path:\u003cname>`, `query:\u003cname>` or `header:\u003cname>` for a parameter.","example":"/patient/state_code","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","out_of_range","too_long","unknown_value","not_allowed"],"example":"invalid_format","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","description":"What the field must look like. Never repeats the value that was sent.","example":"Must be a two-letter USPS state code.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"about:blank","title":"Unauthorized","status":401,"detail":"The access token has expired. Request a new one.","code":"token_expired","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"examples":{"Example":{"title":"Example","value":{"type":"about:blank","title":"Unauthorized","status":401,"detail":"The access token has expired. Request a new one.","code":"token_expired","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"}}},"exampleType":"examples"}},"exampleType":"examples"},"bcd5b689-a8df-40f8-8e00-4877ce2a722c":{"description":"The token is valid but lacks the scope, or the resource is not available on the patient's plan.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details, sent as `application/problem+json` with every 4xx and 5xx.\nA problem never contains patient data: no names, no values from the request, no free text the caller sent.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","description":"`about:blank` until the docs have a public home. Branch on `code`, not on `type` or `title`.","example":"about:blank","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","description":"The HTTP status phrase.","example":"Not Found","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Stable machine-readable code. New codes may be added; existing ones never change meaning.","example":"enrollment_not_found","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","description":"Same value as the `X-Request-Id` response header. Quote it when you contact TeraRx.","example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in words safe to log.","example":"No enrollment with this id is visible to this client.","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","description":"The path of the request that failed.","example":"/v1/enrollments/0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"errors":{"type":"array","description":"One entry per invalid field, for `validation_failed`.","items":{"type":"object","required":["pointer","code"],"properties":{"pointer":{"type":"string","description":"JSON Pointer (RFC 6901) to the field in the request body, or `path:\u003cname>`, `query:\u003cname>` or `header:\u003cname>` for a parameter.","example":"/patient/state_code","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","out_of_range","too_long","unknown_value","not_allowed"],"example":"invalid_format","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","description":"What the field must look like. Never repeats the value that was sent.","example":"Must be a two-letter USPS state code.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"about:blank","title":"Forbidden","status":403,"detail":"This operation needs the enrollments:write scope.","code":"insufficient_scope","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"examples":{"Example":{"title":"Example","value":{"type":"about:blank","title":"Forbidden","status":403,"detail":"This operation needs the enrollments:write scope.","code":"insufficient_scope","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"}}},"exampleType":"examples"}},"headers":{"X-Request-Id":{"description":"Unique id of this request. Echoes a valid `X-Request-Id` you sent, otherwise generated. Also in every problem body.","schema":{"type":"string"},"example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"RateLimit-Limit":{"description":"Requests allowed per minute for this client (600 by default, set per contract).","schema":{"type":"integer"},"example":600},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"},"example":587},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"},"example":42}},"exampleType":"examples"},"93251bcd-02e3-4e1d-8942-1b0247b68a74":{"description":"No such resource, or it belongs to another tenant or patient. The API does not tell the two apart,\nso ids cannot be probed across brands.\n","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details, sent as `application/problem+json` with every 4xx and 5xx.\nA problem never contains patient data: no names, no values from the request, no free text the caller sent.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","description":"`about:blank` until the docs have a public home. Branch on `code`, not on `type` or `title`.","example":"about:blank","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","description":"The HTTP status phrase.","example":"Not Found","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Stable machine-readable code. New codes may be added; existing ones never change meaning.","example":"enrollment_not_found","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","description":"Same value as the `X-Request-Id` response header. Quote it when you contact TeraRx.","example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in words safe to log.","example":"No enrollment with this id is visible to this client.","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","description":"The path of the request that failed.","example":"/v1/enrollments/0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"errors":{"type":"array","description":"One entry per invalid field, for `validation_failed`.","items":{"type":"object","required":["pointer","code"],"properties":{"pointer":{"type":"string","description":"JSON Pointer (RFC 6901) to the field in the request body, or `path:\u003cname>`, `query:\u003cname>` or `header:\u003cname>` for a parameter.","example":"/patient/state_code","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","out_of_range","too_long","unknown_value","not_allowed"],"example":"invalid_format","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","description":"What the field must look like. Never repeats the value that was sent.","example":"Must be a two-letter USPS state code.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"about:blank","title":"Not Found","status":404,"detail":"No enrollment with this id is visible to this client.","code":"enrollment_not_found","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"examples":{"Example":{"title":"Example","value":{"type":"about:blank","title":"Not Found","status":404,"detail":"No enrollment with this id is visible to this client.","code":"enrollment_not_found","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"}}},"exampleType":"examples"}},"headers":{"X-Request-Id":{"description":"Unique id of this request. Echoes a valid `X-Request-Id` you sent, otherwise generated. Also in every problem body.","schema":{"type":"string"},"example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"RateLimit-Limit":{"description":"Requests allowed per minute for this client (600 by default, set per contract).","schema":{"type":"integer"},"example":600},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"},"example":587},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"},"example":42}},"exampleType":"examples"},"0576dfcc-6fc8-4a60-a4ce-f991338720e6":{"description":"A path, query or header value, or the body, fails validation (for example an id that isn't a UUID, or a\nfield out of range), or an `Idempotency-Key` was reused with a different body. `errors` lists each problem.\n","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details, sent as `application/problem+json` with every 4xx and 5xx.\nA problem never contains patient data: no names, no values from the request, no free text the caller sent.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","description":"`about:blank` until the docs have a public home. Branch on `code`, not on `type` or `title`.","example":"about:blank","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","description":"The HTTP status phrase.","example":"Not Found","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Stable machine-readable code. New codes may be added; existing ones never change meaning.","example":"enrollment_not_found","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","description":"Same value as the `X-Request-Id` response header. Quote it when you contact TeraRx.","example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in words safe to log.","example":"No enrollment with this id is visible to this client.","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","description":"The path of the request that failed.","example":"/v1/enrollments/0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"errors":{"type":"array","description":"One entry per invalid field, for `validation_failed`.","items":{"type":"object","required":["pointer","code"],"properties":{"pointer":{"type":"string","description":"JSON Pointer (RFC 6901) to the field in the request body, or `path:\u003cname>`, `query:\u003cname>` or `header:\u003cname>` for a parameter.","example":"/patient/state_code","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","out_of_range","too_long","unknown_value","not_allowed"],"example":"invalid_format","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","description":"What the field must look like. Never repeats the value that was sent.","example":"Must be a two-letter USPS state code.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"validation_failed":{"title":"validation_failed","value":{"type":"about:blank","title":"Unprocessable Content","status":422,"detail":"1 field is invalid.","code":"validation_failed","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","errors":[{"pointer":"/patient/state_code","code":"invalid_format","detail":"Must be a two-letter USPS state code."}]}},"invalid_path_parameter":{"title":"invalid_path_parameter","value":{"type":"about:blank","title":"Unprocessable Content","status":422,"detail":"1 parameter is invalid.","code":"validation_failed","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","errors":[{"pointer":"path:enrollment_id","code":"invalid_format","detail":"Must be a UUID."}]}},"idempotency_key_reused":{"title":"idempotency_key_reused","value":{"type":"about:blank","title":"Unprocessable Content","status":422,"detail":"This Idempotency-Key was used with a different request body in the last 24 hours.","code":"idempotency_key_reused","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"}}},"exampleType":"examples"}},"headers":{"X-Request-Id":{"description":"Unique id of this request. Echoes a valid `X-Request-Id` you sent, otherwise generated. Also in every problem body.","schema":{"type":"string"},"example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"RateLimit-Limit":{"description":"Requests allowed per minute for this client (600 by default, set per contract).","schema":{"type":"integer"},"example":600},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"},"example":587},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"},"example":42}},"exampleType":"examples"},"3574f380-1134-463f-9426-58dc97a97e94":{"description":"Rate limit or daily cap reached. Wait `Retry-After` seconds.","headers":{"X-Request-Id":{"description":"Unique id of this request. Echoes a valid `X-Request-Id` you sent, otherwise generated. Also in every problem body.","schema":{"type":"string"},"example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"RateLimit-Limit":{"description":"Requests allowed per minute for this client (600 by default, set per contract).","schema":{"type":"integer"},"example":600},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"},"example":587},"RateLimit-Reset":{"description":"Seconds until the window resets.","schema":{"type":"integer"},"example":42},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"},"example":30}},"content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details, sent as `application/problem+json` with every 4xx and 5xx.\nA problem never contains patient data: no names, no values from the request, no free text the caller sent.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri-reference","description":"`about:blank` until the docs have a public home. Branch on `code`, not on `type` or `title`.","example":"about:blank","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi-reference>"},"title":{"type":"string","description":"The HTTP status phrase.","example":"Not Found","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","minimum":400,"maximum":599,"example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","description":"Stable machine-readable code. New codes may be added; existing ones never change meaning.","example":"enrollment_not_found","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","description":"Same value as the `X-Request-Id` response header. Quote it when you contact TeraRx.","example":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"What went wrong, in words safe to log.","example":"No enrollment with this id is visible to this client.","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","description":"The path of the request that failed.","example":"/v1/enrollments/0190f5c2-3a1b-7c4d-8e9f-a0b1c2d3e4f5","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"errors":{"type":"array","description":"One entry per invalid field, for `validation_failed`.","items":{"type":"object","required":["pointer","code"],"properties":{"pointer":{"type":"string","description":"JSON Pointer (RFC 6901) to the field in the request body, or `path:\u003cname>`, `query:\u003cname>` or `header:\u003cname>` for a parameter.","example":"/patient/state_code","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"code":{"type":"string","enum":["required","invalid_type","invalid_format","out_of_range","too_long","unknown_value","not_allowed"],"example":"invalid_format","isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","description":"What the field must look like. Never repeats the value that was sent.","example":"Must be a two-letter USPS state code.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"about:blank","title":"Too Many Requests","status":429,"detail":"Rate limit of 600 requests per minute reached.","code":"rate_limited","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"},"examples":{"Example":{"title":"Example","value":{"type":"about:blank","title":"Too Many Requests","status":429,"detail":"Rate limit of 600 requests per minute reached.","code":"rate_limited","request_id":"req_019a3b2c-4d5e-7f60-8a1b-2c3d4e5f6a7b"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"bb793b00-f461-4b11-9991-b7fdf34408d4":{"brandServer":{"type":"http","scheme":"bearer","description":"A brand's server, one OAuth client per brand and environment. Get a token with the\n`client_credentials` grant and send it as `Authorization: Bearer \u003ctoken>`. Tokens last 1 hour.\nA brand server reads status and ids only; it never reads clinical content. A platform partner holds one\nclient for all its brands and gets one token per brand, naming it with `tenant_id`.\n","x-default":"Bearer sandbox_any_token_works","scopes":["enrollments:read"],"schemeName":"brandServer"}}},"servers":{"cbd6961c-1d43-4b1a-ace5-6c8cd05a19e6":{"url":"https://sandbox.rx.tera.health","description":"Partner sandbox, synthetic data only"},"d31af898-dd82-49ef-beb0-575942e35d63":{"url":"http://localhost:4010","description":"Local mock (Prism on the bundled spec), answers with the examples in this spec"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A brand's server, one OAuth client per brand and environment. Get a token with the\n`client_credentials` grant and send it as `Authorization: Bearer \u003ctoken>`. Tokens last 1 hour.\nA brand server reads status and ids only; it never reads clinical content. A platform partner holds one\nclient for all its brands and gets one token per brand, naming it with `tenant_id`.\n","x-default":"Bearer sandbox_any_token_works","scopes":["enrollments:read"],"schemeName":"brandServer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A brand's server, one OAuth client per brand and environment. Get a token with the\n`client_credentials` grant and send it as `Authorization: Bearer \u003ctoken>`. Tokens last 1 hour.\nA brand server reads status and ids only; it never reads clinical content. A platform partner holds one\nclient for all its brands and gets one token per brand, naming it with `tenant_id`.\n","format":"bearer","default":"Bearer sandbox_any_token_works","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"brandServer","name":"Authorization"}],"title":"brandServer"}]},"originalFileLocation":"openapi.json"},"subdomain":"tera-health","siteName":"TeraRx API","title":"Get an enrollment - TeraRx API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-08T16:32:54.476Z","originalFileLocation":"api-reference/enrollments/get-an-enrollment.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Stage, care team status, form status, protocol timestamps and risk level. No clinical content. Scope: enrollments:read.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TeraRx API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get an enrollment - TeraRx API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Stage, care team status, form status, protocol timestamps and risk level. No clinical content. Scope: enrollments:read.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TeraRx API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tera-health.mintlify.site/_mintlify/api/og/v2?division=Enrollments\u0026amp;title=Get+an+enrollment\u0026amp;description=Stage%2C+care+team+status%2C+form+status%2C+protocol+timestamps+and+risk+level.+No+clinical+content.%0A%0A**Scope%3A**+%60enrollments%3Aread%60.\u0026amp;theme=bbf8a14dc4b43edfc4280bbc\u0026amp;signature=781fcadc1eae1c19eada609aee6fdb16f36cb4799b0df4c081b6980a1a7fc35d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get an enrollment - TeraRx API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Stage, care team status, form status, protocol timestamps and risk level. No clinical content. Scope: enrollments:read.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tera-health.mintlify.site/_mintlify/api/og/v2?division=Enrollments\u0026amp;title=Get+an+enrollment\u0026amp;description=Stage%2C+care+team+status%2C+form+status%2C+protocol+timestamps+and+risk+level.+No+clinical+content.%0A%0A**Scope%3A**+%60enrollments%3Aread%60.\u0026amp;theme=bbf8a14dc4b43edfc4280bbc\u0026amp;signature=781fcadc1eae1c19eada609aee6fdb16f36cb4799b0df4c081b6980a1a7fc35d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tera-health/arcliw8PG65YJ6Ho/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TeraRx API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#465FFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/enrollments/get-an-enrollment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tera.health/#organization\",\"name\":\"TeraRx API\",\"url\":\"https://docs.tera.health\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tera-health/uWz_0YeC9jmRBnOf/logo/terarx-logo-on-light.webp?fit=max\u0026auto=format\u0026n=uWz_0YeC9jmRBnOf\u0026q=85\u0026s=e1b13d13ab2a8adf4dd39a95782a1e51\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tera.health#website\",\"name\":\"TeraRx API\",\"url\":\"https://docs.tera.health\",\"publisher\":{\"@id\":\"https://docs.tera.health/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment#webpage\",\"url\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment\",\"name\":\"Get an enrollment\",\"description\":\"Stage, care team status, form status, protocol timestamps and risk level. No clinical content. Scope: enrollments:read.\",\"dateModified\":\"2026-11-08T16:32:54.476Z\",\"isPartOf\":{\"@id\":\"https://docs.tera.health#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Enrollments\",\"item\":\"https://docs.tera.health/api-reference/enrollments/list-enrollments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get an enrollment\",\"item\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment#apireference\",\"headline\":\"Get an enrollment\",\"name\":\"Get an enrollment\",\"description\":\"Stage, care team status, form status, protocol timestamps and risk level. No clinical content. Scope: enrollments:read.\",\"url\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tera.health/api-reference/enrollments/get-an-enrollment#webpage\"},\"dateModified\":\"2026-11-08T16:32:54.476Z\",\"publisher\":{\"@id\":\"https://docs.tera.health/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tera.health#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TeraRx API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"TeraRx API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API reference","groups":[{"group":"Auth","pages":[{"title":"Get an access token","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/oauth/token","href":"/api-reference/auth/get-an-access-token"}]},{"group":"Tenants","pages":[{"title":"List the brands this client may act for","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tenants","href":"/api-reference/tenants/list-the-brands-this-client-may-act-for"}]},{"group":"Enrollments","pages":[{"title":"List enrollments","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enrollments","href":"/api-reference/enrollments/list-enrollments"},{"title":"Enroll a patient","description":"Call this at checkout, or when an existing patient subscribes. In one transaction TeraRx creates the patient\nrecord for your brand (or reuses it for a returning patient), the enrollment, the consent records, the first\ntreatment version and the onboarding form assignments from TeraRx's form rules for your plan, prefilled from `intake`.\nOn the coached plan it then queues coach assignment for each care role.\n\nFires `enrollment.created`, then `form.requested` per form and, once coaches are assigned, `care_team.assigned`.\n\nUnique by `external_order_id`, and by `external_patient_id` among `active` and `paused` enrollments.\nError codes: `enrollment_exists`, `external_order_exists` (409); `plan_not_offered`, `unknown_medication`,\n`unknown_legal_document`, `validation_failed` (422).\n\n\n**Scope:** `enrollments:write`.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments","href":"/api-reference/enrollments/enroll-a-patient"},{"title":"Get an enrollment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enrollments/{enrollment_id}","href":"/api-reference/enrollments/get-an-enrollment"},{"title":"Update the patient's details","description":"Contact details, demographics, time zone, conditions and the health profile, when they change in your system.\nChanges reach the care team at once and apply to plans and AI Coach replies generated after them.\n\nA new `state_code` matters: coaches are licensed per state. A coach not licensed in the new state is taken off the\npatient and a licensed one is found, so you get `care_team.changed` with `reason_code: state_change` (or\n`care_team.capacity_warning` if none is free). Until then that role shows `assigned: false` in the response.\n\nError codes: `enrollment_not_active` (409) for a cancelled or completed enrollment, `validation_failed` (422).\n\n\n**Scope:** `enrollments:write`.","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/enrollments/{enrollment_id}/patient","href":"/api-reference/enrollments/update-the-patients-details"},{"title":"Change plan","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/plan","href":"/api-reference/enrollments/change-plan"},{"title":"Pause","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/pause","href":"/api-reference/enrollments/pause"},{"title":"Resume","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/resume","href":"/api-reference/enrollments/resume"},{"title":"Cancel","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/cancel","href":"/api-reference/enrollments/cancel"},{"title":"Ask the AI Coach to reach out","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/ai-coach-outreach","href":"/api-reference/enrollments/ask-the-ai-coach-to-reach-out"}]},{"group":"Treatment","pages":[{"title":"List medications","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/medications","href":"/api-reference/treatment/list-medications"},{"title":"List treatment versions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enrollments/{enrollment_id}/treatments","href":"/api-reference/treatment/list-treatment-versions"},{"title":"Update the treatment mirror","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/treatments","href":"/api-reference/treatment/update-the-treatment-mirror"}]},{"group":"Consent","pages":[{"title":"List consent records","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/enrollments/{enrollment_id}/consents","href":"/api-reference/consent/list-consent-records"},{"title":"Record consent proof","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/consents","href":"/api-reference/consent/record-consent-proof"}]},{"group":"Brand logs","pages":[{"title":"Send a meal log","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/meals","href":"/api-reference/brand-logs/send-a-meal-log"},{"title":"Send a workout log","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/workouts","href":"/api-reference/brand-logs/send-a-workout-log"},{"title":"Send a symptom log","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/symptoms","href":"/api-reference/brand-logs/send-a-symptom-log"},{"title":"Send an injection log","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/enrollments/{enrollment_id}/injections","href":"/api-reference/brand-logs/send-an-injection-log"},{"title":"Delete a meal log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/enrollments/{enrollment_id}/meals/{external_id}","href":"/api-reference/brand-logs/delete-a-meal-log"},{"title":"Correct a meal log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/enrollments/{enrollment_id}/meals/{external_id}","href":"/api-reference/brand-logs/correct-a-meal-log"},{"title":"Delete a workout log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/enrollments/{enrollment_id}/workouts/{external_id}","href":"/api-reference/brand-logs/delete-a-workout-log"},{"title":"Correct a workout log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/enrollments/{enrollment_id}/workouts/{external_id}","href":"/api-reference/brand-logs/correct-a-workout-log"},{"title":"Delete a symptom log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/enrollments/{enrollment_id}/symptoms/{external_id}","href":"/api-reference/brand-logs/delete-a-symptom-log"},{"title":"Correct a symptom log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/enrollments/{enrollment_id}/symptoms/{external_id}","href":"/api-reference/brand-logs/correct-a-symptom-log"},{"title":"Delete an injection log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/enrollments/{enrollment_id}/injections/{external_id}","href":"/api-reference/brand-logs/delete-an-injection-log"},{"title":"Correct an injection log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/enrollments/{enrollment_id}/injections/{external_id}","href":"/api-reference/brand-logs/correct-an-injection-log"},{"title":"Send daily values","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/enrollments/{enrollment_id}/daily-logs/{log_date}","href":"/api-reference/brand-logs/send-daily-values"}]},{"group":"Events","pages":[{"title":"Replay events","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/events","href":"/api-reference/events/replay-events"},{"title":"Get an event","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/events/{event_id}","href":"/api-reference/events/get-an-event"}]},{"group":"Reports","pages":[{"title":"Get the brand report","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reports/brand","href":"/api-reference/reports/get-the-brand-report"}]},{"group":"Data requests","pages":[{"title":"List data requests","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data-requests","href":"/api-reference/data-requests/list-data-requests"},{"title":"Create a data request","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/data-requests","href":"/api-reference/data-requests/create-a-data-request"},{"title":"Get a data request","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/data-requests/{data_request_id}","href":"/api-reference/data-requests/get-a-data-request"},{"title":"Get a download link","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/data-requests/{data_request_id}/export-link","href":"/api-reference/data-requests/get-a-download-link"},{"title":"Decide an amendment","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/data-requests/{data_request_id}/decision","href":"/api-reference/data-requests/decide-an-amendment"}]},{"group":"Patient","pages":[{"title":"Get my profile","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient","href":"/api-reference/patient/get-my-profile"},{"title":"Update my profile","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient","href":"/api-reference/patient/update-my-profile"},{"title":"Get my treatment","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/treatment","href":"/api-reference/patient/get-my-treatment"},{"title":"Report my treatment (TeraRx Direct)","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/treatments","href":"/api-reference/patient/report-my-treatment-terarx-direct"},{"title":"List my legal documents","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/legal-documents","href":"/api-reference/patient/list-my-legal-documents"},{"title":"Accept a legal document","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/consents","href":"/api-reference/patient/accept-a-legal-document"}]},{"group":"Forms","pages":[{"title":"List my forms","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/forms","href":"/api-reference/forms/list-my-forms"},{"title":"Get a form","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/forms/{form_assignment_id}","href":"/api-reference/forms/get-a-form"},{"title":"Save a draft","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/patient/forms/{form_assignment_id}/draft","href":"/api-reference/forms/save-a-draft"},{"title":"Submit a form","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/forms/{form_assignment_id}/submit","href":"/api-reference/forms/submit-a-form"}]},{"group":"Logging","pages":[{"title":"List my daily logs","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/daily-logs","href":"/api-reference/logging/list-my-daily-logs"},{"title":"Log daily values","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/daily-logs/{log_date}","href":"/api-reference/logging/log-daily-values"},{"title":"Start a meal photo upload","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/meal-photos","href":"/api-reference/logging/start-a-meal-photo-upload"},{"title":"Analyze a meal photo","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/meal-photos/{upload_id}/analysis","href":"/api-reference/logging/analyze-a-meal-photo"},{"title":"List my recent foods","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/recent-foods","href":"/api-reference/logging/list-my-recent-foods"},{"title":"List my meals","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/meals","href":"/api-reference/logging/list-my-meals"},{"title":"Log a meal","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/meals","href":"/api-reference/logging/log-a-meal"},{"title":"Delete a meal log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/meals/{log_id}","href":"/api-reference/logging/delete-a-meal-log"},{"title":"Correct a meal log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/meals/{log_id}","href":"/api-reference/logging/correct-a-meal-log"},{"title":"List my workouts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/workouts","href":"/api-reference/logging/list-my-workouts"},{"title":"Log a workout","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/workouts","href":"/api-reference/logging/log-a-workout"},{"title":"Delete a workout log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/workouts/{log_id}","href":"/api-reference/logging/delete-a-workout-log"},{"title":"Correct a workout log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/workouts/{log_id}","href":"/api-reference/logging/correct-a-workout-log"},{"title":"List my symptoms","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/symptoms","href":"/api-reference/logging/list-my-symptoms"},{"title":"Log a symptom","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/symptoms","href":"/api-reference/logging/log-a-symptom"},{"title":"Delete a symptom log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/symptoms/{log_id}","href":"/api-reference/logging/delete-a-symptom-log"},{"title":"Correct a symptom log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/symptoms/{log_id}","href":"/api-reference/logging/correct-a-symptom-log"},{"title":"List my injections","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/injections","href":"/api-reference/logging/list-my-injections"},{"title":"Log an injection","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/injections","href":"/api-reference/logging/log-an-injection"},{"title":"Delete an injection log","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/injections/{log_id}","href":"/api-reference/logging/delete-an-injection-log"},{"title":"Correct an injection log","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/injections/{log_id}","href":"/api-reference/logging/correct-an-injection-log"}]},{"group":"Progress","pages":[{"title":"Get today","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/today","href":"/api-reference/progress/get-today"},{"title":"Get targets and progress for a day","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/targets","href":"/api-reference/progress/get-targets-and-progress-for-a-day"},{"title":"Get a week's stats","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/week-stats","href":"/api-reference/progress/get-a-weeks-stats"},{"title":"List my milestones","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/milestones","href":"/api-reference/progress/list-my-milestones"},{"title":"Get a milestone","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/milestones/{milestone_id}","href":"/api-reference/progress/get-a-milestone"}]},{"group":"Protocols and plans","pages":[{"title":"List my active protocols","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/protocols","href":"/api-reference/protocols-and-plans/list-my-active-protocols"},{"title":"Get my active protocol of a type","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/protocols/{protocol_type}","href":"/api-reference/protocols-and-plans/get-my-active-protocol-of-a-type"},{"title":"List versions of a protocol","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/protocols/{protocol_type}/versions","href":"/api-reference/protocols-and-plans/list-versions-of-a-protocol"},{"title":"Get one version of a protocol","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/protocols/{protocol_type}/versions/{version}","href":"/api-reference/protocols-and-plans/get-one-version-of-a-protocol"},{"title":"Get my meal plan","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/meal-plan","href":"/api-reference/protocols-and-plans/get-my-meal-plan"},{"title":"Get my workout plan","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/workout-plan","href":"/api-reference/protocols-and-plans/get-my-workout-plan"},{"title":"Rate a meal on my plan","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/patient/meal-plan/items/{item_id}/rating","href":"/api-reference/protocols-and-plans/rate-a-meal-on-my-plan"},{"title":"Clear a meal rating","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/meal-plan/items/{item_id}/rating","href":"/api-reference/protocols-and-plans/clear-a-meal-rating"}]},{"group":"Meal swap","pages":[{"title":"Ask the AI Coach for swap options","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/meal-plan/items/{item_id}/swap-options","href":"/api-reference/meal-swap/ask-the-ai-coach-for-swap-options"},{"title":"Swap a meal","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/meal-plan/items/{item_id}/swap","href":"/api-reference/meal-swap/swap-a-meal"}]},{"group":"Library","pages":[{"title":"Browse recipes and exercises","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/library","href":"/api-reference/library/browse-recipes-and-exercises"},{"title":"Get a recipe or exercise","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/library/{library_item_id}","href":"/api-reference/library/get-a-recipe-or-exercise"},{"title":"Save a recipe or exercise","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/patient/library/{library_item_id}/favorite","href":"/api-reference/library/save-a-recipe-or-exercise"},{"title":"Remove a favorite","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/library/{library_item_id}/favorite","href":"/api-reference/library/remove-a-favorite"},{"title":"Rate a recipe","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/patient/library/{library_item_id}/rating","href":"/api-reference/library/rate-a-recipe"},{"title":"Clear a recipe rating","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/library/{library_item_id}/rating","href":"/api-reference/library/clear-a-recipe-rating"}]},{"group":"Care messaging","pages":[{"title":"List my care threads","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/care/conversations","href":"/api-reference/care-messaging/list-my-care-threads"},{"title":"List messages in a care thread","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/care/conversations/{conversation_id}/messages","href":"/api-reference/care-messaging/list-messages-in-a-care-thread"},{"title":"Message my coach","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/care/conversations/{conversation_id}/messages","href":"/api-reference/care-messaging/message-my-coach"},{"title":"Mark a care thread read","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/care/conversations/{conversation_id}/read","href":"/api-reference/care-messaging/mark-a-care-thread-read"},{"title":"Edit my last message","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/messages/{message_id}","href":"/api-reference/care-messaging/edit-my-last-message"},{"title":"Set my reactions on a message","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/patient/messages/{message_id}/reactions","href":"/api-reference/care-messaging/set-my-reactions-on-a-message"},{"title":"Start a photo upload for my coach","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/message-photos","href":"/api-reference/care-messaging/start-a-photo-upload-for-my-coach"}]},{"group":"Feedback","pages":[{"title":"List open feedback popups","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/feedback-requests","href":"/api-reference/feedback/list-open-feedback-popups"},{"title":"Get a feedback popup","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/feedback-requests/{feedback_request_id}","href":"/api-reference/feedback/get-a-feedback-popup"},{"title":"Answer a feedback popup","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/feedback-requests/{feedback_request_id}/response","href":"/api-reference/feedback/answer-a-feedback-popup"},{"title":"Dismiss a feedback popup","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/feedback-requests/{feedback_request_id}/dismiss","href":"/api-reference/feedback/dismiss-a-feedback-popup"}]},{"group":"AI Coach","pages":[{"title":"List my AI Coach chats","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/ai-coach/conversations","href":"/api-reference/ai-coach/list-my-ai-coach-chats"},{"title":"Start an AI Coach chat","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/ai-coach/conversations","href":"/api-reference/ai-coach/start-an-ai-coach-chat"},{"title":"List messages in an AI Coach chat","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/ai-coach/conversations/{conversation_id}/messages","href":"/api-reference/ai-coach/list-messages-in-an-ai-coach-chat"},{"title":"Message the AI Coach","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/ai-coach/conversations/{conversation_id}/messages","href":"/api-reference/ai-coach/message-the-ai-coach"},{"title":"Get the AI Coach's reply","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/ai-coach/messages/{message_id}/reply","href":"/api-reference/ai-coach/get-the-ai-coachs-reply"},{"title":"Rate an AI Coach reply","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/patient/ai-coach/messages/{message_id}/feedback","href":"/api-reference/ai-coach/rate-an-ai-coach-reply"},{"title":"List what the AI Coach remembers","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/ai-coach/memories","href":"/api-reference/ai-coach/list-what-the-ai-coach-remembers"},{"title":"Forget a memory","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/patient/ai-coach/memories/{memory_id}","href":"/api-reference/ai-coach/forget-a-memory"},{"title":"Confirm a memory","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/ai-coach/memories/{memory_id}","href":"/api-reference/ai-coach/confirm-a-memory"}]},{"group":"Reminders","pages":[{"title":"List my reminders","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/reminders","href":"/api-reference/reminders/list-my-reminders"},{"title":"Snooze a reminder","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/patient/reminders/{reminder_id}/snooze","href":"/api-reference/reminders/snooze-a-reminder"},{"title":"Get my reminder settings","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/patient/reminder-settings","href":"/api-reference/reminders/get-my-reminder-settings"},{"title":"Change my reminder settings","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/patient/reminder-settings","href":"/api-reference/reminders/change-my-reminder-settings"}]},{"group":"Clinical flags","pages":[{"title":"List clinical flags","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/clinical-flags","href":"/api-reference/clinical-flags/list-clinical-flags"},{"title":"Get a clinical flag","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/clinical-flags/{flag_id}","href":"/api-reference/clinical-flags/get-a-clinical-flag"},{"title":"Acknowledge a flag","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/clinical-flags/{flag_id}/acknowledge","href":"/api-reference/clinical-flags/acknowledge-a-flag"},{"title":"Resolve a flag","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/clinical-flags/{flag_id}/resolve","href":"/api-reference/clinical-flags/resolve-a-flag"}]},{"group":"Webhooks","pages":[{"title":"Enrollmentcreated","version":null,"deprecated":null,"openapi":"/openapi.json webhook enrollment.created","href":"/api-reference/webhooks/enrollmentcreated"},{"title":"Enrollmentstage changed","version":null,"deprecated":null,"openapi":"/openapi.json webhook enrollment.stage_changed","href":"/api-reference/webhooks/enrollmentstage_changed"},{"title":"Enrollmentpaused","version":null,"deprecated":null,"openapi":"/openapi.json webhook enrollment.paused","href":"/api-reference/webhooks/enrollmentpaused"},{"title":"Enrollmentresumed","version":null,"deprecated":null,"openapi":"/openapi.json webhook enrollment.resumed","href":"/api-reference/webhooks/enrollmentresumed"},{"title":"Enrollmentcancelled","version":null,"deprecated":null,"openapi":"/openapi.json webhook enrollment.cancelled","href":"/api-reference/webhooks/enrollmentcancelled"},{"title":"Care teamassigned","version":null,"deprecated":null,"openapi":"/openapi.json webhook care_team.assigned","href":"/api-reference/webhooks/care_teamassigned"},{"title":"Care teamchanged","version":null,"deprecated":null,"openapi":"/openapi.json webhook care_team.changed","href":"/api-reference/webhooks/care_teamchanged"},{"title":"Care teamcapacity warning","version":null,"deprecated":null,"openapi":"/openapi.json webhook care_team.capacity_warning","href":"/api-reference/webhooks/care_teamcapacity_warning"},{"title":"Care teamfeedback due","version":null,"deprecated":null,"openapi":"/openapi.json webhook care_team.feedback_due","href":"/api-reference/webhooks/care_teamfeedback_due"},{"title":"Formrequested","version":null,"deprecated":null,"openapi":"/openapi.json webhook form.requested","href":"/api-reference/webhooks/formrequested"},{"title":"Onboardingcompleted","version":null,"deprecated":null,"openapi":"/openapi.json webhook onboarding.completed","href":"/api-reference/webhooks/onboardingcompleted"},{"title":"Protocolpublished","version":null,"deprecated":null,"openapi":"/openapi.json webhook protocol.published","href":"/api-reference/webhooks/protocolpublished"},{"title":"Protocolupdated","version":null,"deprecated":null,"openapi":"/openapi.json webhook protocol.updated","href":"/api-reference/webhooks/protocolupdated"},{"title":"Messagecreated","version":null,"deprecated":null,"openapi":"/openapi.json webhook message.created","href":"/api-reference/webhooks/messagecreated"},{"title":"Clinicalflag raised","version":null,"deprecated":null,"openapi":"/openapi.json webhook clinical.flag_raised","href":"/api-reference/webhooks/clinicalflag_raised"},{"title":"Clinicalflag redelivered","version":null,"deprecated":null,"openapi":"/openapi.json webhook clinical.flag_redelivered","href":"/api-reference/webhooks/clinicalflag_redelivered"},{"title":"Clinicalflag acknowledged","version":null,"deprecated":null,"openapi":"/openapi.json webhook clinical.flag_acknowledged","href":"/api-reference/webhooks/clinicalflag_acknowledged"},{"title":"Clinicalflag resolved","version":null,"deprecated":null,"openapi":"/openapi.json webhook clinical.flag_resolved","href":"/api-reference/webhooks/clinicalflag_resolved"},{"title":"Patientdisengaged","version":null,"deprecated":null,"openapi":"/openapi.json webhook patient.disengaged","href":"/api-reference/webhooks/patientdisengaged"},{"title":"Patientmilestone reached","version":null,"deprecated":null,"openapi":"/openapi.json webhook patient.milestone_reached","href":"/api-reference/webhooks/patientmilestone_reached"},{"title":"Reminderdue","version":null,"deprecated":null,"openapi":"/openapi.json webhook reminder.due","href":"/api-reference/webhooks/reminderdue"},{"title":"Data requestcompleted","version":null,"deprecated":null,"openapi":"/openapi.json webhook data_request.completed","href":"/api-reference/webhooks/data_requestcompleted"}]}]}]},"basePath":"","title":"Get an enrollment - TeraRx API","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}