{"openapi":"3.1.0","info":{"title":"Pendragon Dynasty Action","description":"Focused Custom GPT Action for families, ancestry, marriages, parentage, inheritance, and manor transfers. Historical records remain append-only.","version":"0.1.0"},"servers":[{"url":"https://dynasty-api.pendragon-chronicle.dwarvenbard.com","description":"Pendragon Dynasty Action gateway"}],"paths":{"/api/v1/campaigns/{campaign_id}/player-view":{"get":{"tags":["campaigns","player-view"],"summary":"Get Player View","description":"Return a player-safe projection for the human-readable campaign site.","operationId":"get_player_view","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignPlayerView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns":{"get":{"tags":["campaigns"],"summary":"List Campaigns","operationId":"list_campaigns","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":{"type":"array","items":{"$ref":"#/components/schemas/CampaignRead"},"title":"Response List Campaigns"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}":{"get":{"tags":["campaigns"],"summary":"Get Campaign","operationId":"get_campaign","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/sessions":{"get":{"tags":["campaigns"],"summary":"List Sessions","operationId":"list_sessions","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SessionRead"},"title":"Response List Sessions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/events":{"get":{"tags":["timeline"],"summary":"List Events","operationId":"list_events","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventRead"},"title":"Response List Events"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["timeline"],"summary":"Create Event","operationId":"create_event","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-openai-isConsequential":false}},"/api/v1/campaigns/{campaign_id}/characters":{"get":{"tags":["characters"],"summary":"List Characters","operationId":"list_characters","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(player_knight|npc)$"},{"type":"null"}],"title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CharacterRead"},"title":"Response List Characters"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["characters"],"summary":"Create Character","operationId":"create_character","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/characters/{character_id}":{"get":{"tags":["characters"],"summary":"Get Character","operationId":"get_character","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["characters"],"summary":"Update Character","operationId":"update_character","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/characters/{character_id}/notes":{"get":{"tags":["characters"],"summary":"List Notes","operationId":"list_notes","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}},{"name":"include_gm","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Gm"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CharacterNoteRead"},"title":"Response List Notes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["characters"],"summary":"Add Note","operationId":"add_note","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterNoteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharacterNoteRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/characters/{character_id}/glory":{"get":{"tags":["characters"],"summary":"Glory Summary","operationId":"glory_summary","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}},{"name":"include_gm","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Gm"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlorySummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["characters"],"summary":"Add Glory","operationId":"add_glory","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GloryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GloryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/locations":{"get":{"tags":["locations"],"summary":"List Locations","operationId":"list_locations","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LocationRead"},"title":"Response List Locations"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/manors":{"get":{"tags":["locations"],"summary":"List Manors","operationId":"list_manors","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ManorRead"},"title":"Response List Manors"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/manors/{manor_id}/tenures":{"get":{"tags":["locations"],"summary":"List Tenures","operationId":"list_tenures","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"manor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Manor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ManorTenureRead"},"title":"Response List Tenures"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/families":{"get":{"tags":["families"],"summary":"List Families","operationId":"list_families","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FamilyRead"},"title":"Response List Families"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["families"],"summary":"Create Family","operationId":"create_family","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/families/{family_id}/memberships":{"post":{"tags":["families"],"summary":"Add Membership","operationId":"add_membership","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"family_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Family Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyMembershipCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyMembershipRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/parentage":{"post":{"tags":["families"],"summary":"Add Parentage","operationId":"add_parentage","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParentageCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParentageRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/marriages":{"post":{"tags":["families"],"summary":"Add Marriage","operationId":"add_marriage","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarriageCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarriageRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/inheritance-cases":{"post":{"tags":["families"],"summary":"Create Inheritance Case","operationId":"create_inheritance_case","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritanceCaseCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritanceCaseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/inheritance-cases/{case_id}/heirs":{"post":{"tags":["families"],"summary":"Add Heir","operationId":"add_heir","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritanceHeirCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritanceHeirRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/inheritance-cases/{case_id}/manor-transfers":{"post":{"tags":["families"],"summary":"Transfer Manor","operationId":"transfer_manor","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritanceTransferCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritanceTransferRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/source-references":{"get":{"tags":["families"],"summary":"List Sources","operationId":"list_sources","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SourceReferenceRead"},"title":"Response List Sources"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["families"],"summary":"Create Source","operationId":"create_source","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceReferenceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceReferenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/families/{family_id}/history":{"get":{"tags":["families"],"summary":"List History","operationId":"list_history","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"family_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Family Id"}},{"name":"before_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Before Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FamilyHistoryRead"},"title":"Response List History"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["families"],"summary":"Add History","operationId":"add_history","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"family_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Family Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyHistoryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyHistoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/characters/{character_id}/history":{"get":{"tags":["winter-phase"],"summary":"List Character History","operationId":"list_character_history","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Campaign Id"}},{"name":"character_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CharacterHistoryRead"},"title":"Response List Character History"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CampaignPlayerView":{"properties":{"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"campaign_name":{"type":"string","title":"Campaign Name"},"current_year":{"type":"integer","title":"Current Year"},"events":{"items":{"$ref":"#/components/schemas/PlayerEvent"},"type":"array","title":"Events"},"people":{"items":{"$ref":"#/components/schemas/PlayerPerson"},"type":"array","title":"People"},"families":{"items":{"$ref":"#/components/schemas/PlayerFamily"},"type":"array","title":"Families"},"manors":{"items":{"$ref":"#/components/schemas/PlayerManor"},"type":"array","title":"Manors"},"chronicles":{"items":{"$ref":"#/components/schemas/PlayerChronicle"},"type":"array","title":"Chronicles"}},"type":"object","required":["campaign_id","campaign_name","current_year","events","people","families","manors","chronicles"],"title":"CampaignPlayerView"},"CampaignRead":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"slug":{"type":"string","maxLength":100,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"current_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Current Year","default":485},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"Pendragon 6th Edition"},"timezone":{"type":"string","title":"Timezone","default":"UTC"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","slug","id","archived_at","created_at","updated_at"],"title":"CampaignRead"},"CharacterCreate":{"properties":{"kind":{"type":"string","enum":["player_knight","npc"],"title":"Kind"},"name":{"type":"string","maxLength":300,"minLength":1,"title":"Name"},"epithet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Epithet"},"player_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Player Name"},"gender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Culture"},"religion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Religion"},"social_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Class"},"birth_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Birth Year"},"status":{"type":"string","enum":["alive","dead","missing","unknown"],"title":"Status","default":"alive"},"coat_of_arms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coat Of Arms"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"foundry_uuid":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Foundry Uuid"},"metadata_":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["kind","name"],"title":"CharacterCreate"},"CharacterHistoryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"character_id":{"type":"string","format":"uuid","title":"Character Id"},"event_id":{"type":"string","format":"uuid","title":"Event Id"},"source_key":{"type":"string","title":"Source Key"},"in_game_year":{"type":"integer","title":"In Game Year"},"title":{"type":"string","title":"Title"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"reported_glory":{"type":"integer","title":"Reported Glory"},"favour_value":{"type":"integer","title":"Favour Value"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","campaign_id","character_id","event_id","source_key","in_game_year","title","source","description","reported_glory","favour_value","created_at"],"title":"CharacterHistoryRead"},"CharacterNoteCreate":{"properties":{"event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"gm_only"},"note_type":{"type":"string","maxLength":100,"minLength":1,"title":"Note Type","default":"general"},"title":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Title"},"body":{"type":"string","minLength":1,"title":"Body"}},"type":"object","required":["body"],"title":"CharacterNoteCreate"},"CharacterNoteRead":{"properties":{"event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"gm_only"},"note_type":{"type":"string","maxLength":100,"minLength":1,"title":"Note Type","default":"general"},"title":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Title"},"body":{"type":"string","minLength":1,"title":"Body"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"character_id":{"type":"string","format":"uuid","title":"Character Id"},"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"}},"type":"object","required":["body","id","campaign_id","character_id","recorded_at"],"title":"CharacterNoteRead"},"CharacterRead":{"properties":{"kind":{"type":"string","enum":["player_knight","npc"],"title":"Kind"},"name":{"type":"string","maxLength":300,"minLength":1,"title":"Name"},"epithet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Epithet"},"player_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Player Name"},"gender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Culture"},"religion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Religion"},"social_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Class"},"birth_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Birth Year"},"status":{"type":"string","enum":["alive","dead","missing","unknown"],"title":"Status","default":"alive"},"coat_of_arms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coat Of Arms"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"foundry_uuid":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Foundry Uuid"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["kind","name","id","campaign_id","archived_at","created_at","updated_at"],"title":"CharacterRead"},"CharacterUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Name"},"epithet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Epithet"},"player_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Player Name"},"gender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gender"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Culture"},"religion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Religion"},"social_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Social Class"},"birth_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Birth Year"},"coat_of_arms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coat Of Arms"},"public_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Description"},"foundry_uuid":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Foundry Uuid"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","title":"CharacterUpdate"},"EventCreate":{"properties":{"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"event_type":{"type":"string","maxLength":100,"minLength":1,"title":"Event Type"},"title":{"type":"string","maxLength":300,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"in_game_year":{"type":"integer","maximum":9999,"minimum":1,"title":"In Game Year"},"in_game_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"In Game Date"},"sequence":{"type":"integer","minimum":0,"title":"Sequence","default":0},"visibility":{"type":"string","enum":["gm_only","players","public"],"title":"Visibility","default":"players"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"supersedes_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Supersedes Event Id"},"metadata_":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["event_type","title","in_game_year"],"title":"EventCreate"},"EventRead":{"properties":{"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"event_type":{"type":"string","maxLength":100,"minLength":1,"title":"Event Type"},"title":{"type":"string","maxLength":300,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"in_game_year":{"type":"integer","maximum":9999,"minimum":1,"title":"In Game Year"},"in_game_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"In Game Date"},"sequence":{"type":"integer","minimum":0,"title":"Sequence","default":0},"visibility":{"type":"string","enum":["gm_only","players","public"],"title":"Visibility","default":"players"},"occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred At"},"supersedes_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Supersedes Event Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"}},"type":"object","required":["event_type","title","in_game_year","id","campaign_id","recorded_at"],"title":"EventRead"},"FamilyCreate":{"properties":{"name":{"type":"string","maxLength":300,"minLength":1,"title":"Name"},"founding_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Founding Year"},"dissolved_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Dissolved Year"},"origin_location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Origin Location Id"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Culture"},"religion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Religion"},"coat_of_arms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coat Of Arms"},"motto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motto"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"metadata_":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["name"],"title":"FamilyCreate"},"FamilyHistoryCreate":{"properties":{"ancestor_character_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ancestor Character Id"},"realm_location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Realm Location Id"},"source_reference_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Reference Id"},"dice_log_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dice Log Id"},"start_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"End Year"},"entry_type":{"type":"string","minLength":1,"title":"Entry Type","default":"annual_service"},"title":{"type":"string","minLength":1,"title":"Title"},"summary":{"type":"string","minLength":1,"title":"Summary"},"generation_method":{"type":"string","minLength":1,"title":"Generation Method","default":"manual"},"source_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Locator"},"roll_expression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roll Expression"},"roll_result":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roll Result"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"metadata_":{"additionalProperties":true,"type":"object","title":"Metadata"},"glory_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Glory Amount"},"glory_category":{"type":"string","title":"Glory Category","default":"ancestral"},"glory_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Glory Reason"}},"type":"object","required":["start_year","title","summary"],"title":"FamilyHistoryCreate"},"FamilyHistoryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"family_id":{"type":"string","format":"uuid","title":"Family Id"},"ancestor_character_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Ancestor Character Id"},"event_id":{"type":"string","format":"uuid","title":"Event Id"},"realm_location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Realm Location Id"},"source_reference_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Source Reference Id"},"dice_log_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Dice Log Id"},"glory_ledger_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Glory Ledger Id"},"start_year":{"type":"integer","title":"Start Year"},"end_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Year"},"entry_type":{"type":"string","title":"Entry Type"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"generation_method":{"type":"string","title":"Generation Method"},"source_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Locator"},"roll_expression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roll Expression"},"roll_result":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Roll Result"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","campaign_id","family_id","ancestor_character_id","event_id","realm_location_id","source_reference_id","dice_log_id","glory_ledger_id","start_year","end_year","entry_type","title","summary","generation_method","source_locator","roll_expression","roll_result","scope","metadata","created_at"],"title":"FamilyHistoryRead"},"FamilyMembershipCreate":{"properties":{"character_id":{"type":"string","format":"uuid","title":"Character Id"},"membership_type":{"type":"string","minLength":1,"title":"Membership Type","default":"birth"},"branch_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branch Name"},"start_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"End Year"},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id"},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id"},"is_primary":{"type":"boolean","title":"Is Primary","default":true},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"}},"type":"object","required":["character_id"],"title":"FamilyMembershipCreate"},"FamilyMembershipRead":{"properties":{"character_id":{"type":"string","format":"uuid","title":"Character Id"},"membership_type":{"type":"string","minLength":1,"title":"Membership Type","default":"birth"},"branch_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branch Name"},"start_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"End Year"},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id"},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id"},"is_primary":{"type":"boolean","title":"Is Primary","default":true},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"family_id":{"type":"string","format":"uuid","title":"Family Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["character_id","id","campaign_id","family_id","created_at"],"title":"FamilyMembershipRead"},"FamilyRead":{"properties":{"name":{"type":"string","maxLength":300,"minLength":1,"title":"Name"},"founding_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Founding Year"},"dissolved_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Dissolved Year"},"origin_location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Origin Location Id"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Culture"},"religion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Religion"},"coat_of_arms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coat Of Arms"},"motto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motto"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","campaign_id","archived_at","created_at","updated_at"],"title":"FamilyRead"},"GloryCreate":{"properties":{"event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"awarded_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Awarded Year"},"sequence":{"type":"integer","minimum":0,"title":"Sequence","default":0},"amount":{"type":"integer","title":"Amount"},"category":{"type":"string","maxLength":100,"minLength":1,"title":"Category","default":"other"},"reason":{"type":"string","minLength":1,"title":"Reason"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"}},"type":"object","required":["awarded_year","amount","reason"],"title":"GloryCreate"},"GloryRead":{"properties":{"event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"awarded_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Awarded Year"},"sequence":{"type":"integer","minimum":0,"title":"Sequence","default":0},"amount":{"type":"integer","title":"Amount"},"category":{"type":"string","maxLength":100,"minLength":1,"title":"Category","default":"other"},"reason":{"type":"string","minLength":1,"title":"Reason"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"character_id":{"type":"string","format":"uuid","title":"Character Id"},"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"}},"type":"object","required":["awarded_year","amount","reason","id","campaign_id","character_id","recorded_at"],"title":"GloryRead"},"GlorySummary":{"properties":{"character_id":{"type":"string","format":"uuid","title":"Character Id"},"total":{"type":"integer","title":"Total"},"entries":{"items":{"$ref":"#/components/schemas/GloryRead"},"type":"array","title":"Entries"}},"type":"object","required":["character_id","total","entries"],"title":"GlorySummary"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InheritanceCaseCreate":{"properties":{"decedent_character_id":{"type":"string","format":"uuid","title":"Decedent Character Id"},"opened_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Opened Event Id"},"settled_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Settled Event Id"},"opened_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Opened Year"},"settled_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Settled Year"},"governing_custom":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Governing Custom"},"will_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Will Summary"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["decedent_character_id","opened_year"],"title":"InheritanceCaseCreate"},"InheritanceCaseRead":{"properties":{"decedent_character_id":{"type":"string","format":"uuid","title":"Decedent Character Id"},"opened_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Opened Event Id"},"settled_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Settled Event Id"},"opened_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Opened Year"},"settled_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"Settled Year"},"governing_custom":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Governing Custom"},"will_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Will Summary"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["decedent_character_id","opened_year","id","campaign_id","created_at"],"title":"InheritanceCaseRead"},"InheritanceHeirCreate":{"properties":{"character_id":{"type":"string","format":"uuid","title":"Character Id"},"priority":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Priority"},"relationship_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relationship Description"},"claim_status":{"type":"string","minLength":1,"title":"Claim Status","default":"potential"},"designated":{"type":"boolean","title":"Designated","default":false},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["character_id"],"title":"InheritanceHeirCreate"},"InheritanceHeirRead":{"properties":{"character_id":{"type":"string","format":"uuid","title":"Character Id"},"priority":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Priority"},"relationship_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relationship Description"},"claim_status":{"type":"string","minLength":1,"title":"Claim Status","default":"potential"},"designated":{"type":"boolean","title":"Designated","default":false},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"inheritance_case_id":{"type":"string","format":"uuid","title":"Inheritance Case Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["character_id","id","campaign_id","inheritance_case_id","created_at"],"title":"InheritanceHeirRead"},"InheritanceTransferCreate":{"properties":{"manor_id":{"type":"string","format":"uuid","title":"Manor Id"},"beneficiary_character_id":{"type":"string","format":"uuid","title":"Beneficiary Character Id"},"event_id":{"type":"string","format":"uuid","title":"Event Id"},"transferred_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Transferred Year"},"terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms"}},"type":"object","required":["manor_id","beneficiary_character_id","event_id","transferred_year"],"title":"InheritanceTransferCreate"},"InheritanceTransferRead":{"properties":{"manor_id":{"type":"string","format":"uuid","title":"Manor Id"},"beneficiary_character_id":{"type":"string","format":"uuid","title":"Beneficiary Character Id"},"event_id":{"type":"string","format":"uuid","title":"Event Id"},"transferred_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Transferred Year"},"terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"inheritance_case_id":{"type":"string","format":"uuid","title":"Inheritance Case Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["manor_id","beneficiary_character_id","event_id","transferred_year","id","campaign_id","inheritance_case_id","created_at"],"title":"InheritanceTransferRead"},"LocationRead":{"properties":{"parent_location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Location Id"},"kind":{"type":"string","enum":["kingdom","county","barony","manor","holding","settlement","castle","church","forest","road","other"],"title":"Kind"},"name":{"type":"string","maxLength":300,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"latitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Longitude"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["kind","name","id","campaign_id","archived_at","created_at","updated_at"],"title":"LocationRead"},"ManorRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"location_id":{"type":"string","format":"uuid","title":"Location Id"},"customary_income":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Customary Income"},"assized_rent":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Assized Rent"},"population":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population"},"base_defensive_value":{"type":"integer","title":"Base Defensive Value"},"acreage":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Acreage"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","campaign_id","location_id","customary_income","assized_rent","population","base_defensive_value","acreage","notes","created_at","updated_at"],"title":"ManorRead"},"ManorTenureRead":{"properties":{"holder_character_id":{"type":"string","format":"uuid","title":"Holder Character Id"},"liege_character_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Liege Character Id"},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id"},"start_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Start Year"},"tenure_type":{"type":"string","maxLength":100,"minLength":1,"title":"Tenure Type","default":"grant"},"terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"manor_id":{"type":"string","format":"uuid","title":"Manor Id"},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id"},"end_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Year"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["holder_character_id","start_year","id","campaign_id","manor_id","end_event_id","end_year","created_at"],"title":"ManorTenureRead"},"MarriageCreate":{"properties":{"spouse_one_id":{"type":"string","format":"uuid","title":"Spouse One Id"},"spouse_two_id":{"type":"string","format":"uuid","title":"Spouse Two Id"},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id"},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id"},"start_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"End Year"},"end_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Reason"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["spouse_one_id","spouse_two_id","start_year"],"title":"MarriageCreate"},"MarriageRead":{"properties":{"spouse_one_id":{"type":"string","format":"uuid","title":"Spouse One Id"},"spouse_two_id":{"type":"string","format":"uuid","title":"Spouse Two Id"},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id"},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id"},"start_year":{"type":"integer","maximum":9999,"minimum":1,"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"End Year"},"end_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Reason"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["spouse_one_id","spouse_two_id","start_year","id","campaign_id","created_at"],"title":"MarriageRead"},"ParentageCreate":{"properties":{"parent_character_id":{"type":"string","format":"uuid","title":"Parent Character Id"},"child_character_id":{"type":"string","format":"uuid","title":"Child Character Id"},"relationship_type":{"type":"string","minLength":1,"title":"Relationship Type","default":"biological"},"certainty":{"type":"string","minLength":1,"title":"Certainty","default":"confirmed"},"event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["parent_character_id","child_character_id"],"title":"ParentageCreate"},"ParentageRead":{"properties":{"parent_character_id":{"type":"string","format":"uuid","title":"Parent Character Id"},"child_character_id":{"type":"string","format":"uuid","title":"Child Character Id"},"relationship_type":{"type":"string","minLength":1,"title":"Relationship Type","default":"biological"},"certainty":{"type":"string","minLength":1,"title":"Certainty","default":"confirmed"},"event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Id"},"scope":{"type":"string","enum":["gm_only","players","shared"],"title":"Scope","default":"players"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["parent_character_id","child_character_id","id","campaign_id","created_at"],"title":"ParentageRead"},"PlayerChronicle":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"year":{"type":"integer","title":"Year"},"revision":{"type":"integer","title":"Revision"},"title":{"type":"string","title":"Title"},"opening":{"type":"string","title":"Opening"},"closing":{"type":"string","title":"Closing"},"sections":{"items":{"$ref":"#/components/schemas/PlayerChronicleSection"},"type":"array","title":"Sections"}},"type":"object","required":["id","year","revision","title","opening","closing","sections"],"title":"PlayerChronicle"},"PlayerChronicleSection":{"properties":{"character_id":{"type":"string","format":"uuid","title":"Character Id"},"heading":{"type":"string","title":"Heading"},"body":{"type":"string","title":"Body"}},"type":"object","required":["character_id","heading","body"],"title":"PlayerChronicleSection"},"PlayerEvent":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"year":{"type":"integer","title":"Year"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"event_type":{"type":"string","title":"Event Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","year","date","event_type","title","description"],"title":"PlayerEvent"},"PlayerFamily":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"founding_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Founding Year"},"culture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Culture"},"coat_of_arms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coat Of Arms"},"motto":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Motto"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"origin_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Location"},"members":{"items":{"$ref":"#/components/schemas/PlayerFamilyMember"},"type":"array","title":"Members"}},"type":"object","required":["id","name","founding_year","culture","coat_of_arms","motto","notes","origin_location","members"],"title":"PlayerFamily"},"PlayerFamilyMember":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"membership_type":{"type":"string","title":"Membership Type"},"start_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Year"}},"type":"object","required":["id","name","membership_type","start_year","end_year"],"title":"PlayerFamilyMember"},"PlayerManor":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"holder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Holder"},"customary_income":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Customary Income"},"population":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population"},"base_defensive_value":{"type":"integer","title":"Base Defensive Value"},"improvements":{"items":{"$ref":"#/components/schemas/PlayerManorItem"},"type":"array","title":"Improvements"},"special_features":{"items":{"$ref":"#/components/schemas/PlayerManorItem"},"type":"array","title":"Special Features"},"defenses":{"items":{"$ref":"#/components/schemas/PlayerManorDefense"},"type":"array","title":"Defenses"}},"type":"object","required":["id","name","description","holder","customary_income","population","base_defensive_value","improvements","special_features","defenses"],"title":"PlayerManor"},"PlayerManorDefense":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"defensive_value":{"type":"integer","title":"Defensive Value"}},"type":"object","required":["id","name","defensive_value"],"title":"PlayerManorDefense"},"PlayerManorItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","required":["id","name","description"],"title":"PlayerManorItem"},"PlayerPerson":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"player_name":{"type":"string","title":"Player Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"glory":{"type":"integer","title":"Glory"}},"type":"object","required":["id","name","player_name","description","glory"],"title":"PlayerPerson"},"SessionRead":{"properties":{"session_number":{"type":"integer","exclusiveMinimum":0,"title":"Session Number"},"title":{"type":"string","maxLength":300,"minLength":1,"title":"Title"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"played_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Played At"},"in_game_start_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"In Game Start Year"},"in_game_end_year":{"anyOf":[{"type":"integer","maximum":9999,"minimum":1},{"type":"null"}],"title":"In Game End Year"},"status":{"type":"string","enum":["planned","in_progress","completed","cancelled"],"title":"Status","default":"planned"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["session_number","title","id","campaign_id","created_at","updated_at"],"title":"SessionRead"},"SourceReferenceCreate":{"properties":{"source_type":{"type":"string","minLength":1,"title":"Source Type","default":"book"},"title":{"type":"string","minLength":1,"title":"Title"},"edition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Edition"},"publication_year":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Publication Year"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["title"],"title":"SourceReferenceCreate"},"SourceReferenceRead":{"properties":{"source_type":{"type":"string","minLength":1,"title":"Source Type","default":"book"},"title":{"type":"string","minLength":1,"title":"Title"},"edition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Edition"},"publication_year":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Publication Year"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"id":{"type":"string","format":"uuid","title":"Id"},"campaign_id":{"type":"string","format":"uuid","title":"Campaign Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["title","id","campaign_id","created_at"],"title":"SourceReferenceRead"},"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"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Campaign API key stored as a secret in the calling client."}}},"security":[{"ApiKeyAuth":[]}],"x-chatgpt-instructions":{"purpose":"Persistent memory for multi-generational Pendragon campaigns.","rules":["Never invent UUIDs. List or create the required parent record first.","Treat events, ledgers, ancestry, inheritance transfers, and family history as append-only.","Use the campaign_id from the selected campaign on every campaign-scoped call.","Record significant narrative changes as events and link domain records when supported.","Respect knowledge scope: gm_only data must not be disclosed to players."],"action_scope":"dynasty"}}