Generated reference · API

Hathor API - Worldbuilding & Narrative

Hathor is the Worldbuilding & Narrative domain of Oshun Platform, handling world creation, factions, characters, locations, timelines, quests, and simulations.

163endpoints65schemas1.0.0version

On this page

Characters (6)#

GET/v1/characters/{characterId}Get character details
PATCH/v1/characters/{characterId}Update character
DELETE/v1/characters/{characterId}Delete character
POST/v1/characters/{characterId}/dialogueGenerate dialogue
GET/v1/worlds/{worldId}/charactersList characters
POST/v1/worlds/{worldId}/charactersCreate character

Cleanup (1)#

POST/v1/cleanupPOST /v1/cleanup

Dialogues (28)#

GET/v1/dialoguesGET /v1/dialogues
POST/v1/dialoguesPOST /v1/dialogues
GET/v1/dialogues/sessions/{sessionId}GET /v1/dialogues/sessions/{sessionId}
DELETE/v1/dialogues/sessions/{sessionId}DELETE /v1/dialogues/sessions/{sessionId}
POST/v1/dialogues/sessions/{sessionId}/advancePOST /v1/dialogues/sessions/{sessionId}/advance
POST/v1/dialogues/sessions/{sessionId}/choicesPOST /v1/dialogues/sessions/{sessionId}/choices
GET/v1/dialogues/sessions/{sessionId}/currentGET /v1/dialogues/sessions/{sessionId}/current
GET/v1/dialogues/sessions/{sessionId}/nodes/{nodeId}GET /v1/dialogues/sessions/{sessionId}/nodes/{nodeId}
POST/v1/dialogues/sessions/{sessionId}/validate-choicePOST /v1/dialogues/sessions/{sessionId}/validate-choice
GET/v1/dialogues/{dialogueId}GET /v1/dialogues/{dialogueId}
PUT/v1/dialogues/{dialogueId}PUT /v1/dialogues/{dialogueId}
DELETE/v1/dialogues/{dialogueId}DELETE /v1/dialogues/{dialogueId}
POST/v1/dialogues/{dialogueId}/clonePOST /v1/dialogues/{dialogueId}/clone
POST/v1/dialogues/{dialogueId}/nodesPOST /v1/dialogues/{dialogueId}/nodes
PUT/v1/dialogues/{dialogueId}/nodes/{nodeId}PUT /v1/dialogues/{dialogueId}/nodes/{nodeId}
DELETE/v1/dialogues/{dialogueId}/nodes/{nodeId}DELETE /v1/dialogues/{dialogueId}/nodes/{nodeId}
POST/v1/dialogues/{dialogueId}/nodes/{nodeId}/choicesPOST /v1/dialogues/{dialogueId}/nodes/{nodeId}/choices
PUT/v1/dialogues/{dialogueId}/nodes/{nodeId}/choices/{choiceId}PUT /v1/dialogues/{dialogueId}/nodes/{nodeId}/choices/{choiceId}
DELETE/v1/dialogues/{dialogueId}/nodes/{nodeId}/choices/{choiceId}DELETE /v1/dialogues/{dialogueId}/nodes/{nodeId}/choices/{choiceId}
POST/v1/dialogues/{dialogueId}/previewPOST /v1/dialogues/{dialogueId}/preview
POST/v1/dialogues/{dialogueId}/sessionsPOST /v1/dialogues/{dialogueId}/sessions
POST/v1/dialogues/{dialogueId}/speakersPOST /v1/dialogues/{dialogueId}/speakers
PUT/v1/dialogues/{dialogueId}/speakers/{speakerId}PUT /v1/dialogues/{dialogueId}/speakers/{speakerId}
DELETE/v1/dialogues/{dialogueId}/speakers/{speakerId}DELETE /v1/dialogues/{dialogueId}/speakers/{speakerId}
GET/v1/dialogues/{dialogueId}/validateGET /v1/dialogues/{dialogueId}/validate
POST/v1/dialogues/{dialogueId}/validate-conditionsPOST /v1/dialogues/{dialogueId}/validate-conditions
POST/v1/dialogues/{dialogueId}/validate-graphPOST /v1/dialogues/{dialogueId}/validate-graph
POST/v1/dialogues/{dialogueId}/validate-speakersPOST /v1/dialogues/{dialogueId}/validate-speakers

Factions (7)#

GET/v1/factions/{factionId}Get faction details
PATCH/v1/factions/{factionId}Update faction
DELETE/v1/factions/{factionId}Delete faction
GET/v1/factions/{factionId}/relationsGet faction relations
POST/v1/factions/{factionId}/relationsSet faction relation
GET/v1/worlds/{worldId}/factionsList factions
POST/v1/worlds/{worldId}/factionsCreate faction

