{"version":"1.2.0","openapi":"3.1.0","info":{"title":"Facets API","version":"1.2.0"},"description":"Prism API","servers":[{"url":"https://facets-beta.johncorni.sh","description":"Current server"}],"paths":{"/":{"get":{"summary":"Get OpenAPI specification for this API. Periodically request this definition again because the API will evolve on a regular basis.","operationId":"getRoot","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenAPISchema"}}}}}}},"/account-delegates":{"get":{"summary":"List people you've granted access to, and accounts you can act as","operationId":"getAccount-delegates","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegatesListResponse"}}}}}},"post":{"summary":"Grant another user standing access to your account","operationId":"postAccount-delegates","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateResponse"}}}}}},"delete":{"summary":"Revoke a previously granted account delegate","operationId":"deleteAccount-delegates","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateResponse"}}}}}}},"/account-delegates/invites":{"post":{"summary":"Generate a one-time invite link that grants the redeemer standing access to your account","operationId":"postAccount-delegatesInvites","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateInviteResponse"}}}}}}},"/account-delegates/invites/redeem":{"post":{"summary":"Redeem a one-time invite link, granting the caller standing access to the invite's owner","operationId":"postAccount-delegatesInvitesRedeem","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateInviteRedeemInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDelegateResponse"}}}}}}},"/ai":{"post":{"summary":"Ask AI (proxy to AI API)","operationId":"postAi","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIWebResponse"}}}}}}},"/ai/actions/extract":{"post":{"summary":"Extract proposed metric/person actions from a live voice transcript","operationId":"postAiActionsExtract","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractResponse"}}}}}}},"/ai/analysis/draft":{"post":{"summary":"Structure a voice transcript into a draft analysis config (prompt + window)","operationId":"postAiAnalysisDraft","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisDraftRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisDraftResponse"}}}}}}},"/ai/analysis/run":{"post":{"summary":"Run a saved analysis config against its time window and persist the resulting report","operationId":"postAiAnalysisRun","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisRunRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisReportResponse"}}}}}}},"/ai/conversation":{"post":{"summary":"Multi-message AI conversation","operationId":"postAiConversation","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Message"}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Message"}}}}}}}},"/ai/title":{"post":{"summary":"Generate a short title for a transcript","operationId":"postAiTitle","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleResponse"}}}}}}},"/ai/transcribe":{"post":{"summary":"Transcribe audio (Whisper integration)","operationId":"postAiTranscribe","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscribeResponse"}}}}}}},"/auth/api-keys":{"post":{"summary":"Create a new API key for the authenticated user","operationId":"postAuthApi-keys","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAPIKeyRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAPIKeyResponse"}}}}}}},"/auth/magic-link":{"post":{"summary":"Request a magic link for authentication","operationId":"postAuthMagic-link","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkResponse"}}}}}}},"/auth/verify":{"get":{"summary":"Verify a magic link token","operationId":"getAuthVerify","responses":{"200":{"description":"Successful response"}}}},"/captures":{"get":{"summary":"List the authenticated user's pending (unarchived) captures, newest first","operationId":"getCaptures","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaptureResponse"}}}}}}},"post":{"summary":"Save a voice-capture transcript to the capture inbox","operationId":"postCaptures","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureResponse"}}}}}}},"/captures/archive":{"post":{"summary":"Archive a capture once it's been dealt with","operationId":"postCapturesArchive","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureArchiveInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaptureResponse"}}}}}}},"/dimensions":{"get":{"summary":"List the caller's tab dimensions","operationId":"getDimensions","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DimensionResponse"}}}}}}},"post":{"summary":"Create a tab dimension","operationId":"postDimensions","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionResponse"}}}}}},"put":{"summary":"Update a tab dimension","operationId":"putDimensions","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionUpdateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionResponse"}}}}}},"delete":{"summary":"Delete a tab dimension","operationId":"deleteDimensions","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionDeleteResponse"}}}}}}},"/dimensions/activate":{"post":{"summary":"Activate a tab dimension","operationId":"postDimensionsActivate","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionResponse"}}}}}}},"/dimensions/import":{"post":{"summary":"Import a shared tab dimension as a new, independent dimension","operationId":"postDimensionsImport","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionImportInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionResponse"}}}}}}},"/dimensions/share":{"post":{"summary":"Generate (or fetch the existing) share link for a tab dimension","operationId":"postDimensionsShare","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DimensionResponse"}}}}}}},"/dimensions/shared":{"get":{"summary":"Preview a shared tab dimension by its share token","operationId":"getDimensionsShared","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"},"description":"Share token from a dimension's share link"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharedDimensionResponse"}}}}}}},"/dreams":{"get":{"summary":"List dreams","operationId":"getDreams","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DreamResponse"}}}}}}},"post":{"summary":"Create a dream","operationId":"postDreams","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamCreateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamResponse"}}}}}},"put":{"summary":"Update an existing dream","operationId":"putDreams","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamUpdateRequestInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamResponse"}}}}}}},"/dreams/choose":{"put":{"summary":"Choose a dream","operationId":"putDreamsChoose","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamResponse"}}}}}},"delete":{"summary":"Un-choose a dream","operationId":"deleteDreamsChoose","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamResponse"}}}}}}},"/dreams/star":{"put":{"summary":"Star a chosen dream as the current focus","operationId":"putDreamsStar","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamResponse"}}}}}},"delete":{"summary":"Unstar a dream","operationId":"deleteDreamsStar","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamIDInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DreamResponse"}}}}}}},"/health":{"get":{"summary":"Health check endpoint for CI/monitoring","operationId":"getHealth","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}}}}},"/is-authenticated":{"get":{"summary":"Check if the user is authenticated","operationId":"getIs-authenticated","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsAuthenticatedResponse"}}}}}}},"/metric-monitors":{"get":{"summary":"List metric monitors with recent data","operationId":"getMetric-monitors","parameters":[{"name":"tz_offset","in":"query","required":true,"schema":{"type":"integer"},"description":"Client's timezone offset in minutes (JS getTimezoneOffset())"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricMonitorResponse"}}}}}}},"post":{"summary":"Create a metric monitor","operationId":"postMetric-monitors","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricMonitorCreateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricMonitorResponse"}}}}}},"put":{"summary":"Update a metric monitor","operationId":"putMetric-monitors","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricMonitorUpdateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricMonitorResponse"}}}}}},"delete":{"summary":"Delete a metric monitor","operationId":"deleteMetric-monitors","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricMonitorDeleteInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricMonitorDeleteResponse"}}}}}}},"/metrics":{"get":{"summary":"List all metrics with value since start_date","operationId":"getMetrics","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string"},"description":"Start date (RFC3339 with timezone) for value aggregation"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricWithValueResponse"}}}}}}},"post":{"summary":"Create a new metric","operationId":"postMetrics","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricResponse"}}}}}},"put":{"summary":"Update an existing metric","operationId":"putMetrics","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricUpdateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricResponse"}}}}}},"delete":{"summary":"Delete an existing metric","operationId":"deleteMetrics","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricDeleteInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricDeleteResponse"}}}}}}},"/metrics/batch-count":{"post":{"summary":"Log a batch of metric counts","operationId":"postMetricsBatch-count","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricCountInput"}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricCountResponse"}}}}}}}},"/metrics/count":{"get":{"summary":"Get metric counts within a date range","operationId":"getMetricsCount","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string"},"description":"Start date of range"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"},"description":"End date of range"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MetricCountResponse"}}}}}}},"post":{"summary":"Log a metric count","operationId":"postMetricsCount","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricCountInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricCountResponse"}}}}}}},"/metrics/flush-and-switch-session":{"post":{"summary":"Flush current session and start a new session for a section/category","operationId":"postMetricsFlush-and-switch-session","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionConfig"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}}},"/metrics/import":{"post":{"summary":"Import metrics and category layout","operationId":"postMetricsImport","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsImportInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsImportResponse"}}}}}}},"/metrics/kill":{"post":{"summary":"Permanently kill a metric: hard-deletes its counts and notes, generates a tombstone image, and keeps it as a read-only placeholder","operationId":"postMetricsKill","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricKillInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricKillResponse"}}}}}}},"/metrics/kill-progress":{"get":{"summary":"Get the stage-by-stage progress log for a metric's most recent kill attempt","operationId":"getMetricsKill-progress","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"integer"},"description":"Metric ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KillProgressEntry"}}}}}}}},"/metrics/session":{"get":{"summary":"Get the current metrics session for the user","operationId":"getMetricsSession","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}},"put":{"summary":"Update the current metrics session counts","operationId":"putMetricsSession","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionConfig"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}}},"/metrics/session/discard":{"post":{"summary":"Discard the current session without logging","operationId":"postMetricsSessionDiscard","requestBody":{"required":true,"content":{"application/json":{"schema":{}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}}},"/metrics/session/flush":{"post":{"summary":"Flush session counts and keep session open","operationId":"postMetricsSessionFlush","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionConfig"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}}},"/metrics/session/flush-and-close":{"post":{"summary":"Flush session counts and close session","operationId":"postMetricsSessionFlush-and-close","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionConfig"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}}},"/metrics/session/start":{"post":{"summary":"Start a metrics session for a section/category","operationId":"postMetricsSessionStart","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionConfig"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetricsSessionResponse"}}}}}}},"/metrics/time":{"get":{"summary":"Get all active timer sessions for a user, optionally filtering by a single metric_id","operationId":"getMetricsTime","parameters":[{"name":"metric_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Metric ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimerSessionResponse"}}}}}}},"post":{"summary":"Start a new timer session for a metric","operationId":"postMetricsTime","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimerSessionInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimerSessionResponse"}}}}}},"put":{"summary":"Stop an active timer session","operationId":"putMetricsTime","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StopTimerSessionInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimerSessionResponse"}}}}}}},"/monitors":{"get":{"summary":"List or get monitors","operationId":"getMonitors","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer"},"description":"Monitor ID (optional)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MonitorResponse"}}}}}}},"post":{"summary":"Create a new monitor","operationId":"postMonitors","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorResponse"}}}}}},"put":{"summary":"Update a monitor","operationId":"putMonitors","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorUpdateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorResponse"}}}}}},"delete":{"summary":"Delete a monitor","operationId":"deleteMonitors","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorDeleteInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorResponse"}}}}}}},"/monitors/pin":{"put":{"summary":"Pin a monitor","operationId":"putMonitorsPin","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorPinInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorResponse"}}}}}},"delete":{"summary":"Unpin a monitor","operationId":"deleteMonitorsPin","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorPinInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorResponse"}}}}}}},"/monitors/scores":{"get":{"summary":"Get monitor scores","operationId":"getMonitorsScores","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer"},"description":"Monitor ID (optional)"},{"name":"current_time","in":"query","required":false,"schema":{"type":"string"},"description":"Anchor day for scoring (RFC3339, optional)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MonitorScoreResponse"}}}}}}}},"/multitimer/state":{"get":{"summary":"Get the caller's multitimer layout and progress checkpoint","operationId":"getMultitimerState","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultitimerStateResponse"}}}}}},"put":{"summary":"Replace the caller's multitimer layout and progress checkpoint","operationId":"putMultitimerState","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultitimerStateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultitimerStateResponse"}}}}}}},"/people":{"get":{"summary":"Either get a list of people or return a list of one person by id","operationId":"getPeople","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer"},"description":"The id of the person"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonResponse"}}}}}}},"post":{"summary":"Create a new person","operationId":"postPeople","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponse"}}}}}},"put":{"summary":"Update a person","operationId":"putPeople","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponse"}}}}}},"delete":{"summary":"Delete a person","operationId":"deletePeople","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonDeleteRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponse"}}}}}}},"/people/stopwatch":{"get":{"summary":"List people with their most recent interaction timestamp, for the People Stopwatch playground view","operationId":"getPeopleStopwatch","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PersonStopwatchResponse"}}}}}}}},"/ratios":{"get":{"summary":"List or get ratios","operationId":"getRatios","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"integer"},"description":"Ratio ID (optional)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RatioResponse"}}}}}}},"post":{"summary":"Create a new ratio","operationId":"postRatios","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioResponse"}}}}}},"put":{"summary":"Update a ratio","operationId":"putRatios","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioResponse"}}}}}},"delete":{"summary":"Delete a ratio","operationId":"deleteRatios","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioDeleteRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioResponse"}}}}}}},"/ratios/nodes":{"get":{"summary":"Get ratio nodes for a monitor","operationId":"getRatiosNodes","parameters":[{"name":"from_monitor_id","in":"query","required":true,"schema":{"type":"integer"},"description":"Source monitor ID"},{"name":"current_time","in":"query","required":true,"schema":{"type":"string"},"description":"Current time (RFC3339 with offset)"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioNodesResponse"}}}}}}},"/ratios/upsert":{"put":{"summary":"Upsert forward ratios for a monitor","operationId":"putRatiosUpsert","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatioUpsertRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RatioResponse"}}}}}}}},"/stream/entries":{"get":{"summary":"List stream entries, optionally filtered by day","operationId":"getStreamEntries","parameters":[{"name":"day","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by day (format: YYYY-MM-DD or 'today'). Includes entries from that day plus all pinned entries."},{"name":"tz_offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Client timezone offset in minutes (JS getTimezoneOffset()). UTC-5 = 300, UTC+5 = -300."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StreamEntryResponse"}}}}}}},"post":{"summary":"Create a new stream entry","operationId":"postStreamEntries","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamEntryInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamEntryResponse"}}}}}}},"/stream/entries/pin":{"put":{"summary":"Pin a stream entry","operationId":"putStreamEntriesPin","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamEntryPinInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamEntryResponse"}}}}}},"delete":{"summary":"Unpin a stream entry","operationId":"deleteStreamEntriesPin","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamEntryPinInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StreamEntryResponse"}}}}}}},"/thoughts":{"get":{"summary":"List thoughts for a given date or date range","operationId":"getThoughts","parameters":[{"name":"date","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by date (format: YYYY-MM-DD or 'today')"},{"name":"tz_offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Timezone offset in minutes (value of getTimezoneOffset())"},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"},"description":"Start of date range (RFC3339). When provided with end_date, returns all thoughts with a metric_id in range."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"},"description":"End of date range (RFC3339). Used together with start_date."},{"name":"person_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Filter by person. When provided, returns all thoughts that person is attached to, newest first."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ThoughtResponse"}}}}}}},"post":{"summary":"Create a new thought","operationId":"postThoughts","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtResponse"}}}}}},"put":{"summary":"Update a thought","operationId":"putThoughts","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtUpdateInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtResponse"}}}}}},"delete":{"summary":"Delete a thought","operationId":"deleteThoughts","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtDeleteInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/thoughts/analysis/configs":{"get":{"summary":"List saved analysis configurations","operationId":"getThoughtsAnalysisConfigs","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AnalysisConfigResponse"}}}}}}},"post":{"summary":"Create a saved analysis configuration","operationId":"postThoughtsAnalysisConfigs","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAnalysisConfigRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisConfigResponse"}}}}}},"put":{"summary":"Update a saved analysis configuration","operationId":"putThoughtsAnalysisConfigs","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAnalysisConfigRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisConfigResponse"}}}}}},"delete":{"summary":"Delete a saved analysis configuration","operationId":"deleteThoughtsAnalysisConfigs","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAnalysisConfigRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/thoughts/analysis/reports":{"get":{"summary":"List reports produced by running an analysis configuration","operationId":"getThoughtsAnalysisReports","parameters":[{"name":"config_id","in":"query","required":true,"schema":{"type":"integer"},"description":"ID of the analysis configuration to list reports for"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AnalysisReportResponse"}}}}}}}},"/thoughts/analysis/reports/actions":{"put":{"summary":"Overwrite a report's proposed actions (confirm, edit, or re-trigger)","operationId":"putThoughtsAnalysisReportsActions","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateReportActionsRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisReportResponse"}}}}}}},"/thoughts/calendar":{"get":{"summary":"Get dates that have thoughts for a given month","operationId":"getThoughtsCalendar","parameters":[{"name":"month","in":"query","required":true,"schema":{"type":"string"},"description":"Month in YYYY-MM format"},{"name":"tz_offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Timezone offset in minutes (value of getTimezoneOffset())"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/calendarResponse"}}}}}}},"/thoughts/links":{"get":{"summary":"Get thoughts linked to a given thought","operationId":"getThoughtsLinks","parameters":[{"name":"thought_id","in":"query","required":true,"schema":{"type":"integer"},"description":"ID of the thought to get links for"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ThoughtResponse"}}}}}}},"post":{"summary":"Link two thoughts together","operationId":"postThoughtsLinks","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtLinkInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}}}},"delete":{"summary":"Unlink two thoughts","operationId":"deleteThoughtsLinks","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThoughtLinkInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/user/settings":{"get":{"summary":"Get user settings","operationId":"getUserSettings","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}}}},"post":{"summary":"Save user settings","operationId":"postUserSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}}}}},"/user/settings/action-extraction-enabled":{"get":{"summary":"Get whether voice capture extracts actions from captures at all (defaults to true)","operationId":"getUserSettingsAction-extraction-enabled","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionEnabledResponse"}}}}}},"put":{"summary":"Save whether voice capture extracts actions from captures at all","operationId":"putUserSettingsAction-extraction-enabled","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionEnabledInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionEnabledResponse"}}}}}}},"/user/settings/action-extraction-metrics":{"get":{"summary":"Get the metric ids voice capture's action extraction is scoped to (null means all metrics)","operationId":"getUserSettingsAction-extraction-metrics","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionMetricsResponse"}}}}}},"put":{"summary":"Save the metric ids voice capture's action extraction is scoped to (null means all metrics)","operationId":"putUserSettingsAction-extraction-metrics","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionMetricsInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionMetricsResponse"}}}}}}},"/user/settings/action-extraction-mode":{"get":{"summary":"Get voice capture's action extraction mode (one_shot or preprocess)","operationId":"getUserSettingsAction-extraction-mode","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionModeResponse"}}}}}},"put":{"summary":"Save voice capture's action extraction mode (one_shot or preprocess)","operationId":"putUserSettingsAction-extraction-mode","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionModeInput"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExtractionModeResponse"}}}}}}}},"components":{"schemas":{"AIRequest":{"type":"object","properties":{"includeData":{"type":"boolean"},"prompt":{"type":"string"}},"required":["prompt","includeData"]},"AIWebResponse":{"type":"object","properties":{"content":{"type":"string"}},"required":["content"]},"AccountDelegateInput":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]},"AccountDelegateInviteRedeemInput":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"AccountDelegateInviteResponse":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"AccountDelegateResponse":{"type":"object","properties":{"email":{"type":"string"},"id":{"type":"integer"}},"required":["id","email"]},"AccountDelegatesListResponse":{"type":"object","properties":{"actingAs":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"id":{"type":"integer"}},"required":["id","email"]}},"delegates":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"id":{"type":"integer"}},"required":["id","email"]}}},"required":["delegates","actingAs"]},"ActionExtractRequest":{"type":"object","properties":{"smarter_level":{"type":"integer"},"transcript":{"type":"string"}},"required":["transcript"]},"ActionExtractResponse":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"object","properties":{"count":{"type":"integer"},"label":{"type":"string"},"metric":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]},"note":{"type":"string"},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]}}},"required":["label","note","people","count"]}},"raw_response":{"type":"string"}},"required":["actions","raw_response"]},"ActionExtractionEnabledInput":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"ActionExtractionEnabledResponse":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"ActionExtractionMetricsInput":{"type":"object","properties":{"metric_ids":{"type":"array","items":{"type":"integer"}}}},"ActionExtractionMetricsResponse":{"type":"object","properties":{"metric_ids":{"type":"array","items":{"type":"integer"}}}},"ActionExtractionModeInput":{"type":"object","properties":{"mode":{"type":"string"}},"required":["mode"]},"ActionExtractionModeResponse":{"type":"object","properties":{"mode":{"type":"string"}},"required":["mode"]},"AnalysisConfigResponse":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"integer"},"prompt":{"type":"string"},"updated_at":{"type":"string"},"window_days":{"type":"integer"}},"required":["id","prompt","window_days","created_at","updated_at"]},"AnalysisDraftRequest":{"type":"object","properties":{"existing_prompt":{"type":"string"},"existing_window_days":{"type":"integer"},"transcript":{"type":"string"}},"required":["transcript"]},"AnalysisDraftResponse":{"type":"object","properties":{"prompt":{"type":"string"},"raw_response":{"type":"string"},"window_days":{"type":"integer"}},"required":["prompt","window_days","raw_response"]},"AnalysisReportResponse":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"object","properties":{"client_id":{"type":"string"},"count":{"type":"integer"},"executed_at":{"type":"string"},"label":{"type":"string"},"metric":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]},"note":{"type":"string"},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]}},"status":{"type":"string"}},"required":["label","note","people","count","client_id","status"]}},"answer":{"type":"string"},"config_id":{"type":"integer"},"created_at":{"type":"string"},"id":{"type":"integer"},"prompt":{"type":"string"},"raw_response":{"type":"string"},"window_days":{"type":"integer"},"window_end":{"type":"string"},"window_start":{"type":"string"}},"required":["id","config_id","prompt","window_days","window_start","window_end","answer","raw_response","actions","created_at"]},"AnalysisRunRequest":{"type":"object","properties":{"config_id":{"type":"integer"}},"required":["config_id"]},"BackwardRatioNode":{"type":"object","properties":{"from_monitor_id":{"type":"integer"},"from_monitor_name":{"type":"string"},"ratio_id":{"type":"integer"},"values":{"type":"array","items":{"type":"number","format":"double"}}},"required":["ratio_id","from_monitor_id","from_monitor_name","values"]},"CaptureArchiveInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"CaptureInput":{"type":"object","properties":{"transcript":{"type":"string"}},"required":["transcript"]},"CaptureResponse":{"type":"object","properties":{"archived_at":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"integer"},"transcript":{"type":"string"}},"required":["id","transcript","created_at"]},"Category":{"type":"object","properties":{"factoryLayoutView":{"type":"boolean"},"hideCategoryNavigation":{"type":"boolean"},"hideCompletedAffirmations":{"type":"boolean"},"id":{"type":"string"},"metricIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}},"required":["id","name","metricIds","factoryLayoutView","hideCategoryNavigation","hideCompletedAffirmations"]},"Components":{"type":"object","properties":{"schemas":{"type":"object","additionalProperties":{}}},"required":["schemas"]},"CreateAPIKeyRequest":{"type":"object","properties":{"expire_days":{"type":"integer"},"name":{"type":"string"}},"required":["name","expire_days"]},"CreateAPIKeyResponse":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"CreateAnalysisConfigRequest":{"type":"object","properties":{"prompt":{"type":"string"},"window_days":{"type":"integer"}},"required":["prompt","window_days"]},"DeleteAnalysisConfigRequest":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"DimensionDeleteResponse":{"type":"object","properties":{"deleted":{"type":"boolean"},"id":{"type":"string"}},"required":["deleted","id"]},"DimensionIDInput":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"DimensionImportInput":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"DimensionInput":{"type":"object","properties":{"config":{"type":"object","additionalProperties":{}},"name":{"type":"string"}},"required":["name","config"]},"DimensionResponse":{"type":"object","properties":{"config":{"type":"object","additionalProperties":{}},"created_at":{"type":"string"},"id":{"type":"string"},"is_active":{"type":"boolean"},"name":{"type":"string"},"share_token":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","config","is_active","created_at","updated_at"]},"DimensionUpdateInput":{"type":"object","properties":{"config":{"type":"object","additionalProperties":{}},"id":{"type":"string"},"name":{"type":"string"}},"required":["id","config"]},"DreamCreateInput":{"type":"object","properties":{"as":{"type":"integer"},"description":{"type":"string"},"title":{"type":"string"}},"required":["title","as"]},"DreamIDInput":{"type":"object","properties":{"as":{"type":"integer"},"id":{"type":"integer"}},"required":["id","as"]},"DreamInput":{"type":"object","properties":{"description":{"type":"string"},"title":{"type":"string"}},"required":["title"]},"DreamResponse":{"type":"object","properties":{"chosen":{"type":"boolean"},"created_at":{"type":"string"},"description":{"type":"string"},"id":{"type":"integer"},"photo_url":{"type":"string"},"starred":{"type":"boolean"},"title":{"type":"string"}},"required":["id","title","chosen","starred","created_at"]},"DreamUpdateInput":{"type":"object","properties":{"description":{"type":"string"},"id":{"type":"integer"},"photo_url":{"type":"string"},"title":{"type":"string"}},"required":["id","title"]},"DreamUpdateRequestInput":{"type":"object","properties":{"as":{"type":"integer"},"description":{"type":"string"},"id":{"type":"integer"},"photo_url":{"type":"string"},"title":{"type":"string"}},"required":["id","title","as"]},"ForwardRatioNode":{"type":"object","properties":{"ratio_id":{"type":"integer"},"to_monitor_id":{"type":"integer"},"to_monitor_name":{"type":"string"},"values":{"type":"array","items":{"type":"number","format":"double"}}},"required":["ratio_id","to_monitor_id","to_monitor_name","values"]},"Info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"}},"required":["title","version"]},"IsAuthenticatedResponse":{"type":"object"},"KillProgressEntry":{"type":"object","properties":{"detail":{"type":"string"},"stage":{"type":"string"},"status":{"type":"string"}},"required":["stage","status","detail"]},"Location":{"type":"object"},"MagicLinkRequest":{"type":"object","properties":{"email":{"type":"string"},"return_to":{"type":"string"}},"required":["email"]},"MagicLinkResponse":{"type":"object","properties":{"token":{"type":"string"}}},"Message":{"type":"object","properties":{"content":{"type":"string"},"from":{"type":"string","enum":["robot","user"]}},"required":["from","content"]},"MetricCount":{"type":"object","properties":{"metric_id":{"type":"integer"},"value":{"type":"integer"}},"required":["metric_id","value"]},"MetricCountInput":{"type":"object","properties":{"metric_id":{"type":"integer"},"timestamp":{"type":"string"},"value":{"type":"integer"}},"required":["metric_id"]},"MetricCountResponse":{"type":"object","properties":{"id":{"type":"integer"},"metric_id":{"type":"integer"},"timestamp":{"type":"string"},"value":{"type":"integer"}},"required":["id","metric_id","value","timestamp"]},"MetricDeleteInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"MetricDeleteResponse":{"type":"object","properties":{"deleted":{"type":"boolean"},"id":{"type":"integer"}},"required":["deleted","id"]},"MetricInput":{"type":"object","properties":{"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"is_timer":{"type":"boolean"},"name":{"type":"string"},"should_record":{"type":"boolean"}},"required":["name","description","hide","should_record","is_timer"]},"MetricKillInput":{"type":"object","properties":{"description":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name","description"]},"MetricKillProgressQuery":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"MetricKillResponse":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"MetricMonitorCreateInput":{"type":"object","properties":{"as":{"type":"integer"},"config":{"type":"object","additionalProperties":{}},"metric_id":{"type":"integer"}},"required":["metric_id","config","as"]},"MetricMonitorDataPoint":{"type":"object","properties":{"count":{"type":"integer"},"date":{"type":"string"}},"required":["date","count"]},"MetricMonitorDeleteInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"MetricMonitorDeleteResponse":{"type":"object","properties":{"deleted":{"type":"boolean"},"id":{"type":"integer"}},"required":["deleted","id"]},"MetricMonitorInput":{"type":"object","properties":{"config":{"type":"object","additionalProperties":{}},"metric_id":{"type":"integer"}},"required":["metric_id","config"]},"MetricMonitorResponse":{"type":"object","properties":{"config":{"type":"object","additionalProperties":{}},"data":{"type":"array","items":{"type":"object","properties":{"count":{"type":"integer"},"date":{"type":"string"}},"required":["date","count"]}},"id":{"type":"integer"},"metric_id":{"type":"integer"}},"required":["id","metric_id","config","data"]},"MetricMonitorUpdateInput":{"type":"object","properties":{"as":{"type":"integer"},"config":{"type":"object","additionalProperties":{}},"id":{"type":"integer"},"metric_id":{"type":"integer"}},"required":["id","metric_id","config","as"]},"MetricResponse":{"type":"object","properties":{"created_at":{"type":"string"},"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"id":{"type":"integer"},"is_timer":{"type":"boolean"},"killed_at":{"type":"string"},"name":{"type":"string"},"should_record":{"type":"boolean"},"tombstone_image_url":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","created_at","updated_at","is_timer","description","hide","should_record","tombstone_image_url"]},"MetricUpdateInput":{"type":"object","properties":{"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"id":{"type":"integer"},"is_timer":{"type":"boolean"},"name":{"type":"string"},"should_record":{"type":"boolean"}},"required":["id","name","is_timer","description","hide","should_record"]},"MetricWithValueResponse":{"type":"object","properties":{"created_at":{"type":"string"},"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"id":{"type":"integer"},"is_timer":{"type":"boolean"},"killed_at":{"type":"string"},"name":{"type":"string"},"should_record":{"type":"boolean"},"tombstone_image_url":{"type":"string"},"updated_at":{"type":"string"},"value":{"type":"integer"}},"required":["id","name","created_at","updated_at","is_timer","description","hide","should_record","tombstone_image_url","value"]},"MetricsImportEntry":{"type":"object","properties":{"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"id":{"type":"integer"},"is_timer":{"type":"boolean"},"name":{"type":"string"},"should_record":{"type":"boolean"}},"required":["id","name","is_timer","description","hide","should_record"]},"MetricsImportInput":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"factoryLayoutView":{"type":"boolean"},"hideCategoryNavigation":{"type":"boolean"},"hideCompletedAffirmations":{"type":"boolean"},"id":{"type":"string"},"metricIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}},"required":["id","name","metricIds","factoryLayoutView","hideCategoryNavigation","hideCompletedAffirmations"]}},"metrics":{"type":"array","items":{"type":"object","properties":{"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"id":{"type":"integer"},"is_timer":{"type":"boolean"},"name":{"type":"string"},"should_record":{"type":"boolean"}},"required":["id","name","is_timer","description","hide","should_record"]}}},"required":["categories","metrics"]},"MetricsImportResponse":{"type":"object","properties":{"metrics":{"type":"array","items":{"type":"object","properties":{"created_at":{"type":"string"},"daily_goal":{"type":"integer"},"description":{"type":"string"},"hide":{"type":"boolean"},"id":{"type":"integer"},"is_timer":{"type":"boolean"},"killed_at":{"type":"string"},"name":{"type":"string"},"should_record":{"type":"boolean"},"tombstone_image_url":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","created_at","updated_at","is_timer","description","hide","should_record","tombstone_image_url"]}},"settings":{"type":"object","properties":{"id":{"type":"integer"},"metrics_layout":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"factoryLayoutView":{"type":"boolean"},"hideCategoryNavigation":{"type":"boolean"},"hideCompletedAffirmations":{"type":"boolean"},"id":{"type":"string"},"metricIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}},"required":["id","name","metricIds","factoryLayoutView","hideCategoryNavigation","hideCompletedAffirmations"]}},"uncategorizedOrder":{"type":"array","items":{"type":"integer"}}},"required":["categories","uncategorizedOrder"]},"user_id":{"type":"integer"}},"required":["id","user_id","metrics_layout"]}},"required":["metrics","settings"]},"MetricsLayout":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"factoryLayoutView":{"type":"boolean"},"hideCategoryNavigation":{"type":"boolean"},"hideCompletedAffirmations":{"type":"boolean"},"id":{"type":"string"},"metricIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}},"required":["id","name","metricIds","factoryLayoutView","hideCategoryNavigation","hideCompletedAffirmations"]}},"uncategorizedOrder":{"type":"array","items":{"type":"integer"}}},"required":["categories","uncategorizedOrder"]},"MetricsSessionConfig":{"type":"object","properties":{"metric_counts":{"type":"array","items":{"type":"object","properties":{"metric_id":{"type":"integer"},"value":{"type":"integer"}},"required":["metric_id","value"]}},"section_name":{"type":"string"}},"required":["section_name","metric_counts"]},"MetricsSessionResponse":{"type":"object","properties":{"config":{"type":"object","properties":{"metric_counts":{"type":"array","items":{"type":"object","properties":{"metric_id":{"type":"integer"},"value":{"type":"integer"}},"required":["metric_id","value"]}},"section_name":{"type":"string"}},"required":["section_name","metric_counts"]},"is_active":{"type":"boolean"}},"required":["is_active","config"]},"MonitorDeleteInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"MonitorInput":{"type":"object","properties":{"day_range":{"type":"integer"},"days_above":{"type":"number","format":"double"},"days_below":{"type":"number","format":"double"},"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"max":{"type":"integer"},"min":{"type":"integer"},"weight":{"type":"number","format":"double"}},"required":["id","weight","min","max"]}},"name":{"type":"string"},"pinned":{"type":"boolean"}},"required":["name","pinned","metrics"]},"MonitorMetric":{"type":"object","properties":{"id":{"type":"integer"},"max":{"type":"integer"},"min":{"type":"integer"},"weight":{"type":"number","format":"double"}},"required":["id","weight","min","max"]},"MonitorPinInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"MonitorQuery":{"type":"object","properties":{"current_time":{"type":"string"},"id":{"type":"integer"}},"required":["id","current_time"]},"MonitorResponse":{"type":"object","properties":{"day_range":{"type":"integer"},"days_above":{"type":"number","format":"double"},"days_below":{"type":"number","format":"double"},"id":{"type":"integer"},"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"max":{"type":"integer"},"min":{"type":"integer"},"weight":{"type":"number","format":"double"}},"required":["id","weight","min","max"]}},"name":{"type":"string"},"pinned":{"type":"boolean"}},"required":["id","name","pinned","metrics"]},"MonitorScoreResponse":{"type":"object","properties":{"average":{"type":"number","format":"double"},"config":{"type":"object","properties":{"day_range":{"type":"integer"},"days_above":{"type":"number","format":"double"},"days_below":{"type":"number","format":"double"},"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"max":{"type":"integer"},"min":{"type":"integer"},"weight":{"type":"number","format":"double"}},"required":["id","weight","min","max"]}},"name":{"type":"string"},"pinned":{"type":"boolean"}},"required":["pinned","metrics"]},"day_range":{"type":"number","format":"double"},"days_above":{"type":"number","format":"double"},"days_below":{"type":"number","format":"double"},"monitor_id":{"type":"integer"},"previous_averages":{"type":"array","items":{"type":"number","format":"double"}},"total_score":{"type":"number","format":"double"},"trend":{"type":"string","enum":["up","down","stay"]}},"required":["monitor_id","total_score","config"]},"MonitorUpdateInput":{"type":"object","properties":{"day_range":{"type":"integer"},"days_above":{"type":"number","format":"double"},"days_below":{"type":"number","format":"double"},"id":{"type":"integer"},"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"max":{"type":"integer"},"min":{"type":"integer"},"weight":{"type":"number","format":"double"}},"required":["id","weight","min","max"]}},"name":{"type":"string"},"pinned":{"type":"boolean"}},"required":["id","name","pinned","metrics"]},"MultitimerStateInput":{"type":"object","properties":{"slots":{"type":"array","items":{"type":"integer"}},"timers":{"type":"object","additionalProperties":{}}},"required":["slots","timers"]},"MultitimerStateResponse":{"type":"object","properties":{"slots":{"type":"array","items":{"type":"integer"}},"timers":{"type":"object","additionalProperties":{}}},"required":["slots","timers"]},"OpenAPISchema":{"type":"object","properties":{"components":{"type":"object","properties":{"schemas":{"type":"object","additionalProperties":{}}},"required":["schemas"]},"description":{"type":"string"},"info":{"type":"object","properties":{"title":{"type":"string"},"version":{"type":"string"}},"required":["title","version"]},"openapi":{"type":"string"},"paths":{"type":"object","additionalProperties":{}},"servers":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"]}},"version":{"type":"string"}},"required":["version","openapi","info","description","servers","paths","components"]},"PeopleQuery":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"PersonDeleteRequest":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"PersonInput":{"type":"object","properties":{"isKey":{"type":"boolean"},"name":{"type":"string"}},"required":["name","isKey"]},"PersonResponse":{"type":"object","properties":{"id":{"type":"integer"},"isKey":{"type":"boolean"},"name":{"type":"string"}},"required":["id","name","isKey"]},"PersonStopwatchResponse":{"type":"object","properties":{"id":{"type":"integer"},"isKey":{"type":"boolean"},"lastInteractionAt":{"type":"string"},"name":{"type":"string"}},"required":["id","name","isKey"]},"PersonUpdateRequest":{"type":"object","properties":{"id":{"type":"integer"},"isKey":{"type":"boolean"},"name":{"type":"string"}},"required":["id","name","isKey"]},"ProposedAction":{"type":"object","properties":{"count":{"type":"integer"},"label":{"type":"string"},"metric":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]},"note":{"type":"string"},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]}}},"required":["label","note","people","count"]},"RatioDeleteRequest":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"RatioInput":{"type":"object","properties":{"from_monitor_id":{"type":"integer"},"to_monitor_id":{"type":"integer"}},"required":["from_monitor_id","to_monitor_id"]},"RatioNodesInput":{"type":"object","properties":{"current_time":{"type":"string"},"from_monitor_id":{"type":"integer"}},"required":["from_monitor_id","current_time"]},"RatioNodesResponse":{"type":"object","properties":{"backward_ratios":{"type":"array","items":{"type":"object","properties":{"from_monitor_id":{"type":"integer"},"from_monitor_name":{"type":"string"},"ratio_id":{"type":"integer"},"values":{"type":"array","items":{"type":"number","format":"double"}}},"required":["ratio_id","from_monitor_id","from_monitor_name","values"]}},"forward_ratios":{"type":"array","items":{"type":"object","properties":{"ratio_id":{"type":"integer"},"to_monitor_id":{"type":"integer"},"to_monitor_name":{"type":"string"},"values":{"type":"array","items":{"type":"number","format":"double"}}},"required":["ratio_id","to_monitor_id","to_monitor_name","values"]}},"from_monitor_id":{"type":"integer"}},"required":["from_monitor_id","forward_ratios","backward_ratios"]},"RatioResponse":{"type":"object","properties":{"from_monitor_id":{"type":"integer"},"id":{"type":"integer"},"to_monitor_id":{"type":"integer"}},"required":["id","from_monitor_id","to_monitor_id"]},"RatioUpdateRequest":{"type":"object","properties":{"from_monitor_id":{"type":"integer"},"id":{"type":"integer"},"to_monitor_id":{"type":"integer"}},"required":["id","from_monitor_id","to_monitor_id"]},"RatioUpsertRequest":{"type":"object","properties":{"from_monitor_id":{"type":"integer"},"to_monitor_ids":{"type":"array","items":{"type":"integer"}}},"required":["from_monitor_id","to_monitor_ids"]},"RatiosQuery":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"ReportAction":{"type":"object","properties":{"client_id":{"type":"string"},"count":{"type":"integer"},"executed_at":{"type":"string"},"label":{"type":"string"},"metric":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]},"note":{"type":"string"},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]}},"status":{"type":"string"}},"required":["label","note","people","count","client_id","status"]},"ServerUrl":{"type":"object","properties":{"description":{"type":"string"},"url":{"type":"string"}},"required":["url"]},"SettingsInput":{"type":"object","properties":{"metrics_layout":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"factoryLayoutView":{"type":"boolean"},"hideCategoryNavigation":{"type":"boolean"},"hideCompletedAffirmations":{"type":"boolean"},"id":{"type":"string"},"metricIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}},"required":["id","name","metricIds","factoryLayoutView","hideCategoryNavigation","hideCompletedAffirmations"]}},"uncategorizedOrder":{"type":"array","items":{"type":"integer"}}},"required":["categories","uncategorizedOrder"]}},"required":["metrics_layout"]},"SettingsResponse":{"type":"object","properties":{"id":{"type":"integer"},"metrics_layout":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"object","properties":{"factoryLayoutView":{"type":"boolean"},"hideCategoryNavigation":{"type":"boolean"},"hideCompletedAffirmations":{"type":"boolean"},"id":{"type":"string"},"metricIds":{"type":"array","items":{"type":"integer"}},"name":{"type":"string"}},"required":["id","name","metricIds","factoryLayoutView","hideCategoryNavigation","hideCompletedAffirmations"]}},"uncategorizedOrder":{"type":"array","items":{"type":"integer"}}},"required":["categories","uncategorizedOrder"]},"user_id":{"type":"integer"}},"required":["id","user_id","metrics_layout"]},"SharedDimensionQuery":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"SharedDimensionResponse":{"type":"object","properties":{"config":{"type":"object","additionalProperties":{}},"name":{"type":"string"}},"required":["name","config"]},"StopTimerSessionInput":{"type":"object","properties":{"metric_id":{"type":"integer"},"timestamp":{"type":"string"}},"required":["metric_id","timestamp"]},"StreamEntryInput":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]},"StreamEntryPinInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"StreamEntryResponse":{"type":"object","properties":{"created_at":{"type":"string"},"id":{"type":"integer"},"pinned":{"type":"boolean"},"text":{"type":"string"},"user_id":{"type":"integer"}},"required":["id","user_id","text","created_at","pinned"]},"ThoughtDeleteInput":{"type":"object","properties":{"id":{"type":"integer"}},"required":["id"]},"ThoughtInput":{"type":"object","properties":{"body":{"type":"string"},"metric_id":{"type":"integer"},"people_ids":{"type":"array","items":{"type":"integer"}},"tags":{"type":"array","items":{"type":"string"}}},"required":["body","tags","people_ids"]},"ThoughtLinkInput":{"type":"object","properties":{"from_id":{"type":"integer"},"to_id":{"type":"integer"}},"required":["from_id","to_id"]},"ThoughtResponse":{"type":"object","properties":{"body":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"integer"},"metric_id":{"type":"integer"},"metric_name":{"type":"string"},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"isKey":{"type":"boolean"},"name":{"type":"string"}},"required":["id","name","isKey"]}},"tags":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"user_id":{"type":"integer"}},"required":["id","user_id","body","tags","people","created_at","updated_at"]},"ThoughtUpdateInput":{"type":"object","properties":{"body":{"type":"string"},"id":{"type":"integer"},"people_ids":{"type":"array","items":{"type":"integer"}},"tags":{"type":"array","items":{"type":"string"}}},"required":["id","body","tags","people_ids"]},"Time":{"type":"string"},"TimerSessionInput":{"type":"object","properties":{"metric_id":{"type":"integer"},"timestamp":{"type":"string"}},"required":["metric_id"]},"TimerSessionResponse":{"type":"object","properties":{"id":{"type":"integer"},"metric_id":{"type":"integer"},"minutes_elapsed":{"type":"number","format":"double"},"session_end":{"type":"string"},"session_start":{"type":"string"},"status":{"type":"string"}},"required":["id","metric_id","session_start","status"]},"TitleRequest":{"type":"object","properties":{"transcript":{"type":"string"}},"required":["transcript"]},"TitleResponse":{"type":"object","properties":{"title":{"type":"string"}},"required":["title"]},"TranscribeResponse":{"type":"object","properties":{"transcript":{"type":"string"}},"required":["transcript"]},"UpdateAnalysisConfigRequest":{"type":"object","properties":{"id":{"type":"integer"},"prompt":{"type":"string"},"window_days":{"type":"integer"}},"required":["id","prompt","window_days"]},"UpdateReportActionsRequest":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"object","properties":{"client_id":{"type":"string"},"count":{"type":"integer"},"executed_at":{"type":"string"},"label":{"type":"string"},"metric":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]},"note":{"type":"string"},"people":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["name"]}},"status":{"type":"string"}},"required":["label","note","people","count","client_id","status"]}},"report_id":{"type":"integer"}},"required":["report_id","actions"]},"analysisReportsParams":{"type":"object","properties":{"config_id":{"type":"integer"}},"required":["config_id"]},"calendarParams":{"type":"object","properties":{"as":{"type":"integer"},"month":{"type":"string"},"tz_offset":{"type":"integer"}},"required":["month","tz_offset","as"]},"calendarResponse":{"type":"object","properties":{"dates":{"type":"array","items":{"type":"string"}}},"required":["dates"]},"dreamsQueryParams":{"type":"object","properties":{"as":{"type":"integer"}},"required":["as"]},"getMetricCountsParams":{"type":"object","properties":{"as":{"type":"integer"},"end_date":{"type":"string"},"start_date":{"type":"string"}},"required":["start_date","end_date","as"]},"linkedThoughtsParams":{"type":"object","properties":{"thought_id":{"type":"integer"}},"required":["thought_id"]},"metricMonitorsQueryParams":{"type":"object","properties":{"as":{"type":"integer"},"tz_offset":{"type":"integer"}},"required":["tz_offset","as"]},"startDateParam":{"type":"object","properties":{"as":{"type":"integer"},"start_date":{"type":"string"}},"required":["start_date","as"]},"streamDayParams":{"type":"object","properties":{"day":{"type":"string"},"tz_offset":{"type":"integer"}},"required":["day","tz_offset"]},"thoughtDateParams":{"type":"object","properties":{"as":{"type":"integer"},"date":{"type":"string"},"end_date":{"type":"string"},"person_id":{"type":"integer"},"start_date":{"type":"string"},"tz_offset":{"type":"integer"}},"required":["date","tz_offset","start_date","end_date","person_id","as"]},"timerSessionParams":{"type":"object","properties":{"metric_id":{"type":"integer"}},"required":["metric_id"]},"userSettingsParams":{"type":"object","properties":{"as":{"type":"integer"}},"required":["as"]},"zone":{"type":"object"},"zoneTrans":{"type":"object"}}}}
