Skip to content
Changelog

Personas: soul_document, human_profile, and avatar fields

TIE AI Gateway

Added soul_document, human_profile, and avatar as structured fields on the persona object. Apps no longer need to maintain local copies of personality data, user relationship context, or avatar URLs.

What changed:

  • POST /personas and PUT /personas/{id} accept all three new fields (optional)
  • All persona responses now include soul_document (nullable JSON), human_profile (nullable text), and avatar (nullable text)
  • GET /personas/active returns all three fields so apps can reconstruct the full agent state without a local database

Field semantics:

  • soul_document — The agent’s structured personality document. JSON with keys voiceAndStyle, antiPatterns, learnedAdaptations, boundaries, customInstructions. Each is an array of { "text": string, "source": string } entries. This is persona-level state (same for all sessions) — apps write this when the user edits their AI’s personality.

  • human_profile — Free-form text the AI writes about the specific user it talks to: goals, communication preferences, values, context. Since each user has exactly one non-preset persona, this is effectively user-scoped. Apps write this when the AI learns something meaningful about the user during conversation.

  • avatar — URL of the persona’s avatar image. Shared across all apps using this persona so every app shows the same avatar without maintaining a local copy.

Why: TIE is the single source of truth for a user’s AI agent across all platform apps. Previously, personality data, user profiles, and avatar URLs lived in each app’s local database, causing drift between apps. Now any app that shares a persona sees the same state without a sync step.

Migration: No action required. Existing personas return null for all three fields until updated. Apps can migrate by pushing their local values to TIE on next sync.

Type to search…

↑↓ navigate↵ selectEsc close