Requires conversations:write. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.
Public API access token issued by /public/v1/oauth/token. Example: Authorization: Bearer fspt_.... Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with 403 auth.provider_unavailable.
Required for Public API write requests. Reusing the same key with the same method, path, and body replays the stored successful response; reusing it with a different request returns 409 idempotency.conflict.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FITsociety Developer APIs","description":"Documentation for the FITsociety MCP server and Public API.","colors":{"primary":"#16A34A","light":"#16A34A","dark":"#22C55E"},"logo":{"light":"https://mintcdn.com/fitsociety/CnaqVMsnx_iq_5Yj/images/fitsociety-logo.svg?fit=max\u0026auto=format\u0026n=CnaqVMsnx_iq_5Yj\u0026q=85\u0026s=c298734266929d78f32cb0214a963497","dark":"https://mintcdn.com/fitsociety/CnaqVMsnx_iq_5Yj/images/fitsociety-logo-dark.svg?fit=max\u0026auto=format\u0026n=CnaqVMsnx_iq_5Yj\u0026q=85\u0026s=eaedbe1dc8a5dd6cc8a5e8e40460966e","href":"/"},"favicon":"https://mintcdn.com/fitsociety/kVb9cR0HNNKm2fV7/images/favicon.jpg?fit=max\u0026auto=format\u0026n=kVb9cR0HNNKm2fV7\u0026q=85\u0026s=f9562e98d9f7bd4fe9eb792e48d6ed3e","api":{"openapi":"openapi/public-v1.json","params":{"expanded":"closed"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"appearance":{"default":"system"},"search":{"prompt":"Search developer docs..."},"contextual":{"options":["copy","download-spec","chatgpt","claude"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fitsociety","hasAudioNarration":false,"actualSubdomain":"fitsociety","customDomains":["docs.fitsociety.io"],"gitSource":{"type":"github","owner":"fitsociety","repo":"backend","deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adca91ba9f6cfc069427f8a","collectionId":"e8308b34-1e8c-4b93-881b-d755d23e8c45","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adca91ba9f6cfc069427f8a"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adca91ba9f6cfc069427f8a","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":495},{"language":"default","tag":"Workout","count":300},{"language":"default","tag":"Client plans","count":75},{"language":"default","tag":"Plans","count":61},{"language":"default","tag":"MCP","count":56},{"language":"default","tag":"Finance","count":49},{"language":"default","tag":"Library","count":47},{"language":"default","tag":"Calendar and bookings","count":38},{"language":"default","tag":"Progress","count":36},{"language":"default","tag":"Tools","count":35}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/conversations/create-conversation","slug":"/api-reference/conversations/create-conversation","pageMetadata":{"title":"Create conversation","description":"Requires `conversations:write`. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/conversations","href":"/api-reference/conversations/create-conversation","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Requires \", _jsx(_components.code, {\n children: \"conversations:write\"\n }), \". Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.\"]\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":"Create conversation","description":"Requires `conversations:write`. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/conversations","href":"/api-reference/conversations/create-conversation","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Conversations"],"summary":"Create conversation","description":"Requires `conversations:write`. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.","security":["47ffebd2-25ad-47c4-8975-de207325201c"],"requestBody":"f0e212f6-5a26-4234-804a-bce297d277a9","responses":{"201":"74c59d44-ae08-4911-b61f-c313ce1c4abc","400":"1fe85f98-8c27-4117-bdc7-16fe2d2dbec4","401":"c08f8b9f-c913-46eb-8579-67e46faeecdb","403":"2834787c-d989-4570-9cea-4486ecc82c64","404":"77a15f4d-97e2-4368-b348-6093f602a9e1","409":"9b98b991-2cba-46c4-9321-a94c826d68b4","422":"c276a031-fd57-4f99-869d-350d3078e230","429":"6f1d5504-e5da-4b2d-b9dc-96746ccab293","500":"5d236a20-e0b5-4ea1-887e-8aaee51fb9a9"},"x-codeSamples":[{"lang":"cURL","label":"cURL","source":"curl -X POST \"https://api.fitsociety.io/public/v1/conversations\" \\\n -H \"Authorization: Bearer \u003caccess_token>\" \\\n -H \"Idempotency-Key: conversation-create-001\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"conversationType\": \"group\",\n \"name\": \"Nutrition follow-up\",\n \"participants\": [\n { \"userId\": \"66f7b8b1e13c8d25f4d3d90b\", \"role\": \"Coach\" },\n { \"userId\": \"66f7b8b1e13c8d25f4d3d90c\", \"role\": \"Client\" }\n ],\n \"createdBy\": { \"userId\": \"66f7b8b1e13c8d25f4d3d90b\", \"role\": \"Coach\" },\n \"context\": { \"type\": \"client\", \"id\": \"66f7b8b1e13c8d25f4d3d90c\" }\n }'"}],"parameters":["912ddff4-b6be-45a7-a126-f2aa15333c3b"],"operationId":"postPublicV1Conversations","method":"post","type":"path","servers":["674d7162-a1f6-469d-bae7-7a1309ce690b"],"path":"/public/v1/conversations","baseUrlOptions":["https://api.fitsociety.io"],"title":"Create conversation","codeSamples":[{"label":"cURL","lang":"cURL","source":"curl -X POST \"https://api.fitsociety.io/public/v1/conversations\" \\\n -H \"Authorization: Bearer \u003caccess_token>\" \\\n -H \"Idempotency-Key: conversation-create-001\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"conversationType\": \"group\",\n \"name\": \"Nutrition follow-up\",\n \"participants\": [\n { \"userId\": \"66f7b8b1e13c8d25f4d3d90b\", \"role\": \"Coach\" },\n { \"userId\": \"66f7b8b1e13c8d25f4d3d90c\", \"role\": \"Client\" }\n ],\n \"createdBy\": { \"userId\": \"66f7b8b1e13c8d25f4d3d90b\", \"role\": \"Coach\" },\n \"context\": { \"type\": \"client\", \"id\": \"66f7b8b1e13c8d25f4d3d90c\" }\n }'"}],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"912ddff4-b6be-45a7-a126-f2aa15333c3b":{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"example":"booking-create-20260714-001","isRequired":true,"description":"Required for Public API write requests. Reusing the same key with the same method, path, and body replays the stored successful response; reusing it with a different request returns `409 idempotency.conflict`.","uniqueKey":"","typeLabel":"string"},"description":"Required for Public API write requests. Reusing the same key with the same method, path, and body replays the stored successful response; reusing it with a different request returns `409 idempotency.conflict`."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["conversationType","participants"],"properties":{"conversationType":{"type":"string","enum":["direct","group"],"example":"group","isRequired":true,"uniqueKey":"conversationType","typeLabel":"enum\u003cstring>"},"participants":{"type":"array","minItems":2,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["userId","role"],"properties":{"userId":{"type":"string","example":"66f7b8b1e13c8d25f4d3d90c","isRequired":true,"uniqueKey":"participants.items.[INDEX].userId","typeLabel":"string"},"role":{"type":"string","enum":["Coach","Client"],"example":"Client","isRequired":true,"uniqueKey":"participants.items.[INDEX].role","typeLabel":"enum\u003cstring>"}},"uniqueKey":"participants.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"participants","typeLabel":"object[]"},"name":{"type":"string","description":"Required for group conversations.","example":"Nutrition follow-up","uniqueKey":"name","typeLabel":"string"},"description":{"type":"string","example":"Coach team and member chat.","uniqueKey":"description","typeLabel":"string"},"createdBy":{"type":"object","additionalProperties":false,"required":["userId","role"],"properties":{"userId":{"type":"string","example":"66f7b8b1e13c8d25f4d3d90b","isRequired":true,"uniqueKey":"createdBy.userId","typeLabel":"string"},"role":{"type":"string","enum":["Coach"],"example":"Coach","isRequired":true,"uniqueKey":"createdBy.role","typeLabel":"enum\u003cstring>"}},"description":"Optional coach creator. Defaults to the requesting coach when available and must match it when provided.","uniqueKey":"createdBy","typeLabel":"object"},"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["none","client","company","lesson","calendar_event","booking"],"example":"client","uniqueKey":"context.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","example":"66f7b8b1e13c8d25f4d3d90c","uniqueKey":"context.id","typeLabel":"string"},"occurrenceStart":{"type":"string","format":"date-time","example":"2026-09-01T10:00:00.000Z","uniqueKey":"context.occurrenceStart","typeLabel":"string\u003cdate-time>"},"label":{"type":"string","maxLength":160,"example":"Intake follow-up","uniqueKey":"context.label","typeLabel":"string"}},"uniqueKey":"context","typeLabel":"object"},"isClientReplyAllowed":{"type":"boolean","description":"Group setting; defaults to true.","example":true,"uniqueKey":"isClientReplyAllowed","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"conversationType":"group","participants":[{"userId":"66f7b8b1e13c8d25f4d3d90c","role":"Client"}],"name":"Nutrition follow-up","description":"Coach team and member chat.","context":{"type":"client","id":"66f7b8b1e13c8d25f4d3d90c","occurrenceStart":"2026-09-01T10:00:00.000Z","label":"Intake follow-up"},"isClientReplyAllowed":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"74c59d44-ae08-4911-b61f-c313ce1c4abc":{"description":"Conversation created","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["created","conversation"],"properties":{"created":{"type":"boolean","isRequired":true,"uniqueKey":"data.created","typeLabel":"boolean"},"conversation":{"type":"object","additionalProperties":false,"required":["conversationId","conversationType","context","title","description","participantCount","participants","capabilities","lastMessage","createdAt","updatedAt"],"properties":{"conversationId":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.conversationId","typeLabel":"string"},"conversationType":{"type":"string","enum":["direct","group"],"isRequired":true,"uniqueKey":"data.conversation.conversationType","typeLabel":"enum\u003cstring>"},"context":{"type":"object","additionalProperties":false,"required":["type","id","occurrenceStart","label"],"properties":{"type":{"type":"string","enum":["none","client","company","lesson","calendar_event","booking"],"isRequired":true,"uniqueKey":"data.conversation.context.type","typeLabel":"enum\u003cstring>"},"id":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.conversation.context.id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.conversation.context.id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.context.id","typeLabel":"string | null"},"occurrenceStart":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.context.occurrenceStart.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.context.occurrenceStart.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.context.occurrenceStart","typeLabel":"string\u003cdate-time> | null"},"label":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.context.label","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.conversation.context","typeLabel":"object"},"title":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.title","typeLabel":"string"},"description":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.description","typeLabel":"string"},"participantCount":{"type":"integer","isRequired":true,"uniqueKey":"data.conversation.participantCount","typeLabel":"integer"},"participants":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["userId","role","name","isActive","joinedAt","removedAt"],"properties":{"userId":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].userId","typeLabel":"string"},"role":{"type":"string","enum":["Coach","Client"],"isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].name","typeLabel":"string"},"isActive":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].isActive","typeLabel":"boolean"},"joinedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].joinedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].joinedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].joinedAt","typeLabel":"string\u003cdate-time> | null"},"removedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].removedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].removedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.participants.items.[INDEX].removedAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"data.conversation.participants.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.conversation.participants","typeLabel":"object[]"},"capabilities":{"type":"object","additionalProperties":false,"required":["canSendMessages","canEditOwnMessages","canDeleteOwnMessages","canListParticipants","canAddParticipants","canRemoveParticipants","supportsFutureContexts"],"properties":{"canSendMessages":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.capabilities.canSendMessages","typeLabel":"boolean"},"canEditOwnMessages":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.capabilities.canEditOwnMessages","typeLabel":"boolean"},"canDeleteOwnMessages":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.capabilities.canDeleteOwnMessages","typeLabel":"boolean"},"canListParticipants":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.capabilities.canListParticipants","typeLabel":"boolean"},"canAddParticipants":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.capabilities.canAddParticipants","typeLabel":"boolean"},"canRemoveParticipants":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.capabilities.canRemoveParticipants","typeLabel":"boolean"},"supportsFutureContexts":{"type":"array","items":{"type":"string","enum":["none","client","company","lesson","calendar_event","booking"],"uniqueKey":"data.conversation.capabilities.supportsFutureContexts.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"data.conversation.capabilities.supportsFutureContexts","typeLabel":"enum\u003cstring>[]"}},"isRequired":true,"uniqueKey":"data.conversation.capabilities","typeLabel":"object"},"lastMessage":{"oneOf":[{"type":"object","required":["messageId","conversationId","conversationType","sender","type","text","hasMedia","fileName","sentAt","editedAt","isDeleted"],"properties":{"messageId":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.messageId","typeLabel":"string"},"conversationId":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.conversationId","typeLabel":"string"},"conversationType":{"type":"string","enum":["direct","group"],"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.conversationType","typeLabel":"enum\u003cstring>"},"sender":{"type":"object","additionalProperties":false,"required":["userId","role","name"],"properties":{"userId":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sender.userId","typeLabel":"string"},"role":{"type":"string","enum":["Coach","Client"],"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sender.role","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sender.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sender","typeLabel":"object"},"type":{"type":"string","enum":["text"],"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.type","typeLabel":"enum\u003cstring>"},"text":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.text","typeLabel":"string"},"hasMedia":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.hasMedia","typeLabel":"boolean"},"fileName":{"type":"string","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.fileName","typeLabel":"string"},"sentAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sentAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sentAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.sentAt","typeLabel":"string\u003cdate-time> | null"},"editedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.editedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.editedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.editedAt","typeLabel":"string\u003cdate-time> | null"},"isDeleted":{"type":"boolean","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0.isDeleted","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.conversation.lastMessage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.lastMessage","typeLabel":"object | null"},"createdAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.createdAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.createdAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.createdAt","typeLabel":"string\u003cdate-time> | null"},"updatedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.updatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.conversation.updatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.conversation.updatedAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"data.conversation","typeLabel":"object"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"},"idempotency":{"type":"object","additionalProperties":false,"properties":{"replayed":{"type":"boolean","description":"True when the response was replayed from a previous request with the same `Idempotency-Key`.","example":true,"uniqueKey":"meta.idempotency.replayed","typeLabel":"boolean"}},"uniqueKey":"meta.idempotency","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"success":{"title":"success","value":{"data":{"created":true,"conversation":{"conversationId":"66f7b8b1e13c8d25f4d3d90a","conversationType":"direct","context":{"type":"none","id":"66f7b8b1e13c8d25f4d3d90a","occurrenceStart":"2026-07-14T10:00:00.000Z","label":"string"},"title":"string","description":"Example description","participantCount":1,"participants":[{"userId":"66f7b8b1e13c8d25f4d3d90a","role":"Coach","name":"Example name","isActive":true,"joinedAt":"2026-07-14T10:00:00.000Z","removedAt":"2026-07-14T10:00:00.000Z"}],"capabilities":{"canSendMessages":true,"canEditOwnMessages":true,"canDeleteOwnMessages":true,"canListParticipants":true,"canAddParticipants":true,"canRemoveParticipants":true,"supportsFutureContexts":["none"]},"lastMessage":{"messageId":"66f7b8b1e13c8d25f4d3d90a","conversationId":"66f7b8b1e13c8d25f4d3d90a","conversationType":"direct","sender":{"userId":"66f7b8b1e13c8d25f4d3d90a","role":"Coach","name":"Example name"},"type":"text","text":"string","hasMedia":true,"fileName":"Example name","sentAt":"2026-07-14T10:00:00.000Z","editedAt":"2026-07-14T10:00:00.000Z","isDeleted":true},"createdAt":"2026-07-14T10:00:00.000Z","updatedAt":"2026-07-14T10:00:00.000Z"}},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1},"idempotency":{"replayed":false}}}}},"exampleType":"examples"}},"exampleType":"examples"},"1fe85f98-8c27-4117-bdc7-16fe2d2dbec4":{"description":"Bad request. The request shape, query, path parameter, or idempotency header is invalid.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"invalidRequest":{"title":"invalidRequest","value":{"error":{"code":400,"key":"request.invalid","message":"The request is invalid."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}},"idempotencyRequired":{"title":"idempotencyRequired","value":{"error":{"code":400,"key":"idempotency.required","message":"Idempotency-Key header is required for Public API write requests."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}},"idempotencyInvalid":{"title":"idempotencyInvalid","value":{"error":{"code":400,"key":"idempotency.invalid","message":"Idempotency-Key header must be 200 characters or fewer."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"c08f8b9f-c913-46eb-8579-67e46faeecdb":{"description":"Unauthorized. The Bearer token is missing, invalid, expired, or belongs to an inactive Public API client.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"missingBearer":{"title":"missingBearer","value":{"error":{"code":401,"key":"auth.missing_bearer","message":"Authorization Bearer token is required."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}},"invalidToken":{"title":"invalidToken","value":{"error":{"code":401,"key":"auth.invalid_token","message":"The access token is invalid or expired."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}},"invalidClient":{"title":"invalidClient","value":{"error":{"code":401,"key":"auth.invalid_client","message":"The Public API client is inactive or revoked."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"2834787c-d989-4570-9cea-4486ecc82c64":{"description":"Forbidden. The token is valid but does not include the required scope.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"insufficientScopes":{"title":"insufficientScopes","value":{"error":{"code":403,"key":"scopes.insufficient","message":"The access token does not include the required scope.","details":{"requiredScopes":["conversations:write"]}},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"77a15f4d-97e2-4368-b348-6093f602a9e1":{"description":"Not found. The requested company-scoped resource does not exist or is not accessible to this token.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"notFound":{"title":"notFound","value":{"error":{"code":404,"key":"resource.not_found","message":"The requested Public API resource was not found."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"9b98b991-2cba-46c4-9321-a94c826d68b4":{"description":"Conflict. The write request conflicts with idempotency or current resource state.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"idempotencyConflict":{"title":"idempotencyConflict","value":{"error":{"code":409,"key":"idempotency.conflict","message":"Idempotency-Key was already used with a different request."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}},"idempotencyInProgress":{"title":"idempotencyInProgress","value":{"error":{"code":409,"key":"idempotency.in_progress","message":"Idempotency-Key is already processing for this Public API client."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"c276a031-fd57-4f99-869d-350d3078e230":{"description":"Unprocessable content. The request body is empty or is not a JSON object.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"emptyBody":{"title":"emptyBody","value":{"error":{"code":422,"key":"EMPTY_BODY","message":"Request body must be a non-empty JSON object."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"6f1d5504-e5da-4b2d-b9dc-96746ccab293":{"description":"Too many requests. The Public API client or caller IP exceeded the rate limit.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"rateLimitExceeded":{"title":"rateLimitExceeded","value":{"error":{"code":429,"key":"rate_limit.exceeded","message":"Too many Public API requests. Retry later."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":0,"resetSeconds":1,"retryAfterSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"},"5d236a20-e0b5-4ea1-887e-8aaee51fb9a9":{"description":"Server error. The request could not be completed because of an unexpected Public API server failure.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","meta"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","key","message"],"properties":{"code":{"type":"integer","example":401,"isRequired":true,"uniqueKey":"error.code","typeLabel":"integer"},"key":{"type":"string","example":"auth.invalid_token","isRequired":true,"uniqueKey":"error.key","typeLabel":"string"},"message":{"type":"string","example":"The access token is invalid.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["requestId"],"properties":{"requestId":{"type":"string","description":"Stable request correlation id. Mirrors `X-Request-Id` when supplied.","example":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","isRequired":true,"uniqueKey":"meta.requestId","typeLabel":"string"},"rateLimit":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","example":10,"uniqueKey":"meta.rateLimit.limit","typeLabel":"integer"},"remaining":{"type":"integer","example":9,"uniqueKey":"meta.rateLimit.remaining","typeLabel":"integer"},"resetSeconds":{"type":"integer","description":"Seconds until the current rate limit window resets.","example":1,"uniqueKey":"meta.rateLimit.resetSeconds","typeLabel":"integer"},"retryAfterSeconds":{"type":"integer","description":"Present when the request was rate limited.","example":1,"uniqueKey":"meta.rateLimit.retryAfterSeconds","typeLabel":"integer"}},"uniqueKey":"meta.rateLimit","typeLabel":"object"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"serverInternalError":{"title":"serverInternalError","value":{"error":{"code":500,"key":"server.internal_error","message":"An unexpected Public API server error occurred."},"meta":{"requestId":"4f849d7d-f4f1-45cc-b4b7-3984a3d17f83","rateLimit":{"limit":10,"remaining":9,"resetSeconds":1}}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"47ffebd2-25ad-47c4-8975-de207325201c":{"PublicBearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Opaque","description":"Public API access token issued by `/public/v1/oauth/token`. Example: `Authorization: Bearer fspt_...`. Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with `403 auth.provider_unavailable`.","scopes":[],"schemeName":"PublicBearerAuth"}}},"servers":{"674d7162-a1f6-469d-bae7-7a1309ce690b":{"url":"https://api.fitsociety.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"Opaque","description":"Public API access token issued by `/public/v1/oauth/token`. Example: `Authorization: Bearer fspt_...`. Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with `403 auth.provider_unavailable`.","scopes":[],"schemeName":"PublicBearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Public API access token issued by `/public/v1/oauth/token`. Example: `Authorization: Bearer fspt_...`. Each resource request rechecks the token company's current provider access. Disabling access blocks existing tokens with `403 auth.provider_unavailable`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"PublicBearerAuth","name":"Authorization"}],"title":"PublicBearerAuth"}]},"originalFileLocation":"openapi/public-v1.json"},"subdomain":"fitsociety","siteName":"FITsociety Developer APIs","title":"Create conversation - FITsociety Developer APIs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-24T12:48:58.532Z","originalFileLocation":"api-reference/conversations/create-conversation.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=\"system\"}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=\"Requires conversations:write. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FITsociety Developer APIs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_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/fitsociety/syP3qy_Qkhe5gOqU/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create conversation - FITsociety Developer APIs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Requires conversations:write. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FITsociety Developer APIs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fitsociety.io/api-reference/conversations/create-conversation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fitsociety.mintlify.app/_mintlify/api/og/v2?division=Conversation+records\u0026amp;title=Create+conversation\u0026amp;description=Requires+%60conversations%3Awrite%60.+Creates+a+group+conversation%2C+or+finds%2Fcreates+a+direct+one-to-one+conversation.+The+creator+must+match+the+requesting+coach.+Di\u0026amp;theme=bade34c7051d29ee32b41c04\u0026amp;signature=e89541a49306fdb93ce729fd8f82341f5694bfd2724aaf5a56b8328b917623d8\">\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=\"Create conversation - FITsociety Developer APIs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Requires conversations:write. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fitsociety.mintlify.app/_mintlify/api/og/v2?division=Conversation+records\u0026amp;title=Create+conversation\u0026amp;description=Requires+%60conversations%3Awrite%60.+Creates+a+group+conversation%2C+or+finds%2Fcreates+a+direct+one-to-one+conversation.+The+creator+must+match+the+requesting+coach.+Di\u0026amp;theme=bade34c7051d29ee32b41c04\u0026amp;signature=e89541a49306fdb93ce729fd8f82341f5694bfd2724aaf5a56b8328b917623d8\">\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/fitsociety/syP3qy_Qkhe5gOqU/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FITsociety Developer APIs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fitsociety.io/api-reference/conversations/create-conversation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/conversations/create-conversation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fitsociety.io/#organization\",\"name\":\"FITsociety Developer APIs\",\"url\":\"https://docs.fitsociety.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fitsociety/CnaqVMsnx_iq_5Yj/images/fitsociety-logo.svg?fit=max\u0026auto=format\u0026n=CnaqVMsnx_iq_5Yj\u0026q=85\u0026s=c298734266929d78f32cb0214a963497\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fitsociety.io#website\",\"name\":\"FITsociety Developer APIs\",\"url\":\"https://docs.fitsociety.io\",\"publisher\":{\"@id\":\"https://docs.fitsociety.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation#webpage\",\"url\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation\",\"name\":\"Create conversation\",\"description\":\"Requires conversations:write. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.\",\"dateModified\":\"2026-10-24T12:48:58.532Z\",\"isPartOf\":{\"@id\":\"https://docs.fitsociety.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Conversations\",\"item\":\"https://docs.fitsociety.io/api-reference/conversations/list-conversations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Conversation records\",\"item\":\"https://docs.fitsociety.io/api-reference/conversations/list-conversations\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create conversation\",\"item\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation#apireference\",\"headline\":\"Create conversation\",\"name\":\"Create conversation\",\"description\":\"Requires conversations:write. Creates a group conversation, or finds/creates a direct one-to-one conversation. The creator must match the requesting coach. Direct conversations remain one-to-one; add another coach through a group conversation.\",\"url\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fitsociety.io/api-reference/conversations/create-conversation#webpage\"},\"dateModified\":\"2026-10-24T12:48:58.532Z\",\"publisher\":{\"@id\":\"https://docs.fitsociety.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fitsociety.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FITsociety Developer APIs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FITsociety Developer APIs","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"},{"group":"Health","expanded":false,"pages":[{"title":"Check Public API token health","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/health","href":"/api-reference/health/check-public-api-token-health"}]},{"group":"OAuth","expanded":false,"pages":[{"title":"Issue a Public API access token","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/oauth/token","href":"/api-reference/oauth/issue-a-public-api-access-token"}]},{"group":"Platform","expanded":false,"pages":[{"group":"Public API client","expanded":false,"pages":[{"title":"Get Public API client profile","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/me","href":"/api-reference/platform/get-public-api-client-profile"},{"title":"List Public API capabilities","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/capabilities","href":"/api-reference/platform/list-public-api-capabilities"},{"title":"List Public API scopes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/scopes","href":"/api-reference/platform/list-public-api-scopes"}]},{"group":"Audit logs","expanded":false,"pages":[{"title":"List redacted Public API audit logs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/audit-logs","href":"/api-reference/platform/list-redacted-public-api-audit-logs"},{"title":"Get redacted Public API audit log","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/audit-logs/{auditLogId}","href":"/api-reference/platform/get-redacted-public-api-audit-log"}]}]},{"group":"Company catalog","expanded":false,"pages":[{"group":"Company profile","expanded":false,"pages":[{"title":"Get company profile","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/company-profile","href":"/api-reference/company-catalog/get-company-profile"},{"title":"Get facilities and services","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/facilities-services","href":"/api-reference/company-catalog/get-facilities-and-services"},{"title":"Get company policies","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/company-policies","href":"/api-reference/company-catalog/get-company-policies"}]},{"group":"Coaches","expanded":false,"pages":[{"title":"List coaches for the authenticated company","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/coaches","href":"/api-reference/coaches/list-coaches-for-the-authenticated-company"},{"title":"Get a coach","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/coaches/{coachId}","href":"/api-reference/coaches/get-a-coach"}]},{"group":"Locations","expanded":false,"pages":[{"title":"List locations","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/locations","href":"/api-reference/company-catalog/list-locations"},{"title":"Create location","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/locations","href":"/api-reference/company-catalog/create-location"},{"title":"Get location","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/locations/{locationId}","href":"/api-reference/company-catalog/get-location"},{"title":"Update location","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/locations/{locationId}","href":"/api-reference/company-catalog/update-location"},{"title":"Archive location","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/locations/{locationId}/archive","href":"/api-reference/company-catalog/archive-location"}]}]},{"group":"Clients","expanded":false,"pages":[{"group":"Client records","expanded":false,"pages":[{"title":"List clients for the authenticated company","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients","href":"/api-reference/clients/list-clients-for-the-authenticated-company"},{"title":"Create a client in the company","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients","href":"/api-reference/clients/create-a-client-in-the-company"},{"title":"Get a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}","href":"/api-reference/clients/get-a-client"},{"title":"Update a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}","href":"/api-reference/clients/update-a-client"},{"title":"Archive a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/archive","href":"/api-reference/clients/archive-a-client"}]},{"group":"Custom fields","expanded":false,"pages":[{"title":"List client custom field definitions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/client-custom-fields","href":"/api-reference/clients/list-client-custom-field-definitions"},{"title":"Get client custom field values","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/custom-fields","href":"/api-reference/clients/get-client-custom-field-values"},{"title":"Update client custom field values","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/custom-fields","href":"/api-reference/clients/update-client-custom-field-values"}]},{"group":"Portal access","expanded":false,"pages":[{"title":"Get client portal access status","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/portal-access","href":"/api-reference/clients/get-client-portal-access-status"},{"title":"Send client portal invite","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/invite","href":"/api-reference/clients/send-client-portal-invite"},{"title":"Resend client portal invite","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/invite/resend","href":"/api-reference/clients/resend-client-portal-invite"}]},{"group":"Relationships","expanded":false,"pages":[{"title":"Reject pending client relationship","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/relationship/reject","href":"/api-reference/clients/reject-pending-client-relationship"}]},{"group":"Assigned coaches","expanded":false,"pages":[{"title":"Get assigned coaches","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/assigned-coaches","href":"/api-reference/clients/get-assigned-coaches"},{"title":"Update assigned coach","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/assigned-coaches","href":"/api-reference/clients/update-assigned-coach"}]},{"group":"Timeline and tags","expanded":false,"pages":[{"title":"Get sanitized client lifecycle timeline","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/timeline","href":"/api-reference/clients/get-sanitized-client-lifecycle-timeline"},{"title":"List client tags","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/client-tags","href":"/api-reference/clients/list-client-tags"}]},{"group":"Client notes","expanded":false,"pages":[{"title":"List client notes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/notes","href":"/api-reference/clients/list-client-notes"},{"title":"Create a client note","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/notes","href":"/api-reference/clients/create-a-client-note"},{"title":"Update a client note","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/notes/{noteId}","href":"/api-reference/clients/update-a-client-note"},{"title":"Delete a client note","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/clients/{clientId}/notes/{noteId}","href":"/api-reference/clients/delete-a-client-note"}]},{"group":"Goals","expanded":false,"pages":[{"title":"Get client goals","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/goals","href":"/api-reference/goals/get-client-goals"},{"title":"Update client goals","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/goals","href":"/api-reference/goals/update-client-goals"}]}]},{"group":"Calendar and bookings","expanded":false,"pages":[{"group":"Bookings","expanded":false,"pages":[{"title":"List bookings","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/bookings","href":"/api-reference/bookings/list-bookings"},{"title":"Create booking","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/bookings","href":"/api-reference/bookings/create-booking"},{"title":"Get booking","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/bookings/{bookingId}","href":"/api-reference/bookings/get-booking"},{"title":"Update booking attendance","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/bookings/{bookingId}","href":"/api-reference/bookings/update-booking-attendance"},{"title":"Get booking cancellation context","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/bookings/{bookingId}/cancellation-context","href":"/api-reference/bookings/get-booking-cancellation-context"},{"title":"Cancel booking","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/bookings/{bookingId}/cancel","href":"/api-reference/bookings/cancel-booking"},{"title":"List booking requests","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/booking-requests","href":"/api-reference/calendar-extensions/list-booking-requests"},{"title":"Approve booking request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/booking-requests/{bookingRequestId}/approve","href":"/api-reference/calendar-extensions/approve-booking-request"},{"title":"Reject booking request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/booking-requests/{bookingRequestId}/reject","href":"/api-reference/calendar-extensions/reject-booking-request"}]},{"group":"Recurring bookings","expanded":false,"pages":[{"title":"List recurring bookings","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/recurring-bookings","href":"/api-reference/calendar-extensions/list-recurring-bookings"},{"title":"Get recurring booking","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/recurring-bookings/{recurringBookingId}","href":"/api-reference/calendar-extensions/get-recurring-booking"},{"title":"Update recurring booking","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/recurring-bookings/{recurringBookingId}","href":"/api-reference/calendar-extensions/update-recurring-booking"},{"title":"Cancel recurring booking","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/recurring-bookings/{recurringBookingId}/cancel","href":"/api-reference/calendar-extensions/cancel-recurring-booking"}]},{"group":"Events","expanded":false,"pages":[{"title":"List calendar events","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/calendar-events","href":"/api-reference/calendar-events/list-calendar-events"},{"title":"Get calendar event","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/calendar-events/{eventId}","href":"/api-reference/calendar-events/get-calendar-event"}]},{"group":"Event types","expanded":false,"pages":[{"title":"List event types","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/event-types","href":"/api-reference/calendar-templates/list-event-types"},{"title":"Create event type","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/event-types","href":"/api-reference/calendar-templates/create-event-type"},{"title":"Get event type","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/event-types/{eventTypeId}","href":"/api-reference/calendar-templates/get-event-type"},{"title":"Update event type","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/event-types/{eventTypeId}","href":"/api-reference/calendar-templates/update-event-type"},{"title":"Archive event type","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/event-types/{eventTypeId}/archive","href":"/api-reference/calendar-templates/archive-event-type"}]},{"group":"Event templates","expanded":false,"pages":[{"title":"List event templates","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/event-templates","href":"/api-reference/calendar-templates/list-event-templates"},{"title":"Create event template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/event-templates","href":"/api-reference/calendar-templates/create-event-template"},{"title":"Get event template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/event-templates/{eventTemplateId}","href":"/api-reference/calendar-templates/get-event-template"},{"title":"Update event template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/event-templates/{eventTemplateId}","href":"/api-reference/calendar-templates/update-event-template"},{"title":"Archive event template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/event-templates/{eventTemplateId}/archive","href":"/api-reference/calendar-templates/archive-event-template"}]},{"group":"Tasks","expanded":false,"pages":[{"title":"List calendar tasks","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/calendar-tasks","href":"/api-reference/calendar-extensions/list-calendar-tasks"},{"title":"Create calendar task","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/calendar-tasks","href":"/api-reference/calendar-extensions/create-calendar-task"},{"title":"Get calendar task","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/calendar-tasks/{taskId}","href":"/api-reference/calendar-extensions/get-calendar-task"},{"title":"Update calendar task","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/calendar-tasks/{taskId}","href":"/api-reference/calendar-extensions/update-calendar-task"},{"title":"Cancel calendar task","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/calendar-tasks/{taskId}/cancel","href":"/api-reference/calendar-extensions/cancel-calendar-task"}]},{"group":"Coach availability","expanded":false,"pages":[{"title":"Get coach availability template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/coaches/{coachId}/availability","href":"/api-reference/availability-management/get-coach-availability-template"},{"title":"Replace coach availability template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/coaches/{coachId}/availability","href":"/api-reference/availability-management/replace-coach-availability-template"}]},{"group":"Location availability","expanded":false,"pages":[{"title":"Get location availability template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/locations/{locationId}/availability","href":"/api-reference/availability-management/get-location-availability-template"},{"title":"Replace location availability template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/locations/{locationId}/availability","href":"/api-reference/availability-management/replace-location-availability-template"}]},{"group":"Availability closures","expanded":false,"pages":[{"title":"List closure days and absence","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/availability-closures","href":"/api-reference/calendar-extensions/list-closure-days-and-absence"},{"title":"Replace closure days and absence","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/availability-closures","href":"/api-reference/calendar-extensions/replace-closure-days-and-absence"}]},{"group":"Bookable availability","expanded":false,"pages":[{"title":"List bookable availability slots","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/availability","href":"/api-reference/availability/list-bookable-availability-slots"}]}]},{"group":"Finance","expanded":false,"pages":[{"group":"All products","expanded":false,"pages":[{"title":"List finance products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/products","href":"/api-reference/finance/list-finance-products"}]},{"group":"Membership","expanded":false,"pages":[{"title":"List membership products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/membership-products","href":"/api-reference/finance/list-membership-products"},{"title":"Create membership products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/membership-products","href":"/api-reference/finance/create-membership-products"},{"title":"Get membership products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/membership-products/{productId}","href":"/api-reference/finance/get-membership-products"},{"title":"Update membership products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/finance/membership-products/{productId}","href":"/api-reference/finance/update-membership-products"},{"title":"Archive membership products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/membership-products/{productId}/archive","href":"/api-reference/finance/archive-membership-products"},{"title":"List clients linked to membership products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/membership-products/{productId}/clients","href":"/api-reference/finance/list-clients-linked-to-membership-products"}]},{"group":"Credit packs","expanded":false,"pages":[{"title":"List credit packs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/credit-packs","href":"/api-reference/finance/list-credit-packs"},{"title":"Create credit packs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/credit-packs","href":"/api-reference/finance/create-credit-packs"},{"title":"Get credit packs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/credit-packs/{productId}","href":"/api-reference/finance/get-credit-packs"},{"title":"Update credit packs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/finance/credit-packs/{productId}","href":"/api-reference/finance/update-credit-packs"},{"title":"Archive credit packs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/credit-packs/{productId}/archive","href":"/api-reference/finance/archive-credit-packs"},{"title":"List clients linked to credit packs","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/credit-packs/{productId}/clients","href":"/api-reference/finance/list-clients-linked-to-credit-packs"}]},{"group":"Day/week passes","expanded":false,"pages":[{"title":"List day/week passes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/day-passes","href":"/api-reference/finance/list-dayweek-passes"},{"title":"Create day/week passes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/day-passes","href":"/api-reference/finance/create-dayweek-passes"},{"title":"Get day/week passes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/day-passes/{productId}","href":"/api-reference/finance/get-dayweek-passes"},{"title":"Update day/week passes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/finance/day-passes/{productId}","href":"/api-reference/finance/update-dayweek-passes"},{"title":"Archive day/week passes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/day-passes/{productId}/archive","href":"/api-reference/finance/archive-dayweek-passes"},{"title":"List clients linked to day/week passes","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/day-passes/{productId}/clients","href":"/api-reference/finance/list-clients-linked-to-dayweek-passes"}]},{"group":"Single sessions","expanded":false,"pages":[{"title":"List single sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/single-sessions","href":"/api-reference/finance/list-single-sessions"},{"title":"Create single sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/single-sessions","href":"/api-reference/finance/create-single-sessions"},{"title":"Get single sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/single-sessions/{productId}","href":"/api-reference/finance/get-single-sessions"},{"title":"Update single sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/finance/single-sessions/{productId}","href":"/api-reference/finance/update-single-sessions"},{"title":"Archive single sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/single-sessions/{productId}/archive","href":"/api-reference/finance/archive-single-sessions"},{"title":"List clients linked to single sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/single-sessions/{productId}/clients","href":"/api-reference/finance/list-clients-linked-to-single-sessions"}]},{"group":"Invoices","expanded":false,"pages":[{"title":"List invoices","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/invoices","href":"/api-reference/finance/list-invoices"},{"title":"List client invoices","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/clients/{clientId}/invoices","href":"/api-reference/finance/list-client-invoices"},{"title":"Get invoice","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/invoices/{invoiceId}","href":"/api-reference/finance/get-invoice"},{"title":"Get invoice PDF metadata","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/invoices/{invoiceId}/pdf","href":"/api-reference/finance/get-invoice-pdf-metadata"},{"title":"Send invoice payment reminder","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/invoices/{invoiceId}/send-reminder","href":"/api-reference/finance/send-invoice-payment-reminder"},{"title":"Resend invoice copy","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/invoices/{invoiceId}/resend","href":"/api-reference/finance/resend-invoice-copy"}]},{"group":"Transactions","expanded":false,"pages":[{"title":"List transactions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/transactions","href":"/api-reference/finance/list-transactions"},{"title":"Get transaction","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/transactions/{transactionId}","href":"/api-reference/finance/get-transaction"}]},{"group":"Payment requests","expanded":false,"pages":[{"title":"List payment requests","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/payment-requests","href":"/api-reference/finance/list-payment-requests"},{"title":"Create payment request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/payment-requests","href":"/api-reference/finance/create-payment-request"},{"title":"Get payment request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/payment-requests/{paymentRequestId}","href":"/api-reference/finance/get-payment-request"},{"title":"Cancel payment request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/payment-requests/{paymentRequestId}/cancel","href":"/api-reference/finance/cancel-payment-request"}]},{"group":"Subscriptions","expanded":false,"pages":[{"title":"List subscriptions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/subscriptions","href":"/api-reference/finance/list-subscriptions"},{"title":"Get subscription","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/subscriptions/{subscriptionId}","href":"/api-reference/finance/get-subscription"},{"title":"Assign membership","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/clients/{clientId}/memberships","href":"/api-reference/finance/assign-membership"},{"title":"Request subscription pause","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/subscriptions/{subscriptionId}/pause-request","href":"/api-reference/finance/request-subscription-pause"},{"title":"Request subscription cancellation","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/subscriptions/{subscriptionId}/cancel-request","href":"/api-reference/finance/request-subscription-cancellation"}]},{"group":"Client Products","expanded":false,"pages":[{"title":"List assigned client products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/clients/{clientId}/products","href":"/api-reference/finance/list-assigned-client-products"},{"title":"Assign product","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/clients/{clientId}/products","href":"/api-reference/finance/assign-product"},{"title":"Get assigned client product","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/clients/{clientId}/products/{clientProductId}","href":"/api-reference/finance/get-assigned-client-product"},{"title":"Revoke supported product","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/clients/{clientId}/products/{clientProductId}/revoke","href":"/api-reference/finance/revoke-supported-product"}]},{"group":"Chargebacks","expanded":false,"pages":[{"title":"List chargebacks","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/chargebacks","href":"/api-reference/finance/list-chargebacks"},{"title":"Get chargeback","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/chargebacks/{chargebackId}","href":"/api-reference/finance/get-chargeback"}]}]},{"group":"Credits","expanded":false,"pages":[{"group":"Credit allocations","expanded":false,"pages":[{"title":"List all credits","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/credits","href":"/api-reference/credits/list-all-credits"}]},{"group":"Client credits","expanded":false,"pages":[{"title":"List client credits","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/clients/{clientId}/credits","href":"/api-reference/credits/list-client-credits"},{"title":"Adjust client credits","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/finance/clients/{clientId}/credits/{creditId}/adjust","href":"/api-reference/credits/adjust-client-credits"}]},{"group":"Credit mutations","expanded":false,"pages":[{"title":"List credit mutations","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/finance/clients/{clientId}/credit-mutations","href":"/api-reference/credits/list-credit-mutations"}]}]},{"group":"Progress","expanded":false,"pages":[{"group":"Measurements","expanded":false,"pages":[{"title":"List measurement types","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/measurements/types","href":"/api-reference/measurements/list-measurement-types"},{"title":"List measurement entries","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/measurements/entries","href":"/api-reference/measurements/list-measurement-entries"},{"title":"Create measurement entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/measurements/entries","href":"/api-reference/measurements/create-measurement-entry"},{"title":"Update measurement entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/measurements/entries/{entryId}","href":"/api-reference/measurements/update-measurement-entry"},{"title":"Archive measurement entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/measurements/entries/{entryId}/archive","href":"/api-reference/measurements/archive-measurement-entry"},{"title":"List measurement progress summaries","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/measurements/summary","href":"/api-reference/measurements/list-measurement-progress-summaries"}]},{"group":"Progress photos","expanded":false,"pages":[{"title":"List progress photos","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/progress-photos","href":"/api-reference/progress-photos/list-progress-photos"},{"title":"Get progress photo","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/progress-photos/{progressPhotoId}","href":"/api-reference/progress-photos/get-progress-photo"}]}]},{"group":"Habits","expanded":false,"pages":[{"group":"Standard habit templates","expanded":false,"pages":[{"title":"List standard habit templates","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/habit-templates","href":"/api-reference/habits/list-standard-habit-templates"},{"title":"Create standard habit template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/habit-templates","href":"/api-reference/habits/create-standard-habit-template"},{"title":"Update standard habit template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/habit-templates/{templateId}","href":"/api-reference/habits/update-standard-habit-template"},{"title":"Archive standard habit template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/habit-templates/{templateId}/archive","href":"/api-reference/habits/archive-standard-habit-template"}]},{"group":"Client habits","expanded":false,"pages":[{"title":"List client habits","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/habits","href":"/api-reference/habits/list-client-habits"},{"title":"List habit entries","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/habits/entries","href":"/api-reference/habits/list-habit-entries"},{"title":"Apply standard habit templates","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/habits/apply-templates","href":"/api-reference/habits/apply-standard-habit-templates"},{"title":"Create habit entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/habits/{habitId}/entries","href":"/api-reference/habits/create-habit-entry"},{"title":"Update habit entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/habits/entries/{entryId}","href":"/api-reference/habits/update-habit-entry"},{"title":"Archive client habit","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/habits/{habitId}/archive","href":"/api-reference/habits/archive-client-habit"},{"title":"Archive habit entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/habits/entries/{entryId}/archive","href":"/api-reference/habits/archive-habit-entry"}]}]},{"group":"Forms","expanded":false,"pages":[{"group":"Forms","expanded":false,"pages":[{"title":"List forms","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/forms","href":"/api-reference/forms/list-forms"},{"title":"Create form","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/forms","href":"/api-reference/forms/create-form"},{"title":"Get sanitized form detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/forms/{formId}","href":"/api-reference/forms/get-sanitized-form-detail"},{"title":"Update form","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/forms/{formId}","href":"/api-reference/forms/update-form"},{"title":"Archive form","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/forms/{formId}/archive","href":"/api-reference/forms/archive-form"}]},{"group":"Intakes","expanded":false,"pages":[{"title":"Assign intake form","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/intake-assignments","href":"/api-reference/intakes/assign-intake-form"},{"title":"Get current intake assignment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/intake-assignment","href":"/api-reference/intakes/get-current-intake-assignment"},{"title":"Get latest intake submission","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/intake/submission","href":"/api-reference/intakes/get-latest-intake-submission"}]},{"group":"Check-ups","expanded":false,"pages":[{"title":"List assigned checkups","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/checkups","href":"/api-reference/check-ups/list-assigned-checkups"},{"title":"Assign checkup","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/checkups","href":"/api-reference/check-ups/assign-checkup"},{"title":"List checkup submissions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/checkups/submissions","href":"/api-reference/check-ups/list-checkup-submissions"},{"title":"Get checkup assignment status","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/checkups/{settingId}/status","href":"/api-reference/check-ups/get-checkup-assignment-status"},{"title":"Cancel checkup assignment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/checkups/{settingId}/cancel","href":"/api-reference/check-ups/cancel-checkup-assignment"}]}]},{"group":"Documents","expanded":false,"pages":[{"group":"Client documents","expanded":false,"pages":[{"title":"List document folders","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/document-folders","href":"/api-reference/documents/list-document-folders"},{"title":"List documents","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/clients/{clientId}/documents","href":"/api-reference/documents/list-documents"},{"title":"Link external document metadata","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/clients/{clientId}/documents/links","href":"/api-reference/documents/link-external-document-metadata"},{"title":"Update document metadata","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/documents/{documentId}","href":"/api-reference/documents/update-document-metadata"},{"title":"Archive document metadata","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/clients/{clientId}/documents/{documentId}/archive","href":"/api-reference/documents/archive-document-metadata"}]}]},{"group":"Reports","expanded":false,"pages":[{"title":"Get attendance summary","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/reports/attendance-summary","href":"/api-reference/reports/get-attendance-summary"},{"title":"Get revenue summary","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/reports/revenue-summary","href":"/api-reference/reports/get-revenue-summary"},{"title":"Get retention summary","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/reports/retention-summary","href":"/api-reference/reports/get-retention-summary"}]},{"group":"Conversations","expanded":false,"pages":[{"group":"Conversation records","expanded":false,"pages":[{"title":"List conversations","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/conversations","href":"/api-reference/conversations/list-conversations"},{"title":"List conversation inbox","description":"Requires `conversations:read`. Returns the combined inbox of direct and group conversations without marking messages as read. This endpoint is an alias of `GET /public/v1/conversations` with the same filters and pagination.","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/conversations/inbox","href":"/api-reference/conversations/list-conversation-inbox"},{"title":"Create conversation","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/conversations","href":"/api-reference/conversations/create-conversation"},{"title":"Get conversation","description":"Requires `conversations:read`. Retrieves one direct or group conversation without marking messages as read.","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/conversations/{conversationId}","href":"/api-reference/conversations/get-conversation"}]},{"group":"Messages","expanded":false,"pages":[{"title":"List conversation messages","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/conversations/{conversationId}/messages","href":"/api-reference/conversations/list-conversation-messages"},{"title":"Send conversation message","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/conversations/{conversationId}/messages","href":"/api-reference/conversations/send-conversation-message"},{"title":"Update conversation message","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/conversations/{conversationId}/messages/{messageId}","href":"/api-reference/conversations/update-conversation-message"},{"title":"Delete conversation message","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/conversations/{conversationId}/messages/{messageId}","href":"/api-reference/conversations/delete-conversation-message"}]},{"group":"Participants","expanded":false,"pages":[{"title":"List conversation participants","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/conversations/{conversationId}/participants","href":"/api-reference/conversations/list-conversation-participants"},{"title":"Add conversation participants","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/conversations/{conversationId}/participants","href":"/api-reference/conversations/add-conversation-participants"},{"title":"Remove conversation participant","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/conversations/{conversationId}/participants/{participantId}","href":"/api-reference/conversations/remove-conversation-participant"}]}]},{"group":"Exports","expanded":false,"pages":[{"title":"List export types","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/exports/types","href":"/api-reference/exports/list-export-types"},{"title":"List export requests","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/exports/requests","href":"/api-reference/exports/list-export-requests"},{"title":"Create an export request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/exports/requests","href":"/api-reference/exports/create-an-export-request"},{"title":"Get an export request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/exports/requests/{exportRequestId}","href":"/api-reference/exports/get-an-export-request"},{"title":"Cancel an export request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/exports/requests/{exportRequestId}/cancel","href":"/api-reference/exports/cancel-an-export-request"},{"title":"Retry an export request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/exports/requests/{exportRequestId}/retry","href":"/api-reference/exports/retry-an-export-request"},{"title":"Delete an export request","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/exports/requests/{exportRequestId}","href":"/api-reference/exports/delete-an-export-request"}]},{"group":"Webhooks","expanded":false,"pages":[{"title":"List webhook subscriptions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/webhooks","href":"/api-reference/webhooks/list-webhook-subscriptions"},{"title":"Create a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/webhooks","href":"/api-reference/webhooks/create-a-webhook-subscription"},{"title":"Get a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/webhooks/{id}","href":"/api-reference/webhooks/get-a-webhook-subscription"},{"title":"Update a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook-subscription"},{"title":"Delete a webhook subscription","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook-subscription"},{"title":"Send a test webhook event","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/webhooks/{id}/test","href":"/api-reference/webhooks/send-a-test-webhook-event"},{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/webhooks/deliveries","href":"/api-reference/webhooks/list-webhook-deliveries"},{"title":"Get a webhook delivery","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/webhooks/deliveries/{id}","href":"/api-reference/webhooks/get-a-webhook-delivery"}]},{"group":"Workout","expanded":false,"pages":[{"group":"Library","expanded":false,"pages":[{"group":"Exercises","expanded":false,"pages":[{"title":"Create a workout exercise","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/exercises","href":"/api-reference/workout/create-a-workout-exercise"},{"title":"Get workout exercise detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/{id}","href":"/api-reference/workout/get-workout-exercise-detail"},{"title":"Duplicate a library exercise to the coach's own exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/exercises/{id}/duplicate","href":"/api-reference/workout/duplicate-a-library-exercise-to-the-coachs-own-exercises"},{"title":"Read exercises categories","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/categories","href":"/api-reference/workout/read-exercises-categories"},{"title":"Coach exercise picker (Library / My / Last Used tabs)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/exercises/company-coach","href":"/api-reference/workout/coach-exercise-picker-library-my-last-used-tabs"},{"title":"Soft-delete several workout exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/exercises/delete-multiple","href":"/api-reference/workout/soft-delete-several-workout-exercises"},{"title":"Soft-delete a workout exercise","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/exercises/exercise/{id}","href":"/api-reference/workout/soft-delete-a-workout-exercise"},{"title":"Update a workout exercise","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/exercises/exercise/{id}","href":"/api-reference/workout/update-a-workout-exercise"},{"title":"List workout exercises grouped by muscle group","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/library/grouped","href":"/api-reference/workout/list-workout-exercises-grouped-by-muscle-group"},{"title":"Search or filter workout exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/search","href":"/api-reference/workout/search-or-filter-workout-exercises"}]},{"group":"Template categories","expanded":false,"pages":[{"title":"List all workout library categories for the active company","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/library/category","href":"/api-reference/workout/list-all-workout-library-categories-for-the-active-company"},{"title":"Create a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/library/category","href":"/api-reference/workout/create-a-workout-library-category"},{"title":"Soft-delete a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/library/category/{categoryId}","href":"/api-reference/workout/soft-delete-a-workout-library-category"},{"title":"Update a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/library/category/{categoryId}","href":"/api-reference/workout/update-a-workout-library-category"},{"title":"List templates in a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/library/category/{categoryId}/templates","href":"/api-reference/workout/list-templates-in-a-workout-library-category"},{"title":"Add templates to a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/library/category/{categoryId}/templates","href":"/api-reference/workout/add-templates-to-a-workout-library-category"},{"title":"Remove a template from a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/library/category/{categoryId}/templates/{templateId}","href":"/api-reference/workout/remove-a-template-from-a-workout-library-category"},{"title":"Reorder templates within a workout library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/library/category/{categoryId}/templates/reorder","href":"/api-reference/workout/reorder-templates-within-a-workout-library-category"},{"title":"Replace or update library category reorder","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/library/category/reorder","href":"/api-reference/workout/replace-or-update-library-category-reorder"},{"title":"List active template plans available for category assignment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/library/category/templates","href":"/api-reference/workout/list-active-template-plans-available-for-category-assignment"}]},{"group":"Videos","expanded":false,"pages":[{"title":"List video library entries","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/video-library","href":"/api-reference/workout/list-video-library-entries"},{"title":"Create a video library entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/video-library","href":"/api-reference/workout/create-a-video-library-entry"},{"title":"Soft-delete a video library entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/video-library/{videoId}","href":"/api-reference/workout/soft-delete-a-video-library-entry"},{"title":"Get video library entry detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/video-library/{videoId}","href":"/api-reference/workout/get-video-library-entry-detail"},{"title":"Update a video library entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/video-library/{videoId}","href":"/api-reference/workout/update-a-video-library-entry"},{"title":"Toggle publish status of a video library entry","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/video-library/{videoId}/publish","href":"/api-reference/workout/toggle-publish-status-of-a-video-library-entry"},{"title":"Get video library dashboard","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/video-library/dashboard","href":"/api-reference/workout/get-video-library-dashboard"},{"title":"Delete video library delete multiple","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/video-library/delete-multiple","href":"/api-reference/workout/delete-video-library-delete-multiple"},{"title":"Update video library unpublish multiple","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/video-library/unpublish-multiple","href":"/api-reference/workout/update-video-library-unpublish-multiple"}]},{"group":"Video categories","expanded":false,"pages":[{"title":"List all video library categories","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/video-category","href":"/api-reference/workout/list-all-video-library-categories"},{"title":"Create a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/video-category","href":"/api-reference/workout/create-a-video-library-category"},{"title":"Soft-delete a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/video-category/{categoryId}","href":"/api-reference/workout/soft-delete-a-video-library-category"},{"title":"Update a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/video-category/{categoryId}","href":"/api-reference/workout/update-a-video-library-category"},{"title":"List videos in a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/video-category/{categoryId}/videos","href":"/api-reference/workout/list-videos-in-a-video-library-category"},{"title":"Add videos to a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/video-category/{categoryId}/videos","href":"/api-reference/workout/add-videos-to-a-video-library-category"},{"title":"Remove a video from a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/video-category/{categoryId}/videos/{videoId}","href":"/api-reference/workout/remove-a-video-from-a-video-library-category"},{"title":"Reorder videos within a video library category","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/video-category/{categoryId}/videos/reorder","href":"/api-reference/workout/reorder-videos-within-a-video-library-category"},{"title":"Reorder video library categories","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/video-category/reorder","href":"/api-reference/workout/reorder-video-library-categories"}]},{"group":"Exercise video uploads","expanded":false,"pages":[{"title":"Cancel an exercise video upload","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/exercises/video-uploads/{uploadId}","href":"/api-reference/workout/cancel-an-exercise-video-upload"},{"title":"Get exercise video upload status","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/video-uploads/{uploadId}","href":"/api-reference/workout/get-exercise-video-upload-status"},{"title":"Complete an exercise video upload","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/exercises/video-uploads/{uploadId}/complete","href":"/api-reference/workout/complete-an-exercise-video-upload"},{"title":"Prepare an exercise video upload","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/exercises/video-uploads/presign","href":"/api-reference/workout/prepare-an-exercise-video-upload"}]},{"group":"Video uploads","expanded":false,"pages":[{"title":"Prepare a library video upload","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/video-library/presign","href":"/api-reference/workout/prepare-a-library-video-upload"},{"title":"Cancel a library video upload","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/video-library/uploads/{uploadId}","href":"/api-reference/workout/cancel-a-library-video-upload"},{"title":"Get library video upload status","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/video-library/uploads/{uploadId}","href":"/api-reference/workout/get-library-video-upload-status"},{"title":"Complete a library video upload","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/video-library/uploads/{uploadId}/complete","href":"/api-reference/workout/complete-a-library-video-upload"}]},{"group":"Images","expanded":false,"pages":[{"title":"List coach-selectable image library assets","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/image-library","href":"/api-reference/workout/list-coach-selectable-image-library-assets"}]}]},{"group":"Plans","expanded":false,"pages":[{"group":"Template records","expanded":false,"pages":[{"title":"Search or filter workout template plans","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans","href":"/api-reference/workout/search-or-filter-workout-template-plans"},{"title":"Create a workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans","href":"/api-reference/workout/create-a-workout-plan"},{"title":"Soft-delete a workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/{id}","href":"/api-reference/workout/soft-delete-a-workout-plan"},{"title":"Get workout plan detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/{id}","href":"/api-reference/workout/get-workout-plan-detail"},{"title":"Update a workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/{id}","href":"/api-reference/workout/update-a-workout-plan"},{"title":"Update the status of an assigned workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/{id}/status","href":"/api-reference/workout/update-the-status-of-an-assigned-workout-plan"},{"title":"Export a coach-visible plan as PDF","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/{planId}/export","href":"/api-reference/workout/export-a-coach-visible-plan-as-pdf"},{"title":"Delete plans delete multiple","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/delete-multiple","href":"/api-reference/workout/delete-plans-delete-multiple"},{"title":"Create or run plans duplicate multiple","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/duplicate-multiple","href":"/api-reference/workout/create-or-run-plans-duplicate-multiple"},{"title":"Duplicate a template or save an assigned plan as a template","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/duplicate/{templateId}","href":"/api-reference/workout/duplicate-a-template-or-save-an-assigned-plan-as-a-template"},{"title":"Alias for workout template-plan search","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/search","href":"/api-reference/workout/alias-for-workout-template-plan-search"},{"title":"Full template editor detail (all days in one call)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/template/{planId}","href":"/api-reference/workout/full-template-editor-detail-all-days-in-one-call"},{"title":"Plan Review modal — all days with compact exercise lists","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/template/{planId}/review","href":"/api-reference/workout/plan-review-modal-—-all-days-with-compact-exercise-lists"}]},{"group":"Assignments","expanded":false,"pages":[{"title":"Update the date range of an assigned workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/{planId}/duration","href":"/api-reference/workout/update-the-date-range-of-an-assigned-workout-plan"},{"title":"Assign a template workout plan to a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/assign","href":"/api-reference/workout/assign-a-template-workout-plan-to-a-client"},{"title":"Assign a template workout plan to multiple clients at once","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/assign-multiple","href":"/api-reference/workout/assign-a-template-workout-plan-to-multiple-clients-at-once"},{"title":"Assign multiple workout templates to multiple clients","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/assign-multiple-plans","href":"/api-reference/workout/assign-multiple-workout-templates-to-multiple-clients"},{"title":"List assigned workout plans for a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/assigned","href":"/api-reference/workout/list-assigned-workout-plans-for-a-client"},{"title":"Client training page — assigned plans + all dashboard sections","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/assigned-by-coach","href":"/api-reference/workout/client-training-page-—-assigned-plans-+-all-dashboard-sections"},{"title":"Activate or deactivate a client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/assigned/{planId}/status","href":"/api-reference/workout/activate-or-deactivate-a-clients-assigned-plan"},{"title":"Create a workout plan assigned to one client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/create-and-assign/{clientId}","href":"/api-reference/workout/create-a-workout-plan-assigned-to-one-client"},{"title":"List company templates eligible to assign to a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/workouts-to-assign","href":"/api-reference/workout/list-company-templates-eligible-to-assign-to-a-client"},{"title":"List a client's Active assigned plans ready to start","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/workouts-to-start","href":"/api-reference/workout/list-a-clients-active-assigned-plans-ready-to-start"}]},{"group":"Days and ordering","expanded":false,"pages":[{"title":"List workout plan moments","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/moments/{planId}","href":"/api-reference/workout/list-workout-plan-moments"},{"title":"Create a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/moments/{planId}","href":"/api-reference/workout/create-a-workout-plan-moment"},{"title":"Soft-delete a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/moments/{planId}/{planMomentId}","href":"/api-reference/workout/soft-delete-a-workout-plan-moment"},{"title":"Get workout plan moment detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/moments/{planId}/{planMomentId}","href":"/api-reference/workout/get-workout-plan-moment-detail"},{"title":"Update a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/moments/{planId}/{planMomentId}","href":"/api-reference/workout/update-a-workout-plan-moment"},{"title":"Duplicate a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/moments/{planId}/{planMomentId}/duplicate","href":"/api-reference/workout/duplicate-a-workout-plan-moment"},{"title":"Spread calendar programme workouts over available weekdays","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/moments/{planId}/auto-schedule","href":"/api-reference/workout/spread-calendar-programme-workouts-over-available-weekdays"},{"title":"Day Info sidebar — all days with per-day avg RPE","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/template/{planId}/day-info","href":"/api-reference/workout/day-info-sidebar-—-all-days-with-per-day-avg-rpe"},{"title":"Reorder the days of a workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/days/reorder","href":"/api-reference/workout/reorder-the-days-of-a-workout-plan"},{"title":"Reorder the top-level items of a plan day","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/items/reorder","href":"/api-reference/workout/reorder-the-top-level-items-of-a-plan-day"},{"title":"Reorder exercises within a plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/reorder","href":"/api-reference/workout/reorder-exercises-within-a-plan-moment"}]},{"group":"Exercises","expanded":false,"pages":[{"title":"Calculate training load from reps and RIR","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/load-calculator","href":"/api-reference/workout/calculate-training-load-from-reps-and-rir"},{"title":"Create a workout exercise inside a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/moments/exercises/{planId}/{planMomentId}","href":"/api-reference/workout/create-a-workout-exercise-inside-a-workout-plan-moment"},{"title":"Soft-delete a workout exercise inside a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/moments/exercises/{planId}/{planMomentId}/{exerciseId}","href":"/api-reference/workout/soft-delete-a-workout-exercise-inside-a-workout-plan-moment"},{"title":"Get workout exercise detail from a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/moments/exercises/{planId}/{planMomentId}/{exerciseId}","href":"/api-reference/workout/get-workout-exercise-detail-from-a-workout-plan-moment"},{"title":"Update a workout exercise inside a workout plan moment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/moments/exercises/{planId}/{planMomentId}/{exerciseId}","href":"/api-reference/workout/update-a-workout-exercise-inside-a-workout-plan-moment"},{"title":"Upsert the coach note for an exercise across a plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/moments/exercises/{planId}/{planMomentId}/{exerciseId}/note","href":"/api-reference/workout/upsert-the-coach-note-for-an-exercise-across-a-plan"}]},{"group":"Supersets","expanded":false,"pages":[{"title":"Replace plan-moment superset assignments","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/moments/{planId}/{planMomentId}/supersets","href":"/api-reference/workout/replace-plan-moment-superset-assignments"},{"title":"List the supersets in a plan day (Add-to-Superset picker)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets","href":"/api-reference/workout/list-the-supersets-in-a-plan-day-add-to-superset-picker"},{"title":"Create a superset from library exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets","href":"/api-reference/workout/create-a-superset-from-library-exercises"},{"title":"Delete an entire superset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets/{groupId}","href":"/api-reference/workout/delete-an-entire-superset"},{"title":"Add an exercise to a superset (existing day exercise OR catalog)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets/{groupId}/exercises","href":"/api-reference/workout/add-an-exercise-to-a-superset-existing-day-exercise-or-catalog"},{"title":"Remove an exercise from a superset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets/{groupId}/exercises/{planExerciseId}","href":"/api-reference/workout/remove-an-exercise-from-a-superset"},{"title":"Reorder the exercises inside one superset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets/{groupId}/reorder","href":"/api-reference/workout/reorder-the-exercises-inside-one-superset"},{"title":"Set a superset's prescribed rest","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets/{groupId}/rest","href":"/api-reference/workout/set-a-supersets-prescribed-rest"},{"title":"Ungroup a superset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/moments/{planMomentId}/supersets/{groupId}/ungroup","href":"/api-reference/workout/ungroup-a-superset"}]},{"group":"Programme schedules and weeks","expanded":false,"pages":[{"title":"Replace a workout programme calendar schedule","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/{planId}/calendar-schedule","href":"/api-reference/workout/replace-a-workout-programme-calendar-schedule"},{"title":"Append an empty assigned workout programme week","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/moments/{planId}/weeks","href":"/api-reference/workout/append-an-empty-assigned-workout-programme-week"},{"title":"Delete a complete workout programme week","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/plans/moments/{planId}/weeks/{weekNumber}","href":"/api-reference/workout/delete-a-complete-workout-programme-week"},{"title":"Duplicate a complete workout programme week","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/plans/moments/{planId}/weeks/{weekNumber}/duplicate","href":"/api-reference/workout/duplicate-a-complete-workout-programme-week"},{"title":"Move one item to another weekday of the same week","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/weeks/{weekNumber}/days/{weekday}/items/{itemId}/move","href":"/api-reference/workout/move-one-item-to-another-weekday-of-the-same-week"},{"title":"Reorder the items inside one day of a calendar week","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/weeks/{weekNumber}/days/{weekday}/items/reorder","href":"/api-reference/workout/reorder-the-items-inside-one-day-of-a-calendar-week"},{"title":"Reorder the days inside one week of a multi-week plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/template/{planId}/weeks/{weekNumber}/days/reorder","href":"/api-reference/workout/reorder-the-days-inside-one-week-of-a-multi-week-plan"}]},{"group":"Publishing and archiving","expanded":false,"pages":[{"title":"Replace or update plans archive multiple","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/archive-multiple","href":"/api-reference/workout/replace-or-update-plans-archive-multiple"},{"title":"List archived workout template plans","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/archived","href":"/api-reference/workout/list-archived-workout-template-plans"},{"title":"List draft workout template plans","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/plans/drafts","href":"/api-reference/workout/list-draft-workout-template-plans"},{"title":"Publish a draft workout template plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/publish/{templateId}","href":"/api-reference/workout/publish-a-draft-workout-template-plan"},{"title":"Unarchive an archived workout template plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/plans/unarchive/{templateId}","href":"/api-reference/workout/unarchive-an-archived-workout-template-plan"}]}]},{"group":"Client plans","expanded":false,"pages":[{"group":"Assigned plans","expanded":false,"pages":[{"title":"List the client's archived assigned plans (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/archived-templates","href":"/api-reference/workout/list-the-clients-archived-assigned-plans-paginated"},{"title":"Get assigned-plan browse detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/assigned/{templateId}/detail","href":"/api-reference/workout/get-assigned-plan-browse-detail"},{"title":"Get the assigned-plan session detail (available days)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/assigned/{templateId}/session-detail","href":"/api-reference/workout/get-the-assigned-plan-session-detail-available-days"},{"title":"Get the freestyle session detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/freestyle/session-detail/{sessionId}","href":"/api-reference/workout/get-the-freestyle-session-detail"},{"title":"Get the freestyle workout-execution screen","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/freestyle/workout","href":"/api-reference/workout/get-the-freestyle-workout-execution-screen"},{"title":"Get an assigned plan with per-day completion progress","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/template-with-progress/{templateId}","href":"/api-reference/workout/get-an-assigned-plan-with-per-day-completion-progress"},{"title":"Soft-delete the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/clients/{clientId}/plans/template/{templateId}","href":"/api-reference/workout/soft-delete-the-clients-assigned-plan"},{"title":"Archive or restore the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/archive","href":"/api-reference/workout/archive-or-restore-the-clients-assigned-plan"},{"title":"Switch the client's assigned plan on or off","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/status","href":"/api-reference/workout/switch-the-clients-assigned-plan-on-or-off"}]},{"group":"Plan days","expanded":false,"pages":[{"title":"List archived days of the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/template/{templateId}/archived-days","href":"/api-reference/workout/list-archived-days-of-the-clients-assigned-plan"},{"title":"Get the day workout-execution screen","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/template/{templateId}/day/{planMomentId}/workout","href":"/api-reference/workout/get-the-day-workout-execution-screen"},{"title":"Add a day to the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/template/{templateId}/days","href":"/api-reference/workout/add-a-day-to-the-clients-assigned-plan"},{"title":"Delete a day of the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/clients/{clientId}/plans/template/{templateId}/days/{planMomentId}","href":"/api-reference/workout/delete-a-day-of-the-clients-assigned-plan"},{"title":"Update a day of the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/days/{planMomentId}","href":"/api-reference/workout/update-a-day-of-the-clients-assigned-plan"},{"title":"Archive or restore a day of the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/days/{planMomentId}/archive","href":"/api-reference/workout/archive-or-restore-a-day-of-the-clients-assigned-plan"},{"title":"Reorder the days of the client's assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/reorder-days","href":"/api-reference/workout/reorder-the-days-of-the-clients-assigned-plan"}]},{"group":"Programme weeks","expanded":false,"pages":[{"title":"List every week of the client's own multi-week programme (reorder screen)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks","href":"/api-reference/workout/list-every-week-of-the-clients-own-multi-week-programme-reorder-screen"},{"title":"Create or run clients :client Id plans template :template Id weeks","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks","href":"/api-reference/workout/create-or-run-clients-:client-id-plans-template-:template-id-weeks"},{"title":"Add an activity to one day of the client's plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/days/{weekday}/activities","href":"/api-reference/workout/add-an-activity-to-one-day-of-the-clients-plan"},{"title":"Reorder the items inside one day of the client's own programme","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/days/{weekday}/items/reorder","href":"/api-reference/workout/reorder-the-items-inside-one-day-of-the-clients-own-programme"},{"title":"Mark a day of the client's plan as a rest day","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/days/{weekday}/rest","href":"/api-reference/workout/mark-a-day-of-the-clients-plan-as-a-rest-day"},{"title":"Skip a day of the client's plan (or resume it)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/days/{weekday}/skip","href":"/api-reference/workout/skip-a-day-of-the-clients-plan-or-resume-it"},{"title":"Add a workout to one day of the client's plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/days/{weekday}/workouts","href":"/api-reference/workout/add-a-workout-to-one-day-of-the-clients-plan"},{"title":"Reorder the days inside one week of the client's own programme","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/days/reorder","href":"/api-reference/workout/reorder-the-days-inside-one-week-of-the-clients-own-programme"},{"title":"Skip a whole week of the client's plan (or resume it)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/{weekNumber}/skip","href":"/api-reference/workout/skip-a-whole-week-of-the-clients-plan-or-resume-it"},{"title":"Reorder the weeks of the client's own multi-week programme","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/template/{templateId}/weeks/reorder","href":"/api-reference/workout/reorder-the-weeks-of-the-clients-own-multi-week-programme"}]},{"group":"Library and favourites","expanded":false,"pages":[{"title":"Get workout library home (GET)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library","href":"/api-reference/workout/get-workout-library-home-get"},{"title":"Get workout library home","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/library","href":"/api-reference/workout/get-workout-library-home"},{"title":"Get templates in a category (GET)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/category/{categoryId}","href":"/api-reference/workout/get-templates-in-a-category-get"},{"title":"Get templates in a category (See All)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/library/category/{categoryId}","href":"/api-reference/workout/get-templates-in-a-category-see-all"},{"title":"Get exercise detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/exercises/{exerciseId}","href":"/api-reference/workout/get-exercise-detail"},{"title":"Toggle exercise favourite","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/library/exercises/{exerciseId}/favourite","href":"/api-reference/workout/toggle-exercise-favourite"},{"title":"Get all favourite exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/exercises/favourite","href":"/api-reference/workout/get-all-favourite-exercises"},{"title":"Get workout template detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/template/{templateId}","href":"/api-reference/workout/get-workout-template-detail"},{"title":"Get plan moment (day) detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/template/{templateId}/day/{planMomentId}","href":"/api-reference/workout/get-plan-moment-day-detail"},{"title":"Toggle workout plan favourite","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/library/template/{templateId}/favourite","href":"/api-reference/workout/toggle-workout-plan-favourite"},{"title":"Get one week of a multi-week plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/template/{templateId}/week/{weekNumber}","href":"/api-reference/workout/get-one-week-of-a-multi-week-plan"},{"title":"Get all favourite workout plans","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/template/favourite","href":"/api-reference/workout/get-all-favourite-workout-plans"},{"title":"Get client training section data","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/training-section","href":"/api-reference/workout/get-client-training-section-data"}]},{"group":"Client exercises","expanded":false,"pages":[{"title":"List exercises for client with filters","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/exercises/search","href":"/api-reference/workout/list-exercises-for-client-with-filters"},{"title":"List the client's own created exercises (My Exercise)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/my-exercises","href":"/api-reference/workout/list-the-clients-own-created-exercises-my-exercise"},{"title":"Create a workout exercise as a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/exercises","href":"/api-reference/workout/create-a-workout-exercise-as-a-client"},{"title":"Soft-delete a workout exercise as a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/clients/{clientId}/exercises/{id}","href":"/api-reference/workout/soft-delete-a-workout-exercise-as-a-client"},{"title":"List client-created workout exercises for the active company","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/client-exercises","href":"/api-reference/workout/list-client-created-workout-exercises-for-the-active-company"},{"title":"Update a workout exercise as a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/clients/{clientId}/exercises/{id}","href":"/api-reference/workout/update-a-workout-exercise-as-a-client"},{"title":"Get the authenticated user's last-used exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/last-used","href":"/api-reference/workout/get-the-authenticated-users-last-used-exercises"}]},{"group":"Video library","expanded":false,"pages":[{"title":"Get video detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/video-library/{videoId}","href":"/api-reference/workout/get-video-detail"},{"title":"Toggle video favourite","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/video-library/{videoId}/favorite","href":"/api-reference/workout/toggle-video-favourite"},{"title":"Update video watch progress","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/video-library/{videoId}/progress","href":"/api-reference/workout/update-video-watch-progress"},{"title":"Get all videos in a category (See All)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/video-library/category/{categoryId}","href":"/api-reference/workout/get-all-videos-in-a-category-see-all"},{"title":"Get favourite videos","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/video-library/favorites","href":"/api-reference/workout/get-favourite-videos"},{"title":"Get video library home","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/video-library/home","href":"/api-reference/workout/get-video-library-home"}]},{"group":"Equipment","expanded":false,"pages":[{"title":"Get client workout equipment catalog, selections, and presets","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/equipment/clients/{clientId}","href":"/api-reference/workout/get-client-workout-equipment-catalog-selections-and-presets"},{"title":"Update client workout equipment selections","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/equipment/clients/{clientId}","href":"/api-reference/workout/update-client-workout-equipment-selections"},{"title":"Create a client-scoped custom equipment item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/equipment/clients/{clientId}/custom-items","href":"/api-reference/workout/create-a-client-scoped-custom-equipment-item"},{"title":"Delete a client-scoped custom equipment item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/equipment/clients/{clientId}/custom-items/{itemId}","href":"/api-reference/workout/delete-a-client-scoped-custom-equipment-item"},{"title":"Update a client-scoped custom equipment item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/equipment/clients/{clientId}/custom-items/{itemId}","href":"/api-reference/workout/update-a-client-scoped-custom-equipment-item"}]},{"group":"Running profiles and adaptation","expanded":false,"pages":[{"title":"Read the latest 100 plan decisions and pending reviews","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/adaptation/decisions","href":"/api-reference/workout/read-the-latest-100-plan-decisions-and-pending-reviews"},{"title":"Undo the latest safe decision","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/adaptation/decisions/{decisionId}/undo","href":"/api-reference/workout/undo-the-latest-safe-decision"},{"title":"Read the next due review and plan revision","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/adaptation/overview","href":"/api-reference/workout/read-the-next-due-review-and-plan-revision"},{"title":"Read a client's running profile and calculated baseline (coach)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/cardio/clients/{clientId}/profile","href":"/api-reference/workout/read-a-clients-running-profile-and-calculated-baseline-coach"},{"title":"Partially update measured running-profile inputs (coach)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/cardio/clients/{clientId}/profile","href":"/api-reference/workout/partially-update-measured-running-profile-inputs-coach"},{"title":"Read the authenticated athlete's latest adaptation decision","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/cardio/adaptation/latest","href":"/api-reference/workout/read-the-authenticated-athletes-latest-adaptation-decision"},{"title":"Athlete reports an active niggle","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/cardio/niggle","href":"/api-reference/workout/athlete-reports-an-active-niggle"},{"title":"Athlete clears their active niggle","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/cardio/niggle/clear","href":"/api-reference/workout/athlete-clears-their-active-niggle"},{"title":"Read the authenticated athlete's running profile","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/cardio/profile","href":"/api-reference/workout/read-the-authenticated-athletes-running-profile"}]},{"group":"Running plans","expanded":false,"pages":[{"title":"Save the structured race goal of an assigned plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/goal","href":"/api-reference/workout/save-the-structured-race-goal-of-an-assigned-plan"},{"title":"Generate into an empty assigned calendar programme","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/running-plan/generate","href":"/api-reference/workout/generate-into-an-empty-assigned-calendar-programme"},{"title":"Apply an audited weekly review","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/running-plan/review/apply","href":"/api-reference/workout/apply-an-audited-weekly-review"},{"title":"Preview the next two/three future running weeks","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/cardio/clients/{clientId}/plans/{planId}/running-plan/review/preview","href":"/api-reference/workout/preview-the-next-twothree-future-running-weeks"},{"title":"Preview workbook-derived running structure and unresolved rules","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/cardio/clients/{clientId}/running-plan/preview","href":"/api-reference/workout/preview-workbook-derived-running-structure-and-unresolved-rules"}]},{"group":"Workout feedback","expanded":false,"pages":[{"title":"Submit session workout feedback","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/workout-feedback","href":"/api-reference/workout/submit-session-workout-feedback"},{"title":"Clear session workout feedback","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/clients/{clientId}/plans/workout-feedback/{sessionId}","href":"/api-reference/workout/clear-session-workout-feedback"},{"title":"Edit session workout feedback","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/plans/workout-feedback/{sessionId}","href":"/api-reference/workout/edit-session-workout-feedback"},{"title":"Send session workout feedback reminders","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/workout-feedback/remind","href":"/api-reference/workout/send-session-workout-feedback-reminders"}]}]},{"group":"Calendar","expanded":false,"pages":[{"title":"Get the client's merged programme calendar week","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/programme-calendar","href":"/api-reference/workout/get-the-clients-merged-programme-calendar-week"},{"title":"Get every programme's scheduled work for one date","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/programme-day","href":"/api-reference/workout/get-every-programmes-scheduled-work-for-one-date"},{"title":"Create a personal training calendar item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/training-calendar/items","href":"/api-reference/workout/create-a-personal-training-calendar-item"},{"title":"Soft-delete a personal training calendar item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/clients/{clientId}/training-calendar/items/{itemId}","href":"/api-reference/workout/soft-delete-a-personal-training-calendar-item"},{"title":"Update a personal training calendar item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/clients/{clientId}/training-calendar/items/{itemId}","href":"/api-reference/workout/update-a-personal-training-calendar-item"},{"title":"Start a planned personal freestyle workout","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/training-calendar/items/{itemId}/start","href":"/api-reference/workout/start-a-planned-personal-freestyle-workout"},{"title":"Restore one skipped or moved programme occurrence","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/clients/{clientId}/training-calendar/occurrences/{planId}/{scheduleItemId}/{occurrenceDate}","href":"/api-reference/workout/restore-one-skipped-or-moved-programme-occurrence"},{"title":"Move or skip one programme workout occurrence","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/clients/{clientId}/training-calendar/occurrences/{planId}/{scheduleItemId}/{occurrenceDate}","href":"/api-reference/workout/move-or-skip-one-programme-workout-occurrence"}]},{"group":"Sessions and performance","expanded":false,"pages":[{"group":"Start and manage sessions","expanded":false,"pages":[{"title":"List unified coach and client workout sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/sessions","href":"/api-reference/workout/list-unified-coach-and-client-workout-sessions"},{"title":"Get a read-only standalone client workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/sessions/{sessionId}","href":"/api-reference/workout/get-a-read-only-standalone-client-workout-session"},{"title":"Delete a freestyle workout (session + its performances)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/performance/freestyle/sessions/{sessionId}","href":"/api-reference/workout/delete-a-freestyle-workout-session-+-its-performances"},{"title":"Get workout session detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/sessions/{sessionId}","href":"/api-reference/workout/get-workout-session-detail"},{"title":"Complete a workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/complete","href":"/api-reference/workout/complete-a-workout-session"},{"title":"Get the completed-session summary cards","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/sessions/{sessionId}/completed-detail","href":"/api-reference/workout/get-the-completed-session-summary-cards"},{"title":"Edit the total duration of a session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/duration","href":"/api-reference/workout/edit-the-total-duration-of-a-session"},{"title":"Rate a workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/rating","href":"/api-reference/workout/rate-a-workout-session"},{"title":"Update freestyle workout session settings","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/settings","href":"/api-reference/workout/update-freestyle-workout-session-settings"},{"title":"Update a workout session status","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/status","href":"/api-reference/workout/update-a-workout-session-status"},{"title":"Get the current workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/sessions/current","href":"/api-reference/workout/get-the-current-workout-session"},{"title":"Start, continue, fully reset, or clear freestyle performance","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/sessions/start","href":"/api-reference/workout/start-continue-fully-reset-or-clear-freestyle-performance"}]},{"group":"Exercises and setup","expanded":false,"pages":[{"title":"Remove a prescribed plan-day exercise (by plan exercise id)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/performance/plans/{planId}/moments/{planMomentId}/exercises/{planExerciseId}","href":"/api-reference/workout/remove-a-prescribed-plan-day-exercise-by-plan-exercise-id"},{"title":"Set next-target guidance for a prescribed plan-day exercise","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/performance/plans/{planId}/moments/{planMomentId}/exercises/{planExerciseId}/next-target","href":"/api-reference/workout/set-next-target-guidance-for-a-prescribed-plan-day-exercise"},{"title":"Swap a prescribed plan-day exercise (by plan exercise id)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/plans/{planId}/moments/{planMomentId}/exercises/{planExerciseId}/swap","href":"/api-reference/workout/swap-a-prescribed-plan-day-exercise-by-plan-exercise-id"},{"title":"Create exercise performance for a workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/sessions/{sessionId}/exercises","href":"/api-reference/workout/create-exercise-performance-for-a-workout-session"},{"title":"Delete exercise performance from a workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/performance/sessions/{sessionId}/exercises/{exerciseId}","href":"/api-reference/workout/delete-exercise-performance-from-a-workout-session"},{"title":"Upsert exercise performance for a workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/performance/sessions/{sessionId}/exercises/{exerciseId}","href":"/api-reference/workout/upsert-exercise-performance-for-a-workout-session"},{"title":"Replace an exercise performance with another exercise","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/sessions/{sessionId}/exercises/{exerciseIdToReplace}/replace","href":"/api-reference/workout/replace-an-exercise-performance-with-another-exercise"},{"title":"Update a logged performance's machine setup (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/performance/sessions/{sessionId}/exercises/{performanceId}/setup","href":"/api-reference/workout/update-a-logged-performances-machine-setup-freestyle"},{"title":"Bulk-add exercises to a workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/sessions/{sessionId}/exercises/bulk","href":"/api-reference/workout/bulk-add-exercises-to-a-workout-session"},{"title":"Reorder the top-level items of a session (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/items/reorder","href":"/api-reference/workout/reorder-the-top-level-items-of-a-session-freestyle"},{"title":"Swap a specific logged performance's exercise (by performance id)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/sessions/{sessionId}/performances/{performanceId}/swap","href":"/api-reference/workout/swap-a-specific-logged-performances-exercise-by-performance-id"}]},{"group":"Supersets","expanded":false,"pages":[{"title":"List the supersets in a session (Add-to-Superset picker)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/sessions/{sessionId}/supersets","href":"/api-reference/workout/list-the-supersets-in-a-session-add-to-superset-picker"},{"title":"Replace session-level superset assignments","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/supersets","href":"/api-reference/workout/replace-session-level-superset-assignments"},{"title":"Create a session superset from library exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/sessions/{sessionId}/supersets","href":"/api-reference/workout/create-a-session-superset-from-library-exercises"},{"title":"Delete an entire session superset (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/performance/sessions/{sessionId}/supersets/{groupId}","href":"/api-reference/workout/delete-an-entire-session-superset-freestyle"},{"title":"Add an exercise to a session superset (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/supersets/{groupId}/exercises","href":"/api-reference/workout/add-an-exercise-to-a-session-superset-freestyle"},{"title":"Remove an exercise from a session superset (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/performance/sessions/{sessionId}/supersets/{groupId}/exercises/{performanceId}","href":"/api-reference/workout/remove-an-exercise-from-a-session-superset-freestyle"},{"title":"Reorder the exercises inside a session superset (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/supersets/{groupId}/reorder","href":"/api-reference/workout/reorder-the-exercises-inside-a-session-superset-freestyle"},{"title":"Set a superset's rest (client's own)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/supersets/{groupId}/rest","href":"/api-reference/workout/set-a-supersets-rest-clients-own"},{"title":"Ungroup a session superset (freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/performance/sessions/{sessionId}/supersets/{groupId}/ungroup","href":"/api-reference/workout/ungroup-a-session-superset-freestyle"}]},{"group":"Activity metrics and history transfer","expanded":false,"pages":[{"title":"Get one programme activity occurrence","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/activities/{planId}/{scheduleItemId}/{plannedDate}","href":"/api-reference/workout/get-one-programme-activity-occurrence"},{"title":"Save one programme activity occurrence","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/performance/activities/{planId}/{scheduleItemId}/{plannedDate}","href":"/api-reference/workout/save-one-programme-activity-occurrence"},{"title":"Copy or move workout performance history between exercises","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/performance/transfer-stats","href":"/api-reference/workout/copy-or-move-workout-performance-history-between-exercises"}]}]},{"group":"Groups","expanded":false,"pages":[{"group":"Event context and start","expanded":false,"pages":[{"title":"Get calendar event participants for group workout start","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/events/{eventId}/context","href":"/api-reference/workout/get-calendar-event-participants-for-group-workout-start"},{"title":"List workout options for calendar event participants","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/events/{eventId}/plan-options","href":"/api-reference/workout/list-workout-options-for-calendar-event-participants"},{"title":"Preview resolved workouts before starting a group workout","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/events/{eventId}/start-preview","href":"/api-reference/workout/preview-resolved-workouts-before-starting-a-group-workout"},{"title":"List workout options for a manual group or company settings","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/plan-options","href":"/api-reference/workout/list-workout-options-for-a-manual-group-or-company-settings"},{"title":"Start or resume a multi-client coach group workout","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/start","href":"/api-reference/workout/start-or-resume-a-multi-client-coach-group-workout"},{"title":"Start or resume a coach-led workout for one client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/start-client","href":"/api-reference/workout/start-or-resume-a-coach-led-workout-for-one-client"}]},{"group":"Group runs","expanded":false,"pages":[{"title":"List coach workout sessions","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/runs","href":"/api-reference/workout/list-coach-workout-sessions"},{"title":"Get a compact group workout run with participant session data","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/runs/{runId}","href":"/api-reference/workout/get-a-compact-group-workout-run-with-participant-session-data"},{"title":"Complete the entire group workout run","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/runs/{runId}/complete","href":"/api-reference/workout/complete-the-entire-group-workout-run"},{"title":"Bulk update individual participant performance records","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/runs/{runId}/performance/bulk","href":"/api-reference/workout/bulk-update-individual-participant-performance-records"},{"title":"Pause or resume the central timer of a group workout run","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/runs/{runId}/status","href":"/api-reference/workout/pause-or-resume-the-central-timer-of-a-group-workout-run"}]},{"group":"Participants","expanded":false,"pages":[{"title":"Add participants to an active group workout run","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/runs/{runId}/participants","href":"/api-reference/workout/add-participants-to-an-active-group-workout-run"},{"title":"Reconcile participants for an active group workout run","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/groups/runs/{runId}/participants","href":"/api-reference/workout/reconcile-participants-for-an-active-group-workout-run"},{"title":"Remove a participant from the group workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/groups/runs/{runId}/participants/{clientId}","href":"/api-reference/workout/remove-a-participant-from-the-group-workout-session"},{"title":"Reset one participant's session or performance","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/runs/{runId}/participants/{clientId}/restart","href":"/api-reference/workout/reset-one-participants-session-or-performance"},{"title":"Pause, resume, complete, stop, or cancel one participant","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/runs/{runId}/participants/{clientId}/status","href":"/api-reference/workout/pause-resume-complete-stop-or-cancel-one-participant"},{"title":"Change one participant workout source","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/runs/{runId}/participants/{clientId}/workout-source","href":"/api-reference/workout/change-one-participant-workout-source"}]},{"group":"Sessions and days","expanded":false,"pages":[{"title":"Get one coach group workout session detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/sessions/{sessionId}","href":"/api-reference/workout/get-one-coach-group-workout-session-detail"},{"title":"Complete one individual session inside a group workout","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/sessions/{sessionId}/complete","href":"/api-reference/workout/complete-one-individual-session-inside-a-group-workout"},{"title":"Change the active group session day","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/sessions/{sessionId}/day","href":"/api-reference/workout/change-the-active-group-session-day"},{"title":"List selectable plan days for the active group session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/sessions/{sessionId}/days","href":"/api-reference/workout/list-selectable-plan-days-for-the-active-group-session"},{"title":"List selectable days for a selected workout plan","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/groups/sessions/{sessionId}/plans/{planId}/days","href":"/api-reference/workout/list-selectable-days-for-a-selected-workout-plan"},{"title":"Pause or resume one individual session inside a group workout","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/sessions/{sessionId}/status","href":"/api-reference/workout/pause-or-resume-one-individual-session-inside-a-group-workout"}]},{"group":"Exercises","expanded":false,"pages":[{"title":"Create or run groups performance sessions :session Id exercises :exercise Id To Replace replace","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/performance/sessions/{sessionId}/exercises/{exerciseIdToReplace}/replace","href":"/api-reference/workout/create-or-run-groups-performance-sessions-:session-id-exercises-:exercise-id-to-replace-replace"},{"title":"Create exercise performance in a group workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/sessions/{sessionId}/exercises","href":"/api-reference/workout/create-exercise-performance-in-a-group-workout-session"},{"title":"Delete one exercise performance from a group workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/groups/sessions/{sessionId}/exercises/{exerciseId}","href":"/api-reference/workout/delete-one-exercise-performance-from-a-group-workout-session"},{"title":"Upsert one exercise performance in a group workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/groups/sessions/{sessionId}/exercises/{exerciseId}","href":"/api-reference/workout/upsert-one-exercise-performance-in-a-group-workout-session"},{"title":"Replace one exercise performance in a group workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/groups/sessions/{sessionId}/exercises/{exerciseIdToReplace}/replace","href":"/api-reference/workout/replace-one-exercise-performance-in-a-group-workout-session"},{"title":"Reorder performances inside a group workout session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/sessions/{sessionId}/exercises/reorder","href":"/api-reference/workout/reorder-performances-inside-a-group-workout-session"}]},{"group":"Supersets","expanded":false,"pages":[{"title":"Replace session-level superset assignments for a group session","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/groups/sessions/{sessionId}/supersets","href":"/api-reference/workout/replace-session-level-superset-assignments-for-a-group-session"},{"title":"Delete every exercise in a session-level superset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/groups/sessions/{sessionId}/supersets/{groupId}","href":"/api-reference/workout/delete-every-exercise-in-a-session-level-superset"}]}]},{"group":"Progress","expanded":false,"pages":[{"group":"History","expanded":false,"pages":[{"title":"Exercise detail — History \u0026 Statistics (combined)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/library/exercises/{exerciseId}/history","href":"/api-reference/workout/exercise-detail-—-history-\u0026-statistics-combined"},{"title":"Client freestyle-workout History page (Feed + Statistics tabs)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/freestyle-history","href":"/api-reference/workout/client-freestyle-workout-history-page-feed-+-statistics-tabs"},{"title":"Single freestyle workout — freestyle History detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/freestyle-history/workout/{sessionId}","href":"/api-reference/workout/single-freestyle-workout-—-freestyle-history-detail"},{"title":"Client training-plan History page (Feed + Statistics tabs)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/history","href":"/api-reference/workout/client-training-plan-history-page-feed-+-statistics-tabs"},{"title":"Single completed plan — training-plan History detail","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/history/plan/{planId}","href":"/api-reference/workout/single-completed-plan-—-training-plan-history-detail"},{"title":"Multi-week plan history detail — every week at once","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/history/plan/{planId}/weeks","href":"/api-reference/workout/multi-week-plan-history-detail-—-every-week-at-once"},{"title":"MERGED client History page (Feed + Statistics, plan + freestyle)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/merged/history","href":"/api-reference/workout/merged-client-history-page-feed-+-statistics-plan-+-freestyle"},{"title":"Create or run clients :client Id plans merged history all","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/merged/history-all","href":"/api-reference/workout/create-or-run-clients-:client-id-plans-merged-history-all"},{"title":"Get workout day performance history (session detail)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/workout-day-history/{sessionId}","href":"/api-reference/workout/get-workout-day-performance-history-session-detail"},{"title":"Get one exercise's record history inside the client's assigned plans","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/workout-exercise-history/{exerciseId}","href":"/api-reference/workout/get-one-exercises-record-history-inside-the-clients-assigned-plans"},{"title":"Get the client's Workout History screen (feed / exercises / statistics)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/workout-history","href":"/api-reference/workout/get-the-clients-workout-history-screen-feed-exercises-statistics"},{"title":"Workout History search (workoutPlans / exercises / activities)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/clients/{clientId}/plans/workout-history/search","href":"/api-reference/workout/workout-history-search-workoutplans-exercises-activities"}]},{"group":"Personal records and exercise statistics","expanded":false,"pages":[{"title":"Get workout exercise history for the authenticated client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/exercises/{exerciseId}/stats","href":"/api-reference/workout/get-workout-exercise-history-for-the-authenticated-client"},{"title":"Get a client's freestyle personal records (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/freestyle-recent-prs","href":"/api-reference/workout/get-a-clients-freestyle-personal-records-paginated"},{"title":"Get a client's most-performed freestyle exercises (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/freestyle-top-exercises","href":"/api-reference/workout/get-a-clients-most-performed-freestyle-exercises-paginated"},{"title":"MERGED client personal records (plan + freestyle, paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/merged/recent-prs","href":"/api-reference/workout/merged-client-personal-records-plan-+-freestyle-paginated"},{"title":"MERGED client most-performed exercises (plan + freestyle, paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/merged/top-exercises","href":"/api-reference/workout/merged-client-most-performed-exercises-plan-+-freestyle-paginated"},{"title":"Get all personal records for a client (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/recent-prs","href":"/api-reference/workout/get-all-personal-records-for-a-client-paginated"},{"title":"Get a client's most-performed exercises (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/top-exercises","href":"/api-reference/workout/get-a-clients-most-performed-exercises-paginated"},{"title":"Get the Workout History screen's personal records for a client (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/workout-recent-prs","href":"/api-reference/workout/get-the-workout-history-screens-personal-records-for-a-client-paginated"},{"title":"Get the Workout History screen's most-performed exercises for a client (paginated)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/workout-top-exercises","href":"/api-reference/workout/get-the-workout-history-screens-most-performed-exercises-for-a-client-paginated"}]},{"group":"Summaries and rankings","expanded":false,"pages":[{"title":"Get the full paginated weekly ranking (leaderboard)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/weekly-ranking","href":"/api-reference/workout/get-the-full-paginated-weekly-ranking-leaderboard"},{"title":"List workout activity sessions with recorded metrics","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/activity","href":"/api-reference/workout/list-workout-activity-sessions-with-recorded-metrics"},{"title":"Get workout muscle-activation heatmap","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/muscle-heatmap","href":"/api-reference/workout/get-workout-muscle-activation-heatmap"},{"title":"Get workout performance summary for a client","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/performance/summary","href":"/api-reference/workout/get-workout-performance-summary-for-a-client"},{"title":"Client Performance Summary for a date (calendar + stat cards + exercises)","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/clients/{clientId}/plans/performance-summary","href":"/api-reference/workout/client-performance-summary-for-a-date-calendar-+-stat-cards-+-exercises"}]}]},{"group":"Settings","expanded":false,"pages":[{"group":"Equipment and machine presets","expanded":false,"pages":[{"title":"Get company workout equipment catalog, location selections, and presets","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/equipment/company","href":"/api-reference/workout/get-company-workout-equipment-catalog-location-selections-and-presets"},{"title":"Update company workout equipment selections for a location","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/equipment/company","href":"/api-reference/workout/update-company-workout-equipment-selections-for-a-location"},{"title":"Create a company-scoped custom equipment item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json post /public/v1/workout/equipment/company/custom-items","href":"/api-reference/workout/create-a-company-scoped-custom-equipment-item"},{"title":"Delete a company-scoped custom equipment item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/equipment/company/custom-items/{itemId}","href":"/api-reference/workout/delete-a-company-scoped-custom-equipment-item"},{"title":"Update a company-scoped custom equipment item","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/equipment/company/custom-items/{itemId}","href":"/api-reference/workout/update-a-company-scoped-custom-equipment-item"},{"title":"Read equipment options","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/equipment/options","href":"/api-reference/workout/read-equipment-options"},{"title":"Read exercises equipment","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/exercises/equipment","href":"/api-reference/workout/read-exercises-equipment"},{"title":"Soft archive exercise setup preset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json delete /public/v1/workout/machine-settings/presets/{exerciseId}","href":"/api-reference/workout/soft-archive-exercise-setup-preset"},{"title":"Get resolved exercise setup preset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/machine-settings/presets/{exerciseId}","href":"/api-reference/workout/get-resolved-exercise-setup-preset"},{"title":"Create or update exercise setup preset","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/machine-settings/presets/{exerciseId}","href":"/api-reference/workout/create-or-update-exercise-setup-preset"}]},{"group":"Membership and product rules","expanded":false,"pages":[{"title":"Get workout automation for a membership","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/membership-rules/{membershipId}","href":"/api-reference/workout/get-workout-automation-for-a-membership"},{"title":"Update workout automation for a membership","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/membership-rules/{membershipId}","href":"/api-reference/workout/update-workout-automation-for-a-membership"},{"title":"Get workout automation for a store product","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/product-rules/{productType}/{productId}","href":"/api-reference/workout/get-workout-automation-for-a-store-product"},{"title":"Update workout automation for a store product","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/product-rules/{productType}/{productId}","href":"/api-reference/workout/update-workout-automation-for-a-store-product"},{"title":"Bulk update workout automation for store products","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json put /public/v1/workout/product-rules/bulk","href":"/api-reference/workout/bulk-update-workout-automation-for-store-products"}]},{"group":"Training preferences","expanded":false,"pages":[{"title":"Read sport configuration, goal distances and the expert template/ladders catalog","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json get /public/v1/workout/cardio/config","href":"/api-reference/workout/read-sport-configuration-goal-distances-and-the-expert-templateladders-catalog"},{"title":"Update a client's training-section visibility toggles","deprecated":null,"version":null,"openapi":"/openapi/public-v1.json patch /public/v1/workout/plans/training-sections-visibility","href":"/api-reference/workout/update-a-clients-training-section-visibility-toggles"}]}]}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Create conversation - FITsociety Developer APIs","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}