Uygulamayı aç
Moonborn — API · personas

Compute DNA profile from bigFive + soul scores (cached per org TTL)

Deterministic 6-axis DNA profile (openness, conscientiousness, extraversion, agreeableness, neuroticism, soulDepth) computed from the persona Self layer bigFive normalised scores + Soul layer depth indicators. Cached per persona; TTL controlled by `persona_detail.dna.cache_ttl_hours` (default 24 h, per-org tunable). `force=true` bypasses the cache.

POST/v1/personas/{id}/dnascope · Bearer (API key or session JWT)
Path parameters
FieldTypeDescription
idreqstring
Request body
FieldTypeDescription
bigFivereqobject
bigFive.opennessreqnumber
bigFive.conscientiousnessreqnumber
bigFive.extraversionreqnumber
bigFive.agreeablenessreqnumber
bigFive.neuroticismreqnumber
soulreqobject
soul.coreDesireStrengthreqnumber
soul.fearDepthreqnumber
soul.woundIntensityreqnumber
forceboolean

Responses

200Computed (or cache hit)
400Invalid bigFive/soul body
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
401Unauthorized
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring

Examples

cURL
curl -X POST https://api.moonborn.co/v1/personas/<id>/dna \
  -H "Authorization: Bearer $MOONBORN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "bigFive": {
        "openness": 0,
        "conscientiousness": 0,
        "extraversion": 0,
        "agreeableness": 0,
        "neuroticism": 0
      },
      "soul": {
        "coreDesireStrength": 0,
        "fearDepth": 0,
        "woundIntensity": 0
      }
    }'
TypeScript
import Moonborn from '@moonborn/sdk';

const client = new Moonborn({ apiKey: process.env.MOONBORN_API_KEY });

const result = await client.personas.computePersonaDna({
  id: '<id>',
  bigFive: {"openness":0,"conscientiousness":0,"extraversion":0,"agreeableness":0,"neuroticism":0},
  soul: {"coreDesireStrength":0,"fearDepth":0,"woundIntensity":0},
});
Python
import os
from moonborn import Moonborn

client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])

result = client.personas.compute_persona_dna(
    id="<id>",
    big_five={"openness":0,"conscientiousness":0,"extraversion":0,"agreeableness":0,"neuroticism":0},
    soul={"coreDesireStrength":0,"fearDepth":0,"woundIntensity":0},
)