Jobs (5)#

GET/v1/jobsGET /v1/jobs
POST/v1/jobsPOST /v1/jobs
GET/v1/jobs/{jobId}GET /v1/jobs/{jobId}
POST/v1/jobs/{jobId}/cancelPOST /v1/jobs/{jobId}/cancel
POST/v1/jobs/{jobId}/retryPOST /v1/jobs/{jobId}/retry

Locations (4)#

GET/v1/locations/{locationId}Get location details
GET/v1/locations/{locationId}/hierarchyGet location hierarchy
GET/v1/worlds/{worldId}/locationsList locations
POST/v1/worlds/{worldId}/locationsCreate location

Narratives (3)#

GET/v1/worlds/{worldId}/questsList quests
POST/v1/worlds/{worldId}/questsCreate quest
POST/v1/worlds/{worldId}/quests/generateGenerate quest

Quests (16)#

GET/v1/questsGET /v1/quests
POST/v1/questsPOST /v1/quests
GET/v1/quests/{questId}GET /v1/quests/{questId}
PUT/v1/quests/{questId}PUT /v1/quests/{questId}
DELETE/v1/quests/{questId}DELETE /v1/quests/{questId}
POST/v1/quests/{questId}/abandonPOST /v1/quests/{questId}/abandon
POST/v1/quests/{questId}/clonePOST /v1/quests/{questId}/clone
POST/v1/quests/{questId}/completePOST /v1/quests/{questId}/complete
POST/v1/quests/{questId}/failPOST /v1/quests/{questId}/fail
GET/v1/quests/{questId}/objectivesGET /v1/quests/{questId}/objectives
PUT/v1/quests/{questId}/objectives/{objectiveId}PUT /v1/quests/{questId}/objectives/{objectiveId}
POST/v1/quests/{questId}/objectives/{objectiveId}/completePOST /v1/quests/{questId}/objectives/{objectiveId}/complete
PUT/v1/quests/{questId}/objectives/{objectiveId}/progressPUT /v1/quests/{questId}/objectives/{objectiveId}/progress
POST/v1/quests/{questId}/startPOST /v1/quests/{questId}/start
GET/v1/quests/{questId}/stateGET /v1/quests/{questId}/state
POST/v1/quests/{questId}/validatePOST /v1/quests/{questId}/validate

Simulations (8)#

POST/v1/simulationsPOST /v1/simulations
POST/v1/simulations/cancelPOST /v1/simulations/cancel
GET/v1/simulations/statsGET /v1/simulations/stats
GET/v1/simulations/{simulationId}Get simulation status
DELETE/v1/simulations/{simulationId}Stop simulation
GET/v1/simulations/{simulationId}/streamStream simulation updates
GET/v1/worlds/{worldId}/simulationsList simulations
POST/v1/worlds/{worldId}/simulationsStart simulation

Stats (1)#

GET/v1/statsGET /v1/stats

StoryGraphs (20)#

GET/v1/story-graphsGET /v1/story-graphs
POST/v1/story-graphsPOST /v1/story-graphs
GET/v1/story-graphs/{storyGraphId}GET /v1/story-graphs/{storyGraphId}
PUT/v1/story-graphs/{storyGraphId}PUT /v1/story-graphs/{storyGraphId}
DELETE/v1/story-graphs/{storyGraphId}DELETE /v1/story-graphs/{storyGraphId}
POST/v1/story-graphs/{storyGraphId}/arcsPOST /v1/story-graphs/{storyGraphId}/arcs
PUT/v1/story-graphs/{storyGraphId}/arcs/{arcId}PUT /v1/story-graphs/{storyGraphId}/arcs/{arcId}
DELETE/v1/story-graphs/{storyGraphId}/arcs/{arcId}DELETE /v1/story-graphs/{storyGraphId}/arcs/{arcId}
POST/v1/story-graphs/{storyGraphId}/branchPOST /v1/story-graphs/{storyGraphId}/branch
POST/v1/story-graphs/{storyGraphId}/clonePOST /v1/story-graphs/{storyGraphId}/clone
POST/v1/story-graphs/{storyGraphId}/connectionsPOST /v1/story-graphs/{storyGraphId}/connections
PUT/v1/story-graphs/{storyGraphId}/flags/{flagId}PUT /v1/story-graphs/{storyGraphId}/flags/{flagId}
POST/v1/story-graphs/{storyGraphId}/nodesPOST /v1/story-graphs/{storyGraphId}/nodes
PUT/v1/story-graphs/{storyGraphId}/nodes/{nodeId}PUT /v1/story-graphs/{storyGraphId}/nodes/{nodeId}
DELETE/v1/story-graphs/{storyGraphId}/nodes/{nodeId}DELETE /v1/story-graphs/{storyGraphId}/nodes/{nodeId}
POST/v1/story-graphs/{storyGraphId}/nodes/{nodeId}/connectPOST /v1/story-graphs/{storyGraphId}/nodes/{nodeId}/connect
PUT/v1/story-graphs/{storyGraphId}/statePUT /v1/story-graphs/{storyGraphId}/state
GET/v1/story-graphs/{storyGraphId}/traversalGET /v1/story-graphs/{storyGraphId}/traversal
GET/v1/story-graphs/{storyGraphId}/validateGET /v1/story-graphs/{storyGraphId}/validate
PUT/v1/story-graphs/{storyGraphId}/variables/{variableId}PUT /v1/story-graphs/{storyGraphId}/variables/{variableId}

