Spec-only preview. The API is not yet live; the surface below is what we are building toward. Request access to the closed beta.
curl --request POST \
--url https://api.jeantechnologies.com/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"user_id": "u_alice",
"domain": "dating",
"context": "32, NYC, looking for someone serious. Reads a lot, runs in the park, vegetarian.",
"fields": {
"age": 32,
"location": "New York, NY"
},
"memory_ref": "jeanmemory://tenant/u_alice"
}
'{
"user_id": "u_alice",
"domain": "dating",
"schema_version": "dating.v3",
"fields": {
"age": 32,
"location": "New York, NY",
"relationship_goal": "serious"
},
"derived": {
"attachment_style": "secure"
},
"embeddings": {
"dating": {
"dim": 1024,
"version": "dating-2026-05-01"
}
},
"last_enriched_at": "2023-11-07T05:31:56Z"
}Create or update a user with raw context, structured fields, or an external memory reference.
curl --request POST \
--url https://api.jeantechnologies.com/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"user_id": "u_alice",
"domain": "dating",
"context": "32, NYC, looking for someone serious. Reads a lot, runs in the park, vegetarian.",
"fields": {
"age": 32,
"location": "New York, NY"
},
"memory_ref": "jeanmemory://tenant/u_alice"
}
'{
"user_id": "u_alice",
"domain": "dating",
"schema_version": "dating.v3",
"fields": {
"age": 32,
"location": "New York, NY",
"relationship_goal": "serious"
},
"derived": {
"attachment_style": "secure"
},
"embeddings": {
"dating": {
"dim": 1024,
"version": "dating-2026-05-01"
}
},
"last_enriched_at": "2023-11-07T05:31:56Z"
}Use this when a user first enters your system. Send whatever context you have, in any form:Documentation Index
Fetch the complete documentation index at: https://docs.jeanmemory.com/llms.txt
Use this file to discover all available pages before exploring further.
context (resume, intake transcript, profile blurb). The platform extracts fields against your domain schema.fields when you already have typed values. Skips extraction.memory_ref pointing at an external store you operate (Jean Memory, Mem0, or your own vector DB).fields wins over anything extracted from context.
For incremental updates later (a new chat message, a follow-up call), use POST /context instead so you don’t re-send the whole user.
curl https://api.jeantechnologies.com/v1/users \
-H "Authorization: Bearer $JEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "u_alice",
"domain": "dating",
"context": "32, NYC, looking for someone serious. Reads a lot, runs in the park, vegetarian.",
"fields": { "location": "New York, NY" }
}'
{
"user_id": "u_alice",
"domain": "dating",
"schema_version": "dating.v3",
"fields": {
"age": 32,
"location": "New York, NY",
"relationship_goal": "serious"
},
"derived": {
"attachment_style": "secure"
},
"embeddings": {
"dating": { "dim": 1024, "version": "dating-2026-05-01" }
},
"last_enriched_at": "2026-05-17T22:01:09Z"
}
embeddings object lists each domain head this user now has a vector for. After a single upsert in dating, only the dating head is populated. Other heads materialize lazily when the user is matched against in another domain.
My extracted fields are empty
context was too sparse to ground anything. Run GET /schema?domain=... to inspect what the platform is trying to extract.Fields I sent don't match the schema
extras and not used for ranking. Add them to the schema at onboarding or strip them before sending.Upsert vs. partial update
POST /users replaces the user’s row entirely (subject to merging logic on provenance). For non-destructive incremental updates, use POST /context.API key issued by Jean Technologies. Contact the team for access.
Client-supplied unique identifier.
"u_alice"
Domain this user belongs to (e.g. dating, hiring).
"dating"
Free-text context. The platform extracts structured fields from it.
"32, NYC, looking for someone serious. Reads a lot, runs in the park, vegetarian."
Pre-structured field values. Overrides any conflicting extraction.
{ "age": 32, "location": "New York, NY" }Optional pointer to an external memory or context store the customer operates.
"jeanmemory://tenant/u_alice"
User upserted
"u_alice"
"dating"
"dating.v3"
{
"age": 32,
"location": "New York, NY",
"relationship_goal": "serious"
}{ "attachment_style": "secure" }Show child attributes
{
"dating": {
"dim": 1024,
"version": "dating-2026-05-01"
}
}