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/context \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"user_id": "u_alice",
"domain": "dating",
"content": "Just got back from a week of hiking in the Catskills. Loved it. Already planning the next trip.",
"source": "chat",
"occurred_at": "2023-11-07T05:31:56Z"
}
'{
"user_id": "u_alice",
"domain": "dating",
"context_id": "ctx_a8c2",
"fields_updated": [
"interests",
"values_text"
],
"embeddings_refreshed": true
}Stream new context into an existing user without resending the full payload.
curl --request POST \
--url https://api.jeantechnologies.com/v1/context \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"user_id": "u_alice",
"domain": "dating",
"content": "Just got back from a week of hiking in the Catskills. Loved it. Already planning the next trip.",
"source": "chat",
"occurred_at": "2023-11-07T05:31:56Z"
}
'{
"user_id": "u_alice",
"domain": "dating",
"context_id": "ctx_a8c2",
"fields_updated": [
"interests",
"values_text"
],
"embeddings_refreshed": true
}Use this when a user already exists and you want to enrich them incrementally. The platform extracts against your domain schema, merges into the existing representation, and refreshes embeddings if any soft fields changed. Typical sources: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.
curl https://api.jeantechnologies.com/v1/context \
-H "Authorization: Bearer $JEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "u_alice",
"domain": "dating",
"source": "chat",
"content": "Just got back from a week of hiking in the Catskills. Loved it. Already planning the next trip."
}'
{
"user_id": "u_alice",
"domain": "dating",
"context_id": "ctx_a8c2",
"fields_updated": ["interests", "values_text"],
"embeddings_refreshed": true
}
fields_updated tells you which columns actually changed (so you can avoid downstream cache invalidation when nothing moved). embeddings_refreshed is true when at least one soft field changed and the dense vector was re-computed.
| Situation | Use |
|---|---|
| First time you’ve ever seen this user | POST /users |
| Full re-import or bulk backfill | POST /users |
| New chat message / event / transcript chunk | POST /context |
| User updated a profile field through your UI | POST /users (replaces the row) |
| Periodic behavior batch (e.g. nightly job) | POST /context per row |
API key issued by Jean Technologies. Contact the team for access.
"u_alice"
"dating"
The new piece of context to merge into the user's representation.
"Just got back from a week of hiking in the Catskills. Loved it. Already planning the next trip."
Where this context came from. Free-form tag stored alongside the extracted fields for provenance.
chat, voice_transcript, behavior, upload, connector, manual "chat"
Optional timestamp the event actually occurred (defaults to server receive time).