Timelines (4)#

GET/v1/timelines/{timelineId}/eventsGet events
POST/v1/timelines/{timelineId}/eventsAdd event
GET/v1/worlds/{worldId}/timelinesList timelines
POST/v1/worlds/{worldId}/timelinesCreate timeline

Validation (4)#

POST/v1/validation/constraints/checkPOST /v1/validation/constraints/check
POST/v1/validation/dialoguesPOST /v1/validation/dialogues
POST/v1/validation/questsPOST /v1/validation/quests
POST/v1/validation/story-graphsPOST /v1/validation/story-graphs

Workers (3)#

GET/v1/workersGET /v1/workers
GET/v1/workers/{workerId}GET /v1/workers/{workerId}
POST/v1/workers/{workerId}/drainPOST /v1/workers/{workerId}/drain

Worlds (53)#

GET/v1/worldsList worlds
POST/v1/worldsCreate a world
GET/v1/worlds/{worldId}Get world details
PUT/v1/worlds/{worldId}Replace world (full update)
PATCH/v1/worlds/{worldId}Update world (partial)
DELETE/v1/worlds/{worldId}Delete world
POST/v1/worlds/{worldId}/aggregatePOST /v1/worlds/{worldId}/aggregate
GET/v1/worlds/{worldId}/branchesGET /v1/worlds/{worldId}/branches
POST/v1/worlds/{worldId}/branchesPOST /v1/worlds/{worldId}/branches
GET/v1/worlds/{worldId}/branches/{brancheId}GET /v1/worlds/{worldId}/branches/{brancheId}
DELETE/v1/worlds/{worldId}/branches/{brancheId}DELETE /v1/worlds/{worldId}/branches/{brancheId}
POST/v1/worlds/{worldId}/checkout/{checkoutId}POST /v1/worlds/{worldId}/checkout/{checkoutId}
POST/v1/worlds/{worldId}/cherry-pickPOST /v1/worlds/{worldId}/cherry-pick
POST/v1/worlds/{worldId}/clonePOST /v1/worlds/{worldId}/clone
POST/v1/worlds/{worldId}/collaboratorsPOST /v1/worlds/{worldId}/collaborators
DELETE/v1/worlds/{worldId}/collaborators/{collaboratorId}DELETE /v1/worlds/{worldId}/collaborators/{collaboratorId}
GET/v1/worlds/{worldId}/currentGET /v1/worlds/{worldId}/current
POST/v1/worlds/{worldId}/entities/batchPOST /v1/worlds/{worldId}/entities/batch
GET/v1/worlds/{worldId}/entities/searchGET /v1/worlds/{worldId}/entities/search
GET/v1/worlds/{worldId}/entities/{entitieId}GET /v1/worlds/{worldId}/entities/{entitieId}
POST/v1/worlds/{worldId}/entities/{entitieId}/batchPOST /v1/worlds/{worldId}/entities/{entitieId}/batch
GET/v1/worlds/{worldId}/entities/{entitieId}/relatedGET /v1/worlds/{worldId}/entities/{entitieId}/related
GET/v1/worlds/{worldId}/entities/{entitieId}/{relatedEntitieId}GET /v1/worlds/{worldId}/entities/{entitieId}/{relatedEntitieId}
GET/v1/worlds/{worldId}/entities/{entitieId}/{relatedEntitieId}/related/{relatedId}GET /v1/worlds/{worldId}/entities/{entitieId}/{relatedEntitieId}/related/{relatedId}
GET/v1/worlds/{worldId}/eventsGET /v1/worlds/{worldId}/events
POST/v1/worlds/{worldId}/exportExport world
POST/v1/worlds/{worldId}/mergePOST /v1/worlds/{worldId}/merge
GET/v1/worlds/{worldId}/merge-requestsGET /v1/worlds/{worldId}/merge-requests
POST/v1/worlds/{worldId}/merge-requestsPOST /v1/worlds/{worldId}/merge-requests
GET/v1/worlds/{worldId}/merge-requests/{mergeRequestId}GET /v1/worlds/{worldId}/merge-requests/{mergeRequestId}
POST/v1/worlds/{worldId}/merge-requests/{mergeRequestId}/closePOST /v1/worlds/{worldId}/merge-requests/{mergeRequestId}/close
GET/v1/worlds/{worldId}/merge-requests/{mergeRequestId}/conflictsGET /v1/worlds/{worldId}/merge-requests/{mergeRequestId}/conflicts
POST/v1/worlds/{worldId}/merge-requests/{mergeRequestId}/conflicts/resolvePOST /v1/worlds/{worldId}/merge-requests/{mergeRequestId}/conflicts/resolve
POST/v1/worlds/{worldId}/merge-requests/{mergeRequestId}/mergePOST /v1/worlds/{worldId}/merge-requests/{mergeRequestId}/merge
POST/v1/worlds/{worldId}/merge-requests/{mergeRequestId}/resolvePOST /v1/worlds/{worldId}/merge-requests/{mergeRequestId}/resolve
POST/v1/worlds/{worldId}/pathsPOST /v1/worlds/{worldId}/paths
POST/v1/worlds/{worldId}/queryPOST /v1/worlds/{worldId}/query
POST/v1/worlds/{worldId}/relationshipsPOST /v1/worlds/{worldId}/relationships
POST/v1/worlds/{worldId}/rollback/{rollbackId}POST /v1/worlds/{worldId}/rollback/{rollbackId}
GET/v1/worlds/{worldId}/searchGET /v1/worlds/{worldId}/search
GET/v1/worlds/{worldId}/statsGET /v1/worlds/{worldId}/stats
POST/v1/worlds/{worldId}/statusPOST /v1/worlds/{worldId}/status
POST/v1/worlds/{worldId}/validateValidate world
GET/v1/worlds/{worldId}/versionsList world versions
POST/v1/worlds/{worldId}/versionsCreate world version
GET/v1/worlds/{worldId}/versions/{versionId}GET /v1/worlds/{worldId}/versions/{versionId}
GET/v1/worlds/{worldId}/versions/{versionId}/ancestorsGET /v1/worlds/{worldId}/versions/{versionId}/ancestors
GET/v1/worlds/{worldId}/versions/{versionId}/diffGET /v1/worlds/{worldId}/versions/{versionId}/diff
GET/v1/worlds/{worldId}/versions/{versionId}/diff/{diffId}GET /v1/worlds/{worldId}/versions/{versionId}/diff/{diffId}
GET/v1/worlds/{worldId}/versions/{versionId}/historyGET /v1/worlds/{worldId}/versions/{versionId}/history
POST/v1/worlds/{worldId}/versions/{versionId}/releasePOST /v1/worlds/{worldId}/versions/{versionId}/release
POST/v1/worlds/{worldId}/versions/{versionId}/restorePOST /v1/worlds/{worldId}/versions/{versionId}/restore
POST/v1/worlds/{worldId}/versions/{versionId}/revertPOST /v1/worlds/{worldId}/versions/{versionId}/revert

