{"openapi":"3.1.0","info":{"title":"Content API","description":"API for managing posts, media, annotations, and content blocks","version":"1.0.0"},"paths":{"/api/v1/posts/":{"get":{"tags":["posts"],"summary":"List Posts","description":"List all posts with optional filters.","operationId":"list_posts_api_v1_posts__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(draft|published|archived)$"},{"type":"null"}],"title":"Status"}},{"name":"doc_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by doc_type: beitrag, angebot, rechnung, honorarnote, story, survey, docu, agent","title":"Doc Type"},"description":"Filter by doc_type: beitrag, angebot, rechnung, honorarnote, story, survey, docu, agent"},{"name":"author_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Id"}},{"name":"partner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":20,"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/PostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["posts"],"summary":"Create Post","description":"Create a new post.","operationId":"create_post_api_v1_posts__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}":{"get":{"tags":["posts"],"summary":"Get Post","description":"Get a post with all related data.","operationId":"get_post_api_v1_posts__post_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["posts"],"summary":"Update Post","description":"Update a post. Supports both PUT and PATCH.","operationId":"update_post_api_v1_posts__post_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["posts"],"summary":"Update Post","description":"Update a post. Supports both PUT and PATCH.","operationId":"update_post_api_v1_posts__post_id__put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["posts"],"summary":"Delete Post","description":"Delete a post and all related data.","operationId":"delete_post_api_v1_posts__post_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/media/":{"get":{"tags":["media"],"summary":"List Media","description":"List all media for a post.","operationId":"list_media_api_v1_posts__post_id__media__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MediaResponse"},"title":"Response List Media Api V1 Posts  Post Id  Media  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["media"],"summary":"Add Media","description":"Add media to a post.","operationId":"add_media_api_v1_posts__post_id__media__post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/media/{media_id}":{"get":{"tags":["media"],"summary":"Get Media","description":"Get a single media item.","operationId":"get_media_api_v1_posts__post_id__media__media_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"media_id","in":"path","required":true,"schema":{"type":"integer","title":"Media Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["media"],"summary":"Update Media","description":"Update a media item.","operationId":"update_media_api_v1_posts__post_id__media__media_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"media_id","in":"path","required":true,"schema":{"type":"integer","title":"Media Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["media"],"summary":"Remove Media","description":"Remove media from a post.","operationId":"remove_media_api_v1_posts__post_id__media__media_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"media_id","in":"path","required":true,"schema":{"type":"integer","title":"Media Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/media/reorder":{"post":{"tags":["media"],"summary":"Reorder Media","description":"Reorder media items for a post.","operationId":"reorder_media_api_v1_posts__post_id__media_reorder_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaReorder"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MediaResponse"},"title":"Response Reorder Media Api V1 Posts  Post Id  Media Reorder Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/annotations/":{"get":{"tags":["annotations"],"summary":"List Annotations","description":"List all top-level annotations for a post (with nested replies).","operationId":"list_annotations_api_v1_posts__post_id__annotations__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AnnotationResponse"},"title":"Response List Annotations Api V1 Posts  Post Id  Annotations  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["annotations"],"summary":"Create Annotation","description":"Create an annotation on a post. Set parent_id to reply to an existing annotation.","operationId":"create_annotation_api_v1_posts__post_id__annotations__post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/annotations/{annotation_id}":{"get":{"tags":["annotations"],"summary":"Get Annotation","description":"Get a single annotation with its replies.","operationId":"get_annotation_api_v1_posts__post_id__annotations__annotation_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"annotation_id","in":"path","required":true,"schema":{"type":"integer","title":"Annotation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["annotations"],"summary":"Update Annotation","description":"Update an annotation.","operationId":"update_annotation_api_v1_posts__post_id__annotations__annotation_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"annotation_id","in":"path","required":true,"schema":{"type":"integer","title":"Annotation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["annotations"],"summary":"Delete Annotation","description":"Delete an annotation and its replies.","operationId":"delete_annotation_api_v1_posts__post_id__annotations__annotation_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"annotation_id","in":"path","required":true,"schema":{"type":"integer","title":"Annotation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/blocks/":{"get":{"tags":["blocks"],"summary":"List Blocks","description":"List all blocks for a post.","operationId":"list_blocks_api_v1_posts__post_id__blocks__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BlockResponse"},"title":"Response List Blocks Api V1 Posts  Post Id  Blocks  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["blocks"],"summary":"Create Block","description":"Create a block in a post.","operationId":"create_block_api_v1_posts__post_id__blocks__post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/blocks/{block_id}":{"get":{"tags":["blocks"],"summary":"Get Block","description":"Get a single block.","operationId":"get_block_api_v1_posts__post_id__blocks__block_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"block_id","in":"path","required":true,"schema":{"type":"integer","title":"Block Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["blocks"],"summary":"Update Block","description":"Update a block.","operationId":"update_block_api_v1_posts__post_id__blocks__block_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"block_id","in":"path","required":true,"schema":{"type":"integer","title":"Block Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["blocks"],"summary":"Delete Block","description":"Delete a block.","operationId":"delete_block_api_v1_posts__post_id__blocks__block_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"block_id","in":"path","required":true,"schema":{"type":"integer","title":"Block Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/blocks/reorder":{"post":{"tags":["blocks"],"summary":"Reorder Blocks","description":"Reorder blocks for a post.","operationId":"reorder_blocks_api_v1_posts__post_id__blocks_reorder_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockReorder"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BlockResponse"},"title":"Response Reorder Blocks Api V1 Posts  Post Id  Blocks Reorder Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profiles/{author_id}":{"get":{"tags":["profiles"],"summary":"Get Profile","description":"Get user profile by author_id.","operationId":"get_profile_api_v1_profiles__author_id__get","parameters":[{"name":"author_id","in":"path","required":true,"schema":{"type":"string","title":"Author Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["profiles"],"summary":"Upsert Profile","description":"Create or update a user profile.","operationId":"upsert_profile_api_v1_profiles__author_id__put","parameters":[{"name":"author_id","in":"path","required":true,"schema":{"type":"string","title":"Author Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["profiles"],"summary":"Update Profile","description":"Partially update a user profile.","operationId":"update_profile_api_v1_profiles__author_id__patch","parameters":[{"name":"author_id","in":"path","required":true,"schema":{"type":"string","title":"Author Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/revisions/":{"get":{"tags":["revisions"],"summary":"List Revisions","description":"List all revisions for a post, newest first.","operationId":"list_revisions_api_v1_posts__post_id__revisions__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RevisionListItem"},"title":"Response List Revisions Api V1 Posts  Post Id  Revisions  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/revisions/latest":{"get":{"tags":["revisions"],"summary":"Get Latest Revision","description":"Get the most recent revision (for diff comparison).","operationId":"get_latest_revision_api_v1_posts__post_id__revisions_latest_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RevisionDetailResponse"},{"type":"null"}],"title":"Response Get Latest Revision Api V1 Posts  Post Id  Revisions Latest Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/revisions/{revision_id}":{"get":{"tags":["revisions"],"summary":"Get Revision","description":"Get a specific revision with full content.","operationId":"get_revision_api_v1_posts__post_id__revisions__revision_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"revision_id","in":"path","required":true,"schema":{"type":"integer","title":"Revision Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevisionDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/references/":{"get":{"tags":["references"],"summary":"List References","description":"List all references for a post, ordered by ref_number.","operationId":"list_references_api_v1_posts__post_id__references__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReferenceResponse"},"title":"Response List References Api V1 Posts  Post Id  References  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["references"],"summary":"Create Reference","description":"Create a reference on a post.","operationId":"create_reference_api_v1_posts__post_id__references__post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/references/{reference_id}":{"get":{"tags":["references"],"summary":"Get Reference","description":"Get a single reference.","operationId":"get_reference_api_v1_posts__post_id__references__reference_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"reference_id","in":"path","required":true,"schema":{"type":"integer","title":"Reference Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["references"],"summary":"Update Reference","description":"Update a reference.","operationId":"update_reference_api_v1_posts__post_id__references__reference_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"reference_id","in":"path","required":true,"schema":{"type":"integer","title":"Reference Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["references"],"summary":"Delete Reference","description":"Delete a reference.","operationId":"delete_reference_api_v1_posts__post_id__references__reference_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}},{"name":"reference_id","in":"path","required":true,"schema":{"type":"integer","title":"Reference Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stories/":{"get":{"tags":["stories"],"summary":"List Stories","description":"List all stories in a given language.\n\nReturns story cards (no full scene text) with available_languages info.","operationId":"list_stories_api_v1_stories__get","parameters":[{"name":"language","in":"query","required":false,"schema":{"type":"string","description":"Language filter","default":"de","title":"Language"},"description":"Language filter"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(draft|published|archived)$"},{"type":"null"}],"default":"published","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["stories"],"summary":"Create Story","description":"Create a new story with scenes.\n\nAutomatically builds the correct Post structure with metadata_json and\nJSON content from the provided flat parameters.","operationId":"create_story_api_v1_stories__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoryCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stories/{story_group}/languages":{"get":{"tags":["stories"],"summary":"Get Story Languages","description":"List all available languages for a story group.","operationId":"get_story_languages_api_v1_stories__story_group__languages_get","parameters":[{"name":"story_group","in":"path","required":true,"schema":{"type":"string","title":"Story Group"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stories/{story_group}/generate-languages":{"post":{"tags":["stories"],"summary":"Generate Story Languages","description":"Batch-generate story translations for multiple languages.\n\nOnly generates TEXT — no audio generation.","operationId":"generate_story_languages_api_v1_stories__story_group__generate_languages_post","parameters":[{"name":"story_group","in":"path","required":true,"schema":{"type":"string","title":"Story Group"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/content__routes__stories__GenerateLanguagesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/content__routes__stories__GenerateLanguagesResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stories/{story_group}":{"get":{"tags":["stories"],"summary":"Get Story","description":"Get a story by group ID and language.\n\nIf the requested language doesn't exist and auto_generate=True,\nthe story is automatically translated from the source language (German).","operationId":"get_story_api_v1_stories__story_group__get","parameters":[{"name":"story_group","in":"path","required":true,"schema":{"type":"string","title":"Story Group"}},{"name":"language","in":"query","required":false,"schema":{"type":"string","description":"Language code","default":"de","title":"Language"},"description":"Language code"},{"name":"auto_generate","in":"query","required":false,"schema":{"type":"boolean","description":"Auto-translate if not available","default":true,"title":"Auto Generate"},"description":"Auto-translate if not available"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["stories"],"summary":"Update Story","description":"Update an existing story.\n\nOnly provided (non-null) fields are updated. Scenes replace all existing\nscenes if provided.","operationId":"update_story_api_v1_stories__story_group__put","parameters":[{"name":"story_group","in":"path","required":true,"schema":{"type":"string","title":"Story Group"}},{"name":"language","in":"query","required":false,"schema":{"type":"string","description":"Language code","default":"de","title":"Language"},"description":"Language code"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoryUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stories/{story_group}/generate-audio":{"post":{"tags":["stories"],"summary":"Generate Audio for Story Scenes","description":"Generate dramatic TTS audio for story scenes via ai-api AudioDramaService.\n\nFor each scene: AI agent builds dramatic script → ElevenLabs TTS → audio saved as media.\nExisting audio for a scene is replaced.","operationId":"generate_story_audio_api_v1_stories__story_group__generate_audio_post","parameters":[{"name":"story_group","in":"path","required":true,"schema":{"type":"string","title":"Story Group"}},{"name":"language","in":"query","required":false,"schema":{"type":"string","default":"de","title":"Language"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAudioRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAudioResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/collections/":{"get":{"tags":["collections"],"summary":"List Collections","description":"List collections with post and children counts.\n\n- parent_id: filter by parent collection\n- root_only: if true, only return top-level collections (parent_id IS NULL)","operationId":"list_collections_api_v1_collections__get","parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}},{"name":"root_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Root Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CollectionResponse"},"title":"Response List Collections Api V1 Collections  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["collections"],"summary":"Create Collection","description":"Create a new collection.","operationId":"create_collection_api_v1_collections__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/collections/{slug}":{"get":{"tags":["collections"],"summary":"Get Collection","description":"Get a collection by slug with its posts.","operationId":"get_collection_api_v1_collections__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/collections/{collection_id}":{"put":{"tags":["collections"],"summary":"Update Collection","description":"Update a collection.","operationId":"update_collection_api_v1_collections__collection_id__put","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["collections"],"summary":"Delete Collection","description":"Delete a collection (posts are not deleted).","operationId":"delete_collection_api_v1_collections__collection_id__delete","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","title":"Collection Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/collections/{collection_id}/posts/{post_id}":{"post":{"tags":["collections"],"summary":"Add Post To Collection","description":"Add a post to a collection.","operationId":"add_post_to_collection_api_v1_collections__collection_id__posts__post_id__post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","title":"Collection Id"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCollectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["collections"],"summary":"Remove Post From Collection","description":"Remove a post from a collection.","operationId":"remove_post_from_collection_api_v1_collections__collection_id__posts__post_id__delete","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"integer","title":"Collection Id"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/posts/{post_id}/collections/":{"get":{"tags":["collections"],"summary":"List Post Collections","description":"List all collections a post belongs to.","operationId":"list_post_collections_api_v1_posts__post_id__collections__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CollectionResponse"},"title":"Response List Post Collections Api V1 Posts  Post Id  Collections  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/annotations-knowledge/":{"get":{"tags":["annotations-knowledge"],"summary":"List Annotation Knowledge","description":"List all annotation knowledge entries, optionally filtered.","operationId":"list_annotation_knowledge_api_v1_annotations_knowledge__get","parameters":[{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}},{"name":"source_storage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Storage Id"}},{"name":"detail_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail Level"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationKnowledgeListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["annotations-knowledge"],"summary":"Create Annotation Knowledge","description":"Create a new annotation knowledge entry.","operationId":"create_annotation_knowledge_api_v1_annotations_knowledge__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAnnotationKnowledgeRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationKnowledgeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/annotations-knowledge/{post_id}":{"get":{"tags":["annotations-knowledge"],"summary":"Get Annotation Knowledge","description":"Get a single annotation knowledge entry.","operationId":"get_annotation_knowledge_api_v1_annotations_knowledge__post_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationKnowledgeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["annotations-knowledge"],"summary":"Update Annotation Knowledge","description":"Update annotation knowledge content.","operationId":"update_annotation_knowledge_api_v1_annotations_knowledge__post_id__put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAnnotationKnowledgeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationKnowledgeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/annotations-knowledge/source/{source_storage_id}":{"get":{"tags":["annotations-knowledge"],"summary":"Get By Source","description":"Get annotation knowledge by source storage ID, language and detail level.","operationId":"get_by_source_api_v1_annotations_knowledge_source__source_storage_id__get","parameters":[{"name":"source_storage_id","in":"path","required":true,"schema":{"type":"integer","title":"Source Storage Id"}},{"name":"language","in":"query","required":false,"schema":{"type":"string","default":"de","title":"Language"}},{"name":"detail_level","in":"query","required":false,"schema":{"type":"string","default":"standard","title":"Detail Level"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotationKnowledgeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/annotations-knowledge/source/{source_storage_id}/languages":{"get":{"tags":["annotations-knowledge"],"summary":"Get Source Languages","description":"Get available languages for a source + detail level.","operationId":"get_source_languages_api_v1_annotations_knowledge_source__source_storage_id__languages_get","parameters":[{"name":"source_storage_id","in":"path","required":true,"schema":{"type":"integer","title":"Source Storage Id"}},{"name":"detail_level","in":"query","required":false,"schema":{"type":"string","default":"standard","title":"Detail Level"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguagesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/annotations-knowledge/{annotation_group}/generate-languages":{"post":{"tags":["annotations-knowledge"],"summary":"Generate Languages","description":"Generate translations for annotation knowledge.\nUses the same AI translation engine as stories.","operationId":"generate_languages_api_v1_annotations_knowledge__annotation_group__generate_languages_post","parameters":[{"name":"annotation_group","in":"path","required":true,"schema":{"type":"string","title":"Annotation Group"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/content__routes__annotations_knowledge__GenerateLanguagesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/content__routes__annotations_knowledge__GenerateLanguagesResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/annotations-knowledge/{post_id}/generate-audio":{"post":{"tags":["annotations-knowledge"],"summary":"Generate Audio for Annotation Knowledge","description":"Generate educational TTS audio for annotation knowledge via ai-api NarrationService.\n\nMode 'all': generates object description audio + each annotation audio (alternating characters).\nAudio refs are stored directly in the post content.","operationId":"generate_annotation_audio_endpoint_api_v1_annotations_knowledge__post_id__generate_audio_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"integer","title":"Post Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAnnotationAudioRequest","default":{"mode":"all"}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAnnotationAudioResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/doc-types":{"get":{"tags":["posts"],"summary":"List Doc Types","description":"List all distinct doc_types currently in use.","operationId":"list_doc_types_api_v1_doc_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Root","description":"Serve debug UI.","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health","description":"Health check endpoint.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1":{"get":{"summary":"Api Info","description":"API information.","operationId":"api_info_api_v1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AnnotationAnchor":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"}},"type":"object","required":["x","y"],"title":"AnnotationAnchor"},"AnnotationCreate":{"properties":{"start_pos":{"type":"integer","minimum":0.0,"title":"Start Pos"},"end_pos":{"type":"integer","minimum":0.0,"title":"End Pos"},"note_text":{"type":"string","minLength":1,"title":"Note Text"},"author_id":{"type":"string","maxLength":100,"minLength":1,"title":"Author Id"},"author_name":{"type":"string","maxLength":200,"minLength":1,"title":"Author Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"Parent annotation ID for replies"}},"type":"object","required":["start_pos","end_pos","note_text","author_id","author_name"],"title":"AnnotationCreate","description":"Schema for creating an annotation."},"AnnotationKnowledgeListItem":{"properties":{"id":{"type":"integer","title":"Id"},"annotation_group":{"type":"string","title":"Annotation Group"},"source_storage_id":{"type":"integer","title":"Source Storage Id"},"detail_level":{"type":"string","title":"Detail Level"},"language":{"type":"string","title":"Language"},"title":{"type":"string","title":"Title"},"annotation_count":{"type":"integer","title":"Annotation Count"},"available_languages":{"items":{"type":"string"},"type":"array","title":"Available Languages","default":[]},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","annotation_group","source_storage_id","detail_level","language","title","annotation_count","created_at","updated_at"],"title":"AnnotationKnowledgeListItem","description":"List item without full content."},"AnnotationKnowledgeListResponse":{"properties":{"stories":{"items":{"$ref":"#/components/schemas/AnnotationKnowledgeListItem"},"type":"array","title":"Stories"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["stories","total"],"title":"AnnotationKnowledgeListResponse"},"AnnotationKnowledgeResponse":{"properties":{"id":{"type":"integer","title":"Id"},"annotation_group":{"type":"string","title":"Annotation Group"},"source_storage_id":{"type":"integer","title":"Source Storage Id"},"detail_level":{"type":"string","title":"Detail Level"},"language":{"type":"string","title":"Language"},"title":{"type":"string","title":"Title"},"object_description":{"type":"string","title":"Object Description"},"facts":{"items":{"$ref":"#/components/schemas/FactItem"},"type":"array","title":"Facts"},"annotations":{"items":{"$ref":"#/components/schemas/AnnotationPoint"},"type":"array","title":"Annotations"},"object_audio":{"anyOf":[{"$ref":"#/components/schemas/AudioRef"},{"type":"null"}]},"combined_audio":{"anyOf":[{"$ref":"#/components/schemas/AudioRef"},{"type":"null"}]},"model_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Used"},"available_languages":{"items":{"type":"string"},"type":"array","title":"Available Languages","default":[]},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","annotation_group","source_storage_id","detail_level","language","title","object_description","facts","annotations","created_at","updated_at"],"title":"AnnotationKnowledgeResponse","description":"Full annotation knowledge response."},"AnnotationPoint":{"properties":{"id":{"type":"string","title":"Id"},"anchor":{"$ref":"#/components/schemas/AnnotationAnchor"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"audio":{"anyOf":[{"$ref":"#/components/schemas/AudioRef"},{"type":"null"}]},"position3D":{"anyOf":[{"$ref":"#/components/schemas/Position3D"},{"type":"null"}]}},"type":"object","required":["id","anchor","label","description"],"title":"AnnotationPoint"},"AnnotationResponse":{"properties":{"id":{"type":"integer","title":"Id"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"start_pos":{"type":"integer","title":"Start Pos"},"end_pos":{"type":"integer","title":"End Pos"},"note_text":{"type":"string","title":"Note Text"},"author_id":{"type":"string","title":"Author Id"},"author_name":{"type":"string","title":"Author Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"replies":{"items":{"$ref":"#/components/schemas/AnnotationResponse"},"type":"array","title":"Replies","default":[]}},"type":"object","required":["id","start_pos","end_pos","note_text","author_id","author_name","created_at","updated_at"],"title":"AnnotationResponse","description":"Response schema for an annotation."},"AnnotationUpdate":{"properties":{"start_pos":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Start Pos"},"end_pos":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"End Pos"},"note_text":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Note Text"}},"type":"object","title":"AnnotationUpdate","description":"Schema for updating an annotation."},"AudioRef":{"properties":{"id":{"type":"integer","title":"Id"},"url":{"type":"string","title":"Url"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"},"voice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice"},"character":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Character"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},"type":"object","required":["id","url"],"title":"AudioRef"},"BlockCreate":{"properties":{"block_type":{"type":"string","pattern":"^(text|quote|code|callout|embed)$","title":"Block Type"},"content":{"type":"string","minLength":1,"title":"Content"},"position":{"type":"integer","title":"Position","default":0},"metadata_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata Json"},"author_id":{"type":"string","maxLength":100,"minLength":1,"title":"Author Id"},"author_name":{"type":"string","maxLength":200,"minLength":1,"title":"Author Name"}},"type":"object","required":["block_type","content","author_id","author_name"],"title":"BlockCreate","description":"Schema for creating a block."},"BlockReorder":{"properties":{"order":{"items":{"type":"integer"},"type":"array","title":"Order","description":"List of block IDs in desired order"}},"type":"object","required":["order"],"title":"BlockReorder","description":"Schema for reordering blocks."},"BlockResponse":{"properties":{"id":{"type":"integer","title":"Id"},"block_type":{"type":"string","title":"Block Type"},"content":{"type":"string","title":"Content"},"position":{"type":"integer","title":"Position"},"author_id":{"type":"string","title":"Author Id"},"author_name":{"type":"string","title":"Author Name"},"metadata_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata Json"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","block_type","content","position","author_id","author_name","metadata_json","created_at"],"title":"BlockResponse","description":"Response schema for a block."},"BlockUpdate":{"properties":{"block_type":{"anyOf":[{"type":"string","pattern":"^(text|quote|code|callout|embed)$"},{"type":"null"}],"title":"Block Type"},"content":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Content"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"metadata_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata Json"}},"type":"object","title":"BlockUpdate","description":"Schema for updating a block."},"CollectionCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Color"},"icon":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Icon"},"position":{"type":"integer","minimum":0.0,"title":"Position","default":0},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["name"],"title":"CollectionCreate","description":"Schema for creating a collection."},"CollectionDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"position":{"type":"integer","title":"Position"},"posts":{"items":{"$ref":"#/components/schemas/PostResponse"},"type":"array","title":"Posts","default":[]},"children":{"items":{"$ref":"#/components/schemas/CollectionResponse"},"type":"array","title":"Children","default":[]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","slug","position","created_at","updated_at"],"title":"CollectionDetailResponse","description":"Response schema for a collection with its posts and children."},"CollectionResponse":{"properties":{"id":{"type":"integer","title":"Id"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"position":{"type":"integer","title":"Position"},"post_count":{"type":"integer","title":"Post Count","default":0},"children_count":{"type":"integer","title":"Children Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","slug","position","created_at","updated_at"],"title":"CollectionResponse","description":"Response schema for a collection (list view)."},"CollectionUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Color"},"icon":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Icon"},"position":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Position"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}},"type":"object","title":"CollectionUpdate","description":"Schema for updating a collection."},"CreateAnnotationKnowledgeRequest":{"properties":{"title":{"type":"string","title":"Title"},"source_storage_id":{"type":"integer","title":"Source Storage Id"},"detail_level":{"type":"string","title":"Detail Level","default":"standard"},"language":{"type":"string","title":"Language","default":"de"},"object_description":{"type":"string","title":"Object Description","default":""},"facts":{"items":{"$ref":"#/components/schemas/FactItem"},"type":"array","title":"Facts","default":[]},"annotations":{"items":{"$ref":"#/components/schemas/AnnotationPoint"},"type":"array","title":"Annotations","default":[]},"model_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Used"},"author_id":{"type":"string","title":"Author Id","default":"system"},"author_name":{"type":"string","title":"Author Name","default":"Knowledge API"}},"type":"object","required":["title","source_storage_id"],"title":"CreateAnnotationKnowledgeRequest","description":"Create a new annotation knowledge entry."},"FactItem":{"properties":{"label":{"type":"string","title":"Label"},"value":{"type":"string","title":"Value"}},"type":"object","required":["label","value"],"title":"FactItem"},"GenerateAnnotationAudioRequest":{"properties":{"mode":{"type":"string","title":"Mode","description":"'all' = object + annotations, 'object' = only object, or annotation ID","default":"all"},"character":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Character","description":"Override character (tschauko/tschauka)"},"character2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Character2","description":"Second character for alternating"}},"type":"object","title":"GenerateAnnotationAudioRequest"},"GenerateAnnotationAudioResult":{"properties":{"post_id":{"type":"integer","title":"Post Id"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results"}},"type":"object","required":["post_id","results"],"title":"GenerateAnnotationAudioResult"},"GenerateAudioRequest":{"properties":{"narrator_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrator Override","description":"Override narrator character"},"voice_id_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Id Override","description":"Override ElevenLabs voice ID"},"scenes":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Scenes","description":"Scene indices (1-based) to generate. None = all"}},"type":"object","title":"GenerateAudioRequest"},"GenerateAudioResult":{"properties":{"story_group":{"type":"string","title":"Story Group"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results"}},"type":"object","required":["story_group","results"],"title":"GenerateAudioResult"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LanguagesResponse":{"properties":{"annotation_group":{"type":"string","title":"Annotation Group"},"languages":{"items":{"type":"string"},"type":"array","title":"Languages"},"supported_languages":{"items":{"type":"string"},"type":"array","title":"Supported Languages"},"missing_languages":{"items":{"type":"string"},"type":"array","title":"Missing Languages"}},"type":"object","required":["annotation_group","languages","supported_languages","missing_languages"],"title":"LanguagesResponse"},"MediaCreate":{"properties":{"storage_id":{"type":"integer","title":"Storage Id"},"position":{"type":"integer","title":"Position","default":0},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"},"role":{"type":"string","pattern":"^(hero|gallery|inline|thumbnail|attachment|illustration|video)$","title":"Role","default":"gallery"}},"type":"object","required":["storage_id"],"title":"MediaCreate","description":"Schema for creating media."},"MediaReorder":{"properties":{"order":{"items":{"type":"integer"},"type":"array","title":"Order","description":"List of media IDs in desired order"}},"type":"object","required":["order"],"title":"MediaReorder","description":"Schema for reordering media."},"MediaResponse":{"properties":{"id":{"type":"integer","title":"Id"},"storage_id":{"type":"integer","title":"Storage Id"},"position":{"type":"integer","title":"Position"},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"},"role":{"type":"string","title":"Role"},"media_url":{"type":"string","title":"Media Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","storage_id","position","caption","role","media_url","created_at"],"title":"MediaResponse","description":"Response schema for media."},"MediaUpdate":{"properties":{"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"},"role":{"anyOf":[{"type":"string","pattern":"^(hero|gallery|inline|thumbnail|attachment|illustration|video)$"},{"type":"null"}],"title":"Role"}},"type":"object","title":"MediaUpdate","description":"Schema for updating media."},"Position3D":{"properties":{"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"},"z":{"type":"number","title":"Z"}},"type":"object","required":["x","y","z"],"title":"Position3D"},"PostCollectionResponse":{"properties":{"collection_id":{"type":"integer","title":"Collection Id"},"post_id":{"type":"integer","title":"Post Id"},"position":{"type":"integer","title":"Position"},"added_at":{"type":"string","format":"date-time","title":"Added At"}},"type":"object","required":["collection_id","post_id","position","added_at"],"title":"PostCollectionResponse","description":"Response schema for a post-collection link."},"PostCreate":{"properties":{"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"slug":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Slug"},"doc_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Doc Type","description":"Document type: beitrag, angebot, rechnung, honorarnote, story, survey"},"content_type":{"type":"string","pattern":"^(json|txt|md)$","title":"Content Type","default":"md"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"status":{"type":"string","pattern":"^(draft|published|archived)$","title":"Status","default":"draft"},"partner_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Partner Id"},"metadata_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata Json"},"storage_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Storage Ids"},"author_id":{"type":"string","maxLength":100,"minLength":1,"title":"Author Id","default":"system"},"author_name":{"type":"string","maxLength":200,"minLength":1,"title":"Author Name","default":"System"}},"type":"object","required":["title"],"title":"PostCreate","description":"Schema for creating a post."},"PostDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"doc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Type"},"content_type":{"type":"string","title":"Content Type"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"status":{"type":"string","title":"Status"},"author_id":{"type":"string","title":"Author Id"},"author_name":{"type":"string","title":"Author Name"},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id"},"metadata_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata Json"},"storage_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Storage Ids"},"storage_urls":{"items":{"type":"string"},"type":"array","title":"Storage Urls","default":[]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"media":{"items":{"$ref":"#/components/schemas/MediaResponse"},"type":"array","title":"Media","default":[]},"annotations":{"items":{"$ref":"#/components/schemas/AnnotationResponse"},"type":"array","title":"Annotations","default":[]},"blocks":{"items":{"$ref":"#/components/schemas/BlockResponse"},"type":"array","title":"Blocks","default":[]},"references":{"items":{"$ref":"#/components/schemas/ReferenceResponse"},"type":"array","title":"References","default":[]}},"type":"object","required":["id","title","slug","content_type","content","status","author_id","author_name","metadata_json","created_at","updated_at"],"title":"PostDetailResponse","description":"Response schema for a post with all details."},"PostListResponse":{"properties":{"posts":{"items":{"$ref":"#/components/schemas/PostResponse"},"type":"array","title":"Posts"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["posts","total","limit","offset"],"title":"PostListResponse","description":"Response schema for post list."},"PostResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"doc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Type"},"content_type":{"type":"string","title":"Content Type"},"status":{"type":"string","title":"Status"},"author_id":{"type":"string","title":"Author Id"},"author_name":{"type":"string","title":"Author Name"},"partner_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","title","slug","content_type","status","author_id","author_name","created_at","updated_at"],"title":"PostResponse","description":"Response schema for a post (list view)."},"PostUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Title"},"slug":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Slug"},"doc_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Doc Type"},"content_type":{"anyOf":[{"type":"string","pattern":"^(json|txt|md)$"},{"type":"null"}],"title":"Content Type"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"status":{"anyOf":[{"type":"string","pattern":"^(draft|published|archived)$"},{"type":"null"}],"title":"Status"},"author_id":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Author Id"},"author_name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Author Name"},"partner_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Partner Id"},"metadata_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata Json"},"storage_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Storage Ids"}},"type":"object","title":"PostUpdate","description":"Schema for updating a post."},"ProfileCreate":{"properties":{"author_id":{"type":"string","maxLength":100,"minLength":1,"title":"Author Id"},"author_name":{"type":"string","maxLength":200,"minLength":1,"title":"Author Name"},"email":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Phone"},"notify_on_reply":{"type":"boolean","title":"Notify On Reply","default":true}},"type":"object","required":["author_id","author_name"],"title":"ProfileCreate","description":"Schema for creating/updating a user profile."},"ProfileResponse":{"properties":{"author_id":{"type":"string","title":"Author Id"},"author_name":{"type":"string","title":"Author Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"notify_on_reply":{"type":"boolean","title":"Notify On Reply"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["author_id","author_name","notify_on_reply","created_at","updated_at"],"title":"ProfileResponse","description":"Response schema for a user profile."},"ProfileUpdate":{"properties":{"author_name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Author Name"},"email":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Phone"},"notify_on_reply":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Notify On Reply"}},"type":"object","title":"ProfileUpdate","description":"Schema for partial profile update."},"ReferenceCreate":{"properties":{"ref_number":{"type":"integer","minimum":1.0,"title":"Ref Number"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"authors":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Authors"},"url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Url"},"publication":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Publication"},"year":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Year"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["ref_number","title"],"title":"ReferenceCreate","description":"Schema for creating a reference."},"ReferenceResponse":{"properties":{"id":{"type":"integer","title":"Id"},"ref_number":{"type":"integer","title":"Ref Number"},"title":{"type":"string","title":"Title"},"authors":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authors"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"publication":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication"},"year":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Year"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","ref_number","title","created_at","updated_at"],"title":"ReferenceResponse","description":"Response schema for a reference."},"ReferenceUpdate":{"properties":{"ref_number":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Ref Number"},"title":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Title"},"authors":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Authors"},"url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Url"},"publication":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Publication"},"year":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Year"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"ReferenceUpdate","description":"Schema for updating a reference."},"RevisionDetailResponse":{"properties":{"id":{"type":"integer","title":"Id"},"post_id":{"type":"integer","title":"Post Id"},"content":{"type":"string","title":"Content"},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Id"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","post_id","content","created_at"],"title":"RevisionDetailResponse","description":"Detail view — includes full old content for diffing."},"RevisionListItem":{"properties":{"id":{"type":"integer","title":"Id"},"post_id":{"type":"integer","title":"Post Id"},"author_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Id"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"content_preview":{"type":"string","title":"Content Preview"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","post_id","content_preview","created_at"],"title":"RevisionListItem","description":"List view — no full content, just preview."},"SceneInput":{"properties":{"title":{"type":"string","title":"Title"},"narrative":{"type":"string","title":"Narrative"},"mood":{"type":"string","title":"Mood"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"illustrationPrompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Illustrationprompt"},"illustrationId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Illustrationid"},"videoId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Videoid"},"audioId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audioid"}},"type":"object","required":["title","narrative","mood"],"title":"SceneInput","description":"Input for a single scene."},"SceneResponse":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"narrative":{"type":"string","title":"Narrative"},"mood":{"type":"string","title":"Mood"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"illustrationPrompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Illustrationprompt"},"illustrationId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Illustrationid"},"videoId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Videoid"},"audioId":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audioid"}},"type":"object","required":["id","title","narrative","mood"],"title":"SceneResponse","description":"A single story scene."},"StoryCreateRequest":{"properties":{"title":{"type":"string","title":"Title","description":"Story title"},"story_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Story Group","description":"Group ID (auto-generated from title if omitted)"},"language":{"type":"string","title":"Language","description":"Language code","default":"de"},"subtitle":{"type":"string","title":"Subtitle","description":"Subtitle","default":""},"narrator":{"type":"string","title":"Narrator","description":"Narrator name","default":"tschauko"},"color":{"type":"string","title":"Color","description":"Theme color hex","default":"#7CB342"},"cover":{"type":"string","title":"Cover","description":"Cover image URL or storage ID","default":""},"region":{"type":"string","title":"Region","description":"Region/location","default":""},"duration":{"type":"string","title":"Duration","description":"Duration estimate (e.g. '12 min')","default":""},"status":{"type":"string","title":"Status","description":"draft, published, or archived","default":"draft"},"author_id":{"type":"string","title":"Author Id","description":"Author ID","default":"system"},"author_name":{"type":"string","title":"Author Name","description":"Author display name","default":"System"},"scenes":{"items":{"$ref":"#/components/schemas/SceneInput"},"type":"array","title":"Scenes","description":"Story scenes"}},"type":"object","required":["title"],"title":"StoryCreateRequest","description":"Request to create a new story."},"StoryListItem":{"properties":{"id":{"type":"integer","title":"Id"},"story_group":{"type":"string","title":"Story Group"},"language":{"type":"string","title":"Language"},"title":{"type":"string","title":"Title"},"subtitle":{"type":"string","title":"Subtitle"},"slug":{"type":"string","title":"Slug"},"narrator":{"type":"string","title":"Narrator"},"color":{"type":"string","title":"Color"},"cover":{"type":"string","title":"Cover"},"region":{"type":"string","title":"Region"},"duration":{"type":"string","title":"Duration"},"scene_count":{"type":"integer","title":"Scene Count"},"available_languages":{"items":{"type":"string"},"type":"array","title":"Available Languages","default":[]}},"type":"object","required":["id","story_group","language","title","subtitle","slug","narrator","color","cover","region","duration","scene_count"],"title":"StoryListItem","description":"Story in list view (no scenes)."},"StoryListResponse":{"properties":{"stories":{"items":{"$ref":"#/components/schemas/StoryListItem"},"type":"array","title":"Stories"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["stories","total"],"title":"StoryListResponse","description":"List of stories."},"StoryResponse":{"properties":{"id":{"type":"integer","title":"Id"},"story_group":{"type":"string","title":"Story Group"},"language":{"type":"string","title":"Language"},"title":{"type":"string","title":"Title"},"subtitle":{"type":"string","title":"Subtitle"},"slug":{"type":"string","title":"Slug"},"narrator":{"type":"string","title":"Narrator"},"color":{"type":"string","title":"Color"},"cover":{"type":"string","title":"Cover"},"region":{"type":"string","title":"Region"},"duration":{"type":"string","title":"Duration"},"status":{"type":"string","title":"Status"},"scenes":{"items":{"$ref":"#/components/schemas/SceneResponse"},"type":"array","title":"Scenes"},"available_languages":{"items":{"type":"string"},"type":"array","title":"Available Languages","default":[]},"auto_translated":{"type":"boolean","title":"Auto Translated","default":false}},"type":"object","required":["id","story_group","language","title","subtitle","slug","narrator","color","cover","region","duration","status","scenes"],"title":"StoryResponse","description":"Full story response."},"StoryUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtitle"},"narrator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrator"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"duration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duration"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"scenes":{"anyOf":[{"items":{"$ref":"#/components/schemas/SceneInput"},"type":"array"},{"type":"null"}],"title":"Scenes"}},"type":"object","title":"StoryUpdateRequest","description":"Request to update an existing story. All fields optional."},"UpdateAnnotationKnowledgeRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"object_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Description"},"object_audio":{"anyOf":[{"$ref":"#/components/schemas/AudioRef"},{"type":"null"}]},"facts":{"anyOf":[{"items":{"$ref":"#/components/schemas/FactItem"},"type":"array"},{"type":"null"}],"title":"Facts"},"annotations":{"anyOf":[{"items":{"$ref":"#/components/schemas/AnnotationPoint"},"type":"array"},{"type":"null"}],"title":"Annotations"},"combined_audio":{"anyOf":[{"$ref":"#/components/schemas/AudioRef"},{"type":"null"}]}},"type":"object","title":"UpdateAnnotationKnowledgeRequest","description":"Update annotation knowledge content."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"content__routes__annotations_knowledge__GenerateLanguagesRequest":{"properties":{"languages":{"items":{"type":"string"},"type":"array","title":"Languages","description":"Target language codes"},"force_refresh":{"type":"boolean","title":"Force Refresh","default":false}},"type":"object","required":["languages"],"title":"GenerateLanguagesRequest"},"content__routes__annotations_knowledge__GenerateLanguagesResult":{"properties":{"annotation_group":{"type":"string","title":"Annotation Group"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results"}},"type":"object","required":["annotation_group","results"],"title":"GenerateLanguagesResult"},"content__routes__stories__GenerateLanguagesRequest":{"properties":{"languages":{"items":{"type":"string"},"type":"array","title":"Languages","description":"Target language codes"},"force_refresh":{"type":"boolean","title":"Force Refresh","description":"Re-translate even if exists","default":false}},"type":"object","required":["languages"],"title":"GenerateLanguagesRequest","description":"Request to batch-generate story translations."},"content__routes__stories__GenerateLanguagesResult":{"properties":{"story_group":{"type":"string","title":"Story Group"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results"}},"type":"object","required":["story_group","results"],"title":"GenerateLanguagesResult","description":"Result of batch translation."}}}}