{"openapi":"3.1.0","info":{"title":"Uely-3000 API","description":"FastAPI backend for Uely-3000 - Agricultural AI Management System","version":"1.0.0"},"paths":{"/chat/warm":{"post":{"tags":["api","chat"],"summary":"Warm Chat Cache","description":"Warm the prompt cache for the person's next turn (they have started typing).\n\nResends the conversation's last model request with one output token in the\nbackground; see `app/ai/core/cache_warm.py`. Cheap to call repeatedly: a fresh\ncache or a running warm-up makes it a no-op.","operationId":"warm_chat_cache_chat_warm_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Warm Chat Cache Chat Warm Post"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/messages/{message_id}/read":{"post":{"tags":["api","chat"],"summary":"Mark Message Read","description":"Mark a chat message as read for the user's namespace.","operationId":"mark_message_read_chat_messages__message_id__read_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/messages/{message_id}/cancel":{"post":{"tags":["api","chat"],"summary":"Cancel Message","description":"Cancel an in-progress chat message.","operationId":"cancel_message_chat_messages__message_id__cancel_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/imagery/urls":{"post":{"tags":["api","chat"],"summary":"Sign Imagery Urls","description":"Mint fresh signed URLs for durable imagery paths the caller may read.","operationId":"sign_imagery_urls_chat_imagery_urls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageryUrlsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageryUrlsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/chat/ask":{"post":{"tags":["api","chat"],"summary":"Ask","description":"One question, one German answer. No stream, no AG-UI, no tool trace.\n\nThe first non-GET route on the dual-auth allowlist, and deliberately so: it is a POST\nbecause a question does not belong in a URL, not because it writes anything.\n\n**This route stays read-only even for a caller holding `workspace.write`.** The MCP\n`ask` tool honours that scope, so the two agent surfaces differ here, which is a gap\nrather than a decision about trust: a write pauses for approval, and answering a pause\nneeds somewhere to answer it. MCP has `continue_ask`; REST has no such route yet, so a\ncaller here would be handed a pending action and no way to confirm it. Giving this\nroute the scope means adding that endpoint, widening `AskResponse` and regenerating the\nclient types — see `features/chat/ask.py` for the shape it would take.","operationId":"ask_chat_ask_post","security":[{"HTTPBearer":[]},{"AgentOAuth2":["ask"]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}},{"name":"X-Timezone","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Timezone"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/agui":{"post":{"tags":["api","chat"],"summary":"Chat Agui","description":"Stream AI chat via AG-UI RunAgentInput (assistant-ui HttpAgent).","operationId":"chat_agui_chat_agui_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunAgentInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/training":{"post":{"tags":["api","Training"],"summary":"Submit Training","description":"Submit a source for ingestion.\n\n**202** when the file was accepted and background ingestion was dispatched: the body\ncarries the job id and `Location` points at the status route. **200** when the same\nbytes are already in this namespace — nothing was queued, so there is nothing to poll.\nThe status code is the answer to \"should I start polling\", which is why it varies\nrather than being 202 for everything.","operationId":"submit_training_training_post","security":[{"HTTPBearer":[]},{"AgentOAuth2":["training.write"]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_submit_training_training_post"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingResponse"}}}},"200":{"description":"Already ingested (duplicate)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/training/from-inbound":{"post":{"tags":["api","Training"],"summary":"Submit Training From Inbound","description":"Copy an inbound letter file already stored in this namespace into Quellen.","operationId":"submit_training_from_inbound_training_from_inbound_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FromInboundTrainingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/training/memory-stats":{"get":{"tags":["api","Training"],"summary":"Get Memory Stats","description":"Orientation node counts for knowledge, personal, and team.\n\nRead preset (billing, 30/min) instead of the 5/min upload backstop — this\nmounts with the Training page. Fail-soft: 0 when a graph is unavailable.\nCounts run sequentially: graph context is process-global.","operationId":"get_memory_stats_training_memory_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryStatsResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/training/previews":{"post":{"tags":["api","Training"],"summary":"Get Training Document Previews","description":"Return first-page preview URLs for accessible uploaded sources.","operationId":"get_training_document_previews_training_previews_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcePreviewsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcePreviewsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/training/{document_id}/url":{"get":{"tags":["api","Training"],"summary":"Get Training Document Url","description":"Return a short-lived S3 presigned URL for a source original.\n\nOn the agent plane too, as the twin of the MCP `get_source_url` tool. A source goes in\nas bytes and cannot come back through a tool result, so a link is the only way out —\nand an agent that can put a file in and never read it again is a one-way door.\n\n`training.write` rather than a read scope of its own: it is the same source, and a\nsecond scope would advertise a distinction the authorization server does not make.","operationId":"get_training_document_url_training__document_id__url_get","security":[{"HTTPBearer":[]},{"AgentOAuth2":["training.write"]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceUrlResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/training/{document_id}":{"patch":{"tags":["api","Training"],"summary":"Set Training Document Category","description":"Move an upload to another Fach on Dokumente. A person's filing is final.","operationId":"set_training_document_category_training__document_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceCategoryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceCategoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Training"],"summary":"Delete Training Document","description":"Cascade-delete any accessible source (S3 + Cognee + row).\n\nRows only this source produced and the farmer never touched go with it (see\n`/impact`); `keep_derived=true` keeps them and only drops the source's stamp.","operationId":"delete_training_document_training__document_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"keep_derived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Keep Derived"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["api","Training"],"summary":"Get Training Status","description":"Where an ingest has got to. This is what the 202 points at.\n\nThe SPA learns the same thing from a Supabase realtime channel; an agent token is not\nvalid on PostgREST, so this route is the only way an agent can ever find out its upload\nfinished.","operationId":"get_training_status_training__document_id__get","security":[{"HTTPBearer":[]},{"AgentOAuth2":["training.write"]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/training/{document_id}/reprocess":{"post":{"tags":["api","Training"],"summary":"Reprocess Training Document","description":"Read an accessible source again with today's ingest; rows it made update in place.","operationId":"reprocess_training_document_training__document_id__reprocess_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Reprocess Training Document Training  Document Id  Reprocess Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/training/{document_id}/impact":{"get":{"tags":["api","Training"],"summary":"Source Impact","description":"What deleting this source removes and keeps — the rows it produced, with their fate.","operationId":"source_impact_training__document_id__impact_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceImpactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/library":{"get":{"tags":["api","Library"],"summary":"Get Library","description":"The whole catalog by category, with what is on this account's shelf and kept.","operationId":"get_library_library_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/library/{entry_id}":{"put":{"tags":["api","Library"],"summary":"Set Library Entry","description":"Switch an entry on (Uely keeps its document) or off (its document is archived).","operationId":"set_library_entry_library__entry_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryToggleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryEntryState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/library/{entry_id}/adopt":{"post":{"tags":["api","Library"],"summary":"Adopt Library Document","description":"\"Laufend führen\": keep an existing document as this entry's living document.\n\n409 when Uely already keeps a document for this entry and period.","operationId":"adopt_library_document_library__entry_id__adopt_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryAdoptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryEntryState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/library/{entry_id}/variants":{"get":{"tags":["api","Library"],"summary":"Get Plan Variants","description":"A plan's rows he can adopt for its Stallblätter, the one adopted, and those sheets.","operationId":"get_plan_variants_library__entry_id__variants_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanVariantsState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Library"],"summary":"Choose Plan Variant","description":"«Variante übernehmen»: adopt a row of the plan; its Stallblätter are printed from it and\nits effects (planned field work, needs, expected jobs) are written into his farm.\n\n422 when the row is not in the plan's latest calculation.","operationId":"choose_plan_variant_library__entry_id__variants_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanVariantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanVariantsState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/library/{entry_id}/variants/{key}/effects":{"get":{"tags":["api","Library"],"summary":"Preview Plan Variant","description":"What adopting this row would write into his farm, against an earlier adoption.","operationId":"preview_plan_variant_library__entry_id__variants__key__effects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EffectsPreview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/library/{entry_id}/variants/accept":{"post":{"tags":["api","Library"],"summary":"Accept Plan Variant","description":"Adopt a row with the effects he kept in the preview (``skip`` names those left out).","operationId":"accept_plan_variant_library__entry_id__variants_accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanAcceptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanVariantsState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/library/{entry_id}/variants/retract":{"post":{"tags":["api","Library"],"summary":"Retract Plan Variant","description":"«Übernahme zurücknehmen»: rows he did not change go; the ones he changed stay his.","operationId":"retract_plan_variant_library__entry_id__variants_retract_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanRetractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/kontrollordner":{"get":{"tags":["api","Kontrollordner"],"summary":"Get Ordner","description":"The year's Befunde, the controls its registers serve, and the herds for blank sheets.","operationId":"get_ordner_kontrollordner_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"jahr","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Jahr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdnerState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/kontrollordner/print":{"post":{"tags":["api","Kontrollordner"],"summary":"Print Ordner","description":"Print the book for one control now; 404 when none of its registers has anything.","operationId":"print_ordner_kontrollordner_print_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdnerPrintRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdnerPrint"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/kontrollordner/blank":{"post":{"tags":["api","Kontrollordner"],"summary":"Blank Sheet","description":"A blank sheet to fill by hand, with his farm, herd and year; 404 for an unknown herd.","operationId":"blank_sheet_kontrollordner_blank_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlankSheetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrdnerPrint"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/transcription":{"post":{"tags":["api","Transcription"],"summary":"Create Transcription","description":"Transcribe a short voice clip for chat dictation.\n\nRecord-then-transcribe path: client records with MediaRecorder, uploads the\nblob here, and inserts the returned text into the composer.","operationId":"create_transcription_transcription_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_transcription_transcription_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/browser/sessions":{"post":{"tags":["api","Browser"],"summary":"Create Browser Session","operationId":"create_browser_session_browser_sessions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrowserSessionRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrowserSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/browser/sessions/{session_id}/confirm":{"post":{"tags":["api","Browser"],"summary":"Confirm Browser Session","operationId":"confirm_browser_session_browser_sessions__session_id__confirm_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmBrowserSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/browser/jobs":{"get":{"tags":["api","Browser"],"summary":"List Browser Jobs","operationId":"list_browser_jobs_browser_jobs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserJobListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/browser/jobs/{job_id}":{"get":{"tags":["api","Browser"],"summary":"Get Browser Job","operationId":"get_browser_job_browser_jobs__job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/browser/jobs/{job_id}/answer":{"post":{"tags":["api","Browser"],"summary":"Answer Browser Job","operationId":"answer_browser_job_browser_jobs__job_id__answer_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerBrowserJobRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerBrowserJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/browser/jobs/{job_id}/screenshots":{"get":{"tags":["api","Browser"],"summary":"Get Browser Job Screenshots","operationId":"get_browser_job_screenshots_browser_jobs__job_id__screenshots_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserJobScreenshotsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/browser/jobs/{job_id}/recording":{"get":{"tags":["api","Browser"],"summary":"Get Browser Job Recording","operationId":"get_browser_job_recording_browser_jobs__job_id__recording_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrowserJobRecordingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/weather/forecast":{"get":{"tags":["api","Weather"],"summary":"Get Weather Forecast","description":"Condition windows and a now/24 h snapshot for the user's home pin.\n\n- No home location → available=false with a location helper message.\n- With location → available=true, windows, and whatever snapshot fields arrived.","operationId":"get_weather_forecast_weather_forecast_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeatherForecastResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/profile/memory":{"get":{"tags":["api","Profile"],"summary":"Get Memory Profile","description":"What Uely keeps in mind about the farm in every conversation. Read-only.","operationId":"get_memory_profile_profile_memory_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryProfileResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/profile":{"patch":{"tags":["api","Profile"],"summary":"Patch Profile","description":"Update non-location profile fields for the authenticated user.","operationId":"patch_profile_profile_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/profile/location":{"patch":{"tags":["api","Profile"],"summary":"Patch Profile Location","description":"Write profile home coordinates.\n\nCoordinates only — the typed address lives on PATCH /profile and is never\nderived from the pin.","operationId":"patch_profile_location_profile_location_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileLocationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileLocationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/profile/ensure-slug":{"post":{"tags":["api","Profile"],"summary":"Ensure Profile Slug","description":"Mint farm_slug from username when missing (opening the app without Profil save).","operationId":"ensure_profile_slug_profile_ensure_slug_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnsureFarmSlugResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/media/upload-urls":{"post":{"tags":["api","Media"],"summary":"Create Media Upload Urls","operationId":"create_media_upload_urls_media_upload_urls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUploadUrlsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUploadUrlsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/media/sign-urls":{"post":{"tags":["api","Media"],"summary":"Sign Media Urls","operationId":"sign_media_urls_media_sign_urls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaSignUrlsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaSignUrlsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/media/delete":{"post":{"tags":["api","Media"],"summary":"Delete Media Objects","operationId":"delete_media_objects_media_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/namespace/{namespace_id}/cleanup":{"post":{"tags":["api","Namespace"],"summary":"Cleanup Namespace","description":"Clean up external services for namespace reset (Cognee-only).\n\nCalled by backend services during hard-delete namespace cleanup.\nRemoves Cognee user dataset for this namespace.","operationId":"cleanup_namespace_namespace__namespace_id__cleanup_post","parameters":[{"name":"namespace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Namespace Id"}},{"name":"X-Service-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Service-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Cleanup Namespace Namespace  Namespace Id  Cleanup Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/namespace/reset":{"post":{"tags":["api","Namespace"],"summary":"Reset Namespace","description":"Reset user's personal namespace.\n\nThis endpoint replaces the `reset-namespace` edge function. It completely\nresets a user's personal namespace by:\n- Cancelling pending transactions\n- Cleaning external services\n- Deleting storage files\n- Creating a new empty namespace\n- Hard-deleting the old namespace (cascade delete of scoped data)\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user: Authenticated user\n    service: Namespace service\n\nReturns:\n    ResetNamespaceResponse with new namespace ID\n\nRaises:\n    HTTPException: 404 if user not found or has no namespace, 500 on server error","operationId":"reset_namespace_namespace_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetNamespaceResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/notifications/welcome":{"post":{"tags":["api","notifications"],"summary":"Send Welcome Notification","description":"Send welcome email to a new user.\n\nThis endpoint is called from the create-user-profile edge function\nafter a new user profile is created.\n\nProtected by X-Service-Key. Validates that user_id exists and that\nthe supplied email matches the stored profile before sending.","operationId":"send_welcome_notification_notifications_welcome_post","parameters":[{"name":"X-Service-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Service-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WelcomeNotificationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications":{"get":{"tags":["api","notifications"],"summary":"List Notifications","description":"List in-app notifications for current user.","operationId":"list_notifications_notifications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppNotificationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications/read-all":{"post":{"tags":["api","notifications"],"summary":"Mark All Notifications Read","description":"Mark every unread notification for the current user as read.","operationId":"mark_all_notifications_read_notifications_read_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkAllReadResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/notifications/{notification_id}/read":{"post":{"tags":["api","notifications"],"summary":"Mark Notification Read","description":"Mark one user notification as read.","operationId":"mark_notification_read_notifications__notification_id__read_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppNotification"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications/unread-counts":{"get":{"tags":["api","notifications"],"summary":"Get Unread Counts","description":"Return unread in-app notification counts for current user.","operationId":"get_unread_counts_notifications_unread_counts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppNotificationUnreadCountsResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/notifications/preferences":{"get":{"tags":["api","notifications"],"summary":"Get Notification Preferences","description":"Get notification preferences for current user.","operationId":"get_notification_preferences_notifications_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPreferencesResponse"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["api","notifications"],"summary":"Update Notification Preferences","description":"Update notification preferences for current user.","operationId":"update_notification_preferences_notifications_preferences_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPreferencesUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPreferencesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/notifications/devices":{"post":{"tags":["api","notifications"],"summary":"Register Notification Device","description":"Register or refresh a push device token (Capacitor / future APNs-FCM).","operationId":"register_notification_device_notifications_devices_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationDeviceRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationDeviceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/notifications/devices/{token}":{"delete":{"tags":["api","notifications"],"summary":"Unregister Notification Device","description":"Remove a push device token for the current user.","operationId":"unregister_notification_device_notifications_devices__token__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/onboarding/seed-example-data":{"post":{"tags":["api","Onboarding"],"summary":"Seed Example Data","description":"Seed example workspace rows and the Flo support thread once per user.\n\nIdempotent via ``users.example_data_seeded_at`` (conditional update on a\nnull stamp). Rate-limited to throttle repeats.","operationId":"seed_example_data_onboarding_seed_example_data_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedExampleDataResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/users/validate-username":{"post":{"tags":["api","users"],"summary":"Validate Username Endpoint","description":"Validate a username against all rules.\n\nThis endpoint validates usernames for:\n- Length (3-20 characters)\n- Character set (lowercase letters, numbers, underscores, hyphens)\n- Separator placement (no leading, trailing, or repeated separators)\n- Minimum letter requirement (at least 2 letters)\n- Reserved names (system, brand, official)\n- Offensive content\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    payload: Username validation request\n\nReturns:\n    UsernameValidationResponse with valid flag and optional error details","operationId":"validate_username_endpoint_users_validate_username_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsernameValidationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsernameValidationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/account":{"delete":{"tags":["api","users"],"summary":"Delete Account","description":"Delete user account permanently.\n\nThis operation:\n- Cancels Stripe subscriptions (best-effort)\n- Cleans external services (best-effort)\n- Deletes auth user (cascade)\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user: Authenticated user\n    service: User service\n\nReturns:\n    DeleteAccountResponse with success message\n\nRaises:\n    HTTPException: 404 if user not found, 500 on server error","operationId":"delete_account_users_account_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAccountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/access-tokens":{"get":{"tags":["api","Access tokens"],"summary":"List Access Tokens","description":"Every token this account has minted, live and dead. Never any secrets.","operationId":"list_access_tokens_access_tokens_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenListResponse"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["api","Access tokens"],"summary":"Create Access Token","description":"Mint a token and return its secret, once.\n\nRate-limited on the DCR budget rather than the general one: this is credential\nissuance, and the cost of a mistake is a long-lived secret.","operationId":"create_access_token_access_tokens_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/access-tokens/{token_id}":{"delete":{"tags":["api","Access tokens"],"summary":"Revoke Access Token","description":"Revoking needs no step-up: taking a credential away is never the risky direction.","operationId":"revoke_access_token_access_tokens__token_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/check-subscription":{"post":{"tags":["api","billing"],"summary":"Check Subscription","description":"Check user's Stripe subscription and sync with database.","operationId":"check_subscription_billing_check_subscription_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckSubscriptionResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/billing/checkout":{"post":{"tags":["api","billing"],"summary":"Create Checkout","description":"Create a Stripe checkout session with duplicate subscription protection.","operationId":"create_checkout_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/billing/portal":{"post":{"tags":["api","billing"],"summary":"Create Portal","description":"Create a Stripe customer portal session.","operationId":"create_portal_billing_portal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/billing/verify-checkout":{"post":{"tags":["api","billing"],"summary":"Verify Checkout","description":"Converge a completed checkout session after the redirect back.\n\nThe webhook remains the source of truth; this endpoint lets the client\nsettle the common case immediately instead of polling for the webhook.\nCredit grants are idempotent on the session id, so whichever path runs\nfirst wins and the other is a no-op.","operationId":"verify_checkout_billing_verify_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyCheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/billing/usage-history":{"get":{"tags":["api","billing"],"summary":"Get Usage History","description":"Get AI usage history for the current user.","operationId":"get_usage_history_billing_usage_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/billing/invoices":{"get":{"tags":["api","billing"],"summary":"List Billing Invoices","description":"List platform Stripe invoices for the Rechnungen tab.","operationId":"list_billing_invoices_billing_invoices_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingInvoicesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/outbound/providers":{"get":{"tags":["api","Outbound"],"summary":"List Outbound Providers","description":"Every provider this deployment knows, and whether this farm has connected it.\n\nEmpty when no provider is registered, which the UI has to render rather than a\nplaceholder — a farm that has connected nothing sees the same screen.","operationId":"list_outbound_providers_outbound_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutboundProviderList"}}}}},"security":[{"HTTPBearer":[]}]}},"/outbound/connect":{"post":{"tags":["api","Outbound"],"summary":"Connect Outbound Provider","description":"Begin an authorization and return the URL to send the person to.","operationId":"connect_outbound_provider_outbound_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/outbound/grants/{provider}":{"delete":{"tags":["api","Outbound"],"summary":"Revoke Outbound Grant","description":"Disconnect a provider. Clears the stored ciphertext; the row stays as a record.\n\nIdempotent, and silent about whether anything was there: revoking a provider this farm\nnever connected is not an error worth distinguishing, and answering differently would\nsay which providers other people use.","operationId":"revoke_outbound_grant_outbound_grants__provider__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/research":{"post":{"tags":["api","Research"],"summary":"Start Research","description":"Start a report and return a job id. Reads no workspace data.\n\n202 rather than 200: the report does not exist yet. A repeated `Idempotency-Key` returns\nthe *same* job id, so a retry polls the report that is already being written and pays once.","operationId":"start_research_research_post","security":[{"HTTPBearer":[]},{"AgentOAuth2":["research"]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/research/{job_id}":{"get":{"tags":["api","Research"],"summary":"Get Research Status","description":"The state of one of your reports, and the report itself once it is written.","operationId":"get_research_status_research__job_id__get","security":[{"HTTPBearer":[]},{"AgentOAuth2":["research"]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/signup/start":{"post":{"tags":["api","Signup"],"summary":"Start Signup","description":"Open a Stripe Checkout for an address that may not have an account.\n\nCreates no account: that happens after Stripe confirms the payment, in the webhook, and\nonly for a subscription this flow marked `signup=agent`.","operationId":"start_signup_signup_start_post","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartSignupRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartSignupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/signup/session/{session_id}":{"get":{"tags":["api","Signup"],"summary":"Get Signup Session","description":"Where a signup has got to. Statuses only — no email, no customer, no URL.","operationId":"get_signup_session_signup_session__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/signup/plans":{"get":{"tags":["api","Signup"],"summary":"List Plans","description":"The self-serve plans, so an agent does not have to guess a name.\n\nPrices come from the catalog rather than being restated here; there is one price list in\nthis codebase and it is not this file.","operationId":"list_plans_signup_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Plans Signup Plans Get"}}}}}}},"/connect/account":{"get":{"tags":["api","connect"],"summary":"Get Connect Account","description":"Return the current user's connected-account onboarding status.","operationId":"get_connect_account_connect_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectAccountStatus"}}}}},"security":[{"HTTPBearer":[]}]}},"/connect/onboarding":{"post":{"tags":["api","connect"],"summary":"Create Connect Onboarding","description":"Ensure the user has a connected account (for embedded onboarding).","operationId":"create_connect_onboarding_connect_onboarding_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/connect/account-session":{"post":{"tags":["api","connect"],"summary":"Create Connect Account Session","description":"Create an Account Session client secret for embedded Connect components.","operationId":"create_connect_account_session_connect_account_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountSessionResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/connect/login-link":{"post":{"tags":["api","connect"],"summary":"Create Connect Login Link","description":"Create a single-use Express Dashboard login link for the current user.","operationId":"create_connect_login_link_connect_login_link_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginLinkResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/marketplace/feed":{"get":{"tags":["api","Marketplace"],"summary":"Marketplace Feed","description":"In-app marketplace feed: ranked by default, semantic when ``q`` is set.","operationId":"marketplace_feed_marketplace_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["product","job"],"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"}},{"name":"radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}],"title":"Radius Km"}},{"name":"audience","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Audience"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Category"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["recommended","nearest","newest"],"type":"string","default":"recommended","title":"Sort"}},{"name":"farm","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Farm"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":24,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceFeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices":{"post":{"tags":["api","invoices"],"summary":"Create Invoice","description":"Create and finalize a payment request; returns the hosted payment link.","operationId":"create_invoice_invoices_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInvoiceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["api","invoices"],"summary":"List Invoices","description":"List invoices for the Gestellt (in) or Erhalten (out) tab.","operationId":"list_invoices_invoices_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"direction","in":"query","required":false,"schema":{"type":"string","description":"in (Gestellt) or out (Erhalten)","default":"in","title":"Direction"},"description":"in (Gestellt) or out (Erhalten)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/open-received-count":{"get":{"tags":["api","invoices"],"summary":"Get Open Received Invoice Count","operationId":"get_open_received_invoice_count_invoices_open_received_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/invoices/by-job/{job_id}":{"get":{"tags":["api","invoices"],"summary":"Get Invoice For Job","description":"Return the invoice linked to a job, if any.","operationId":"get_invoice_for_job_invoices_by_job__job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InvoiceResponse"},{"type":"null"}],"title":"Response Get Invoice For Job Invoices By Job  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{invoice_id}":{"get":{"tags":["api","invoices"],"summary":"Get Invoice","description":"Return a single invoice the caller is party to (issuer or payer).","operationId":"get_invoice_invoices__invoice_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{invoice_id}/send":{"post":{"tags":["api","invoices"],"summary":"Send Invoice","description":"Email the branded hosted invoice link via Stripe (external recipient).","operationId":"send_invoice_invoices__invoice_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{invoice_id}/void":{"post":{"tags":["api","invoices"],"summary":"Void Invoice","description":"Void a finalized invoice (issuer only).","operationId":"void_invoice_invoices__invoice_id__void_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams":{"post":{"tags":["api","teams"],"summary":"Create Team","description":"Create a new team with namespace and admin membership.","operationId":"create_team_teams_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTeamRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/teams/public":{"get":{"tags":["api","teams"],"summary":"List Public Teams","description":"Public teams the caller is not already in.","operationId":"list_public_teams_teams_public_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100,"default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTeamListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/invitation-count":{"get":{"tags":["api","teams"],"summary":"Get Pending Invitation Count","operationId":"get_pending_invitation_count_teams_invitation_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/teams/{team_id}":{"patch":{"tags":["api","teams"],"summary":"Update Team","description":"Update team settings (admin only).","operationId":"update_team_teams__team_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeamRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","teams"],"summary":"Delete Team","description":"Hard delete a team and clean up external services.","operationId":"delete_team_teams__team_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/{team_id}/invitations":{"post":{"tags":["api","teams"],"summary":"Invite Member","description":"Invite a user to a team.","operationId":"invite_member_teams__team_id__invitations_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamInvitationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMembershipResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/invitations/{membership_id}/accept":{"post":{"tags":["api","teams"],"summary":"Accept Invitation","description":"Accept a pending team invitation.","operationId":"accept_invitation_teams_invitations__membership_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"membership_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Membership Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/invitations/{membership_id}/decline":{"post":{"tags":["api","teams"],"summary":"Decline Invitation","description":"Decline a pending team invitation.","operationId":"decline_invitation_teams_invitations__membership_id__decline_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"membership_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Membership Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/{team_id}/messages":{"post":{"tags":["api","teams"],"summary":"Send Team Message","description":"Send a message to team chat.","operationId":"send_team_message_teams__team_id__messages_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMessageRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/{team_id}/join":{"post":{"tags":["api","teams"],"summary":"Join Public Team","description":"Join a public team.","operationId":"join_public_team_teams__team_id__join_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/{team_id}/leave":{"post":{"tags":["api","teams"],"summary":"Leave Team","description":"Leave a team.","operationId":"leave_team_teams__team_id__leave_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/{team_id}/members/{member_user_id}":{"delete":{"tags":["api","teams"],"summary":"Remove Member","description":"Remove a member from a team (admin only).","operationId":"remove_member_teams__team_id__members__member_user_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"member_user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembershipActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/connections":{"get":{"tags":["api","connections"],"summary":"List Connections","description":"List the caller's connections (accepted + pending both directions).","operationId":"list_connections_connections_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionListResponse"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["api","connections"],"summary":"Create Connection","description":"Request a connection by username (\"kollegisieren\").","operationId":"create_connection_connections_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/connections/pending-count":{"get":{"tags":["api","connections"],"summary":"Pending Connection Count","description":"Incoming pending request count (sidebar badge).","operationId":"pending_connection_count_connections_pending_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingConnectionCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/connections/{connection_id}/accept":{"post":{"tags":["api","connections"],"summary":"Accept Connection","description":"Accept an incoming pending request (addressee only).","operationId":"accept_connection_connections__connection_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/connections/{connection_id}/decline":{"post":{"tags":["api","connections"],"summary":"Decline Connection","description":"Decline an incoming pending request (addressee only).","operationId":"decline_connection_connections__connection_id__decline_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/connections/{connection_id}":{"delete":{"tags":["api","connections"],"summary":"Delete Connection","description":"Remove a connection or withdraw an own pending request (either participant).","operationId":"delete_connection_connections__connection_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Connection Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invites":{"post":{"tags":["api","connections"],"summary":"Create Invite","description":"Create a single-use external invite link (connection/team/job).","operationId":"create_invite_invites_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInviteRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/invites/{token}":{"get":{"tags":["api","connections"],"summary":"Preview Invite","description":"Public anon-safe invite preview. 404 unknown, 410 claimed/expired.","operationId":"preview_invite_invites__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitePreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invites/{token}/claim":{"post":{"tags":["api","connections"],"summary":"Claim Invite","description":"Claim an invite link: connection auto-accepts, team joins active, job applies.","operationId":"claim_invite_invites__token__claim_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimInviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/referrals/summary":{"get":{"tags":["api","referrals"],"summary":"Get Referral Summary","description":"Referral counts for the billing page. Returns enabled=false when the program is off.","operationId":"get_referral_summary_referrals_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralSummaryResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/contacts":{"get":{"tags":["api","Contacts"],"summary":"List Parties","operationId":"list_parties_contacts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Contacts"],"summary":"Create Party","operationId":"create_party_contacts_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{party_id}":{"get":{"tags":["api","Contacts"],"summary":"Get Party","operationId":"get_party_contacts__party_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"party_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Party Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Contacts"],"summary":"Update Party","operationId":"update_party_contacts__party_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"party_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Party Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Contacts"],"summary":"Delete Party","operationId":"delete_party_contacts__party_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"party_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Party Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{party_id}/merge":{"post":{"tags":["api","Contacts"],"summary":"Merge Party","operationId":"merge_party_contacts__party_id__merge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"party_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Party Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyMergeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places":{"get":{"tags":["api","Places"],"summary":"List Places","operationId":"list_places_places_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"include_geometry","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Geometry"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Places"],"summary":"Create Place","operationId":"create_place_places_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/at":{"get":{"tags":["api","Places"],"summary":"Get Place At","description":"Which of my places am I standing in, and what else is within reach.\n\nThe most natural thing a farmer does is stand in a field and open the app.\n``place_at`` has resolved the smallest containing polygon for a point since it\nwas written and had no door: no route, no agent tool, no caller but an\ninternal fallback.","operationId":"get_place_at_places_at_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lon"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceAtResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/attribute-catalog":{"get":{"tags":["api","Places"],"summary":"Get Place Attribute Catalog","operationId":"get_place_attribute_catalog_places_attribute_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceAttributeCatalogResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/places/{place_id}":{"get":{"tags":["api","Places"],"summary":"Get Place","operationId":"get_place_places__place_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Places"],"summary":"Update Place","operationId":"update_place_places__place_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Places"],"summary":"Delete Place","operationId":"delete_place_places__place_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/related":{"get":{"tags":["api","Places"],"summary":"List Place Related","operationId":"list_place_related_places__place_id__related_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceRelatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/timeline":{"get":{"tags":["api","Places"],"summary":"Get Place Timeline","operationId":"get_place_timeline_places__place_id__timeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceTimelineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/summary":{"get":{"tags":["api","Places"],"summary":"Get Place Summary","operationId":"get_place_summary_places__place_id__summary_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"from","in":"query","required":true,"schema":{"type":"string","title":"From"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","title":"To"}},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"At"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/series":{"get":{"tags":["api","Places"],"summary":"Get Place Series","description":"Daily weather rows for the window, plus what they add up to since sowing.\n\nSeparate from /summary rather than folded into it: the summary answers about\nthe window on screen, this answers about the crop, and the two windows are\ndeliberately different.","operationId":"get_place_series_places__place_id__series_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"from","in":"query","required":true,"schema":{"type":"string","title":"From"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceSeriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/indices":{"get":{"tags":["api","Places"],"summary":"Get Place Indices","description":"NDVI, NDMI and NDRE over a named window, aggregated into intervals.\n\nFree: the numbers come from one Statistics request per index. Rendering the\npictures is what costs, and that is /imagery.","operationId":"get_place_indices_places__place_id__indices_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"from","in":"query","required":true,"schema":{"type":"string","title":"From"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceIndicesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/forecast":{"get":{"tags":["api","Places"],"summary":"Get Place Forecast","description":"The next nine days over this place, with its working windows.\n\nNo window parameters: the forecast reaches as far as it reaches, and letting\na caller ask for more than nine days would only invite a chart that draws a\nfortnight of nothing.","operationId":"get_place_forecast_places__place_id__forecast_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceForecastResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/imagery":{"post":{"tags":["api","Places"],"summary":"Pull Place Imagery","operationId":"pull_place_imagery_places__place_id__imagery_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceImageryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/events":{"post":{"tags":["api","Places"],"summary":"Create Place Event","operationId":"create_place_event_places__place_id__events_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceEventCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceEventResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/events/{event_id}":{"patch":{"tags":["api","Places"],"summary":"Update Place Event","operationId":"update_place_event_places__place_id__events__event_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"event_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Event Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceEventUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceEventResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/split":{"post":{"tags":["api","Places"],"summary":"Split Place","description":"Cut a place into working fields without touching what was declared.\n\nThe inverse of merge, and the half a farmer actually needs mid-season: he\ntakes part of a parcel for another crop so the Futterplan works out. The\nErhebung he filed in January stays exactly as it is.","operationId":"split_place_places__place_id__split_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceSplitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceSplitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/merge":{"post":{"tags":["api","Places"],"summary":"Merge Place","operationId":"merge_place_places__place_id__merge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceMergeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/refresh":{"post":{"tags":["api","Places"],"summary":"Refresh Place Insight","operationId":"refresh_place_insight_places__place_id__refresh_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/places/{place_id}/adopt-official-geometry":{"post":{"tags":["api","Places"],"summary":"Adopt Official Place Geometry","operationId":"adopt_official_place_geometry_places__place_id__adopt_official_geometry_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"place_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Place Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/search":{"get":{"tags":["api","Listings"],"summary":"Search Assets","description":"Semantic / nearby / popularity search over public assets (anonymous OK).\n\n``offer``: ``rent`` only rental offers (the Mieten hub), ``sell`` only sales.","operationId":"search_assets_listings_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"}},{"name":"radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Radius Km"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"nearest","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"audience","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Audience"}},{"name":"offer","in":"query","required":false,"schema":{"anyOf":[{"enum":["sell","rent"],"type":"string"},{"type":"null"}],"title":"Offer"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetSearchResult"},"title":"Response Search Assets Listings Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/checkout/verify":{"post":{"tags":["api","Listings"],"summary":"Verify Asset Checkout","description":"Converge a Connect checkout session after the buyer redirect.\n\nThe webhook remains the source of truth; this endpoint lets the client\ntoast success only when Stripe reports ``payment_status=paid``.","operationId":"verify_asset_checkout_listings_checkout_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCheckoutVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCheckoutVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/listings/checkout/cancel":{"post":{"tags":["api","Listings"],"summary":"Cancel Asset Checkout","description":"Expire an open Connect checkout and release the Angeboten hold.","operationId":"cancel_asset_checkout_listings_checkout_cancel_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCheckoutVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCheckoutVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/listings":{"get":{"tags":["api","Listings"],"summary":"List Assets","operationId":"list_assets_listings_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"catalog","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Catalog"}},{"name":"wanted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Wanted"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"visibility","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Status"}},{"name":"availability","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Availability"}},{"name":"order","in":"query","required":false,"schema":{"anyOf":[{"enum":["created_at","title","unit_price","quantity","expiry_date","available_from"],"type":"string"},{"type":"null"}],"title":"Order"}},{"name":"order_dir","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order Dir"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Listings"],"summary":"Create Asset","operationId":"create_asset_listings_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}":{"get":{"tags":["api","Listings"],"summary":"Get Asset","operationId":"get_asset_listings__asset_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Listings"],"summary":"Update Asset","operationId":"update_asset_listings__asset_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Listings"],"summary":"Delete Asset","operationId":"delete_asset_listings__asset_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/dismiss":{"post":{"tags":["api","Listings"],"summary":"Dismiss Asset","description":"Archive an AI/derived product and stamp attributes.derived.dismissed_at.","operationId":"dismiss_asset_listings__asset_id__dismiss_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/count":{"post":{"tags":["api","Listings"],"summary":"Count Item","description":"What he has of a thing on a day. A count older than the stock stays history.","operationId":"count_item_listings__asset_id__count_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemCountRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/movements":{"post":{"tags":["api","Listings"],"summary":"Move Item","description":"What came or went (bought, harvested, used, sold, given away, lost).","operationId":"move_item_listings__asset_id__movements_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemMovementRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/merge":{"post":{"tags":["api","Listings"],"summary":"Merge Item","description":"Fold his twin rows into this one; the twins are archived, recoverable.","operationId":"merge_item_listings__asset_id__merge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemMergeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemMergeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/inquiry":{"post":{"tags":["api","Listings"],"summary":"Inquire About Listing","description":"Ask the seller about a public offer; renting is booked this way, not at checkout.","operationId":"inquire_about_listing_listings__asset_id__inquiry_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingInquiryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingInquiryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/checkout":{"post":{"tags":["api","Listings"],"summary":"Checkout Asset","description":"Start Stripe Connect checkout for a paid asset purchase.","operationId":"checkout_asset_listings__asset_id__checkout_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/purchase":{"post":{"tags":["api","Listings"],"summary":"Purchase Asset Cash","description":"Create a cash-at-handover purchase (server-computed price + immediate fulfillment).","operationId":"purchase_asset_cash_listings__asset_id__purchase_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetPurchaseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetPurchaseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/images":{"post":{"tags":["api","Listings"],"summary":"Attach Asset Image","operationId":"attach_asset_image_listings__asset_id__images_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Attach Asset Image Listings  Asset Id  Images Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/images/{media_id}":{"delete":{"tags":["api","Listings"],"summary":"Delete Asset Image","operationId":"delete_asset_image_listings__asset_id__images__media_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Asset Image Listings  Asset Id  Images  Media Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/listings/{asset_id}/images/order":{"put":{"tags":["api","Listings"],"summary":"Reorder Asset Images","operationId":"reorder_asset_images_listings__asset_id__images_order_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Asset Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reorder Asset Images Listings  Asset Id  Images Order Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/animals/import-icar":{"post":{"tags":["api","Animals"],"summary":"Import Icar","description":"Import an ICAR ADE payload as active animals/events (skip on known identity).","operationId":"import_icar_animals_import_icar_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"ICAR ADE resource, list, or envelope","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcarImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/animals/import-dsch":{"post":{"tags":["api","Animals"],"summary":"Import Dsch","description":"Import a DS-CH ``.txt`` export as active animals/events/measurements.","operationId":"import_dsch_animals_import_dsch_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_dsch_animals_import_dsch_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DschImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/animals/export-icar":{"get":{"tags":["api","Animals"],"summary":"Export Icar","description":"Export the namespace herd as ICAR ADE animal + event resources.","operationId":"export_icar_animals_export_icar_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcarExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/animals":{"get":{"tags":["api","Animals"],"summary":"List Animals","description":"List the herd: ``asset(kind=animal)`` rows in the personal namespace.\n\nReturns ``AssetListResponse`` rather than an animals-shaped envelope because an animal\nrow *is* an asset row — the same one ``GET /animals/{id}`` dumps into its ``animal``\nfield before adding events and measurements. A parallel schema over identical data\nwould be two shapes to keep in step for no gain.\n\nSame namespace rule as ``GET /listings``: generative planes are personal-namespace\nonly, so ``team_id`` is accepted for symmetry with the rest of the surface and then\ndiscarded rather than silently widening the read.","operationId":"list_animals_animals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/animals/herds/{herd_id}":{"get":{"tags":["api","Animals"],"summary":"Get Herd","description":"One herd: its number as of when and from whom, members, count history.","operationId":"get_herd_animals_herds__herd_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"herd_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Herd Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HerdDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/animals/herds/{herd_id}/count":{"post":{"tags":["api","Animals"],"summary":"Set Herd Count","description":"The farmer's own count. Kept in the history; moves the herd unless it is older.","operationId":"set_herd_count_animals_herds__herd_id__count_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"herd_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Herd Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HerdCountRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HerdCountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/animals/{animal_id}":{"get":{"tags":["api","Animals"],"summary":"Get Animal","description":"Get one animal with linked events and recent measurements.","operationId":"get_animal_animals__animal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"animal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Animal Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnimalDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/finance/import-camt":{"post":{"tags":["api","Finance"],"summary":"Import Camt","description":"Import an ISO 20022 CAMT.053 statement as active transactions.","operationId":"import_camt_finance_import_camt_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_camt_finance_import_camt_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CamtImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/finance/import-journal":{"post":{"tags":["api","Finance"],"summary":"Import Journal","description":"Import a Bexio/AgroOffice journal CSV or Abacus XML as active transactions.","operationId":"import_journal_finance_import_journal_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_journal_finance_import_journal_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/finance/accounts":{"get":{"tags":["api","Finance"],"summary":"Get Accounts","description":"Kontenrahmen KMU Landwirtschaft catalog (Klassen + Gruppen).","operationId":"get_accounts_finance_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCatalogResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/finance/accounts/classify":{"get":{"tags":["api","Finance"],"summary":"Classify Account Endpoint","description":"Classify one account number against Kontenrahmen KMU Landwirtschaft.","operationId":"classify_account_endpoint_finance_accounts_classify_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account","in":"query","required":true,"schema":{"type":"string","description":"Account number to classify","title":"Account"},"description":"Account number to classify"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountClassifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/location/geocode":{"get":{"tags":["api","Location"],"summary":"Geocode","description":"Resolve a typed Swiss place to coordinates + label (anonymous OK).","operationId":"geocode_location_geocode_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"description":"Typed place (PLZ or Ort)","title":"Q"},"description":"Typed place (PLZ or Ort)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/GeocodeResult"},{"type":"null"}],"title":"Response Geocode Location Geocode Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/favicons/{domain}":{"get":{"tags":["api","Favicons"],"summary":"Get Favicon","description":"Proxy a site favicon. Anonymous, Redis-cached, SSRF-guarded.","operationId":"getFavicon","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Favicon bytes","content":{"application/json":{"schema":{}},"image/png":{},"image/x-icon":{},"image/vnd.microsoft.icon":{},"image/svg+xml":{},"image/jpeg":{},"image/webp":{},"image/gif":{}}},"404":{"description":"No favicon found"},"422":{"description":"Ungültige Domain."}}}},"/events":{"post":{"tags":["api","Events"],"summary":"Record Open Events","operationId":"record_open_events_events_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityOpenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityOpenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/internal/edge-errors":{"post":{"tags":["api","internal"],"summary":"Report Edge Error","description":"Record an edge-function failure as a backend log event.\n\nLogged rather than re-raised: this endpoint failing must never be the reason a\nsignup fails, and the caller treats it as fire-and-forget.","operationId":"report_edge_error_internal_edge_errors_post","parameters":[{"name":"X-Service-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Service-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EdgeErrorReport"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/search":{"get":{"tags":["api","Work items"],"summary":"Search Activities","description":"Semantic / nearby / popularity search over public activities (anonymous OK).","operationId":"search_activities_work_items_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"}},{"name":"radius_km","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Radius Km"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"nearest","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Search Activities Work Items Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items":{"get":{"tags":["api","Work items"],"summary":"List Activities","operationId":"list_activities_work_items_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"visibility","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visibility"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Status"}},{"name":"due_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due From"}},{"name":"due_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due To"}},{"name":"assignee","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assignee"}},{"name":"place_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"}},{"name":"include_assigned_elsewhere","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Assigned Elsewhere"}},{"name":"order","in":"query","required":false,"schema":{"anyOf":[{"enum":["starts_at","created_at"],"type":"string"},{"type":"null"}],"title":"Order"}},{"name":"order_dir","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order Dir"}},{"name":"include_assignments","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Assignments"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Work items"],"summary":"Create Activity","operationId":"create_activity_work_items_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/applications":{"get":{"tags":["api","Work items"],"summary":"List My Applications","operationId":"list_my_applications_work_items_applications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"has_about","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has About"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/applications/pending-counts":{"get":{"tags":["api","Work items"],"summary":"Get Pending Application Counts","operationId":"get_pending_application_counts_work_items_applications_pending_counts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingApplicationCountsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/hours":{"get":{"tags":["api","Work items"],"summary":"Work Hours","description":"The Stunden tab: his year of work, row by row, as `agent_arbeitsstunden` counts it.\n\nThe view is the agents' hours truth (entered, estimated and assumed routine days, the\nwork day, who did it), so the tab and an answer about «Stunden fürs Melken» cannot\ndisagree. Only his own namespace: work he did for someone else is on their ledger.","operationId":"work_hours_work_items_hours_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2000,"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkHoursResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/fulfillment-count":{"get":{"tags":["api","Work items"],"summary":"Get Open Fulfillment Count","operationId":"get_open_fulfillment_count_work_items_fulfillment_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/work-items/applications/{application_id}/accept":{"post":{"tags":["api","Work items"],"summary":"Accept Application","operationId":"accept_application_work_items_applications__application_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/applications/{application_id}/decline":{"post":{"tags":["api","Work items"],"summary":"Decline Application","operationId":"decline_application_work_items_applications__application_id__decline_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/applications/{application_id}":{"delete":{"tags":["api","Work items"],"summary":"Withdraw Application","operationId":"withdraw_application_work_items_applications__application_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"application_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Application Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/performed-by/{peer_user_id}":{"get":{"tags":["api","Work items"],"summary":"List Performed By User","description":"Jobs this person has done for the caller.\n\nThe caller's own record, read from their own namespace -- private by construction, and\nnot a statement about the other person's work anywhere else.","operationId":"list_performed_by_user_work_items_performed_by__peer_user_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"peer_user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Peer User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}":{"get":{"tags":["api","Work items"],"summary":"Get Activity","operationId":"get_activity_work_items__activity_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Work items"],"summary":"Update Activity","operationId":"update_activity_work_items__activity_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Work items"],"summary":"Delete Activity","operationId":"delete_activity_work_items__activity_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/complete":{"post":{"tags":["api","Work items"],"summary":"Complete Activity","description":"Mark a job finished -- as its owner, or as the person accepted to do it.\n\nSeparate from PATCH because the doer must be able to complete a job they do not own\nwithout that granting them the rest of the update surface.","operationId":"complete_activity_work_items__activity_id__complete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/end":{"post":{"tags":["api","Work items"],"summary":"End Series","description":"«Routine beenden»: the routine's last day is `on` (default today); its days stay.\n\nOwner only. Deleting or archiving the series removes it and its assumed hours; this\nkeeps the history and stops it after that day.","operationId":"end_series_work_items__activity_id__end_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivitySeriesEndRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/hours":{"post":{"tags":["api","Work items"],"summary":"Amend Activity Hours","description":"Correct the hours on a finished job, as its owner or as the person who did it.\n\nCompletion was one-shot, so a typo in the dialog was unrecoverable without the owner --\nand it is the figure the invoice is computed from. Refused once a live invoice exists.","operationId":"amend_activity_hours_work_items__activity_id__hours_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityHoursRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/dismiss":{"post":{"tags":["api","Work items"],"summary":"Dismiss Activity","description":"Archive an AI/derived job and stamp attributes.derived.dismissed_at.","operationId":"dismiss_activity_work_items__activity_id__dismiss_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/apply":{"post":{"tags":["api","Work items"],"summary":"Apply To Activity","operationId":"apply_to_activity_work_items__activity_id__apply_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/invite":{"post":{"tags":["api","Work items"],"summary":"Invite To Activity","operationId":"invite_to_activity_work_items__activity_id__invite_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteApplicationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/assignee":{"put":{"tags":["api","Work items"],"summary":"Assign Activity Doer","description":"Who does the job: himself (no party), a contact directly, or a Kollege by invitation.","operationId":"assign_activity_doer_work_items__activity_id__assignee_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssigneeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssigneeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/applications":{"get":{"tags":["api","Work items"],"summary":"List Activity Applications","operationId":"list_activity_applications_work_items__activity_id__applications_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/taskdata":{"get":{"tags":["api","Work items"],"summary":"Export Activity Taskdata","description":"Export a field-bound activity as ISO-XML TASKDATA.zip (signed download URL).","operationId":"export_activity_taskdata_work_items__activity_id__taskdata_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskdataExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/shapefile":{"get":{"tags":["api","Work items"],"summary":"Export Activity Shapefile","description":"Export a field-bound activity as a WGS84 shapefile zip (signed download URL).","operationId":"export_activity_shapefile_work_items__activity_id__shapefile_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskdataExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/images":{"post":{"tags":["api","Work items"],"summary":"Attach Activity Image","operationId":"attach_activity_image_work_items__activity_id__images_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Attach Activity Image Work Items  Activity Id  Images Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/work-items/{activity_id}/images/{media_id}":{"delete":{"tags":["api","Work items"],"summary":"Delete Activity Image","operationId":"delete_activity_image_work_items__activity_id__images__media_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"activity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Activity Id"}},{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Activity Image Work Items  Activity Id  Images  Media Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/feed":{"get":{"tags":["api","Letters"],"summary":"List Zeitung Feed","description":"The community feed: ranked, filtered and paged in the database.\n\nThe viewer's coordinates come from their own home pin rather than the query string —\nthe client has no business asserting where the reader is, and the response says\nwhether a pin was found so the UI can offer to set one.","operationId":"list_zeitung_feed_letters_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"sort","in":"query","required":false,"schema":{"enum":["hot","new","top","nearby"],"type":"string","default":"hot","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"mine","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Mine"}},{"name":"radius_km","in":"query","required":false,"schema":{"type":"number","maximum":100,"exclusiveMinimum":0,"default":15,"title":"Radius Km"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZeitungFeedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/posts/nearby":{"get":{"tags":["api","Letters"],"summary":"Search Nearby Posts","description":"Search public posts (articles) near a location via search_nearby_articles RPC.","operationId":"search_nearby_posts_letters_posts_nearby_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","description":"User latitude for distance calculation","title":"Lat"},"description":"User latitude for distance calculation"},{"name":"lng","in":"query","required":true,"schema":{"type":"number","description":"User longitude for distance calculation","title":"Lng"},"description":"User longitude for distance calculation"},{"name":"radius_km","in":"query","required":false,"schema":{"type":"number","maximum":100,"minimum":0,"description":"Maximum distance in km","default":15,"title":"Radius Km"},"description":"Maximum distance in km"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum results to return","default":50,"title":"Limit"},"description":"Maximum results to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PostSearchResult"},"title":"Response Search Nearby Posts Letters Posts Nearby Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/unread-letter-count":{"get":{"tags":["api","Letters"],"summary":"Get Unread Letter Count","operationId":"get_unread_letter_count_letters_unread_letter_count_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnreadLetterCountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters":{"get":{"tags":["api","Letters"],"summary":"List Messages","operationId":"list_messages_letters_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"thread_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Thread Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"include_body","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Body"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Letters"],"summary":"Create Message","operationId":"create_message_letters_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/{message_id}":{"get":{"tags":["api","Letters"],"summary":"Get Message","operationId":"get_message_letters__message_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Letters"],"summary":"Update Message","operationId":"update_message_letters__message_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Letters"],"summary":"Delete Message","operationId":"delete_message_letters__message_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/{message_id}/dismiss":{"post":{"tags":["api","Letters"],"summary":"Dismiss Message","description":"Archive an AI letter draft and stamp dismissed_at so upkeep never redrafts it.","operationId":"dismiss_message_letters__message_id__dismiss_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/{message_id}/send":{"post":{"tags":["api","Letters"],"summary":"Send Message","operationId":"send_message_letters__message_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/letters/{message_id}/mark-read":{"post":{"tags":["api","Letters"],"summary":"Mark Message Read","operationId":"mark_message_read_letters__message_id__mark_read_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Message Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/postal/quote":{"post":{"tags":["api","Postal"],"summary":"Quote Postage","description":"Render the letter, count pages, and return the live postage price.","operationId":"quote_postage_postal_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalQuoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalQuoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/postal/checkout":{"post":{"tags":["api","Postal"],"summary":"Checkout Postage","description":"Persist a draft letter and open a one-off Stripe checkout for postage.","operationId":"checkout_postage_postal_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalCheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/postal/verify-session":{"post":{"tags":["api","Postal"],"summary":"Verify Postal Session","description":"Recovery path after the Stripe redirect: dispatch if paid but the webhook\nhas not landed yet, and report the letter's delivery status.","operationId":"verify_postal_session_postal_verify_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalVerifySessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostalVerifySessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/documents":{"get":{"tags":["api","Documents"],"summary":"List Records","operationId":"list_records_documents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"exclude_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"With kind=document: leave this document kind out. Dokumente lists the Morgenappell on its own, so a daily briefing never pushes paper out of the page.","title":"Exclude Kind"},"description":"With kind=document: leave this document kind out. Dokumente lists the Morgenappell on its own, so a daily briefing never pushes paper out of the page."},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Case-insensitive substring of the title or body.","title":"Q"},"description":"Case-insensitive substring of the title or body."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Documents"],"summary":"Create Record","operationId":"create_record_documents_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documents/unopened-count":{"get":{"tags":["api","Documents"],"summary":"Get Unopened Document Count","operationId":"get_unopened_document_count_documents_unopened_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/documents/opened-all":{"post":{"tags":["api","Documents"],"summary":"Mark All Documents Opened","description":"Clear the Dokumente badge in one go.\n\nDeclared before `/{record_id}` would ever match, same as the count routes above.","operationId":"mark_all_documents_opened_documents_opened_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkAllOpenedResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/documents/unopened-kpi-count":{"get":{"tags":["api","Documents"],"summary":"Get Unopened Kpi Count","operationId":"get_unopened_kpi_count_documents_unopened_kpi_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadgeCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/documents/{record_id}":{"get":{"tags":["api","Documents"],"summary":"Get Record","operationId":"get_record_documents__record_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Record Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Documents"],"summary":"Update Record","operationId":"update_record_documents__record_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Record Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Documents"],"summary":"Delete Record","operationId":"delete_record_documents__record_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Record Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documents/{record_id}/versions":{"get":{"tags":["api","Documents"],"summary":"List Document Versions","description":"The current version and the kept earlier ones, newest first.","operationId":"list_document_versions_documents__record_id__versions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Record Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentVersionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documents/{record_id}/compare":{"get":{"tags":["api","Documents"],"summary":"Compare Document Versions","description":"Two versions compared by the figures on the page (KPI cards, table cells); the later one\ndefaults to the current version.","operationId":"compare_document_versions_documents__record_id__compare_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Record Id"}},{"name":"from_version","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"From Version"}},{"name":"to_version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"To Version"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCompareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/documents/{record_id}/opened":{"post":{"tags":["api","Documents"],"summary":"Mark Record Opened","operationId":"mark_record_opened_documents__record_id__opened_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"record_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Record Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/transactions":{"get":{"tags":["api","Transactions"],"summary":"List Transactions","operationId":"list_transactions_transactions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Transactions"],"summary":"Create Transaction","operationId":"create_transaction_transactions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/transactions/{transaction_id}":{"get":{"tags":["api","Transactions"],"summary":"Get Transaction","operationId":"get_transaction_transactions__transaction_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Transaction Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","Transactions"],"summary":"Update Transaction","operationId":"update_transaction_transactions__transaction_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Transaction Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Transactions"],"summary":"Delete Transaction","operationId":"delete_transaction_transactions__transaction_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Transaction Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/transactions/{transaction_id}/merge":{"post":{"tags":["api","Transactions"],"summary":"Merge Transaction","operationId":"merge_transaction_transactions__transaction_id__merge_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Transaction Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionMergeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/social/{plane}/reactions":{"get":{"tags":["api","Social"],"summary":"Get Reactions Bulk","description":"Viewer reaction state for a whole feed page in one request.","operationId":"get_reactions_bulk_social__plane__reactions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_ids","in":"query","required":true,"schema":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":100,"title":"Entity Ids"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionStateListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/social/{plane}/{entity_id}/reactions":{"get":{"tags":["api","Social"],"summary":"Get Reactions","operationId":"get_reactions_social__plane___entity_id__reactions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Social"],"summary":"Add Reaction","operationId":"add_reaction_social__plane___entity_id__reactions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionToggleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Social"],"summary":"Clear Reaction","operationId":"clear_reaction_social__plane___entity_id__reactions_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionToggleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/social/{plane}/{entity_id}/comments":{"get":{"tags":["api","Social"],"summary":"List Comments","operationId":"list_comments_social__plane___entity_id__comments_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["api","Social"],"summary":"Create Comment","operationId":"create_comment_social__plane___entity_id__comments_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/social/{plane}/{entity_id}/comments/{comment_id}/reactions":{"post":{"tags":["api","Social"],"summary":"Set Comment Reaction","description":"Vote on a comment. Re-sending the active vote is a clear (see the DELETE below).","operationId":"set_comment_reaction_social__plane___entity_id__comments__comment_id__reactions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Comment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentReactionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentReactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","Social"],"summary":"Clear Comment Reaction","operationId":"clear_comment_reaction_social__plane___entity_id__comments__comment_id__reactions_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Comment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentReactionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/social/{plane}/{entity_id}/comments/{comment_id}":{"delete":{"tags":["api","Social"],"summary":"Delete Comment","operationId":"delete_comment_social__plane___entity_id__comments__comment_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"plane","in":"path","required":true,"schema":{"enum":["party","place","asset","activity","message","record","transaction","media"],"type":"string","title":"Plane"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Entity Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Comment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/resend":{"post":{"tags":["api","Webhooks"],"summary":"Receive Resend Webhook","description":"Handle Resend webhook events.","operationId":"receive_resend_webhook_webhooks_resend_post","parameters":[{"name":"svix-id","in":"header","required":true,"schema":{"type":"string","title":"Svix-Id"}},{"name":"svix-timestamp","in":"header","required":true,"schema":{"type":"string","title":"Svix-Timestamp"}},{"name":"svix-signature","in":"header","required":true,"schema":{"type":"string","title":"Svix-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/stripe":{"post":{"tags":["api","Webhooks"],"summary":"Receive Stripe Webhook","description":"Handle Stripe webhook events with idempotency protection.","operationId":"receive_stripe_webhook_webhooks_stripe_post","parameters":[{"name":"stripe-signature","in":"header","required":true,"schema":{"type":"string","title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StripeWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/stripe-connect":{"post":{"tags":["api","Webhooks"],"summary":"Receive Stripe Connect Webhook","description":"Handle Stripe Connect webhook events with idempotency protection.","operationId":"receive_stripe_connect_webhook_webhooks_stripe_connect_post","parameters":[{"name":"stripe-signature","in":"header","required":true,"schema":{"type":"string","title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StripeWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/pingen":{"post":{"tags":["api","Webhooks"],"summary":"Receive Pingen Webhook","description":"Update message delivery state from a Pingen event.","operationId":"receive_pingen_webhook_webhooks_pingen_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"Signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingenWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/google-calendar":{"post":{"tags":["api","Webhooks"],"summary":"Receive Google Calendar Webhook","description":"Google POSTs headers, not an event body. ``sync`` is the channel handshake.","operationId":"receive_google_calendar_webhook_webhooks_google_calendar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleCalendarWebhookResponse"}}}}}}},"/admin/users":{"get":{"tags":["api","admin","admin-users"],"summary":"List Users","description":"List users with optional filters.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    search: Search term for email/username\n    subscription_tier: Filter by subscription tier\n    is_banned: Filter by ban status\n    page: Page number\n    page_size: Page size\n    service: Admin user service\n\nReturns:\n    List of users with pagination","operationId":"list_users_admin_users_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"subscription_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Tier"}},{"name":"is_banned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Banned"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}":{"get":{"tags":["api","admin","admin-users"],"summary":"Get User","description":"Get user details.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    service: Admin user service\n\nReturns:\n    User data","operationId":"get_user_admin_users__user_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get User Admin Users  User Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/credits":{"patch":{"tags":["api","admin","admin-users"],"summary":"Update Credits","description":"Update user credits.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    payload: Update request\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"update_credits_admin_users__user_id__credits_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCreditsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/subscription":{"patch":{"tags":["api","admin","admin-users"],"summary":"Update Subscription","description":"Update user subscription tier.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    payload: Update request\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"update_subscription_admin_users__user_id__subscription_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/ban":{"post":{"tags":["api","admin","admin-users"],"summary":"Ban User","description":"Ban a user.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    payload: Ban request\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"ban_user_admin_users__user_id__ban_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["api","admin","admin-users"],"summary":"Unban User","description":"Unban a user.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"unban_user_admin_users__user_id__ban_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/toggle-admin":{"post":{"tags":["api","admin","admin-users"],"summary":"Toggle Admin","description":"Toggle admin status for a user.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"toggle_admin_admin_users__user_id__toggle_admin_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/roles":{"post":{"tags":["api","admin","admin-users"],"summary":"Grant Role","description":"Grant a role to a user.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    payload: Grant role request\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"grant_role_admin_users__user_id__roles_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/gardener/run":{"post":{"tags":["api","admin","admin-users"],"summary":"Run User Gardener","description":"Wake the background agent for the target user (``trigger=consolidation`` to clean up).","operationId":"run_user_gardener_admin_users__user_id__gardener_run_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AdminGardenerRunRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGardenerTask"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/training/{document_id}/reprocess":{"post":{"tags":["api","admin","admin-users"],"summary":"Reprocess User Source","description":"Re-run a user's source through today's ingest (remediation after an ingest fix).","operationId":"reprocess_user_source_admin_users__user_id__training__document_id__reprocess_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Document Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reprocess User Source Admin Users  User Id  Training  Document Id  Reprocess Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/memory/rebuild":{"post":{"tags":["api","admin","admin-users"],"summary":"Rebuild User Memory","description":"Redo a user's memory with today's anchors, node sets and prompts.\n\nDry run by default: it counts what would be re-projected (structured rows cost\nembeddings, prose rows an extraction each) and the file sources that\n`include_sources` would re-read through ingest and integration.","operationId":"rebuild_user_memory_admin_users__user_id__memory_rebuild_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"dry_run","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Dry Run"}},{"name":"include_sources","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Sources"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rebuild User Memory Admin Users  User Id  Memory Rebuild Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/library":{"get":{"tags":["api","admin","admin-users"],"summary":"Get User Library","description":"The target user's Bibliothek: catalog, shelf, switches and living documents.","operationId":"get_user_library_admin_users__user_id__library_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/library/{entry_id}":{"put":{"tags":["api","admin","admin-users"],"summary":"Set User Library Entry","description":"Switch an entry for the target user, exactly as the user's own switch would.\n\nOn wakes the background agent to write its document; off archives it. Audited.","operationId":"set_user_library_entry_admin_users__user_id__library__entry_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryToggleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryEntryState"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/roles/{role}":{"delete":{"tags":["api","admin","admin-users"],"summary":"Revoke Role","description":"Revoke a role from a user.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    user_id: User ID\n    role: Role to revoke\n    service: Admin user service\n\nReturns:\n    Success status","operationId":"revoke_role_admin_users__user_id__roles__role__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"role","in":"path","required":true,"schema":{"type":"string","title":"Role"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/settings":{"get":{"tags":["api","admin","admin-settings"],"summary":"List Settings","description":"List all system settings.\n\nSensitive values are sanitized (masked) for display.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    service: Settings service\n\nReturns:\n    List of system settings with sanitized values","operationId":"list_settings_admin_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SystemSetting"},"type":"array","title":"Response List Settings Admin Settings Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/settings/{key}":{"get":{"tags":["api","admin","admin-settings"],"summary":"Get Setting","description":"Get a single setting by key.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    key: Setting key\n    service: Settings service\n\nReturns:\n    System setting\n\nRaises:\n    HTTPException: If setting not found","operationId":"get_setting_admin_settings__key__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemSetting"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["api","admin","admin-settings"],"summary":"Update Setting","description":"Update a system setting.\n\nArgs:\n    request: FastAPI request object (for rate limiting)\n    key: Setting key\n    payload: Update request with new value\n    service: Settings service\n\nReturns:\n    Success status\n\nRaises:\n    HTTPException: If setting not found or update fails","operationId":"update_setting_admin_settings__key__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/observability/health":{"get":{"tags":["api","admin","admin-observability"],"summary":"Get System Health","description":"Get system health status.","operationId":"get_system_health_admin_observability_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemHealth"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/observability/usage":{"get":{"tags":["api","admin","admin-observability"],"summary":"Get Usage Stats","description":"Get usage statistics.","operationId":"get_usage_stats_admin_observability_usage_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"time_range","in":"query","required":false,"schema":{"enum":["24h","7d","30d"],"type":"string","default":"24h","title":"Time Range"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/observability/traces":{"get":{"tags":["api","admin","admin-observability"],"summary":"List Or Lookup Traces","description":"List last-24h packs, or look up one pack by request/message/run id.","operationId":"list_or_lookup_traces_admin_observability_traces_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},{"name":"message_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message Id"}},{"name":"run_ref","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Ref"}},{"name":"since","in":"query","required":false,"schema":{"const":"24h","type":"string","default":"24h","title":"Since"}},{"name":"format","in":"query","required":false,"schema":{"enum":["pack","context"],"type":"string","default":"pack","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentTraceListResponse"},{"$ref":"#/components/schemas/AgentTracePackResponse"}],"title":"Response List Or Lookup Traces Admin Observability Traces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/observability/traces/{run_ref}":{"get":{"tags":["api","admin","admin-observability"],"summary":"Get Trace","description":"Load one pack by run_ref (``chat:{message_id}``).","operationId":"get_trace_admin_observability_traces__run_ref__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"run_ref","in":"path","required":true,"schema":{"type":"string","title":"Run Ref"}},{"name":"format","in":"query","required":false,"schema":{"enum":["pack","context"],"type":"string","default":"pack","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTracePackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/audit-logs":{"get":{"tags":["api","admin","admin-audit"],"summary":"Get Audit Logs","description":"Get audit logs with optional filters.\n\nArgs:\n    admin_id: Filter by admin ID\n    action: Filter by action type\n    target_user_id: Filter by target user ID\n    start_date: Filter by start date\n    end_date: Filter by end date\n    page: Page number\n    page_size: Page size\n    admin: Authenticated admin user\n    service: Audit service\n\nReturns:\n    Audit logs with pagination","operationId":"get_audit_logs_admin_audit_logs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"admin_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Id"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"target_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target User Id"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/kb/status":{"get":{"tags":["api","admin","admin-kb"],"summary":"Get Kb Status","operationId":"get_kb_status_admin_kb_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/documents":{"get":{"tags":["api","admin","admin-kb"],"summary":"Get Kb Documents","operationId":"get_kb_documents_admin_kb_documents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Page Size"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBDocumentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/kb/reconcile":{"post":{"tags":["api","admin","admin-kb"],"summary":"Reconcile Kb","description":"Enqueue an on-demand reconcile with S3 (the 'Sync' action).","operationId":"reconcile_kb_admin_kb_reconcile_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/retry":{"post":{"tags":["api","admin","admin-kb"],"summary":"Retry Kb Documents","operationId":"retry_kb_documents_admin_kb_retry_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBRetryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/ingest/pause":{"post":{"tags":["api","admin","admin-kb"],"summary":"Pause Kb Ingest","operationId":"pause_kb_ingest_admin_kb_ingest_pause_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/ingest/resume":{"post":{"tags":["api","admin","admin-kb"],"summary":"Resume Kb Ingest","operationId":"resume_kb_ingest_admin_kb_ingest_resume_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/context-index/rebuild":{"post":{"tags":["api","admin","admin-kb"],"summary":"Rebuild Kb Context Index","operationId":"rebuild_kb_context_index_admin_kb_context_index_rebuild_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/rebuild":{"post":{"tags":["api","admin","admin-kb"],"summary":"Rebuild Kb","description":"Enqueue a full memory reset + re-ingest on the worker (not the API process).","operationId":"rebuild_kb_admin_kb_rebuild_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/reset":{"post":{"tags":["api","admin","admin-kb"],"summary":"Reset Kb","operationId":"reset_kb_admin_kb_reset_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"nuclear","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Nuclear"}},{"name":"scope","in":"query","required":false,"schema":{"const":"knowledge","type":"string","default":"knowledge","title":"Scope"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBOperationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/kb/operations":{"get":{"tags":["api","admin","admin-kb"],"summary":"List Kb Operations","operationId":"list_kb_operations_admin_kb_operations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/KBMaintenanceOperationResponse"},"title":"Response List Kb Operations Admin Kb Operations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/kb/operations/{operation_id}":{"get":{"tags":["api","admin","admin-kb"],"summary":"Get Kb Operation","operationId":"get_kb_operation_admin_kb_operations__operation_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"operation_id","in":"path","required":true,"schema":{"type":"string","title":"Operation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBMaintenanceOperationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/kb/s3-objects/preview":{"get":{"tags":["api","admin","admin-kb"],"summary":"Preview Kb S3 Object","operationId":"preview_kb_s3_object_admin_kb_s3_objects_preview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/kb/s3-objects/upload-urls":{"post":{"tags":["api","admin","admin-kb"],"summary":"Create Kb Upload Urls","operationId":"create_kb_upload_urls_admin_kb_s3_objects_upload_urls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBS3UploadUrlsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBS3UploadUrlsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/kb/s3-objects":{"delete":{"tags":["api","admin","admin-kb"],"summary":"Delete Kb S3 Objects","operationId":"delete_kb_s3_objects_admin_kb_s3_objects_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBS3DeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KBS3DeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/reports":{"get":{"tags":["api","admin","admin-reports"],"summary":"List Agent Reports","description":"Read-only fallback list of raw agent reports.","operationId":"list_agent_reports_admin_reports_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["new","summarized","resolved","dismissed"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"report_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Type"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"enum":["info","warning","critical"],"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentReport"},"title":"Response List Agent Reports Admin Reports Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/reports/summaries":{"get":{"tags":["api","admin","admin-reports"],"summary":"List Agent Report Summaries","description":"Read-only fallback list of clustered themes (with Linear links when escalated).","operationId":"list_agent_report_summaries_admin_reports_summaries_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentReportSummary"},"title":"Response List Agent Report Summaries Admin Reports Summaries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/reports/summarize":{"post":{"tags":["api","admin","admin-reports"],"summary":"Enqueue Agent Report Summarize","description":"Queue a summarizer pass (runs even when AGENT_REPORT_SUMMARIZER_ENABLED is false).","operationId":"enqueue_agent_report_summarize_admin_reports_summarize_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/news-digest/latest":{"get":{"tags":["api","admin","admin-news"],"summary":"Get Latest News Digest","description":"Raw latest curated digest markdown (no agent policy header).","operationId":"get_latest_news_digest_admin_news_digest_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminNewsDigestLatest"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/gardener/run":{"post":{"tags":["api","admin","admin-gardener"],"summary":"Run Gardener","description":"Wake the background agent for the admin's personal namespace.","operationId":"run_gardener_admin_gardener_run_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AdminGardenerRunRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGardenerTask"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/gardener/tasks":{"get":{"tags":["api","admin","admin-gardener"],"summary":"List Gardener Tasks","description":"Recent agent_tasks for the admin's personal namespace.","operationId":"list_gardener_tasks_admin_gardener_tasks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGardenerTasksResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/admin/vector-sync":{"post":{"tags":["api","admin","admin-vector-sync"],"summary":"Sync Entity To Vector","description":"No-op: entity ProjectionService + outbox replace manual vector sync.","operationId":"sync_entity_to_vector_admin_vector_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VectorSyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/oauth/authorize":{"get":{"tags":["oauth"],"summary":"Authorize","operationId":"authorize_oauth_authorize_get","parameters":[{"name":"client_id","in":"query","required":false,"schema":{"type":"string","default":"","title":"Client Id"}},{"name":"redirect_uri","in":"query","required":false,"schema":{"type":"string","default":"","title":"Redirect Uri"}},{"name":"response_type","in":"query","required":false,"schema":{"type":"string","default":"","title":"Response Type"}},{"name":"code_challenge","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code Challenge"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code Challenge Method"}},{"name":"scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"resource","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/requests/{req_id}":{"get":{"tags":["oauth"],"summary":"Get Consent Request","operationId":"get_consent_request_oauth_requests__req_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"req_id","in":"path","required":true,"schema":{"type":"string","title":"Req Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/consent":{"post":{"tags":["oauth"],"summary":"Post Consent","operationId":"post_consent_oauth_consent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentDecision"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentRedirect"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/oauth/register":{"post":{"tags":["oauth"],"summary":"Register Client","operationId":"register_client_oauth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/token":{"post":{"tags":["oauth"],"summary":"Token","operationId":"token_oauth_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}}}}},"/oauth/userinfo":{"get":{"tags":["oauth"],"summary":"Userinfo","operationId":"userinfo_oauth_userinfo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInfo"}}}}},"security":[{"OAuth2":["openid","profile"]}]}},"/oauth/grants":{"get":{"tags":["oauth"],"summary":"List Connected Agents","description":"Every agent this account has connected. Never a token hash, never a secret.","operationId":"list_connected_agents_oauth_grants_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectedAgentList"}}}}},"security":[{"HTTPBearer":[]}]}},"/oauth/grants/{grant_id}":{"delete":{"tags":["oauth"],"summary":"Revoke Connected Agent","description":"Disconnect an agent. 404 when the grant is not this user's, which is also the\nanswer for a grant that does not exist — a guesser learns nothing either way.","operationId":"revoke_connected_agent_oauth_grants__grant_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grant Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["health"],"summary":"Health Check","description":"Liveness: process is up (always 200).","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Check Health Get"}}}}}}},"/ready":{"get":{"tags":["health"],"summary":"Readiness Check","description":"Readiness: live probes; 503 when required API deps are down.","operationId":"readiness_check_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","description":"Root endpoint.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Root  Get"}}}}}}},"/sentry-debug":{"get":{"summary":"Sentry Debug","description":"Verify Sentry wiring in local/staging debug mode only.","operationId":"sentry_debug_sentry_debug_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Sentry Debug Sentry Debug Get"}}}}}}}},"components":{"schemas":{"AccessTokenCreateRequest":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name","description":"What holds this token, so a stale one can be recognised and revoked."},"scopes":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Scopes","description":"Subset of the product scopes. No default: a token's reach is chosen."},"expires_in_days":{"type":"integer","maximum":90.0,"minimum":1.0,"title":"Expires In Days","description":"Capped at 90 days. A token that never expires is a key nobody rotates.","default":90}},"type":"object","required":["name","scopes"],"title":"AccessTokenCreateRequest"},"AccessTokenCreatedResponse":{"properties":{"token":{"$ref":"#/components/schemas/AccessTokenSummary"},"secret":{"type":"string","title":"Secret","description":"Shown once. Only a peppered HMAC is stored, so this cannot be recovered."}},"type":"object","required":["token","secret"],"title":"AccessTokenCreatedResponse","description":"The only shape that ever carries the secret, and only in the mint response."},"AccessTokenListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AccessTokenSummary"},"type":"array","title":"Items"}},"type":"object","title":"AccessTokenListResponse"},"AccessTokenSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","name","scopes","created_at","expires_at"],"title":"AccessTokenSummary","description":"A stored token as its owner sees it. Carries no secret and no hash."},"AccountCatalogResponse":{"properties":{"kontenklassen":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Kontenklassen"},"kontengruppen":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Kontengruppen"}},"type":"object","title":"AccountCatalogResponse","description":"Kontenklassen + Kontengruppen catalog for agent / UI lookup."},"AccountClassifyResponse":{"properties":{"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"kontenklasse":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kontenklasse"},"kontenklasse_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kontenklasse Label"},"kontengruppe":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kontengruppe"},"kontengruppe_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kontengruppe Label"},"direction_hint":{"anyOf":[{"type":"string","enum":["in","out","unknown"]},{"type":"null"}],"title":"Direction Hint"}},"type":"object","title":"AccountClassifyResponse","description":"Lightweight Kontenrahmen KMU Landwirtschaft classification."},"AccountSessionResponse":{"properties":{"client_secret":{"type":"string","title":"Client Secret","description":"Stripe AccountSession client secret"}},"type":"object","required":["client_secret"],"title":"AccountSessionResponse","description":"Client secret for mounting embedded Connect components."},"ActivityCompleteRequest":{"properties":{"actual_hours":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Actual Hours"},"hours_source":{"anyOf":[{"type":"string","enum":["user","estimate"]},{"type":"null"}],"title":"Hours Source"}},"type":"object","title":"ActivityCompleteRequest","description":"Marking work finished. Deliberately narrow: hours, and nothing else.\n\nThe person who did the job may complete it, but they do not own it -- they must not be\nable to reach the title, the price or the schedule through this door."},"ActivityCreateRequest":{"properties":{"kind":{"type":"string","enum":["work_item","machine_op"],"title":"Kind","default":"work_item"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","enum":["active","archived"],"title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string","enum":["open","completed"]},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ends At"},"estimated_cost":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Cost"},"payment_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Unit"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"all_day":{"type":"boolean","title":"All Day","default":false},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid Until"},"ai_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Description"},"estimated_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Hours"},"actual_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Actual Hours"},"hours_source":{"anyOf":[{"type":"string","enum":["user","estimate"]},{"type":"null"}],"title":"Hours Source"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"source_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Entity Id"}},"type":"object","title":"ActivityCreateRequest"},"ActivityDetailPayload":{"properties":{"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ends At"},"estimated_cost":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Cost"},"payment_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Unit"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"all_day":{"type":"boolean","title":"All Day","default":false},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid Until"},"ai_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Description"},"estimated_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Hours"},"actual_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Actual Hours"},"hours_source":{"anyOf":[{"type":"string","enum":["user","estimate"]},{"type":"null"}],"title":"Hours Source"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","title":"ActivityDetailPayload"},"ActivityHoursRequest":{"properties":{"actual_hours":{"type":"number","minimum":0.0,"title":"Actual Hours"}},"type":"object","required":["actual_hours"],"title":"ActivityHoursRequest","description":"Correcting the hours on a finished job. Narrower still: hours are required."},"ActivityListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActivityResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"ActivityListResponse"},"ActivityMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"activity","title":"Role","default":"activity"},"activityType":{"type":"string","title":"Activitytype"},"content":{"additionalProperties":true,"type":"object","title":"Content"}},"additionalProperties":true,"type":"object","required":["id","activityType","content"],"title":"ActivityMessage","description":"An activity progress message emitted between chat messages."},"ActivityOpenItem":{"properties":{"kind":{"type":"string","enum":["document.opened","listing.opened","work_item.opened","file.opened"],"title":"Kind"},"ref":{"type":"string","maxLength":120,"minLength":3,"title":"Ref"},"title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Title"}},"type":"object","required":["kind","ref"],"title":"ActivityOpenItem"},"ActivityOpenRequest":{"properties":{"events":{"items":{"$ref":"#/components/schemas/ActivityOpenItem"},"type":"array","maxItems":20,"minItems":1,"title":"Events"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},"type":"object","required":["events"],"title":"ActivityOpenRequest"},"ActivityOpenResponse":{"properties":{"accepted":{"type":"integer","title":"Accepted"},"skipped":{"type":"integer","title":"Skipped"}},"type":"object","required":["accepted","skipped"],"title":"ActivityOpenResponse"},"ActivityResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"is_external":{"type":"boolean","title":"Is External","default":false},"direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"owner_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner User Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"detail":{"anyOf":[{"$ref":"#/components/schemas/ActivityDetailPayload"},{"type":"null"}]},"assignments":{"items":{"$ref":"#/components/schemas/ApplicationResponse"},"type":"array","title":"Assignments"},"doer":{"anyOf":[{"$ref":"#/components/schemas/JobDoer"},{"type":"null"}]},"viewer_is_assignee":{"type":"boolean","title":"Viewer Is Assignee","default":false}},"type":"object","required":["id","namespace_id","kind"],"title":"ActivityResponse"},"ActivitySeriesEndRequest":{"properties":{"on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"On"}},"type":"object","title":"ActivitySeriesEndRequest","description":"He stopped a routine. `on` is its last day, inclusive; null is today (Zurich)."},"ActivityUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["work_item","machine_op"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"status":{"anyOf":[{"type":"string","enum":["open","completed"]},{"type":"null"}],"title":"Status"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ends At"},"estimated_cost":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Cost"},"payment_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Unit"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"all_day":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All Day"},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid Until"},"ai_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Description"},"estimated_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Hours"},"actual_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Actual Hours"},"hours_source":{"anyOf":[{"type":"string","enum":["user","estimate"]},{"type":"null"}],"title":"Hours Source"}},"type":"object","title":"ActivityUpdateRequest"},"AdminGardenerRunRequest":{"properties":{"trigger":{"type":"string","title":"Trigger","default":"admin"}},"type":"object","title":"AdminGardenerRunRequest","description":"Why the background run starts: ``admin`` (default) or ``consolidation``."},"AdminGardenerTask":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"type":"string","enum":["background","reevaluate","upkeep","mission"],"title":"Kind"},"status":{"type":"string","enum":["pending","running","completed","failed","skipped","cancelled"],"title":"Status"},"instruction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instruction"},"result_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result Summary"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","kind","status"],"title":"AdminGardenerTask","description":"One agent_tasks row scoped to the admin's personal namespace."},"AdminGardenerTasksResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/AdminGardenerTask"},"type":"array","title":"Tasks"},"automation_enabled":{"type":"boolean","title":"Automation Enabled"},"credits_ok":{"type":"boolean","title":"Credits Ok"}},"type":"object","required":["tasks","automation_enabled","credits_ok"],"title":"AdminGardenerTasksResponse","description":"Recent Gardener tasks plus gates for the trigger button."},"AdminNewsDigestLatest":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"built_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Built At"},"markdown":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Markdown"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"item_count":{"type":"integer","title":"Item Count","default":0}},"type":"object","title":"AdminNewsDigestLatest","description":"Raw latest digest for the admin System page (no policy header)."},"AdminUserListResponse":{"properties":{"users":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Users"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["users","total","page","page_size"],"title":"AdminUserListResponse","description":"Admin user list response with pagination."},"AgentReport":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"report_type":{"type":"string","enum":["unresolved_question","knowledge_gap","skill_gap","tooling_limit","feature_request","customer_service","dissatisfaction","other"],"title":"Report Type"},"severity":{"type":"string","enum":["info","warning","critical"],"title":"Severity"},"message":{"type":"string","title":"Message"},"context":{"additionalProperties":true,"type":"object","title":"Context"},"namespace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Namespace Id"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"session_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Key"},"source":{"type":"string","enum":["chat","gardener","headless"],"title":"Source"},"status":{"type":"string","enum":["new","summarized","resolved","dismissed"],"title":"Status"},"message_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message Fingerprint"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","report_type","severity","message","source","status","created_at","updated_at"],"title":"AgentReport"},"AgentReportSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"dedupe_key":{"type":"string","title":"Dedupe Key"},"theme_title":{"type":"string","title":"Theme Title"},"category":{"type":"string","title":"Category"},"severity":{"type":"string","enum":["info","warning","critical"],"title":"Severity"},"report_count":{"type":"integer","title":"Report Count"},"distinct_user_count":{"type":"integer","title":"Distinct User Count"},"sample_report_ids":{"items":{"type":"string"},"type":"array","title":"Sample Report Ids"},"seen_user_ids":{"items":{"type":"string"},"type":"array","title":"Seen User Ids"},"counted_report_ids":{"items":{"type":"string"},"type":"array","title":"Counted Report Ids"},"suggested_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggested Action"},"linear_issue_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linear Issue Id"},"linear_issue_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linear Issue Url"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"status":{"type":"string","enum":["open","escalated","resolved"],"title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","dedupe_key","theme_title","category","severity","report_count","distinct_user_count","first_seen_at","last_seen_at","status","created_at","updated_at"],"title":"AgentReportSummary"},"AgentTraceListItem":{"properties":{"key":{"type":"string","title":"Key"},"run_ref":{"type":"string","title":"Run Ref"},"last_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Modified"},"size":{"type":"integer","title":"Size","default":0}},"type":"object","required":["key","run_ref"],"title":"AgentTraceListItem","description":"One 24h agent-trace pack, listing metadata only."},"AgentTraceListResponse":{"properties":{"traces":{"items":{"$ref":"#/components/schemas/AgentTraceListItem"},"type":"array","title":"Traces"}},"type":"object","required":["traces"],"title":"AgentTraceListResponse","description":"Recent agent-trace packs (default last 24h)."},"AgentTracePackResponse":{"properties":{"key":{"type":"string","title":"Key"},"run_ref":{"type":"string","title":"Run Ref"},"pipeline":{"type":"string","title":"Pipeline"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"truncated":{"type":"boolean","title":"Truncated","default":false},"context":{"type":"string","title":"Context"},"pack":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Pack"}},"type":"object","required":["key","run_ref","pipeline","context"],"title":"AgentTracePackResponse","description":"Loaded pack: unclipped context always; full JSON unless format=context."},"AnimalDetailResponse":{"properties":{"animal":{"additionalProperties":true,"type":"object","title":"Animal"},"events":{"items":{"$ref":"#/components/schemas/AnimalObservation"},"type":"array","title":"Events"},"measurements":{"items":{"$ref":"#/components/schemas/AnimalObservation"},"type":"array","title":"Measurements"}},"type":"object","required":["animal"],"title":"AnimalDetailResponse","description":"One animal plus its linked events and recent measurements."},"AnimalObservation":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"},"metric":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"}},"type":"object","required":["id","kind"],"title":"AnimalObservation","description":"Linked event or measurement summary on an animal detail response."},"AnswerBrowserJobRequest":{"properties":{"kind":{"type":"string","enum":["clarify","submit"],"title":"Kind","default":"clarify"},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer"},"approved":{"type":"boolean","title":"Approved","default":true}},"type":"object","title":"AnswerBrowserJobRequest"},"AnswerBrowserJobResponse":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id"},"status":{"type":"string","enum":["created","awaiting_login","running","awaiting_user","succeeded","failed"],"title":"Status"},"message":{"type":"string","title":"Message"}},"type":"object","required":["job_id","status","message"],"title":"AnswerBrowserJobResponse"},"AppNotification":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"notification_type":{"type":"string","title":"Notification Type"},"category":{"type":"string","title":"Category","default":"agent"},"tier":{"type":"string","title":"Tier","default":"ambient"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"metadata_json":{"additionalProperties":true,"type":"object","title":"Metadata Json"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Read At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","notification_type","title","created_at"],"title":"AppNotification","description":"One in-app notification entry."},"AppNotificationListResponse":{"properties":{"notifications":{"items":{"$ref":"#/components/schemas/AppNotification"},"type":"array","title":"Notifications"},"limit":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Limit","default":50},"offset":{"type":"integer","minimum":0.0,"title":"Offset","default":0}},"type":"object","title":"AppNotificationListResponse","description":"Paginated list of in-app notifications."},"AppNotificationUnreadCountsResponse":{"properties":{"agent":{"type":"integer","title":"Agent","default":0},"social":{"type":"integer","title":"Social","default":0},"account":{"type":"integer","title":"Account","default":0},"total":{"type":"integer","title":"Total","default":0}},"type":"object","title":"AppNotificationUnreadCountsResponse","description":"Unread notification counters by provenance."},"ApplicationListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApplicationResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"ApplicationListResponse"},"ApplicationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"counterparty_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Counterparty Title"},"counterparty_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty User Id"},"has_about":{"type":"boolean","title":"Has About","default":false},"work_item_ref":{"anyOf":[{"$ref":"#/components/schemas/WorkItemRef"},{"type":"null"}]},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"work_item":{"anyOf":[{"$ref":"#/components/schemas/ActivityResponse"},{"type":"null"}]}},"type":"object","required":["id","namespace_id"],"title":"ApplicationResponse"},"AskRequest":{"properties":{"question":{"type":"string","maxLength":4000,"minLength":1,"title":"Question"}},"type":"object","required":["question"],"title":"AskRequest"},"AskResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"sources":{"items":{"$ref":"#/components/schemas/AskSource"},"type":"array","title":"Sources"},"message_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message Id"}},"type":"object","required":["answer"],"title":"AskResponse","description":"The answer and nothing a caller cannot use.\n\nNo token counts: the ledger is explicit that users see AKh, never token numbers, and an\nAPI caller is not a different kind of user. No AG-UI, no tool trace, no message\nhistory — this is the whole point of the surface being separate from `/chat/agui`."},"AskSource":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},"type":"object","title":"AskSource","description":"One citation behind the answer, in the shape chat already persists."},"AssetCheckoutRequest":{"properties":{"quantity":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Quantity"},"postal_address":{"anyOf":[{"$ref":"#/components/schemas/PostalAddress"},{"type":"null"}]}},"type":"object","title":"AssetCheckoutRequest"},"AssetCheckoutResponse":{"properties":{"checkout_url":{"type":"string","title":"Checkout Url"},"payment_id":{"type":"string","format":"uuid","title":"Payment Id"},"stripe_checkout_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Checkout Session Id"}},"type":"object","required":["checkout_url","payment_id"],"title":"AssetCheckoutResponse"},"AssetCheckoutVerifyRequest":{"properties":{"payment_id":{"type":"string","format":"uuid","title":"Payment Id"}},"type":"object","required":["payment_id"],"title":"AssetCheckoutVerifyRequest"},"AssetCheckoutVerifyResponse":{"properties":{"status":{"type":"string","enum":["paid","pending","open","refunded","canceled"],"title":"Status"}},"type":"object","required":["status"],"title":"AssetCheckoutVerifyResponse"},"AssetCreateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["item","animal","herd"]},{"type":"string","enum":["listing","need","machine","tool"]}],"title":"Kind","default":"item"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","enum":["active","archived"],"title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"unit_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unit Price"},"currency":{"type":"string","title":"Currency","default":"chf"},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"expiry_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expiry Date"},"ai_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Description"},"availability":{"type":"string","enum":["available","expected"],"title":"Availability","default":"available"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"mwst_rate":{"type":"number","title":"Mwst Rate","default":0},"offered_quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Offered Quantity"},"wanted_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Wanted Quantity"},"wanted_by":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Wanted By"},"payment_unit":{"anyOf":[{"type":"string","enum":["pauschal","pro_stunde","pro_tag","pro_ha"]},{"type":"null"}],"title":"Payment Unit"},"source_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Entity Id"}},"type":"object","title":"AssetCreateRequest"},"AssetDetailPayload":{"properties":{"unit_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unit Price"},"currency":{"type":"string","title":"Currency","default":"chf"},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"expiry_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expiry Date"},"ai_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Description"},"availability":{"type":"string","enum":["available","expected"],"title":"Availability","default":"available"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"mwst_rate":{"type":"number","title":"Mwst Rate","default":0},"offered_quantity":{"type":"number","title":"Offered Quantity","default":0},"reserved_quantity":{"type":"number","title":"Reserved Quantity","default":0}},"type":"object","title":"AssetDetailPayload"},"AssetListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AssetResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"AssetListResponse"},"AssetPurchaseRequest":{"properties":{"quantity":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Quantity"},"postal_address":{"anyOf":[{"$ref":"#/components/schemas/PostalAddress"},{"type":"null"}]}},"type":"object","title":"AssetPurchaseRequest"},"AssetPurchaseResponse":{"properties":{"payment_id":{"type":"string","format":"uuid","title":"Payment Id"},"seller_transaction_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Seller Transaction Id"},"buyer_transaction_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Buyer Transaction Id"},"delivery_activity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Delivery Activity Id"},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"}},"type":"object","required":["payment_id"],"title":"AssetPurchaseResponse"},"AssetResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"is_external":{"type":"boolean","title":"Is External","default":false},"direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"source_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Entity Id"},"detail":{"anyOf":[{"$ref":"#/components/schemas/AssetDetailPayload"},{"type":"null"}]},"stock":{"anyOf":[{"$ref":"#/components/schemas/ItemStock"},{"type":"null"}]},"provenance":{"anyOf":[{"$ref":"#/components/schemas/ItemProvenance"},{"type":"null"}]}},"type":"object","required":["id","namespace_id","kind"],"title":"AssetResponse"},"AssetSearchResult":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"},"reaction_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reaction Score"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"payment_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method"},"delivery_responsibility":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Responsibility"},"seller_online_payment":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Seller Online Payment"},"payment_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Unit"}},"type":"object","required":["id"],"title":"AssetSearchResult"},"AssetUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["item","animal","herd"]},{"type":"string","enum":["listing","need","machine","tool"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"unit_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unit Price"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"expiry_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expiry Date"},"ai_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Description"},"availability":{"anyOf":[{"type":"string","enum":["available","expected"]},{"type":"null"}],"title":"Availability"},"available_from":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Available From"},"mwst_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mwst Rate"},"offered_quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Offered Quantity"},"wanted_quantity":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Wanted Quantity"},"wanted_by":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Wanted By"},"payment_unit":{"anyOf":[{"type":"string","enum":["pauschal","pro_stunde","pro_tag","pro_ha"]},{"type":"null"}],"title":"Payment Unit"}},"type":"object","title":"AssetUpdateRequest"},"AssigneeRequest":{"properties":{"party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Party Id"}},"type":"object","title":"AssigneeRequest"},"AssigneeResponse":{"properties":{"status":{"type":"string","enum":["self","assigned","invited"],"title":"Status"},"doer":{"anyOf":[{"$ref":"#/components/schemas/JobDoer"},{"type":"null"}]}},"type":"object","required":["status"],"title":"AssigneeResponse"},"AssistantMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"assistant","title":"Role","default":"assistant"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"},"toolCalls":{"anyOf":[{"items":{"$ref":"#/components/schemas/ToolCall"},"type":"array"},{"type":"null"}],"title":"Toolcalls"}},"additionalProperties":true,"type":"object","required":["id"],"title":"AssistantMessage","description":"An assistant message."},"AudioInputContent":{"properties":{"type":{"type":"string","const":"audio","title":"Type","default":"audio"},"source":{"oneOf":[{"$ref":"#/components/schemas/InputContentDataSource"},{"$ref":"#/components/schemas/InputContentUrlSource"}],"title":"Source","discriminator":{"propertyName":"type","mapping":{"data":"#/components/schemas/InputContentDataSource","url":"#/components/schemas/InputContentUrlSource"}}},"metadata":{"anyOf":[{},{"type":"null"}],"title":"Metadata"}},"additionalProperties":true,"type":"object","required":["source"],"title":"AudioInputContent","description":"An audio input content fragment."},"AuditLogEntry":{"properties":{"id":{"type":"string","title":"Id"},"admin_id":{"type":"string","title":"Admin Id"},"action":{"type":"string","title":"Action"},"target_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target User Id"},"details":{"additionalProperties":true,"type":"object","title":"Details"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","admin_id","action","created_at"],"title":"AuditLogEntry","description":"Audit log entry."},"AuditLogListResponse":{"properties":{"logs":{"items":{"$ref":"#/components/schemas/AuditLogEntry"},"type":"array","title":"Logs"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["logs","total","page","page_size"],"title":"AuditLogListResponse","description":"Audit log list response with pagination."},"AuslaufAusnahme":{"properties":{"herd":{"type":"string","title":"Herd"},"day":{"type":"string","format":"date","title":"Day"},"status":{"type":"string","title":"Status"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["herd","day","status","reason"],"title":"AuslaufAusnahme","description":"A day of the last week that was not the herd's ordinary day, with its reason."},"BadgeCountResponse":{"properties":{"count":{"type":"integer","title":"Count","default":0}},"type":"object","title":"BadgeCountResponse","description":"Cheap sidebar badge count without hydrating rows."},"BanUserRequest":{"properties":{"reason":{"type":"string","maxLength":500,"minLength":1,"title":"Reason"}},"type":"object","required":["reason"],"title":"BanUserRequest","description":"Request to ban a user."},"BillingInvoice":{"properties":{"id":{"type":"string","title":"Id"},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Number"},"status":{"type":"string","title":"Status"},"amount_due_chf":{"type":"number","title":"Amount Due Chf"},"amount_paid_chf":{"type":"number","title":"Amount Paid Chf"},"currency":{"type":"string","title":"Currency"},"created_at":{"type":"string","title":"Created At"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"hosted_invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hosted Invoice Url"},"invoice_pdf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Pdf"}},"type":"object","required":["id","status","amount_due_chf","amount_paid_chf","currency","created_at"],"title":"BillingInvoice","description":"One Stripe platform invoice for the Rechnungen tab."},"BillingInvoicesResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BillingInvoice"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"BillingInvoicesResponse","description":"List of Stripe invoices for the current user."},"BinaryInputContent":{"properties":{"type":{"type":"string","const":"binary","title":"Type","default":"binary"},"mimeType":{"type":"string","title":"Mimetype"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"data":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"}},"additionalProperties":true,"type":"object","required":["mimeType"],"title":"BinaryInputContent","description":"A deprecated binary payload reference in a multimodal user message."},"BlankSheetRequest":{"properties":{"blatt":{"type":"string","enum":["auslauf","behandlung"],"title":"Blatt"},"herd_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Herd Id"},"jahr":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":2000.0},{"type":"null"}],"title":"Jahr"}},"type":"object","required":["blatt"],"title":"BlankSheetRequest"},"Body_create_transcription_transcription_post":{"properties":{"file":{"type":"string","format":"binary","title":"File","description":"Short audio clip (webm/ogg/wav/mp3/m4a)"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language","description":"ISO-639-1 language hint (e.g. de). Auto-detected if omitted."}},"type":"object","required":["file"],"title":"Body_create_transcription_transcription_post"},"Body_import_camt_finance_import_camt_post":{"properties":{"file":{"type":"string","format":"binary","title":"File","description":"CAMT.053 XML or ZIP-of-XML"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},"type":"object","required":["file"],"title":"Body_import_camt_finance_import_camt_post"},"Body_import_dsch_animals_import_dsch_post":{"properties":{"file":{"type":"string","format":"binary","title":"File","description":"DS-CH fixed-column .txt export"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},"type":"object","required":["file"],"title":"Body_import_dsch_animals_import_dsch_post"},"Body_import_journal_finance_import_journal_post":{"properties":{"file":{"type":"string","format":"binary","title":"File","description":"Journal CSV or Abacus XML"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},"type":"object","required":["file"],"title":"Body_import_journal_finance_import_journal_post"},"Body_submit_training_training_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"category":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Category"}},"type":"object","required":["file"],"title":"Body_submit_training_training_post"},"BrowserJobListResponse":{"properties":{"jobs":{"items":{"$ref":"#/components/schemas/BrowserJobResponse"},"type":"array","title":"Jobs"}},"type":"object","title":"BrowserJobListResponse"},"BrowserJobRecordingResponse":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","title":"BrowserJobRecordingResponse"},"BrowserJobResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"job_type":{"type":"string","title":"Job Type"},"status":{"type":"string","enum":["created","awaiting_login","running","awaiting_user","succeeded","failed"],"title":"Status"},"portal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Portal"},"route":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route"},"instruction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instruction"},"cloud_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cloud Session Id"},"cloud_profile_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cloud Profile Id"},"live_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Live Url"},"result_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Result Json"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"cloud_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cloud Cost Usd"},"browse_agent_tokens":{"type":"integer","title":"Browse Agent Tokens","default":0},"document_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Document Id"},"recording_s3_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recording S3 Uri"},"screenshot_s3_uris":{"items":{"type":"string"},"type":"array","title":"Screenshot S3 Uris"},"pending_question":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Pending Question"},"step_count":{"type":"integer","title":"Step Count","default":0},"usage_tracked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Usage Tracked At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","namespace_id","user_id","job_type","status"],"title":"BrowserJobResponse"},"BrowserJobScreenshotsResponse":{"properties":{"urls":{"items":{"type":"string"},"type":"array","title":"Urls"}},"type":"object","title":"BrowserJobScreenshotsResponse"},"CamtImportResponse":{"properties":{"extraction_run_id":{"type":"string","title":"Extraction Run Id"},"bookings":{"type":"integer","title":"Bookings"},"entity_ids":{"items":{"type":"string"},"type":"array","title":"Entity Ids"},"skipped":{"type":"integer","title":"Skipped","default":0}},"type":"object","required":["extraction_run_id","bookings"],"title":"CamtImportResponse","description":"Result of a CAMT.053 import: active imported bookings, skip on known identity."},"CheckSubscriptionResponse":{"properties":{"subscribed":{"type":"boolean","title":"Subscribed","description":"Whether user has active subscription"},"subscription_tier":{"type":"string","title":"Subscription Tier","description":"Subscription tier name"},"subscription_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription End","description":"Subscription end date (ISO format)"},"subscription_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Status","description":"Raw Stripe subscription status (active, trialing, past_due, incomplete, paused). None when there is no subscription. past_due and friends mean the user keeps access while Stripe retries."},"product_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Id","description":"Stripe product ID"},"payment_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method","description":"Stripe payment method type behind the subscription (card, twint, ...). None when there is no subscription or Stripe did not report one; the client falls back to generic wording rather than guessing."},"synced":{"type":"boolean","title":"Synced","description":"Whether database was successfully updated"}},"type":"object","required":["subscribed","subscription_tier","synced"],"title":"CheckSubscriptionResponse","description":"Response after checking subscription."},"CheckoutRequest":{"properties":{"price_id":{"type":"string","title":"Price Id","description":"Stripe price ID"},"mode":{"type":"string","enum":["subscription","payment"],"title":"Mode","description":"Checkout mode: subscription or payment","default":"subscription"},"quantity":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Quantity","description":"Line-item quantity. Required for AKh top-up (1 unit = 1 AKh); omit for subscriptions."}},"type":"object","required":["price_id"],"title":"CheckoutRequest","description":"Request to create a checkout session."},"CheckoutResponse":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"Checkout URL to redirect to"},"success":{"type":"boolean","title":"Success","description":"Whether operation was successful"},"upgraded":{"type":"boolean","title":"Upgraded","description":"Whether subscription was upgraded in-place","default":false},"subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Id","description":"Subscription ID if upgraded"}},"type":"object","required":["success"],"title":"CheckoutResponse","description":"Response from checkout creation."},"ClaimInviteResponse":{"properties":{"kind":{"$ref":"#/components/schemas/InviteKind"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"activity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Activity Id"},"other_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Other User Id"},"other_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Username"}},"type":"object","required":["kind"],"title":"ClaimInviteResponse","description":"Result of claiming an invite link (idempotent on replay)."},"ClientRegistrationRequest":{"properties":{"redirect_uris":{"items":{"type":"string"},"type":"array","maxItems":10,"minItems":1,"title":"Redirect Uris"},"client_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Client Name"},"token_endpoint_auth_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Endpoint Auth Method"}},"type":"object","required":["redirect_uris"],"title":"ClientRegistrationRequest"},"ClientRegistrationResponse":{"properties":{"client_id":{"type":"string","title":"Client Id"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"token_endpoint_auth_method":{"type":"string","title":"Token Endpoint Auth Method","default":"none"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"}},"type":"object","required":["client_id","redirect_uris"],"title":"ClientRegistrationResponse"},"CommentCreateRequest":{"properties":{"body":{"type":"string","maxLength":2000,"minLength":1,"title":"Body"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["body"],"title":"CommentCreateRequest"},"CommentListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CommentResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset","default":0},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","total"],"title":"CommentListResponse"},"CommentReactionRequest":{"properties":{"reaction":{"type":"string","enum":["upvote","downvote"],"title":"Reaction"}},"type":"object","required":["reaction"],"title":"CommentReactionRequest","description":"Comments are voted, not liked — no \"like\" in this vocabulary."},"CommentReactionResponse":{"properties":{"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"reaction_score":{"type":"integer","title":"Reaction Score"},"viewer_reaction":{"anyOf":[{"type":"string","enum":["upvote","downvote"]},{"type":"null"}],"title":"Viewer Reaction"}},"type":"object","required":["comment_id","reaction_score"],"title":"CommentReactionResponse"},"CommentResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"body":{"type":"string","title":"Body"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"author_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Username"},"author_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Avatar Url"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"viewer_reaction":{"anyOf":[{"type":"string","enum":["upvote","downvote"]},{"type":"null"}],"title":"Viewer Reaction"}},"type":"object","required":["id","entity_id","user_id","body"],"title":"CommentResponse"},"ConfirmBrowserSessionResponse":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id"},"status":{"type":"string","enum":["created","awaiting_login","running","awaiting_user","succeeded","failed"],"title":"Status"},"message":{"type":"string","title":"Message"}},"type":"object","required":["job_id","status","message"],"title":"ConfirmBrowserSessionResponse"},"ConnectAccountStatus":{"properties":{"has_account":{"type":"boolean","title":"Has Account","description":"Whether the user has a Stripe Connect account yet"},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id","description":"Stripe connected account ID"},"charges_enabled":{"type":"boolean","title":"Charges Enabled","description":"Account can accept charges (fully onboarded to receive)","default":false},"payouts_enabled":{"type":"boolean","title":"Payouts Enabled","description":"Account can receive payouts","default":false},"details_submitted":{"type":"boolean","title":"Details Submitted","description":"Onboarding details have been submitted","default":false},"twint_enabled":{"type":"boolean","title":"Twint Enabled","description":"Whether the connected account's twint_payments capability is active. charges_enabled can be true while this is still pending, in which case buyers are not offered TWINT no matter what the listing copy says.","default":false}},"type":"object","required":["has_account"],"title":"ConnectAccountStatus","description":"Connected-account onboarding and capability status for a user."},"ConnectRequest":{"properties":{"provider":{"type":"string","maxLength":64,"minLength":1,"title":"Provider"}},"type":"object","required":["provider"],"title":"ConnectRequest"},"ConnectResponse":{"properties":{"provider":{"type":"string","title":"Provider"},"authorize_url":{"type":"string","title":"Authorize Url"}},"type":"object","required":["provider","authorize_url"],"title":"ConnectResponse","description":"Where to send the person. Carries no verifier and no client secret."},"ConnectedAgent":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"client_id":{"type":"string","title":"Client Id"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"redirect_host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Host"},"resource":{"type":"string","title":"Resource"},"scope_details":{"items":{"$ref":"#/components/schemas/ConsentScope"},"type":"array","title":"Scope Details"},"client_verified":{"type":"boolean","title":"Client Verified","default":false},"grants_workspace_access":{"type":"boolean","title":"Grants Workspace Access","default":true},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"revoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","client_id","resource"],"title":"ConnectedAgent","description":"One agent a user has connected, for the settings list (UEL-143).\n\n``scope_details`` reuses ``ConsentScope`` rather than defining a parallel shape, so the\ngrants list and the consent screen describe a scope identically by construction instead\nof by two developers agreeing."},"ConnectedAgentList":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/ConnectedAgent"},"type":"array","title":"Agents"}},"type":"object","title":"ConnectedAgentList"},"ConnectionActionResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"status":{"anyOf":[{"$ref":"#/components/schemas/ConnectionStatus"},{"type":"null"}]}},"type":"object","required":["success"],"title":"ConnectionActionResponse","description":"Result of accept/decline/remove."},"ConnectionDirection":{"type":"string","enum":["out","in"],"title":"ConnectionDirection","description":"Direction relative to the viewing user."},"ConnectionEntry":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"$ref":"#/components/schemas/ConnectionStatus"},"direction":{"$ref":"#/components/schemas/ConnectionDirection"},"profile":{"$ref":"#/components/schemas/ConnectionProfile"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"responded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Responded At"}},"type":"object","required":["id","status","direction","profile","created_at"],"title":"ConnectionEntry","description":"One connection row viewed by one participant."},"ConnectionListResponse":{"properties":{"connections":{"items":{"$ref":"#/components/schemas/ConnectionEntry"},"type":"array","title":"Connections"},"pending_incoming_count":{"type":"integer","title":"Pending Incoming Count","default":0}},"type":"object","title":"ConnectionListResponse","description":"All connections of the caller (accepted + pending both directions + declined own)."},"ConnectionProfile":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"type":"string","title":"Username"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"canton":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canton"},"personal_namespace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Personal Namespace Id"}},"type":"object","required":["id","username"],"title":"ConnectionProfile","description":"Public profile fields of the counterparty."},"ConnectionResponse":{"properties":{"connection":{"$ref":"#/components/schemas/ConnectionEntry"}},"type":"object","required":["connection"],"title":"ConnectionResponse","description":"Single connection payload."},"ConnectionStatus":{"type":"string","enum":["pending","accepted","declined"],"title":"ConnectionStatus","description":"Lifecycle of a user connection."},"ConsentDecision":{"properties":{"req":{"type":"string","title":"Req"},"approve":{"type":"boolean","title":"Approve"}},"type":"object","required":["req","approve"],"title":"ConsentDecision"},"ConsentRedirect":{"properties":{"redirect_to":{"type":"string","title":"Redirect To"}},"type":"object","required":["redirect_to"],"title":"ConsentRedirect"},"ConsentScope":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"writes":{"type":"boolean","title":"Writes","default":false}},"type":"object","required":["name","description"],"title":"ConsentScope","description":"One permission, in the vocabulary and in German.\n\nThe description comes from the backend rather than a table in the SPA so there is one\nsource for what a scope means — the same one the OpenAPI `AgentOAuth2` scheme reads."},"ConsentView":{"properties":{"req":{"type":"string","title":"Req"},"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"resource":{"type":"string","title":"Resource"},"grants_workspace_access":{"type":"boolean","title":"Grants Workspace Access","default":false},"scope_details":{"items":{"$ref":"#/components/schemas/ConsentScope"},"type":"array","title":"Scope Details"},"may_approve":{"type":"boolean","title":"May Approve","default":true},"client_verified":{"type":"boolean","title":"Client Verified","default":false}},"type":"object","required":["req","client_id","redirect_uri","scopes","resource"],"title":"ConsentView"},"Context":{"properties":{"description":{"type":"string","title":"Description"},"value":{"type":"string","title":"Value"}},"additionalProperties":true,"type":"object","required":["description","value"],"title":"Context","description":"Additional context for the agent."},"CreateBrowserSessionRequest":{"properties":{"portal":{"type":"string","title":"Portal","default":"smartherd"},"route":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route"},"instruction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instruction"},"job_type":{"type":"string","title":"Job Type","default":"smartherd_read"}},"type":"object","title":"CreateBrowserSessionRequest"},"CreateBrowserSessionResponse":{"properties":{"job_id":{"type":"string","format":"uuid","title":"Job Id"},"session_id":{"type":"string","title":"Session Id"},"live_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Live Url"},"portal":{"type":"string","title":"Portal"},"status":{"type":"string","enum":["created","awaiting_login","running","awaiting_user","succeeded","failed"],"title":"Status"}},"type":"object","required":["job_id","session_id","portal","status"],"title":"CreateBrowserSessionResponse"},"CreateConnectionRequest":{"properties":{"username":{"type":"string","maxLength":20,"minLength":3,"title":"Username"}},"type":"object","required":["username"],"title":"CreateConnectionRequest","description":"Request to kollegisieren a user by username."},"CreateInviteRequest":{"properties":{"kind":{"$ref":"#/components/schemas/InviteKind"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"activity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Activity Id"}},"type":"object","required":["kind"],"title":"CreateInviteRequest","description":"Create a single-use external invite link."},"CreateInvoiceRequest":{"properties":{"recipient_name":{"type":"string","maxLength":200,"minLength":1,"title":"Recipient Name"},"recipient_email":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Recipient Email"},"recipient_address":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Recipient Address"},"line_items":{"items":{"$ref":"#/components/schemas/InvoiceLineItem"},"type":"array","minItems":1,"title":"Line Items"},"mwst_rate":{"type":"number","title":"Mwst Rate","description":"MWST percent: 0, 2.6, 3.8, or 8.1","default":0.0},"due_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":0.0},{"type":"null"}],"title":"Due Days","default":30},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id","description":"Optional team context"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id","description":"Optional linked job for Geld einziehen"}},"type":"object","required":["recipient_name","line_items"],"title":"CreateInvoiceRequest","description":"Payload to create and finalize a payment request."},"CreateTeamRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":3,"title":"Name","description":"Team name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description","description":"Optional team description"},"is_public":{"type":"boolean","title":"Is Public","description":"Whether team is public","default":false}},"type":"object","required":["name"],"title":"CreateTeamRequest","description":"Request to create a new team."},"CreateTeamResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"team":{"$ref":"#/components/schemas/TeamResponse"}},"type":"object","required":["success","team"],"title":"CreateTeamResponse","description":"Response after creating a team."},"DeleteAccountResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"DeleteAccountResponse","description":"Response after deleting an account."},"DeleteTeamResponse":{"properties":{"success":{"type":"boolean","title":"Success"}},"type":"object","required":["success"],"title":"DeleteTeamResponse","description":"Response after deleting a team."},"DeveloperMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"developer","title":"Role","default":"developer"},"content":{"type":"string","title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"}},"additionalProperties":true,"type":"object","required":["id","content"],"title":"DeveloperMessage","description":"A developer message."},"DocumentCompareResponse":{"properties":{"from_version":{"type":"integer","title":"From Version"},"to_version":{"type":"integer","title":"To Version"},"sections":{"items":{"$ref":"#/components/schemas/DocumentFigureSection"},"type":"array","title":"Sections"},"changed":{"type":"integer","title":"Changed","default":0},"added":{"type":"integer","title":"Added","default":0},"removed":{"type":"integer","title":"Removed","default":0},"unchanged":{"type":"integer","title":"Unchanged","default":0}},"type":"object","required":["from_version","to_version"],"title":"DocumentCompareResponse"},"DocumentFigureChange":{"properties":{"section":{"type":"string","title":"Section"},"row":{"type":"string","title":"Row"},"column":{"type":"string","title":"Column"},"old":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Old"},"new":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New"},"unit":{"type":"string","title":"Unit","default":""},"delta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Delta"},"delta_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Delta Pct"},"status":{"type":"string","enum":["changed","added","removed"],"title":"Status"}},"type":"object","required":["section","row","column","status"],"title":"DocumentFigureChange","description":"A figure the reader sees, in two versions: where it stands, before, after, difference."},"DocumentFigureSection":{"properties":{"section":{"type":"string","title":"Section"},"figures":{"items":{"$ref":"#/components/schemas/DocumentFigureChange"},"type":"array","title":"Figures"},"unchanged":{"type":"integer","title":"Unchanged","default":0}},"type":"object","required":["section"],"title":"DocumentFigureSection"},"DocumentInputContent":{"properties":{"type":{"type":"string","const":"document","title":"Type","default":"document"},"source":{"oneOf":[{"$ref":"#/components/schemas/InputContentDataSource"},{"$ref":"#/components/schemas/InputContentUrlSource"}],"title":"Source","discriminator":{"propertyName":"type","mapping":{"data":"#/components/schemas/InputContentDataSource","url":"#/components/schemas/InputContentUrlSource"}}},"metadata":{"anyOf":[{},{"type":"null"}],"title":"Metadata"}},"additionalProperties":true,"type":"object","required":["source"],"title":"DocumentInputContent","description":"A document input content fragment."},"DocumentVersionItem":{"properties":{"version":{"type":"integer","title":"Version"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"actor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"current":{"type":"boolean","title":"Current","default":false}},"type":"object","required":["version"],"title":"DocumentVersionItem","description":"One version of a document: the current one, or a kept earlier one."},"DocumentVersionsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DocumentVersionItem"},"type":"array","title":"Items"}},"type":"object","title":"DocumentVersionsResponse"},"DschImportResponse":{"properties":{"extraction_run_id":{"type":"string","title":"Extraction Run Id"},"animals":{"type":"integer","title":"Animals"},"events":{"type":"integer","title":"Events"},"measurements":{"type":"integer","title":"Measurements","default":0},"entity_ids":{"items":{"type":"string"},"type":"array","title":"Entity Ids"}},"type":"object","required":["extraction_run_id","animals","events"],"title":"DschImportResponse","description":"Result of a DS-CH import: active imported animals, skip on known identity."},"EdgeErrorReport":{"properties":{"service":{"type":"string","maxLength":64,"title":"Service","description":"Reporting runtime, e.g. 'create-user-profile'"},"event":{"type":"string","maxLength":200,"title":"Event","description":"Stable event name, used for grouping"},"message":{"type":"string","maxLength":2000,"title":"Message","default":""},"level":{"type":"string","enum":["warning","error"],"title":"Level","default":"error"},"request_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Request Id"},"user_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"User Id"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"type":"object","required":["service","event"],"title":"EdgeErrorReport","description":"One failure observed by an external runtime."},"EffectGroup":{"properties":{"gruppe":{"type":"string","title":"Gruppe"},"rows":{"items":{"$ref":"#/components/schemas/EffectRow"},"type":"array","title":"Rows"}},"type":"object","required":["gruppe","rows"],"title":"EffectGroup"},"EffectRow":{"properties":{"key":{"type":"string","title":"Key"},"art":{"type":"string","enum":["belegung","massnahme","bedarf","angebot","arbeit"],"title":"Art"},"gruppe":{"type":"string","title":"Gruppe"},"text":{"type":"string","title":"Text"},"status":{"type":"string","enum":["neu","gleich","geaendert","entfaellt","von_ihm_geaendert"],"title":"Status"},"target_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Id"}},"type":"object","required":["key","art","gruppe","text","status"],"title":"EffectRow"},"EffectsPreview":{"properties":{"entry_id":{"type":"string","title":"Entry Id"},"document_id":{"type":"string","title":"Document Id"},"variant":{"type":"string","title":"Variant"},"label":{"type":"string","title":"Label"},"groups":{"items":{"$ref":"#/components/schemas/EffectGroup"},"type":"array","title":"Groups"},"counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts"}},"type":"object","required":["entry_id","document_id","variant","label"],"title":"EffectsPreview"},"EnsureFarmSlugResponse":{"properties":{"farm_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Farm Slug"}},"type":"object","title":"EnsureFarmSlugResponse","description":"Minted or existing farm_slug after an explicit ensure."},"FeedArticle":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"detail":{"anyOf":[{"$ref":"#/components/schemas/MessageDetailPayload"},{"type":"null"}]},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"}},"type":"object","required":["id","namespace_id","kind"],"title":"FeedArticle","description":"A Zeitung post plus how far away it was written, when that is known."},"FeedItemOut":{"properties":{"listing":{"anyOf":[{"$ref":"#/components/schemas/ProductListingOut"},{"$ref":"#/components/schemas/JobListingOut"}],"title":"Listing"},"rank":{"$ref":"#/components/schemas/RankOut"}},"type":"object","required":["listing","rank"],"title":"FeedItemOut"},"FromInboundTrainingRequest":{"properties":{"message_id":{"type":"string","format":"uuid","title":"Message Id"},"s3_uri":{"type":"string","maxLength":1024,"minLength":8,"title":"S3 Uri"}},"type":"object","required":["message_id","s3_uri"],"title":"FromInboundTrainingRequest","description":"Copy an already-owned inbound letter file into Quellen."},"FunctionCall":{"properties":{"name":{"type":"string","title":"Name"},"arguments":{"type":"string","title":"Arguments"}},"additionalProperties":true,"type":"object","required":["name","arguments"],"title":"FunctionCall","description":"Name and arguments of a function call."},"GeocodeResult":{"properties":{"lat":{"type":"number","title":"Lat"},"lng":{"type":"number","title":"Lng"},"label":{"type":"string","title":"Label"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"}},"type":"object","required":["lat","lng","label"],"title":"GeocodeResult","description":"One forward-geocode hit (a place's coordinates and label)."},"GoogleCalendarWebhookResponse":{"properties":{"received":{"type":"boolean","title":"Received"}},"type":"object","required":["received"],"title":"GoogleCalendarWebhookResponse"},"GrantRoleRequest":{"properties":{"role":{"type":"string","const":"admin","title":"Role"},"reason":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Reason"}},"type":"object","required":["role"],"title":"GrantRoleRequest","description":"Request to grant a role to a user.\n\nOnly ``admin`` is grantable. Postgres ``app_role`` still includes\n``moderator`` / ``user`` as reserved enum values (not safely droppable)."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HerdCountEntry":{"properties":{"count":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Count"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"}},"type":"object","title":"HerdCountEntry"},"HerdCountRequest":{"properties":{"count":{"type":"number","minimum":0.0,"title":"Count"},"as_of":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"As Of"}},"type":"object","required":["count"],"title":"HerdCountRequest"},"HerdCountResponse":{"properties":{"applied":{"type":"boolean","title":"Applied"},"herd":{"$ref":"#/components/schemas/HerdDetailResponse"}},"type":"object","required":["applied","herd"],"title":"HerdCountResponse"},"HerdDetailResponse":{"properties":{"ref":{"type":"string","title":"Ref"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"category_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Label"},"dzv_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dzv Code"},"gattung":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gattung"},"count":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Count"},"unit":{"type":"string","title":"Unit","default":"Tiere"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"evidence_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Tier"},"evidence_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Source"},"place_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Id"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"lifecycle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lifecycle"},"members_recorded":{"type":"integer","title":"Members Recorded","default":0},"members":{"items":{"$ref":"#/components/schemas/HerdMember"},"type":"array","title":"Members"},"conflict":{"type":"boolean","title":"Conflict","default":false},"history":{"items":{"$ref":"#/components/schemas/HerdCountEntry"},"type":"array","title":"History"}},"type":"object","required":["ref"],"title":"HerdDetailResponse","description":"One herd for Bestand: its number, as of when and from whom, members, history."},"HerdMember":{"properties":{"ref":{"type":"string","title":"Ref"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"official_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Id"}},"type":"object","required":["ref"],"title":"HerdMember"},"HerdOption":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"}},"type":"object","required":["id","title"],"title":"HerdOption"},"IcarExportResponse":{"properties":{"animals":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Animals"},"events":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Events"},"counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts"}},"type":"object","title":"IcarExportResponse","description":"ICAR ADE resources for the namespace herd."},"IcarImportResponse":{"properties":{"extraction_run_id":{"type":"string","title":"Extraction Run Id"},"animals":{"type":"integer","title":"Animals"},"events":{"type":"integer","title":"Events"},"entity_ids":{"items":{"type":"string"},"type":"array","title":"Entity Ids"}},"type":"object","required":["extraction_run_id","animals","events"],"title":"IcarImportResponse","description":"Result of an ICAR import: active imported animals, skip on known identity."},"ImageInputContent":{"properties":{"type":{"type":"string","const":"image","title":"Type","default":"image"},"source":{"oneOf":[{"$ref":"#/components/schemas/InputContentDataSource"},{"$ref":"#/components/schemas/InputContentUrlSource"}],"title":"Source","discriminator":{"propertyName":"type","mapping":{"data":"#/components/schemas/InputContentDataSource","url":"#/components/schemas/InputContentUrlSource"}}},"metadata":{"anyOf":[{},{"type":"null"}],"title":"Metadata"}},"additionalProperties":true,"type":"object","required":["source"],"title":"ImageInputContent","description":"An image input content fragment."},"ImageryUrlsRequest":{"properties":{"paths":{"items":{"type":"string"},"type":"array","title":"Paths"}},"type":"object","title":"ImageryUrlsRequest"},"ImageryUrlsResponse":{"properties":{"urls":{"additionalProperties":{"type":"string"},"type":"object","title":"Urls"}},"type":"object","title":"ImageryUrlsResponse"},"InputContentDataSource":{"properties":{"type":{"type":"string","const":"data","title":"Type","default":"data"},"value":{"type":"string","title":"Value"},"mimeType":{"type":"string","title":"Mimetype"}},"additionalProperties":true,"type":"object","required":["value","mimeType"],"title":"InputContentDataSource","description":"Inline base64-encoded source."},"InputContentUrlSource":{"properties":{"type":{"type":"string","const":"url","title":"Type","default":"url"},"value":{"type":"string","title":"Value"},"mimeType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mimetype"}},"additionalProperties":true,"type":"object","required":["value"],"title":"InputContentUrlSource","description":"URL-referenced source."},"InviteApplicationRequest":{"properties":{"username":{"type":"string","title":"Username"}},"type":"object","required":["username"],"title":"InviteApplicationRequest"},"InviteKind":{"type":"string","enum":["connection","team","job"],"title":"InviteKind","description":"What an external invite link grants on claim."},"InviteLinkResponse":{"properties":{"token":{"type":"string","title":"Token"},"url":{"type":"string","title":"Url"},"kind":{"$ref":"#/components/schemas/InviteKind"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["token","url","kind","expires_at"],"title":"InviteLinkResponse","description":"Created invite link."},"InvitePreviewResponse":{"properties":{"kind":{"$ref":"#/components/schemas/InviteKind"},"inviter_username":{"type":"string","title":"Inviter Username"},"inviter_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviter Avatar Url"},"inviter_company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviter Company Name"},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Name"},"job_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Title"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["kind","inviter_username","expires_at"],"title":"InvitePreviewResponse","description":"Anon-safe preview of an unclaimed invite link."},"InvoiceLineItem":{"properties":{"description":{"type":"string","maxLength":500,"minLength":1,"title":"Description"},"quantity":{"type":"number","exclusiveMinimum":0.0,"title":"Quantity","description":"Quantity (may be fractional)","default":1},"unit_price_cents":{"type":"integer","minimum":0.0,"title":"Unit Price Cents","description":"Unit price in Rappen (net, excl. MWST)"},"item_ref":{"anyOf":[{"type":"string","pattern":"^item:[0-9a-fA-F-]{36}$"},{"type":"null"}],"title":"Item Ref","description":"The issuer's own thing this line sells (item:{id}); when the invoice is paid, its stock goes down by `quantity` and a buyer on Uely gets the thing."}},"type":"object","required":["description","unit_price_cents"],"title":"InvoiceLineItem","description":"One billable line on an invoice (amounts in Rappen)."},"InvoiceListResponse":{"properties":{"invoices":{"items":{"$ref":"#/components/schemas/InvoiceResponse"},"type":"array","title":"Invoices"}},"type":"object","title":"InvoiceListResponse","description":"List of invoices for the Gestellt/Erhalten tabs."},"InvoiceResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"issuer_user_id":{"type":"string","format":"uuid","title":"Issuer User Id"},"payer_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Payer User Id"},"direction":{"type":"string","title":"Direction","description":"Book direction for the viewer: in=Gestellt (issuer), out=Erhalten (payer)"},"recipient_name":{"type":"string","title":"Recipient Name"},"recipient_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Email"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"line_items":{"items":{"$ref":"#/components/schemas/InvoiceLineItem"},"type":"array","title":"Line Items"},"mwst_rate":{"type":"number","title":"Mwst Rate","default":0.0},"amount_total_cents":{"type":"integer","title":"Amount Total Cents","default":0},"application_fee_cents":{"type":"integer","title":"Application Fee Cents","default":0},"currency":{"type":"string","title":"Currency","default":"chf"},"status":{"type":"string","title":"Status","default":"draft"},"hosted_invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hosted Invoice Url"},"invoice_pdf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Pdf"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"job_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Job Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","issuer_user_id","direction","recipient_name","created_at"],"title":"InvoiceResponse","description":"A marketplace invoice as returned to clients."},"ItemCountRequest":{"properties":{"quantity":{"type":"number","minimum":0.0,"title":"Quantity"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"}},"type":"object","required":["quantity"],"title":"ItemCountRequest","description":"What he has on a day («noch 25 Rundballen»)."},"ItemMergeRequest":{"properties":{"other_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":20,"minItems":1,"title":"Other Ids"}},"type":"object","required":["other_ids"],"title":"ItemMergeRequest"},"ItemMergeResponse":{"properties":{"survivor":{"type":"string","title":"Survivor"},"merged":{"items":{"type":"string"},"type":"array","title":"Merged"},"refused":{"items":{"type":"string"},"type":"array","title":"Refused"},"conflicts":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Conflicts"}},"type":"object","required":["survivor"],"title":"ItemMergeResponse"},"ItemMovementRequest":{"properties":{"change":{"type":"number","exclusiveMinimum":0.0,"title":"Change"},"why":{"type":"string","enum":["gekauft","geerntet","verbraucht","verkauft","verschenkt","verloren"],"title":"Why"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"}},"type":"object","required":["change","why"],"title":"ItemMovementRequest","description":"What came or went. The reason decides the direction; the size is `change`."},"ItemProvenance":{"properties":{"origin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"},"trigger":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"source_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Ref"},"source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Label"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"user_touched":{"type":"boolean","title":"User Touched","default":false},"dismissed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dismissed At"}},"type":"object","title":"ItemProvenance","description":"Where a row comes from: his word, his paper, Uely's expectation, a purchase."},"ItemStock":{"properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"estimated":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated"},"field_use":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Field Use"},"rate_per_day":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rate Per Day"},"empty_on":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Empty On"},"low":{"type":"boolean","title":"Low","default":false},"booked_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booked From"},"booked_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booked Until"},"booked_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booked By"}},"type":"object","title":"ItemStock","description":"What he has of a thing today, from `agent_bestand` (read, never stored)."},"JobDoer":{"properties":{"party_id":{"type":"string","format":"uuid","title":"Party Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"has_account":{"type":"boolean","title":"Has Account","default":false}},"type":"object","required":["party_id"],"title":"JobDoer"},"JobListingOut":{"properties":{"kind":{"type":"string","const":"job","title":"Kind","default":"job"},"id":{"type":"string","title":"Id"},"href":{"type":"string","title":"Href"},"title":{"type":"string","title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"imageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Imageurl"},"sellerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellername"},"sellerHref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellerhref"},"sellerLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellerlocation"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"distanceKm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distancekm"},"reactionScore":{"type":"integer","title":"Reactionscore","default":0},"commentCount":{"type":"integer","title":"Commentcount","default":0},"compensationChf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Compensationchf"},"paymentUnit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paymentunit"},"beginTime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Begintime"},"allDay":{"type":"boolean","title":"Allday","default":false},"validUntil":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validuntil"}},"type":"object","required":["id","href","title"],"title":"JobListingOut"},"JournalImportResponse":{"properties":{"extraction_run_id":{"type":"string","title":"Extraction Run Id"},"bookings":{"type":"integer","title":"Bookings"},"entity_ids":{"items":{"type":"string"},"type":"array","title":"Entity Ids"},"skipped":{"type":"integer","title":"Skipped","default":0}},"type":"object","required":["extraction_run_id","bookings"],"title":"JournalImportResponse","description":"Result of a journal (CSV / Abacus XML) import: active imported bookings, skip on known identity."},"KBDocument":{"properties":{"s3_key":{"type":"string","title":"S3 Key"},"state":{"type":"string","title":"State"},"attempts":{"type":"integer","title":"Attempts"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"last_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Modified"},"next_attempt_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Attempt At"},"ingested_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ingested At"},"page_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Count"},"cognee_data_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cognee Data Id"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"}},"type":"object","required":["s3_key","state","attempts"],"title":"KBDocument","description":"One kb_document row as the admin list renders it."},"KBDocumentsResponse":{"properties":{"status":{"type":"string","title":"Status"},"documents":{"items":{"$ref":"#/components/schemas/KBDocument"},"type":"array","title":"Documents"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts"}},"type":"object","required":["status","documents","total","page","page_size","counts"],"title":"KBDocumentsResponse"},"KBMaintenanceOperationResponse":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"target_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Prefix"},"status":{"type":"string","title":"Status"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"generation":{"type":"integer","title":"Generation","default":1},"result":{"additionalProperties":true,"type":"object","title":"Result"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finished At"}},"type":"object","required":["id","kind","status","created_at"],"title":"KBMaintenanceOperationResponse"},"KBOperationResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"result":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Result"},"errors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Errors"}},"type":"object","required":["status"],"title":"KBOperationResponse"},"KBPreviewResponse":{"properties":{"key":{"type":"string","title":"Key"},"content_type":{"type":"string","title":"Content Type"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"preview_kind":{"type":"string","title":"Preview Kind"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"page_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Count"},"page_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Page Urls"},"cognee_data_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cognee Data Id"},"pipeline_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pipeline Status"}},"type":"object","required":["key","content_type","preview_kind"],"title":"KBPreviewResponse"},"KBRetryRequest":{"properties":{"keys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keys"}},"type":"object","title":"KBRetryRequest"},"KBS3DeleteRequest":{"properties":{"keys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keys"},"folder_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Prefix"},"delete_all":{"type":"boolean","title":"Delete All","default":false}},"type":"object","title":"KBS3DeleteRequest"},"KBS3DeleteResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"s3_prefix":{"type":"string","title":"S3 Prefix"},"enqueued_keys":{"items":{"type":"string"},"type":"array","title":"Enqueued Keys"},"cancelled_inflight":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Cancelled Inflight"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"operation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operation Id"}},"type":"object","required":["status","s3_prefix","enqueued_keys"],"title":"KBS3DeleteResponse"},"KBS3UploadItem":{"properties":{"relative_key":{"type":"string","title":"Relative Key"},"content_type":{"type":"string","title":"Content Type","default":"application/octet-stream"}},"type":"object","required":["relative_key"],"title":"KBS3UploadItem"},"KBS3UploadUrl":{"properties":{"relative_key":{"type":"string","title":"Relative Key"},"s3_uri":{"type":"string","title":"S3 Uri"},"upload_url":{"type":"string","title":"Upload Url"},"content_type":{"type":"string","title":"Content Type"}},"type":"object","required":["relative_key","s3_uri","upload_url","content_type"],"title":"KBS3UploadUrl"},"KBS3UploadUrlsRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/KBS3UploadItem"},"type":"array","minItems":1,"title":"Items"}},"type":"object","required":["items"],"title":"KBS3UploadUrlsRequest"},"KBS3UploadUrlsResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"uploads":{"items":{"$ref":"#/components/schemas/KBS3UploadUrl"},"type":"array","title":"Uploads"}},"type":"object","required":["status","uploads"],"title":"KBS3UploadUrlsResponse"},"KBStatusResponse":{"properties":{"dataset_name":{"type":"string","title":"Dataset Name"},"dataset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Id"},"processing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Status"},"s3_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Prefix"},"raw_status":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Raw Status"},"document_counts":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Document Counts"},"ingest_paused":{"type":"boolean","title":"Ingest Paused","default":false},"context_index":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context Index"},"last_batch_error":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Last Batch Error"},"schema_degraded":{"type":"boolean","title":"Schema Degraded","default":false},"ingest_heartbeats":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Ingest Heartbeats"},"maintenance":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Maintenance"}},"type":"object","required":["dataset_name"],"title":"KBStatusResponse"},"KontrolleOption":{"properties":{"key":{"type":"string","enum":["oeln","tierwohl","tierschutz","tam","primaer","gewaesser","soemmerung","bio","ip","qm"],"title":"Key"},"label":{"type":"string","title":"Label"}},"type":"object","required":["key","label"],"title":"KontrolleOption"},"LibraryAdoptRequest":{"properties":{"document_id":{"type":"string","format":"uuid","title":"Document Id"}},"type":"object","required":["document_id"],"title":"LibraryAdoptRequest","description":"\"Laufend führen\": this document becomes the entry's living document."},"LibraryCategoryState":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"holds":{"type":"string","title":"Holds","description":"The paper that is filed here","default":""},"entries":{"items":{"$ref":"#/components/schemas/LibraryEntryState"},"type":"array","title":"Entries"}},"type":"object","required":["id","title","summary","entries"],"title":"LibraryCategoryState","description":"A Fach of Dokumente: its catalog entries, and what paper belongs there."},"LibraryEntryState":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"category":{"type":"string","title":"Category"},"summary":{"type":"string","title":"Summary"},"period":{"type":"string","enum":["laufend","jahr","monat"],"title":"Period"},"sharpened_by":{"items":{"type":"string"},"type":"array","title":"Sharpened By","description":"Data or uploads that make it more precise"},"shown":{"type":"boolean","title":"Shown","description":"On this account's shelf (decided from the profile)"},"enabled":{"type":"boolean","title":"Enabled","description":"A living document is kept for this entry"},"decided_by":{"anyOf":[{"type":"string","enum":["agent","user"]},{"type":"null"}],"title":"Decided By"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id","description":"The living document, once written"},"document_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Document Updated At"},"genre":{"type":"string","enum":["plan","stall","kontrolle","methode","aufzeichnung"],"title":"Genre","description":"plan: calculated, may carry variants; stall: daily-use sheet; kontrolle: measured reality against plan; methode: competing formulas compared; aufzeichnung: records printed by code (the Kontrollordner), never written by a run","default":"plan"},"applicable":{"type":"boolean","title":"Applicable","description":"False when the farm's animals show the entry does not fit","default":true},"applicability_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Applicability Reason","description":"Why the entry does not fit, with the evidence"},"feeds_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feeds From","description":"A Stallblatt: the plan entry whose adopted variant it prints (code-rendered)"},"fed_by":{"items":{"type":"string"},"type":"array","title":"Fed By","description":"A plan: the Stallblatt entries that follow the variant adopted here"},"adopt":{"type":"boolean","title":"Adopt","description":"A plan whose adopted row writes into his farm («Übernehmen»)","default":false}},"type":"object","required":["id","title","category","summary","period","sharpened_by","shown","enabled"],"title":"LibraryEntryState"},"LibraryResponse":{"properties":{"categories":{"items":{"$ref":"#/components/schemas/LibraryCategoryState"},"type":"array","title":"Categories"}},"type":"object","required":["categories"],"title":"LibraryResponse"},"LibraryToggleRequest":{"properties":{"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["enabled"],"title":"LibraryToggleRequest"},"ListingInquiryRequest":{"properties":{"text":{"type":"string","maxLength":2000,"minLength":1,"title":"Text"},"starts_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Starts On"},"ends_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Ends On"}},"type":"object","required":["text"],"title":"ListingInquiryRequest","description":"An inquiry about a public offer; a period for a rental."},"ListingInquiryResponse":{"properties":{"message_id":{"type":"string","format":"uuid","title":"Message Id"}},"type":"object","required":["message_id"],"title":"ListingInquiryResponse"},"LoginLinkResponse":{"properties":{"url":{"type":"string","title":"Url","description":"Stripe Express Dashboard login URL"}},"type":"object","required":["url"],"title":"LoginLinkResponse","description":"Single-use Express Dashboard login URL."},"MarkAllOpenedResponse":{"properties":{"updated":{"type":"integer","title":"Updated","default":0}},"type":"object","title":"MarkAllOpenedResponse","description":"How many records the bulk mark-opened actually stamped."},"MarkAllReadResponse":{"properties":{"updated":{"type":"integer","title":"Updated","default":0}},"type":"object","title":"MarkAllReadResponse","description":"Result of marking every unread notification as read."},"MarketplaceFeedResponse":{"properties":{"mode":{"type":"string","enum":["ranked","semantic"],"title":"Mode"},"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/FeedItemOut"},"type":"array","title":"Items"}},"type":"object","required":["mode","total","items"],"title":"MarketplaceFeedResponse"},"MeasurementDetailPayload":{"properties":{"namespace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Namespace Id"},"subject_id":{"type":"string","format":"uuid","title":"Subject Id"},"metric":{"type":"string","title":"Metric"},"value":{"type":"number","title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"observed_at":{"type":"string","format":"date-time","title":"Observed At"},"source":{"type":"string","title":"Source"}},"type":"object","required":["subject_id","metric","value","observed_at","source"],"title":"MeasurementDetailPayload"},"MediaDeleteRequest":{"properties":{"paths":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Paths"}},"type":"object","required":["paths"],"title":"MediaDeleteRequest"},"MediaDeleteResponse":{"properties":{"deleted":{"type":"integer","title":"Deleted"}},"type":"object","required":["deleted"],"title":"MediaDeleteResponse"},"MediaKind":{"type":"string","enum":["product","job","product_pending","job_pending","avatar","farm","article","letter_attachment"],"title":"MediaKind"},"MediaSignUrlsRequest":{"properties":{"paths":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Paths"}},"type":"object","required":["paths"],"title":"MediaSignUrlsRequest"},"MediaSignUrlsResponse":{"properties":{"urls":{"items":{"$ref":"#/components/schemas/MediaSignedUrl"},"type":"array","title":"Urls"}},"type":"object","required":["urls"],"title":"MediaSignUrlsResponse"},"MediaSignedUrl":{"properties":{"storage_path":{"type":"string","title":"Storage Path"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["storage_path"],"title":"MediaSignedUrl"},"MediaUploadItem":{"properties":{"kind":{"$ref":"#/components/schemas/MediaKind"},"filename":{"type":"string","maxLength":255,"minLength":1,"title":"Filename"},"content_type":{"type":"string","maxLength":128,"title":"Content Type","default":"application/octet-stream"},"size_bytes":{"type":"integer","maximum":20971520.0,"minimum":1.0,"title":"Size Bytes","description":"Exact byte size of the file to upload — signed into the PUT URL"},"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id","description":"Required for product/job permanent uploads"}},"type":"object","required":["kind","filename","size_bytes"],"title":"MediaUploadItem"},"MediaUploadUrl":{"properties":{"kind":{"$ref":"#/components/schemas/MediaKind"},"storage_path":{"type":"string","title":"Storage Path"},"upload_url":{"type":"string","title":"Upload Url"},"content_type":{"type":"string","title":"Content Type"},"cache_control":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cache Control"},"public_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Url"}},"type":"object","required":["kind","storage_path","upload_url","content_type"],"title":"MediaUploadUrl"},"MediaUploadUrlsRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MediaUploadItem"},"type":"array","maxItems":20,"minItems":1,"title":"Items"}},"type":"object","required":["items"],"title":"MediaUploadUrlsRequest"},"MediaUploadUrlsResponse":{"properties":{"uploads":{"items":{"$ref":"#/components/schemas/MediaUploadUrl"},"type":"array","title":"Uploads"}},"type":"object","required":["uploads"],"title":"MediaUploadUrlsResponse"},"MembershipActionResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"status":{"anyOf":[{"type":"string","enum":["pending","active","declined","left"]},{"type":"null"}],"title":"Status"}},"type":"object","required":["success"],"title":"MembershipActionResponse","description":"Generic membership mutation response."},"MemoryProfileResponse":{"properties":{"markdown":{"type":"string","title":"Markdown","default":""},"pending":{"items":{"type":"string"},"type":"array","title":"Pending"},"merged_through":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merged Through"},"said":{"items":{"$ref":"#/components/schemas/SaidSource"},"type":"array","title":"Said"}},"type":"object","title":"MemoryProfileResponse","description":"What Uely keeps in mind about the farm in every conversation («Was Uely sich merkt»)."},"MemoryStatsResponse":{"properties":{"memories":{"type":"integer","title":"Memories","description":"Node count in the personal namespace graph"},"goal":{"type":"integer","title":"Goal","description":"Arbitrary orientation goal for personal and team counts"},"knowledge":{"type":"integer","title":"Knowledge","description":"Node count in the shared knowledge dataset"},"team":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Team","description":"Sum of team-namespace node counts; null when the caller has no active team"}},"type":"object","required":["memories","goal","knowledge","team"],"title":"MemoryStatsResponse","description":"Real Cognee graph sizes for the three memory rooms.\n\n``goal`` is an arbitrary orientation constant for UI progress framing\nof the personal and team lines, not a measure of answer quality.\n``team`` is null when the caller has no active team membership.\nCounts are node counts, cached, and not a live quality metric."},"MessageCreateRequest":{"properties":{"kind":{"type":"string","enum":["letter","article"],"title":"Kind","default":"letter"},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string","maxLength":100000},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"direction":{"type":"string","enum":["in","out"],"title":"Direction","default":"out"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"channel":{"anyOf":[{"type":"string","enum":["in_app","email","postal","other"]},{"type":"null"}],"title":"Channel"},"source_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Entity Id"}},"type":"object","title":"MessageCreateRequest"},"MessageDetailPayload":{"properties":{"namespace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Namespace Id"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"},"thread_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Thread Id"},"is_read":{"type":"boolean","title":"Is Read","default":false},"external_system":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External System"},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"}},"type":"object","title":"MessageDetailPayload"},"MessageListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MessageResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"MessageListResponse"},"MessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"detail":{"anyOf":[{"$ref":"#/components/schemas/MessageDetailPayload"},{"type":"null"}]}},"type":"object","required":["id","namespace_id","kind"],"title":"MessageResponse"},"MessageUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["letter","article"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string","maxLength":100000},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"channel":{"anyOf":[{"type":"string","enum":["in_app","email","postal","other"]},{"type":"null"}],"title":"Channel"},"is_read":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Read"}},"type":"object","title":"MessageUpdateRequest"},"NotificationDevicePlatform":{"type":"string","enum":["ios","android","web"],"title":"NotificationDevicePlatform","description":"Device platforms for push delivery."},"NotificationDeviceRegisterRequest":{"properties":{"platform":{"$ref":"#/components/schemas/NotificationDevicePlatform"},"token":{"type":"string","maxLength":512,"minLength":8,"title":"Token"}},"type":"object","required":["platform","token"],"title":"NotificationDeviceRegisterRequest","description":"Register or refresh a push device token."},"NotificationDeviceResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"platform":{"type":"string","title":"Platform"},"token":{"type":"string","title":"Token"},"last_seen":{"type":"string","format":"date-time","title":"Last Seen"}},"type":"object","required":["id","platform","token","last_seen"],"title":"NotificationDeviceResponse","description":"Registered push device."},"NotificationPreferencesResponse":{"properties":{"automation_enabled":{"type":"boolean","title":"Automation Enabled","default":true},"agent_push_enabled":{"type":"boolean","title":"Agent Push Enabled","default":true},"agent_email_enabled":{"type":"boolean","title":"Agent Email Enabled","default":true},"social_push_enabled":{"type":"boolean","title":"Social Push Enabled","default":true},"social_email_enabled":{"type":"boolean","title":"Social Email Enabled","default":true},"account_push_enabled":{"type":"boolean","title":"Account Push Enabled","default":true},"account_email_enabled":{"type":"boolean","title":"Account Email Enabled","default":true}},"type":"object","title":"NotificationPreferencesResponse","description":"User notification preferences.\n\nUI exposes automation plus two email flags (`agent_email_enabled` =\ndaily briefing, `social_email_enabled` = invitations). Push columns\nstay stored for a future Capacitor wrap and are not shown in settings."},"NotificationPreferencesUpdateRequest":{"properties":{"automation_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Automation Enabled"},"agent_push_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Agent Push Enabled"},"agent_email_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Agent Email Enabled"},"social_push_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Social Push Enabled"},"social_email_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Social Email Enabled"},"account_push_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Account Push Enabled"}},"type":"object","title":"NotificationPreferencesUpdateRequest","description":"Partial update payload for notification preferences."},"NotificationResult":{"properties":{"sent":{"type":"boolean","title":"Sent","description":"Whether the notification was sent"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","description":"Reason if not sent"},"resend_email_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resend Email Id","description":"Resend email ID if sent"},"notification_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Notification Id","description":"In-app notification ID if created"}},"type":"object","required":["sent"],"title":"NotificationResult","description":"Result of sending a notification."},"OnboardingResponse":{"properties":{"account_id":{"type":"string","title":"Account Id","description":"Stripe connected account ID"},"status":{"$ref":"#/components/schemas/ConnectAccountStatus","description":"Current account status"}},"type":"object","required":["account_id","status"],"title":"OnboardingResponse","description":"Result of ensuring a connected account exists (embedded onboarding)."},"OrdnerBefund":{"properties":{"register":{"type":"string","title":"Register"},"key":{"type":"string","title":"Key"},"fact":{"type":"string","title":"Fact"},"rule":{"type":"string","title":"Rule"},"fix":{"type":"string","title":"Fix"},"due":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due"}},"type":"object","required":["key","fact","rule","fix"],"title":"OrdnerBefund","description":"A violation his records show, with the rule and the fix. Never printed."},"OrdnerPrint":{"properties":{"url":{"type":"string","title":"Url"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"registers":{"items":{"type":"string"},"type":"array","title":"Registers"}},"type":"object","required":["url","expires_at"],"title":"OrdnerPrint"},"OrdnerPrintRequest":{"properties":{"kontrolle":{"anyOf":[{"type":"string","enum":["oeln","tierwohl","tierschutz","tam","primaer","gewaesser","soemmerung","bio","ip","qm"]},{"type":"null"}],"title":"Kontrolle"},"jahr":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":2000.0},{"type":"null"}],"title":"Jahr"}},"type":"object","title":"OrdnerPrintRequest","description":"The book for one control; the whole book when ``kontrolle`` is empty."},"OrdnerState":{"properties":{"year":{"type":"integer","title":"Year"},"document_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Document Id"},"stand":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Stand"},"befunde":{"items":{"$ref":"#/components/schemas/OrdnerBefund"},"type":"array","title":"Befunde"},"registers":{"items":{"type":"string"},"type":"array","title":"Registers"},"kontrollen":{"items":{"$ref":"#/components/schemas/KontrolleOption"},"type":"array","title":"Kontrollen"},"ausnahmen":{"items":{"$ref":"#/components/schemas/AuslaufAusnahme"},"type":"array","title":"Ausnahmen"},"herds":{"items":{"$ref":"#/components/schemas/HerdOption"},"type":"array","title":"Herds"}},"type":"object","required":["year"],"title":"OrdnerState"},"OutboundProviderList":{"properties":{"providers":{"items":{"$ref":"#/components/schemas/OutboundProviderView"},"type":"array","title":"Providers"}},"type":"object","required":["providers"],"title":"OutboundProviderList"},"OutboundProviderView":{"properties":{"provider":{"type":"string","title":"Provider"},"label":{"type":"string","title":"Label"},"configured":{"type":"boolean","title":"Configured","description":"Whether this deployment has credentials for it."},"connected":{"type":"boolean","title":"Connected","default":false},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"connected_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connected At"},"revoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked At"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["provider","label","configured"],"title":"OutboundProviderView","description":"One provider as the settings screen shows it. No endpoints, no credentials."},"PartyCreateRequest":{"properties":{"kind":{"type":"string","enum":["contact","org","farm","team"],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"}},"type":"object","required":["kind"],"title":"PartyCreateRequest"},"PartyListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PartyResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"PartyListResponse"},"PartyMergeRequest":{"properties":{"other_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Other Ids"}},"type":"object","required":["other_ids"],"title":"PartyMergeRequest","description":"Merge the listed parties into the path party (the survivor)."},"PartyResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"is_external":{"type":"boolean","title":"Is External","default":false},"direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"available_channels":{"items":{"type":"string"},"type":"array","title":"Available Channels"}},"type":"object","required":["id","namespace_id","kind"],"title":"PartyResponse"},"PartyUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["contact","org","farm","team"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"}},"type":"object","title":"PartyUpdateRequest"},"PendingApplicationCountsResponse":{"properties":{"invitations":{"type":"integer","title":"Invitations","default":0},"applications_on_my_jobs":{"type":"integer","title":"Applications On My Jobs","default":0},"my_applications":{"type":"integer","title":"My Applications","default":0},"total":{"type":"integer","title":"Total","default":0}},"type":"object","title":"PendingApplicationCountsResponse","description":"Pending application/invitation badge counts for the personal namespace."},"PendingConnectionCountResponse":{"properties":{"count":{"type":"integer","title":"Count"}},"type":"object","required":["count"],"title":"PendingConnectionCountResponse","description":"Incoming pending request count (sidebar badge)."},"PingenWebhookResponse":{"properties":{"updated":{"type":"integer","title":"Updated"}},"type":"object","required":["updated"],"title":"PingenWebhookResponse"},"PlaceAtResponse":{"properties":{"place":{"anyOf":[{"$ref":"#/components/schemas/PlaceResponse"},{"type":"null"}]},"nearby":{"items":{"$ref":"#/components/schemas/PlaceResponse"},"type":"array","title":"Nearby"}},"type":"object","title":"PlaceAtResponse","description":"Where the farmer is standing, and what is around him."},"PlaceAttributeCatalogEntry":{"properties":{"key":{"type":"string","title":"Key"},"facet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facet"},"group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group"},"label_de":{"type":"string","title":"Label De"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hint"}},"type":"object","required":["key","label_de"],"title":"PlaceAttributeCatalogEntry"},"PlaceAttributeCatalogResponse":{"properties":{"profile":{"items":{"$ref":"#/components/schemas/PlaceAttributeCatalogEntry"},"type":"array","title":"Profile"},"event_extras":{"items":{"$ref":"#/components/schemas/PlaceAttributeCatalogEntry"},"type":"array","title":"Event Extras"}},"type":"object","title":"PlaceAttributeCatalogResponse"},"PlaceCreateRequest":{"properties":{"kind":{"type":"string","enum":["field","building","parcel","point","region"],"title":"Kind","default":"point"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"egrid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Egrid"},"area_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area Ha"}},"type":"object","title":"PlaceCreateRequest"},"PlaceDetailPayload":{"properties":{"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"egrid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Egrid"},"area_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area Ha"}},"type":"object","title":"PlaceDetailPayload"},"PlaceEventCreateRequest":{"properties":{"event_type":{"type":"string","title":"Event Type"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string"}],"title":"Occurred At"},"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string"},{"type":"null"}],"title":"Ends At"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"phase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phase"},"scenario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"}},"additionalProperties":true,"type":"object","required":["event_type","occurred_at"],"title":"PlaceEventCreateRequest"},"PlaceEventResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"place_id":{"type":"string","format":"uuid","title":"Place Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"origin":{"type":"string","title":"Origin","default":"user"},"work_item_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Work Item Ref"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"}},"type":"object","required":["id","place_id"],"title":"PlaceEventResponse"},"PlaceEventUpdateRequest":{"properties":{"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string"},{"type":"null"}],"title":"Ends At"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string"},{"type":"null"}],"title":"Occurred At"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"}},"additionalProperties":true,"type":"object","title":"PlaceEventUpdateRequest"},"PlaceForecastDay":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"t_min_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Min C"},"t_max_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Max C"},"t_min_q10_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Min Q10 C"},"t_max_q90_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Max Q90 C"},"precip_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Mm"},"precip_q10_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Q10 Mm"},"precip_q90_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Q90 Mm"},"symbol_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol Text"},"symbol_emoji":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Symbol Emoji"}},"type":"object","required":["day"],"title":"PlaceForecastDay","description":"One forecast day. The band is the honest part.\n\n``t_min_c``/``t_max_c`` are the median line; ``t_min_q10_c``/``t_max_q90_c``\nare the coldest and warmest the hourly ensemble allows for that day. Drawing\nthe line without the band reads as a certainty nine days out nobody has."},"PlaceForecastResponse":{"properties":{"source":{"type":"string","title":"Source","default":"meteoswiss"},"reference_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reference Time"},"point_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Point Name"},"point_distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Point Distance Km"},"from_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"From At"},"to_at":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"To At"},"days":{"items":{"$ref":"#/components/schemas/PlaceForecastDay"},"type":"array","title":"Days"},"windows":{"items":{"$ref":"#/components/schemas/PlaceForecastWindow"},"type":"array","title":"Windows"}},"type":"object","title":"PlaceForecastResponse","description":"The next nine days over the place's own point."},"PlaceForecastWindow":{"properties":{"kind":{"type":"string","title":"Kind"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"hours":{"type":"integer","title":"Hours"}},"type":"object","required":["kind","start","end","hours"],"title":"PlaceForecastWindow","description":"A run of hours sharing a condition worth planning around.\n\n``kind`` is one of ``rain_free``, ``spray_conditions``, ``drying`` or\n``frost_risk``. These report conditions, never permission: whether a product\nmay go out is settled by its label and the ChemRRV buffers, not by wind speed."},"PlaceImageryRequest":{"properties":{"date":{"type":"string","title":"Date"}},"type":"object","required":["date"],"title":"PlaceImageryRequest"},"PlaceIndexPoint":{"properties":{"from_day":{"type":"string","format":"date","title":"From Day"},"to_day":{"type":"string","format":"date","title":"To Day"},"mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mean"},"p25":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P25"},"p50":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P50"},"p75":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P75"},"minimum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum"},"maximum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum"},"sample_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sample Count"}},"type":"object","required":["from_day","to_day"],"title":"PlaceIndexPoint","description":"One aggregation interval of a vegetation index.\n\nAn interval with no usable satellite pass is absent from the series rather\nthan present with nulls: the drawing must show a gap, not a dip."},"PlaceIndexSeries":{"properties":{"index":{"type":"string","title":"Index"},"interval":{"type":"string","title":"Interval"},"intervals_expected":{"type":"integer","title":"Intervals Expected"},"complete":{"type":"boolean","title":"Complete"},"points":{"items":{"$ref":"#/components/schemas/PlaceIndexPoint"},"type":"array","title":"Points"}},"type":"object","required":["index","interval","intervals_expected","complete"],"title":"PlaceIndexSeries"},"PlaceIndicesResponse":{"properties":{"from_at":{"type":"string","format":"date","title":"From At"},"to_at":{"type":"string","format":"date","title":"To At"},"source":{"type":"string","title":"Source","default":"sentinel"},"series":{"items":{"$ref":"#/components/schemas/PlaceIndexSeries"},"type":"array","title":"Series"}},"type":"object","required":["from_at","to_at"],"title":"PlaceIndicesResponse","description":"Index trajectories for a parcel over a named window."},"PlaceListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PlaceResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"PlaceListResponse"},"PlaceMergeRequest":{"properties":{"other_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Other Ids"},"confirm_distinct_official":{"type":"boolean","title":"Confirm Distinct Official","default":false}},"type":"object","required":["other_ids"],"title":"PlaceMergeRequest"},"PlaceMergeSuggestion":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"kind":{"type":"string","title":"Kind"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"reason":{"type":"string","enum":["contained","nearby"],"title":"Reason"},"distance_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance M"},"identifikator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identifikator"},"lnf_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lnf Code"}},"type":"object","required":["id","kind","reason"],"title":"PlaceMergeSuggestion"},"PlacePackStatus":{"properties":{"eligible":{"type":"boolean","title":"Eligible","default":false},"skip_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skip Reason"},"can_refresh":{"type":"boolean","title":"Can Refresh","default":false},"refresh_blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Blocked Reason"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"At"},"last_scene_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Scene Date"},"auto_refresh_on_geometry_change":{"type":"boolean","title":"Auto Refresh On Geometry Change","default":false},"manual_refresh_cost_millicredits":{"type":"integer","title":"Manual Refresh Cost Millicredits","default":0}},"type":"object","title":"PlacePackStatus","description":"Derived provenance for the location pack. Computed per response, never stored.\n\nThe client used to re-derive eligibility from a partial copy of the rules in\n``pack.py`` and got it wrong (it ignored lat/lon), so the refresh action could\nenable itself and then fail. This is the single source of truth instead."},"PlaceRelatedGroup":{"properties":{"count":{"type":"integer","title":"Count","default":0},"items":{"items":{"$ref":"#/components/schemas/PlaceRelatedItem"},"type":"array","title":"Items"}},"type":"object","title":"PlaceRelatedGroup"},"PlaceRelatedItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"plane":{"type":"string","title":"Plane"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"}},"type":"object","required":["id","plane","kind"],"title":"PlaceRelatedItem"},"PlaceRelatedResponse":{"properties":{"places":{"$ref":"#/components/schemas/PlaceRelatedGroup"},"activities":{"$ref":"#/components/schemas/PlaceRelatedGroup"},"assets":{"$ref":"#/components/schemas/PlaceRelatedGroup"},"records":{"$ref":"#/components/schemas/PlaceRelatedGroup"},"parties":{"$ref":"#/components/schemas/PlaceRelatedGroup"},"media":{"$ref":"#/components/schemas/PlaceRelatedGroup"},"measurements":{"$ref":"#/components/schemas/PlaceRelatedGroup"}},"type":"object","title":"PlaceRelatedResponse"},"PlaceResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"is_external":{"type":"boolean","title":"Is External","default":false},"direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"detail":{"anyOf":[{"$ref":"#/components/schemas/PlaceDetailPayload"},{"type":"null"}]},"pack":{"anyOf":[{"$ref":"#/components/schemas/PlacePackStatus"},{"type":"null"}]},"absorbed":{"type":"boolean","title":"Absorbed","default":false},"suggested_merges":{"items":{"$ref":"#/components/schemas/PlaceMergeSuggestion"},"type":"array","title":"Suggested Merges"}},"type":"object","required":["id","namespace_id","kind"],"title":"PlaceResponse"},"PlaceSeriesMeasures":{"properties":{"crop_key":{"type":"string","title":"Crop Key"},"crop_label_de":{"type":"string","title":"Crop Label De"},"anchor_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Anchor Event Id"},"anchor_from":{"type":"string","format":"date","title":"Anchor From"},"temperature_sum_c":{"type":"number","title":"Temperature Sum C"},"maturity_reached":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Maturity Reached"},"rain_mm":{"type":"number","title":"Rain Mm"},"et0_mm":{"type":"number","title":"Et0 Mm"},"water_balance_mm":{"type":"number","title":"Water Balance Mm"},"irrigation_mm":{"type":"number","title":"Irrigation Mm","default":0.0},"days_counted":{"type":"integer","title":"Days Counted"},"days_missing":{"type":"integer","title":"Days Missing"},"complete":{"type":"boolean","title":"Complete"},"source":{"type":"string","title":"Source"}},"type":"object","required":["crop_key","crop_label_de","anchor_from","temperature_sum_c","rain_mm","et0_mm","water_balance_mm","days_counted","days_missing","complete","source"],"title":"PlaceSeriesMeasures","description":"Accumulations anchored to an event in the place's own record.\n\nAbsent entirely when the crop cannot be identified: a temperature sum needs a\nbase temperature, and the wrong base gives a confident wrong number."},"PlaceSeriesResponse":{"properties":{"from_at":{"type":"string","format":"date","title":"From At"},"to_at":{"type":"string","format":"date","title":"To At"},"source":{"type":"string","title":"Source"},"granularity":{"type":"string","title":"Granularity"},"rows_expected":{"type":"integer","title":"Rows Expected"},"rows_received":{"type":"integer","title":"Rows Received"},"complete":{"type":"boolean","title":"Complete"},"rows":{"items":{"$ref":"#/components/schemas/PlaceSeriesRow"},"type":"array","title":"Rows"},"measures":{"anyOf":[{"$ref":"#/components/schemas/PlaceSeriesMeasures"},{"type":"null"}]}},"type":"object","required":["from_at","to_at","source","granularity","rows_expected","rows_received","complete"],"title":"PlaceSeriesResponse","description":"Daily rows plus what they add up to, with the gaps stated."},"PlaceSeriesRow":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"t_min_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Min C"},"t_max_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Max C"},"t_mean_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T Mean C"},"precip_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Mm"},"et0_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Et0 Mm"},"soil_temp_5cm_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soil Temp 5Cm C"},"soil_temp_10cm_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soil Temp 10Cm C"},"soil_temp_20cm_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Soil Temp 20Cm C"}},"type":"object","required":["day"],"title":"PlaceSeriesRow","description":"One day of weather. A missing field is absent, never zero."},"PlaceSplitPart":{"properties":{"geometry":{"additionalProperties":true,"type":"object","title":"Geometry"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"crop":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crop"}},"type":"object","required":["geometry"],"title":"PlaceSplitPart","description":"One piece the farmer cut out of a place."},"PlaceSplitRequest":{"properties":{"parts":{"items":{"$ref":"#/components/schemas/PlaceSplitPart"},"type":"array","minItems":2,"title":"Parts"}},"type":"object","required":["parts"],"title":"PlaceSplitRequest","description":"Divide a place into working fields, leaving its declaration alone."},"PlaceSplitResponse":{"properties":{"parts":{"items":{"$ref":"#/components/schemas/PlaceResponse"},"type":"array","title":"Parts"}},"type":"object","title":"PlaceSplitResponse"},"PlaceSummaryResponse":{"properties":{"from":{"type":"string","format":"date-time","title":"From"},"to":{"type":"string","format":"date-time","title":"To"},"weather_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Weather From"},"weather_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Weather To"},"rain_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rain Mm"},"temperature_sum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature Sum"},"et0_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Et0 Mm"},"n_kg_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"N Kg Ha"},"p_kg_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"P Kg Ha"},"k_kg_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"K Kg Ha"},"irrigation_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Irrigation Mm"},"hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hours"},"rain_mm_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rain Mm At"},"temperature_mean_at":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature Mean At"}},"type":"object","required":["from","to"],"title":"PlaceSummaryResponse"},"PlaceTimelineItem":{"properties":{"id":{"type":"string","title":"Id"},"lane":{"type":"string","title":"Lane"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"},"title":{"type":"string","title":"Title"},"phase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phase"},"scenario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario"},"source":{"type":"string","title":"Source"},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"color_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color Key"},"work_item_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Work Item Ref"},"detail":{"additionalProperties":true,"type":"object","title":"Detail"}},"type":"object","required":["id","lane","start","title","source"],"title":"PlaceTimelineItem"},"PlaceTimelineResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PlaceTimelineItem"},"type":"array","title":"Items"},"ticks":{"items":{"$ref":"#/components/schemas/PlaceTimelineTick"},"type":"array","title":"Ticks"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","title":"PlaceTimelineResponse"},"PlaceTimelineTick":{"properties":{"date":{"type":"string","title":"Date"},"kind":{"type":"string","title":"Kind","default":"scene"}},"type":"object","required":["date"],"title":"PlaceTimelineTick"},"PlaceUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["field","building","parcel","point","region"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lon"},"postal_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postal Code"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"},"geometry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Geometry"},"egrid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Egrid"},"area_ha":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area Ha"}},"type":"object","title":"PlaceUpdateRequest"},"PlanAcceptRequest":{"properties":{"key":{"type":"string","maxLength":200,"minLength":1,"title":"Key"},"skip":{"items":{"type":"string"},"type":"array","maxItems":500,"title":"Skip"}},"type":"object","required":["key"],"title":"PlanAcceptRequest","description":"Adopt a plan row; ``skip`` names effects he leaves out of the preview."},"PlanFigure":{"properties":{"label":{"type":"string","title":"Label"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"type":"string","title":"Unit","default":""}},"type":"object","required":["label"],"title":"PlanFigure","description":"One headline figure of a plan row, as its calculation names it."},"PlanRetractResponse":{"properties":{"entry_id":{"type":"string","title":"Entry Id"},"withdrawn":{"type":"integer","title":"Withdrawn"},"kept":{"type":"integer","title":"Kept","description":"Rows he changed since; they stay his"}},"type":"object","required":["entry_id","withdrawn","kept"],"title":"PlanRetractResponse"},"PlanVariantChoice":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"chosen_at":{"type":"string","format":"date-time","title":"Chosen At"},"chosen_by":{"type":"string","enum":["user","agent"],"title":"Chosen By","default":"user"}},"type":"object","required":["key","label","chosen_at"],"title":"PlanVariantChoice"},"PlanVariantOption":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"art":{"type":"string","enum":["heute","plan","variante"],"title":"Art"},"ziel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ziel"},"figures":{"items":{"$ref":"#/components/schemas/PlanFigure"},"type":"array","title":"Figures"},"effects":{"type":"integer","title":"Effects","default":0},"futterkosten_chf_kuh_tag":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Futterkosten Chf Kuh Tag"},"milch_minus_futter_chf_kuh_tag":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Milch Minus Futter Chf Kuh Tag"},"kraftfutter_kg_fs_je_kuh":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Kraftfutter Kg Fs Je Kuh"}},"type":"object","required":["key","label","art"],"title":"PlanVariantOption","description":"A row of a plan he can adopt: his practice today, the plan, or a variant."},"PlanVariantRequest":{"properties":{"key":{"type":"string","maxLength":200,"minLength":1,"title":"Key","description":"heute, plan, or a variant's name"}},"type":"object","required":["key"],"title":"PlanVariantRequest"},"PlanVariantsState":{"properties":{"entry_id":{"type":"string","title":"Entry Id"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"options":{"items":{"$ref":"#/components/schemas/PlanVariantOption"},"type":"array","title":"Options"},"chosen":{"anyOf":[{"$ref":"#/components/schemas/PlanVariantChoice"},{"type":"null"}]},"chosen_missing":{"type":"boolean","title":"Chosen Missing","description":"The adopted row is no longer in the plan's latest calculation","default":false},"sheets":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Sheets","description":"Stallblatt entry id → its living document id (None until written)"},"adopted_rows":{"type":"integer","title":"Adopted Rows","description":"Rows in his farm written by the adopted row (Übernehmen)","default":0}},"type":"object","required":["entry_id"],"title":"PlanVariantsState","description":"A plan's adoptable rows, the one adopted, and the Stallblätter that follow it."},"PortalResponse":{"properties":{"url":{"type":"string","title":"Url","description":"Portal URL to redirect to"}},"type":"object","required":["url"],"title":"PortalResponse","description":"Response from customer portal creation."},"PostSearchResult":{"properties":{"id":{"type":"string","title":"Id"},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"}},"type":"object","required":["id"],"title":"PostSearchResult","description":"Nearby public post (article) search hit — id-first for FE ranking."},"PostalAddress":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"company":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Company"},"street":{"type":"string","maxLength":160,"minLength":1,"title":"Street"},"postal_code":{"type":"string","maxLength":16,"minLength":1,"title":"Postal Code"},"city":{"type":"string","maxLength":120,"minLength":1,"title":"City"},"country":{"type":"string","maxLength":2,"minLength":2,"title":"Country","default":"CH"}},"type":"object","required":["name","street","postal_code","city"],"title":"PostalAddress","description":"Structured recipient address for the Pingen address window."},"PostalCheckoutRequest":{"properties":{"source_kind":{"type":"string","enum":["letter","document"],"title":"Source Kind"},"source_id":{"type":"string","format":"uuid","title":"Source Id"},"recipient":{"$ref":"#/components/schemas/PostalRecipientRequest"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"quoted_final_price_chf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quoted Final Price Chf"}},"type":"object","required":["source_kind","source_id","recipient"],"title":"PostalCheckoutRequest"},"PostalCheckoutResponse":{"properties":{"url":{"type":"string","title":"Url"},"letter_id":{"type":"string","format":"uuid","title":"Letter Id"},"final_price_chf":{"type":"number","title":"Final Price Chf"},"currency":{"type":"string","title":"Currency","default":"CHF"}},"type":"object","required":["url","letter_id","final_price_chf"],"title":"PostalCheckoutResponse"},"PostalQuoteRequest":{"properties":{"source_kind":{"type":"string","enum":["letter","document"],"title":"Source Kind"},"source_id":{"type":"string","format":"uuid","title":"Source Id"},"recipient":{"$ref":"#/components/schemas/PostalRecipientRequest"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},"type":"object","required":["source_kind","source_id","recipient"],"title":"PostalQuoteRequest"},"PostalQuoteResponse":{"properties":{"pages":{"type":"integer","title":"Pages"},"pingen_price_chf":{"type":"number","title":"Pingen Price Chf"},"final_price_chf":{"type":"number","title":"Final Price Chf"},"currency":{"type":"string","title":"Currency","default":"CHF"},"recipient":{"$ref":"#/components/schemas/PostalAddress"}},"type":"object","required":["pages","pingen_price_chf","final_price_chf","recipient"],"title":"PostalQuoteResponse"},"PostalRecipientRequest":{"properties":{"contact_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Contact Id"},"address":{"anyOf":[{"$ref":"#/components/schemas/PostalAddress"},{"type":"null"}]}},"type":"object","title":"PostalRecipientRequest","description":"Recipient selection: an existing contact or a one-off / self address."},"PostalVerifySessionRequest":{"properties":{"session_id":{"type":"string","maxLength":200,"minLength":3,"title":"Session Id"}},"type":"object","required":["session_id"],"title":"PostalVerifySessionRequest"},"PostalVerifySessionResponse":{"properties":{"letter_id":{"type":"string","format":"uuid","title":"Letter Id"},"paid":{"type":"boolean","title":"Paid"},"delivery_status":{"type":"string","title":"Delivery Status"}},"type":"object","required":["letter_id","paid","delivery_status"],"title":"PostalVerifySessionResponse"},"ProductListingOut":{"properties":{"kind":{"type":"string","const":"product","title":"Kind","default":"product"},"id":{"type":"string","title":"Id"},"href":{"type":"string","title":"Href"},"title":{"type":"string","title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"imageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Imageurl"},"sellerName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellername"},"sellerHref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellerhref"},"sellerLocation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sellerlocation"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"distanceKm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distancekm"},"reactionScore":{"type":"integer","title":"Reactionscore","default":0},"commentCount":{"type":"integer","title":"Commentcount","default":0},"priceChf":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pricechf"},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"audience":{"anyOf":[{"type":"string","enum":["consumer","wholesale","both"]},{"type":"null"}],"title":"Audience"},"deliveryResponsibility":{"anyOf":[{"type":"string","enum":["seller","buyer"]},{"type":"null"}],"title":"Deliveryresponsibility"},"paymentUnit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paymentunit","description":"Set on a rental offer: the price is per hour, day, ha or flat."}},"type":"object","required":["id","href","title"],"title":"ProductListingOut"},"ProfileLocationRequest":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"}},"type":"object","required":["latitude","longitude"],"title":"ProfileLocationRequest","description":"Authoritative home-location write from client coordinates."},"ProfileLocationResponse":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"}},"type":"object","required":["latitude","longitude"],"title":"ProfileLocationResponse","description":"Saved home coordinates, echoed back after the write."},"ProfileUpdateRequest":{"properties":{"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name"},"street_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Street Name"},"street_number":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Street Number"},"postal_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Postal Code"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"canton":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Canton"},"company_description":{"anyOf":[{"type":"string","maxLength":3000},{"type":"null"}],"title":"Company Description"},"company_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Company Name"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country"},"avatar_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Avatar Url"},"farm_images":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Farm Images"},"farm_slug":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Farm Slug"},"public_page":{"anyOf":[{"$ref":"#/components/schemas/PublicPageContent"},{"type":"null"}]},"preferred_language":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Preferred Language"},"iban":{"anyOf":[{"type":"string","maxLength":34},{"type":"null"}],"title":"Iban"},"mwst_nummer":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Mwst Nummer"},"uid":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Uid","description":"eCH-0261 legalUnit UID (CHE-xxx.xxx.xxx), distinct from VAT"},"bur_number":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Bur Number","description":"eCH-0261 localUnit BUR-Nummer"},"farm_type":{"anyOf":[{"type":"string","maxLength":2,"pattern":"^[0-9]{2}$"},{"type":"null"}],"title":"Farm Type","description":"eCH-0261 farmType (01 Ganzjahresbetrieb, 02 Produktionsstätte, …)"},"agricultural_zone":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agricultural Zone","description":"LBV / GeoIV 149 LZ_Code (31 Talzone … 61 Sömmerungsgebiet)"},"parent_bur":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Parent Bur"},"parent_uid":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Parent Uid"},"betriebsnummer":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Betriebsnummer","description":"Cantonal Betriebsnummer display id (not BUR)"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","title":"ProfileUpdateRequest","description":"Non-location profile fields (update-only; signup insert stays on edge function)."},"ProfileUpdateResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true}},"type":"object","title":"ProfileUpdateResponse","description":"Acknowledgement after a profile field write."},"PublicPageContent":{"properties":{"tagline":{"anyOf":[{"type":"string","maxLength":140},{"type":"null"}],"title":"Tagline"},"notice":{"anyOf":[{"$ref":"#/components/schemas/PublicPageNotice"},{"type":"null"}]},"story":{"anyOf":[{"type":"string","maxLength":3000},{"type":"null"}],"title":"Story"},"highlights":{"items":{"$ref":"#/components/schemas/PublicPageHighlight"},"type":"array","maxItems":4,"title":"Highlights"},"hero_image":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Hero Image"},"gallery":{"items":{"$ref":"#/components/schemas/PublicPageImage"},"type":"array","maxItems":8,"title":"Gallery"},"generated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generated At"},"user_touched":{"type":"boolean","title":"User Touched","default":false},"sections":{"items":{"$ref":"#/components/schemas/PublicPageSection"},"type":"array","maxItems":24,"title":"Sections"},"theme":{"anyOf":[{"$ref":"#/components/schemas/PublicPageTheme"},{"type":"null"}]}},"type":"object","title":"PublicPageContent","description":"Structured public-page content for uely.ch/{farm_slug}."},"PublicPageCredential":{"properties":{"title":{"type":"string","maxLength":80,"minLength":1,"title":"Title"},"issuer":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Issuer"}},"type":"object","required":["title"],"title":"PublicPageCredential","description":"A qualification we cannot name a Swiss mark for: FVH, eidg. FA, ISO."},"PublicPageEvent":{"properties":{"title":{"type":"string","maxLength":80,"minLength":1,"title":"Title"},"starts_at":{"type":"string","maxLength":32,"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Ends At"},"body":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Body"},"url":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Url"}},"type":"object","required":["title","starts_at"],"title":"PublicPageEvent","description":"One dated happening people attend: Hoffest, Impftag, Weiterbildung."},"PublicPageHighlight":{"properties":{"title":{"type":"string","maxLength":80,"minLength":1,"title":"Title"},"body":{"type":"string","maxLength":800,"minLength":1,"title":"Body"}},"type":"object","required":["title","body"],"title":"PublicPageHighlight","description":"One highlight section on the public page."},"PublicPageHours":{"properties":{"day":{"type":"string","title":"Day"},"opens":{"type":"string","title":"Opens"},"closes":{"type":"string","title":"Closes"}},"type":"object","required":["day","opens","closes"],"title":"PublicPageHours","description":"One opening window. ``closed`` days are simply omitted."},"PublicPageImage":{"properties":{"url":{"type":"string","maxLength":512,"minLength":1,"title":"Url"},"caption":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Caption"}},"type":"object","required":["url"],"title":"PublicPageImage","description":"One curated gallery image on the public page."},"PublicPageMilestone":{"properties":{"year":{"type":"integer","maximum":2100.0,"minimum":1500.0,"title":"Year"},"month":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Month"},"title":{"type":"string","maxLength":80,"minLength":1,"title":"Title"},"body":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Body"},"founding":{"type":"boolean","title":"Founding","default":false}},"type":"object","required":["year","title"],"title":"PublicPageMilestone","description":"One dated entry in the account's history."},"PublicPageNewsItem":{"properties":{"date":{"type":"string","maxLength":32,"title":"Date"},"title":{"type":"string","maxLength":80,"minLength":1,"title":"Title"},"body":{"anyOf":[{"type":"string","maxLength":800},{"type":"null"}],"title":"Body"},"image_url":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Image Url"}},"type":"object","required":["date","title"],"title":"PublicPageNewsItem","description":"One dated entry. Inline only: these share the page's canonical URL."},"PublicPageNotice":{"properties":{"text":{"type":"string","maxLength":200,"minLength":1,"title":"Text"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["text","updated_at"],"title":"PublicPageNotice","description":"Homepage-only short notice shown as «Aktuell»."},"PublicPagePerson":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"role":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Role"},"image_url":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Image Url"},"note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Note"}},"type":"object","required":["name"],"title":"PublicPagePerson","description":"One person on the page. Works for a Praxis, a Kanzlei or a Betrieb."},"PublicPageQuestion":{"properties":{"question":{"type":"string","maxLength":200,"minLength":1,"title":"Question"},"answer":{"type":"string","maxLength":800,"minLength":1,"title":"Answer"}},"type":"object","required":["question","answer"],"title":"PublicPageQuestion","description":"One question and its answer."},"PublicPageSeasonRow":{"properties":{"product":{"type":"string","maxLength":60,"minLength":1,"title":"Product"},"months":{"items":{"type":"integer"},"type":"array","maxItems":12,"title":"Months"}},"type":"object","required":["product"],"title":"PublicPageSeasonRow","description":"One product and the months it is available.\n\nFree-text product names on purpose: binding this to listing ids would make\nthe table dangle the moment a listing is deleted, and listings are live\ndata that never gets stored on the page."},"PublicPageSection":{"properties":{"key":{"type":"string","maxLength":32,"title":"Key"},"kind":{"type":"string","title":"Kind"},"variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Variant"},"tagline":{"anyOf":[{"type":"string","maxLength":140},{"type":"null"}],"title":"Tagline"},"hero_image":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Hero Image"},"text":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Text"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"body":{"anyOf":[{"type":"string","maxLength":3000},{"type":"null"}],"title":"Body"},"highlights":{"items":{"$ref":"#/components/schemas/PublicPageHighlight"},"type":"array","maxItems":4,"title":"Highlights"},"gallery":{"items":{"$ref":"#/components/schemas/PublicPageImage"},"type":"array","maxItems":8,"title":"Gallery"},"heading":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Heading"},"services":{"items":{"$ref":"#/components/schemas/PublicPageService"},"type":"array","maxItems":8,"title":"Services"},"cantons":{"items":{"type":"string"},"type":"array","maxItems":26,"title":"Cantons"},"radius_km":{"anyOf":[{"type":"integer","maximum":300.0,"minimum":1.0},{"type":"null"}],"title":"Radius Km"},"hours":{"items":{"$ref":"#/components/schemas/PublicPageHours"},"type":"array","maxItems":14,"title":"Hours"},"emergency_note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Emergency Note"},"self_service":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Self Service"},"trust_box":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Trust Box"},"payment":{"items":{"type":"string"},"type":"array","maxItems":4,"title":"Payment"},"parking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Parking"},"parking_note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Parking Note"},"transit_note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Transit Note"},"marks":{"items":{"type":"string"},"type":"array","maxItems":6,"title":"Marks"},"credentials":{"items":{"$ref":"#/components/schemas/PublicPageCredential"},"type":"array","maxItems":6,"title":"Credentials"},"languages":{"items":{"type":"string"},"type":"array","maxItems":5,"title":"Languages"},"links":{"items":{"$ref":"#/components/schemas/PublicPageSocialLink"},"type":"array","maxItems":8,"title":"Links"},"phone":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Email"},"people":{"items":{"$ref":"#/components/schemas/PublicPagePerson"},"type":"array","maxItems":12,"title":"People"},"milestones":{"items":{"$ref":"#/components/schemas/PublicPageMilestone"},"type":"array","maxItems":12,"title":"Milestones"},"rows":{"items":{"$ref":"#/components/schemas/PublicPageSeasonRow"},"type":"array","maxItems":20,"title":"Rows"},"news":{"items":{"$ref":"#/components/schemas/PublicPageNewsItem"},"type":"array","maxItems":12,"title":"News"},"questions":{"items":{"$ref":"#/components/schemas/PublicPageQuestion"},"type":"array","maxItems":12,"title":"Questions"},"events":{"items":{"$ref":"#/components/schemas/PublicPageEvent"},"type":"array","maxItems":8,"title":"Events"}},"type":"object","required":["key","kind"],"title":"PublicPageSection","description":"One authored block. ``key`` addresses it for partial edits and merges.\n\nContent fields are per kind (see ``_KIND_FIELDS``); fields that do not\nbelong to the kind are cleared rather than rejected, so a partial write\nwith a stray key still succeeds."},"PublicPageService":{"properties":{"title":{"type":"string","maxLength":80,"minLength":1,"title":"Title"},"body":{"type":"string","maxLength":400,"title":"Body","default":""},"price_hint":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Price Hint"}},"type":"object","required":["title"],"title":"PublicPageService","description":"One offered service. What a Lohnunternehmen or a practice actually sells."},"PublicPageSocialLink":{"properties":{"platform":{"type":"string","title":"Platform"},"url":{"type":"string","maxLength":512,"title":"Url"}},"type":"object","required":["platform","url"],"title":"PublicPageSocialLink","description":"One profile link. The host must match the platform, so the enum cannot\nbe used to smuggle an arbitrary URL onto the page."},"PublicPageTheme":{"properties":{"accent":{"type":"string","title":"Accent","default":"default"},"width":{"type":"string","title":"Width","default":"condensed"}},"type":"object","title":"PublicPageTheme","description":"Accent and display width, both drawn from closed sets of existing tokens."},"PublicTeamListItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_public":{"type":"boolean","title":"Is Public"},"max_members":{"type":"integer","title":"Max Members"},"member_count":{"type":"integer","title":"Member Count"},"admin_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Username"}},"type":"object","required":["id","name","description","is_public","max_members","member_count"],"title":"PublicTeamListItem","description":"Public team a signed-in user can join, with counts RLS would hide."},"PublicTeamListResponse":{"properties":{"teams":{"items":{"$ref":"#/components/schemas/PublicTeamListItem"},"type":"array","title":"Teams"}},"type":"object","required":["teams"],"title":"PublicTeamListResponse","description":"Public-team search result."},"RankComponentsOut":{"properties":{"proximity":{"type":"number","title":"Proximity"},"recency":{"type":"number","title":"Recency"},"completeness":{"type":"number","title":"Completeness"},"popularity":{"type":"number","title":"Popularity"},"audience_affinity":{"type":"number","title":"Audience Affinity"}},"type":"object","required":["proximity","recency","completeness","popularity","audience_affinity"],"title":"RankComponentsOut"},"RankOut":{"properties":{"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance Km"},"components":{"anyOf":[{"$ref":"#/components/schemas/RankComponentsOut"},{"type":"null"}]}},"type":"object","title":"RankOut"},"ReactionRequest":{"properties":{"reaction":{"type":"string","enum":["like","upvote","downvote"],"title":"Reaction","default":"like"}},"type":"object","title":"ReactionRequest"},"ReactionStateListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReactionStateResponse"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"ReactionStateListResponse","description":"Viewer reaction state for many entities at once.\n\nA feed renders one vote control per row, and asking per row cost one HTTP\nrequest per post — 50 posts meant 50 requests behind a 30/min rate limit, and\na single vote re-fetched the lot. One request per page instead."},"ReactionStateResponse":{"properties":{"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"plane":{"type":"string","enum":["party","place","asset","activity","message","record","transaction","media"],"title":"Plane"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"viewer_reactions":{"items":{"type":"string","enum":["like","upvote","downvote"]},"type":"array","title":"Viewer Reactions"}},"type":"object","required":["entity_id","plane"],"title":"ReactionStateResponse"},"ReactionToggleResponse":{"properties":{"reacted":{"type":"boolean","title":"Reacted"},"reaction":{"anyOf":[{"type":"string","enum":["like","upvote","downvote"]},{"type":"null"}],"title":"Reaction"},"reaction_score":{"type":"integer","title":"Reaction Score"},"viewer_reactions":{"items":{"type":"string","enum":["like","upvote","downvote"]},"type":"array","title":"Viewer Reactions"}},"type":"object","required":["reacted","reaction_score"],"title":"ReactionToggleResponse"},"ReasoningMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"reasoning","title":"Role","default":"reasoning"},"content":{"type":"string","title":"Content"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"}},"additionalProperties":true,"type":"object","required":["id","content"],"title":"ReasoningMessage","description":"A reasoning message containing the agent's internal reasoning process."},"RecordCreateRequest":{"properties":{"kind":{"type":"string","enum":["ledger","report","advice","kpi_report","freeform","briefing","kpi_definition","measurement","event","obligation"],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"source_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Entity Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"metric":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"observed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observed At"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["kind"],"title":"RecordCreateRequest"},"RecordListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RecordResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"RecordListResponse"},"RecordResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"direction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"measurement":{"anyOf":[{"$ref":"#/components/schemas/MeasurementDetailPayload"},{"type":"null"}]},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"library_match":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Library Match"}},"type":"object","required":["id","namespace_id","kind"],"title":"RecordResponse"},"RecordUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["ledger","report","advice","kpi_report","freeform","briefing","kpi_definition","measurement","event","obligation"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"metric":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"observed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observed At"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"instruction":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Instruction"}},"type":"object","title":"RecordUpdateRequest"},"ReferralSummaryResponse":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"reward_akh":{"type":"number","title":"Reward Akh"},"invited":{"type":"integer","title":"Invited"},"granted":{"type":"integer","title":"Granted"},"akh_credited":{"type":"number","title":"Akh Credited"}},"type":"object","required":["enabled","reward_akh","invited","granted","akh_credited"],"title":"ReferralSummaryResponse","description":"Counts for the referral section on the billing page."},"ResearchAccepted":{"properties":{"job_id":{"type":"string","title":"Job Id","description":"Poll GET /research/{job_id} for the report."},"status":{"type":"string","title":"Status","description":"queued"},"poll":{"type":"string","title":"Poll","description":"The path to poll."}},"type":"object","required":["job_id","status","poll"],"title":"ResearchAccepted"},"ResearchRequest":{"properties":{"question":{"type":"string","maxLength":2000,"minLength":3,"title":"Question","description":"What to research. Any language; the report comes back in German."}},"type":"object","required":["question"],"title":"ResearchRequest"},"ResearchStatus":{"properties":{"job_id":{"type":"string","title":"Job Id"},"status":{"type":"string","title":"Status","description":"queued | running | succeeded | failed"},"question":{"type":"string","title":"Question"},"created_at":{"type":"string","title":"Created At"},"report":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report","description":"Present once status is succeeded."},"citations":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Citations","description":"The sources the report drew on."},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Present once status is failed."}},"type":"object","required":["job_id","status","question","created_at"],"title":"ResearchStatus"},"ResendWebhookResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"letter_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Letter Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"skipped":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skipped"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["success"],"title":"ResendWebhookResponse","description":"Response for Resend webhook endpoints."},"ResetNamespaceResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"new_namespace_id":{"type":"string","title":"New Namespace Id"}},"type":"object","required":["success","new_namespace_id"],"title":"ResetNamespaceResponse","description":"Response after resetting namespace."},"ResumeEntry":{"properties":{"interruptId":{"type":"string","title":"Interruptid"},"status":{"type":"string","enum":["resolved","cancelled"],"title":"Status"},"payload":{"anyOf":[{},{"type":"null"}],"title":"Payload"}},"additionalProperties":true,"type":"object","required":["interruptId","status"],"title":"ResumeEntry","description":"A per-interrupt response in the resume array of a RunAgentInput."},"RunAgentInput":{"properties":{"threadId":{"type":"string","title":"Threadid"},"runId":{"type":"string","title":"Runid"},"parentRunId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentrunid"},"state":{"title":"State"},"messages":{"items":{"oneOf":[{"$ref":"#/components/schemas/DeveloperMessage"},{"$ref":"#/components/schemas/SystemMessage"},{"$ref":"#/components/schemas/AssistantMessage"},{"$ref":"#/components/schemas/UserMessage"},{"$ref":"#/components/schemas/ToolMessage"},{"$ref":"#/components/schemas/ActivityMessage"},{"$ref":"#/components/schemas/ReasoningMessage"}],"discriminator":{"propertyName":"role","mapping":{"activity":"#/components/schemas/ActivityMessage","assistant":"#/components/schemas/AssistantMessage","developer":"#/components/schemas/DeveloperMessage","reasoning":"#/components/schemas/ReasoningMessage","system":"#/components/schemas/SystemMessage","tool":"#/components/schemas/ToolMessage","user":"#/components/schemas/UserMessage"}}},"type":"array","title":"Messages"},"tools":{"items":{"$ref":"#/components/schemas/Tool"},"type":"array","title":"Tools"},"context":{"items":{"$ref":"#/components/schemas/Context"},"type":"array","title":"Context"},"forwardedProps":{"title":"Forwardedprops"},"resume":{"anyOf":[{"items":{"$ref":"#/components/schemas/ResumeEntry"},"type":"array"},{"type":"null"}],"title":"Resume"}},"additionalProperties":true,"type":"object","required":["threadId","runId","state","messages","tools","context","forwardedProps"],"title":"RunAgentInput","description":"Input for running an agent."},"SaidSource":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"text":{"type":"string","title":"Text"},"created_at":{"type":"string","title":"Created At"},"verbatim":{"type":"boolean","title":"Verbatim","default":true}},"type":"object","required":["id","label","text","created_at"],"title":"SaidSource","description":"A chat source: what the farmer said about the farm, kept as a Quelle."},"SeedExampleDataResponse":{"properties":{"seeded":{"type":"boolean","title":"Seeded","description":"True when this call created example data"},"already_seeded":{"type":"boolean","title":"Already Seeded","description":"True when example_data_seeded_at was already set"},"created":{"additionalProperties":{"type":"integer"},"type":"object","title":"Created","description":"Counts of created items by kind (documents, products, jobs, teams, letters, places, needs, animals, tools, kpis, bookings, contacts, team_messages)"},"failed":{"type":"integer","title":"Failed","description":"Example items that could not be created. Non-zero means the seed only partly worked: the per-item handlers log and continue, so `seeded` alone overstates it.","default":0}},"type":"object","required":["seeded","already_seeded"],"title":"SeedExampleDataResponse","description":"Result of a seed attempt (idempotent)."},"SendMessageRequest":{"properties":{"channel":{"anyOf":[{"type":"string","enum":["in_app","email","postal","other"]},{"type":"null"}],"title":"Channel","description":"Optional channel override; otherwise chosen from counterparty keys"}},"type":"object","title":"SendMessageRequest"},"SendMessageResponse":{"properties":{"message":{"$ref":"#/components/schemas/MessageResponse"},"channel":{"type":"string","enum":["in_app","email","postal","other"],"title":"Channel"},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"},"recipient_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Recipient Entity Id"}},"type":"object","required":["message","channel"],"title":"SendMessageResponse"},"SignupSessionResponse":{"properties":{"status":{"type":"string","title":"Status","description":"checkout_pending | checkout_expired | payment_confirmed | password_required | password_email_failed | ready_for_oauth"}},"type":"object","required":["status"],"title":"SignupSessionResponse"},"SourceCategoryRequest":{"properties":{"category":{"type":"string","maxLength":64,"title":"Category"}},"type":"object","required":["category"],"title":"SourceCategoryRequest","description":"Move an upload to another Fach on Dokumente. ``\"\"`` is \"Ohne Fach\"."},"SourceCategoryResponse":{"properties":{"id":{"type":"string","title":"Id"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"category_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category By"}},"type":"object","required":["id"],"title":"SourceCategoryResponse"},"SourceImpactResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"remove":{"type":"integer","title":"Remove"},"shared":{"type":"integer","title":"Shared"},"touched":{"type":"integer","title":"Touched"},"rows":{"items":{"$ref":"#/components/schemas/SourceImpactRow"},"type":"array","title":"Rows"}},"type":"object","required":["available","remove","shared","touched"],"title":"SourceImpactResponse","description":"What deleting a source removes and keeps («Daraus entstanden»)."},"SourceImpactRow":{"properties":{"entity_id":{"type":"string","title":"Entity Id"},"plane":{"type":"string","title":"Plane"},"kind":{"type":"string","title":"Kind"},"title":{"type":"string","title":"Title"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"outcome":{"type":"string","title":"Outcome"}},"type":"object","required":["entity_id","plane","kind","title","outcome"],"title":"SourceImpactRow","description":"One row a source backs, and what deleting the source does to it."},"SourcePreviewItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"},"page_count":{"type":"integer","title":"Page Count","default":0}},"type":"object","required":["id"],"title":"SourcePreviewItem","description":"First-page preview for one uploaded source."},"SourcePreviewsRequest":{"properties":{"ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":50,"minItems":1,"title":"Ids"}},"type":"object","required":["ids"],"title":"SourcePreviewsRequest","description":"Batch request for first-page preview URLs."},"SourcePreviewsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SourcePreviewItem"},"type":"array","title":"Items"}},"type":"object","title":"SourcePreviewsResponse","description":"Batch first-page previews for uploaded sources."},"SourceUrlResponse":{"properties":{"url":{"type":"string","title":"Url"},"expires_in":{"type":"integer","title":"Expires In","description":"URL lifetime in seconds","default":900},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"},"page_urls":{"items":{"type":"string"},"type":"array","title":"Page Urls"},"page_count":{"type":"integer","title":"Page Count","default":0}},"type":"object","required":["url"],"title":"SourceUrlResponse","description":"Short-lived presigned URL for a source original and optional page previews."},"StartSignupRequest":{"properties":{"email":{"type":"string","maxLength":320,"minLength":3,"title":"Email"},"plan":{"type":"string","maxLength":32,"minLength":1,"title":"Plan"}},"type":"object","required":["email","plan"],"title":"StartSignupRequest"},"StartSignupResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"checkout_url":{"type":"string","title":"Checkout Url"}},"type":"object","required":["session_id","checkout_url"],"title":"StartSignupResponse","description":"What an agent needs to hand a person, and nothing else."},"StripeWebhookResponse":{"properties":{"received":{"type":"boolean","title":"Received"},"skipped":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Skipped"}},"type":"object","required":["received"],"title":"StripeWebhookResponse","description":"Response for Stripe webhook handling."},"SuccessResponse":{"properties":{"success":{"type":"boolean","title":"Success"}},"type":"object","required":["success"],"title":"SuccessResponse","description":"Simple success response."},"SystemHealth":{"properties":{"database":{"type":"string","enum":["healthy","degraded","down"],"title":"Database"},"redis":{"type":"string","enum":["healthy","degraded","down"],"title":"Redis"},"cognee":{"type":"string","enum":["healthy","degraded","down"],"title":"Cognee"},"celery":{"type":"string","enum":["healthy","degraded","down"],"title":"Celery"},"falkor":{"type":"string","enum":["healthy","degraded","down","unknown"],"title":"Falkor"},"overall":{"type":"string","enum":["healthy","degraded","down"],"title":"Overall"}},"type":"object","required":["database","redis","cognee","celery","falkor","overall"],"title":"SystemHealth","description":"System health status (core services + optional Falkor graph).\n\nFalkor is reported fail-open: it never changes ``overall`` (which stays\ndriven by database/redis/cognee/celery). ``unknown`` means the graph\nbackend is not configured for this deployment."},"SystemMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"system","title":"Role","default":"system"},"content":{"type":"string","title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"}},"additionalProperties":true,"type":"object","required":["id","content"],"title":"SystemMessage","description":"A system message."},"SystemSetting":{"properties":{"key":{"type":"string","title":"Key"},"value":{"title":"Value"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"sensitivity":{"type":"string","enum":["public","sensitive","critical"],"title":"Sensitivity","default":"public"},"category":{"type":"string","enum":["general","pricing","features","other"],"title":"Category","default":"general"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"value_type":{"type":"string","enum":["boolean","number","string","json"],"title":"Value Type","default":"string"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["key","value"],"title":"SystemSetting","description":"System setting entry."},"TaskdataExportResponse":{"properties":{"url":{"type":"string","title":"Url"},"expires_in":{"type":"integer","title":"Expires In"},"filename":{"type":"string","title":"Filename","default":"TASKDATA.zip"}},"type":"object","required":["url","expires_in"],"title":"TaskdataExportResponse","description":"Signed-URL handoff for an ISO-XML TASKDATA.zip."},"TeamInvitationRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"role":{"type":"string","enum":["admin","member"],"title":"Role","default":"member"}},"type":"object","required":["user_id"],"title":"TeamInvitationRequest","description":"Invite a user to a team."},"TeamMembershipResponse":{"properties":{"id":{"type":"string","title":"Id"},"team_id":{"type":"string","title":"Team Id"},"user_id":{"type":"string","title":"User Id"},"role":{"type":"string","title":"Role"},"status":{"type":"string","enum":["pending","active","declined","left"],"title":"Status"}},"type":"object","required":["id","team_id","user_id","role","status"],"title":"TeamMembershipResponse","description":"Membership / invitation row."},"TeamMessageRequest":{"properties":{"content":{"type":"string","maxLength":5000,"minLength":1,"title":"Content","description":"Message content"}},"type":"object","required":["content"],"title":"TeamMessageRequest","description":"Request to send a team chat message."},"TeamMessageResponse":{"properties":{"id":{"type":"string","title":"Id"},"namespace_id":{"type":"string","title":"Namespace Id"},"user_id":{"type":"string","title":"User Id"},"content":{"type":"string","title":"Content"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","namespace_id","user_id","content","created_at"],"title":"TeamMessageResponse","description":"Team chat message response."},"TeamResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"namespace_id":{"type":"string","title":"Namespace Id"},"admin_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Id"},"is_public":{"type":"boolean","title":"Is Public"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","name","description","namespace_id","is_public","created_at","updated_at"],"title":"TeamResponse","description":"Team response."},"TextInputContent":{"properties":{"type":{"type":"string","const":"text","title":"Type","default":"text"},"text":{"type":"string","title":"Text"}},"additionalProperties":true,"type":"object","required":["text"],"title":"TextInputContent","description":"A text fragment in a multimodal user message."},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"Bearer"},"expires_in":{"type":"integer","title":"Expires In"},"refresh_token":{"type":"string","title":"Refresh Token"},"scope":{"type":"string","title":"Scope"}},"type":"object","required":["access_token","expires_in","refresh_token","scope"],"title":"TokenResponse"},"Tool":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"parameters":{"anyOf":[{},{"type":"null"}],"title":"Parameters"}},"additionalProperties":true,"type":"object","required":["name","description"],"title":"Tool","description":"A tool definition."},"ToolCall":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","const":"function","title":"Type","default":"function"},"function":{"$ref":"#/components/schemas/FunctionCall"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"}},"additionalProperties":true,"type":"object","required":["id","function"],"title":"ToolCall","description":"A tool call, modelled after OpenAI tool calls."},"ToolMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"tool","title":"Role","default":"tool"},"content":{"type":"string","title":"Content"},"toolCallId":{"type":"string","title":"Toolcallid"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"}},"additionalProperties":true,"type":"object","required":["id","content","toolCallId"],"title":"ToolMessage","description":"A tool result message."},"TrainingResponse":{"properties":{"upload_id":{"type":"string","format":"uuid","title":"Upload Id"},"status":{"type":"string","title":"Status","description":"Status: processing, completed, failed","default":"processing"}},"type":"object","required":["upload_id"],"title":"TrainingResponse","description":"Response from training submission."},"TrainingStatusResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","title":"Status","description":"queued | ingesting | completed | failed"},"page_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Count"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","status"],"title":"TrainingStatusResponse","description":"Where an ingest has got to (UEL-124).\n\nThe SPA learns this from a Supabase realtime channel on ``training_documents``. An\nagent token is not valid on PostgREST, so without this route a 202 would hand a client\na job id and no way to ever learn it finished.\n\n``status`` is the pipeline's own ``processing_step`` vocabulary verbatim — `queued`,\n`ingesting`, `completed`, `failed`. Inventing a second set of words here would give the\nSPA and an agent two different names for one fact."},"TransactionCreateRequest":{"properties":{"kind":{"type":"string","enum":["invoice","sale","external"],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","enum":["private","public"],"title":"Visibility","default":"private"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"amount_gross":{"type":"integer","title":"Amount Gross"},"amount_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount Net"},"vat_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vat Amount"},"vat_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vat Rate"},"currency":{"type":"string","title":"Currency","default":"chf"},"booking_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Booking Date"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"external_system":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External System"},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"}},"type":"object","required":["kind","amount_gross"],"title":"TransactionCreateRequest"},"TransactionDetailPayload":{"properties":{"amount_gross":{"type":"integer","title":"Amount Gross"},"amount_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount Net"},"vat_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vat Amount"},"vat_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vat Rate"},"currency":{"type":"string","title":"Currency","default":"chf"},"booking_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Booking Date"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"external_system":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External System"},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"}},"type":"object","required":["amount_gross"],"title":"TransactionDetailPayload"},"TransactionListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TransactionResponse"},"type":"array","title":"Items"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"TransactionListResponse"},"TransactionMergeRequest":{"properties":{"other_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Other Ids"}},"type":"object","required":["other_ids"],"title":"TransactionMergeRequest"},"TransactionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"namespace_id":{"type":"string","format":"uuid","title":"Namespace Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"additionalProperties":true,"type":"object","title":"Attributes"},"lifecycle":{"type":"string","title":"Lifecycle","default":"active"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"type":"string","title":"Visibility","default":"private"},"origin":{"type":"string","title":"Origin","default":"user"},"is_external":{"type":"boolean","title":"Is External","default":false},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"owner_party_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Party Id"},"place_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Place Id"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"reaction_score":{"type":"integer","title":"Reaction Score","default":0},"comment_count":{"type":"integer","title":"Comment Count","default":0},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"detail":{"anyOf":[{"$ref":"#/components/schemas/TransactionDetailPayload"},{"type":"null"}]}},"type":"object","required":["id","namespace_id","kind"],"title":"TransactionResponse"},"TransactionUpdateRequest":{"properties":{"kind":{"anyOf":[{"type":"string","enum":["invoice","sale","external"]},{"type":"null"}],"title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"attributes":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Attributes"},"lifecycle":{"anyOf":[{"type":"string","enum":["active","archived"]},{"type":"null"}],"title":"Lifecycle"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"direction":{"anyOf":[{"type":"string","enum":["in","out"]},{"type":"null"}],"title":"Direction"},"counterparty_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Counterparty Id"},"amount_gross":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount Gross"},"amount_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount Net"},"vat_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vat Amount"},"vat_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vat Rate"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"booking_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Booking Date"},"value_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Value Date"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"external_system":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External System"},"external_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Ref"}},"type":"object","title":"TransactionUpdateRequest"},"TranscriptionResponse":{"properties":{"text":{"type":"string","title":"Text","description":"Transcribed text (Standard German for Swiss dialect)"}},"type":"object","required":["text"],"title":"TranscriptionResponse","description":"Transcribed text returned to the client."},"UnreadLetterCountResponse":{"properties":{"count":{"type":"integer","title":"Count","default":0}},"type":"object","title":"UnreadLetterCountResponse","description":"Unread inbound letters in the personal namespace."},"UpdateCreditsRequest":{"properties":{"amount_millicredits":{"type":"integer","title":"Amount Millicredits","description":"Amount of millicredits to add (can be negative, 1000 millicredits = 1 AKh)"},"reason":{"type":"string","maxLength":500,"minLength":1,"title":"Reason"}},"type":"object","required":["amount_millicredits","reason"],"title":"UpdateCreditsRequest","description":"Request to update user credits."},"UpdateSettingRequest":{"properties":{"value":{"title":"Value"}},"type":"object","required":["value"],"title":"UpdateSettingRequest","description":"Request to update a system setting."},"UpdateSubscriptionRequest":{"properties":{"tier":{"type":"string","enum":["test","lehrling","buezer","meister","enterprise"],"title":"Tier"}},"type":"object","required":["tier"],"title":"UpdateSubscriptionRequest","description":"Request to update user subscription."},"UpdateTeamRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":3},{"type":"null"}],"title":"Name","description":"Team name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description","description":"Optional team description"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public","description":"Whether team is public"}},"type":"object","title":"UpdateTeamRequest","description":"Request to update team settings."},"UpdateTeamResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"team":{"$ref":"#/components/schemas/TeamResponse"}},"type":"object","required":["success","team"],"title":"UpdateTeamResponse","description":"Response after updating a team."},"UsageHistoryItem":{"properties":{"id":{"type":"string","title":"Id"},"created_at":{"type":"string","title":"Created At"},"display_name":{"type":"string","title":"Display Name"},"akh_used":{"type":"number","title":"Akh Used"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","created_at","display_name","akh_used"],"title":"UsageHistoryItem","description":"Usage history item — AKh only, no token numbers exposed to users."},"UsageHistoryResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UsageHistoryItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"has_more":{"type":"boolean","title":"Has More"},"total_akh_last_30d":{"type":"number","title":"Total Akh Last 30D","default":0.0}},"type":"object","required":["items","total","has_more"],"title":"UsageHistoryResponse","description":"Paginated usage history."},"UsageStats":{"properties":{"total_tokens":{"type":"integer","title":"Total Tokens"},"total_credits_used":{"type":"number","title":"Total Credits Used"},"active_users":{"type":"integer","title":"Active Users"},"time_range":{"type":"string","title":"Time Range"}},"type":"object","required":["total_tokens","total_credits_used","active_users","time_range"],"title":"UsageStats","description":"Usage statistics."},"UserInfo":{"properties":{"sub":{"type":"string","title":"Sub"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["sub"],"title":"UserInfo"},"UserMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","const":"user","title":"Role","default":"user"},"content":{"anyOf":[{"type":"string"},{"items":{"oneOf":[{"$ref":"#/components/schemas/TextInputContent"},{"$ref":"#/components/schemas/ImageInputContent"},{"$ref":"#/components/schemas/AudioInputContent"},{"$ref":"#/components/schemas/VideoInputContent"},{"$ref":"#/components/schemas/DocumentInputContent"},{"$ref":"#/components/schemas/BinaryInputContent"}],"discriminator":{"propertyName":"type","mapping":{"audio":"#/components/schemas/AudioInputContent","binary":"#/components/schemas/BinaryInputContent","document":"#/components/schemas/DocumentInputContent","image":"#/components/schemas/ImageInputContent","text":"#/components/schemas/TextInputContent","video":"#/components/schemas/VideoInputContent"}}},"type":"array"}],"title":"Content"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"encryptedValue":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Encryptedvalue"}},"additionalProperties":true,"type":"object","required":["id","content"],"title":"UserMessage","description":"A user message supporting text or multimodal content."},"UsernameValidationRequest":{"properties":{"username":{"type":"string","maxLength":30,"minLength":1,"title":"Username","description":"Username to validate; app rules allow 3-20 chars with internal '_' or '-' separators."}},"type":"object","required":["username"],"title":"UsernameValidationRequest","description":"Request body for username validation."},"UsernameValidationResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["valid"],"title":"UsernameValidationResponse","description":"Response for username validation."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VectorSyncRequest":{"properties":{"entity_type":{"type":"string","title":"Entity Type","description":"Ignored — projection owns ingest"},"entity_id":{"type":"string","title":"Entity Id","description":"Ignored — projection owns ingest"},"action":{"type":"string","title":"Action","description":"Ignored — projection owns ingest","default":"upsert"}},"type":"object","required":["entity_type","entity_id"],"title":"VectorSyncRequest","description":"Retained request shape for ops clients; no longer enqueues work."},"VerifyCheckoutRequest":{"properties":{"session_id":{"type":"string","minLength":3,"title":"Session Id","description":"Stripe checkout session ID"}},"type":"object","required":["session_id"],"title":"VerifyCheckoutRequest","description":"Request to verify a completed checkout session after redirect."},"VerifyCheckoutResponse":{"properties":{"mode":{"type":"string","title":"Mode","description":"Checkout mode: subscription or payment"},"credited":{"type":"boolean","title":"Credited","description":"Whether credits are granted for this session"},"balance":{"type":"integer","title":"Balance","description":"Combined millicredit balance after verification"}},"type":"object","required":["mode","credited","balance"],"title":"VerifyCheckoutResponse","description":"Result of verifying a completed checkout session."},"VideoInputContent":{"properties":{"type":{"type":"string","const":"video","title":"Type","default":"video"},"source":{"oneOf":[{"$ref":"#/components/schemas/InputContentDataSource"},{"$ref":"#/components/schemas/InputContentUrlSource"}],"title":"Source","discriminator":{"propertyName":"type","mapping":{"data":"#/components/schemas/InputContentDataSource","url":"#/components/schemas/InputContentUrlSource"}}},"metadata":{"anyOf":[{},{"type":"null"}],"title":"Metadata"}},"additionalProperties":true,"type":"object","required":["source"],"title":"VideoInputContent","description":"A video input content fragment."},"WeatherForecastResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"needs_location":{"type":"boolean","title":"Needs Location","default":false},"reason":{"anyOf":[{"type":"string","const":"outside_ch"},{"type":"null"}],"title":"Reason"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"reference_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reference Time"},"point_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Point Name"},"station_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Station Name"},"station_distance_km":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Station Distance Km"},"snapshot":{"anyOf":[{"$ref":"#/components/schemas/WeatherSnapshot"},{"type":"null"}]},"windows":{"items":{"$ref":"#/components/schemas/PlaceForecastWindow"},"type":"array","title":"Windows"}},"type":"object","required":["available"],"title":"WeatherForecastResponse","description":"GET /weather/forecast payload."},"WeatherSnapshot":{"properties":{"temperature_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature C"},"humidity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Humidity Pct"},"dew_point_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dew Point C"},"wind_kmh":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wind Kmh"},"precip_last_24h_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Last 24H Mm"},"precip_next_24h_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Next 24H Mm"},"et0_last_24h_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Et0 Last 24H Mm"},"sunshine_next_24h_h":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sunshine Next 24H H"},"zero_degree_level_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Zero Degree Level M"},"temp_next_24h_min_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temp Next 24H Min C"},"temp_next_24h_max_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temp Next 24H Max C"}},"type":"object","title":"WeatherSnapshot","description":"Now and 24 h numbers. Missing fields are omitted, never invented."},"WelcomeNotificationRequest":{"properties":{"user_id":{"type":"string","title":"User Id","description":"User ID"},"username":{"type":"string","title":"Username","description":"Username (without @)"},"email":{"type":"string","title":"Email","description":"User's email address"}},"type":"object","required":["user_id","username","email"],"title":"WelcomeNotificationRequest","description":"Request to send a welcome email."},"WorkHoursResponse":{"properties":{"year":{"type":"integer","title":"Year"},"items":{"items":{"$ref":"#/components/schemas/WorkHoursRow"},"type":"array","title":"Items"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","required":["year"],"title":"WorkHoursResponse"},"WorkHoursRow":{"properties":{"tag":{"type":"string","format":"date","title":"Tag"},"arbeit":{"type":"string","title":"Arbeit"},"stunden":{"type":"number","title":"Stunden"},"quelle":{"type":"string","title":"Quelle"},"wer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wer"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"serie_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serie Ref"},"place_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place Label"}},"type":"object","required":["tag","arbeit","stunden","quelle"],"title":"WorkHoursRow","description":"One day of work as `agent_arbeitsstunden` counts it -- the agents' hours truth.\n\n`quelle` is `erfasst` (he entered the hours), `geschätzt` (the job's estimate stood in)\nor `angenommen` (a routine day nobody ticked, at its norm hours). Kept as text: the view\nowns that vocabulary, and a new value must reach the tab rather than fail the request."},"WorkItemRef":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"type":"object","required":["id"],"title":"WorkItemRef"},"ZeitungFeedResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FeedArticle"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"viewer_has_location":{"type":"boolean","title":"Viewer Has Location","default":false}},"type":"object","required":["items","total"],"title":"ZeitungFeedResponse","description":"One page of the community feed.\n\n`viewer_has_location` exists so the client can tell \"no posts near you\" apart from\n\"we do not know where you are\" — previously the feed silently fell back to the global\nlist when coordinates were missing, and the location prompt written for that case\ncould never appear."}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"},"OAuth2":{"type":"oauth2","description":"Identity only. Tokens carry aud=https://api.uely.ch/oauth/userinfo and are accepted on /oauth/userinfo alone — never on a workspace route.","flows":{"authorizationCode":{"authorizationUrl":"https://uely.ch/oauth/authorize","tokenUrl":"https://api.uely.ch/oauth/token","scopes":{"openid":"Subject identifier","profile":"Email if present"}}}},"AgentOAuth2":{"type":"oauth2","description":"Agent plane. Tokens carry aud=https://api.uely.ch/mcp, which is the resource identifier for the MCP endpoint and for the REST routes marked with this scheme. Discovery: https://api.uely.ch/.well-known/oauth-protected-resource/mcp","flows":{"authorizationCode":{"authorizationUrl":"https://uely.ch/oauth/authorize","tokenUrl":"https://api.uely.ch/oauth/token","scopes":{"ask":"Ask a question against your workspace and knowledge base","workspace.write":"Let the agent change your workspace, one action at a time and only after you approve it","research":"Research a question against the knowledge base and get a written report","training.write":"Add sources to your knowledge base"}}}}}},"servers":[{"url":"https://api.uely.ch"}],"x-build":"0.1.0"}