Schemas (65)#

AddEventRequestobjectCharacterobjectCharacterListobjectCharacterRolestringCharacterStatsobjectCharacterTraitsobjectCreateCharacterRequestobjectCreateFactionRequestobjectCreateLocationRequestobjectCreateQuestRequestobjectCreateTimelineRequestobjectCreateWorldRequestobjectCreateWorldVersionRequestobjectDialogueChunkobjectDialogueLineobjectDialogueResponseobjectEventListobjectExportResponseobjectFactionobjectFactionListobjectFactionRelationobjectFactionRelationListobjectFactionResourcesobjectFactionTypestringGenerateDialogueRequestobjectGenerateQuestRequestobjectLocationobjectLocationHierarchyobjectLocationListobjectLocationNodeobjectLocationPropertiesobjectLocationTypestringOperationAckobjectOperationInputobjectPaginationMetaobjectQuestobjectQuestListobjectQuestObjectiveobjectQuestRewardsobjectQuestStatusstringQuestTypestringRelationSentimentstringSetFactionRelationRequestobjectSimulationobjectSimulationConfigobjectSimulationEventobjectSimulationListobjectSimulationResultsobjectSimulationTypestringSimulationUpdateobjectStartSimulationRequestobjectTimelineobjectTimelineEventobjectTimelineListobjectUpdateCharacterRequestobjectUpdateFactionRequestobjectUpdateWorldRequestobjectValidationResultobjectWorldobjectWorldListobjectWorldSettingsobjectWorldStatsobjectWorldStatusstringWorldVersionobjectWorldVersionListobject