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/feedback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domain": "dating",
"items": [
{
"seeker_id": "u_alice",
"candidate_id": "u_bob",
"outcome": "accepted",
"weight": 1
}
]
}
'{
"accepted": 2,
"triplets_generated": 4,
"triplets_pending_train": 318
}Report match outcomes. Feeds the training loop for your domain ranker.
curl --request POST \
--url https://api.jeantechnologies.com/v1/feedback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"domain": "dating",
"items": [
{
"seeker_id": "u_alice",
"candidate_id": "u_bob",
"outcome": "accepted",
"weight": 1
}
]
}
'{
"accepted": 2,
"triplets_generated": 4,
"triplets_pending_train": 318
}The moat. Every outcome you submit accumulates into training triplets used to fine-tune your domain’s ranker. Past a threshold, fine-tunes run automatically. Send outcomes as soon as you have them. Noisy is fine; the loss function is tolerant. You can also batch.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/feedback \
-H "Authorization: Bearer $JEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"domain": "dating",
"items": [
{ "seeker_id": "u_alice", "candidate_id": "u_bob", "outcome": "accepted" },
{ "seeker_id": "u_alice", "candidate_id": "u_carl", "outcome": "rejected" },
{ "seeker_id": "u_alice", "candidate_id": "u_dan", "outcome": "converted", "weight": 2.0 }
]
}'
accepted: user signaled positive intent (like, swipe right, save).rejected: user signaled negative intent (skip, dismiss).converted: strongest positive (matched, hired, deal closed, second date).expired: no decision before timeout.super_like, interview_passed, paid_subscription, etc.) and use them here directly.
weight defaults to 1.0. Use it to express how strong an outcome is:
| Signal | Suggested weight |
|---|---|
| Casual click / open | 0.25 |
| Like / swipe | 1.0 |
| Conversion | 2.0+ |
| Long-term retention | 5.0+ |
{
"accepted": 3,
"triplets_generated": 6,
"triplets_pending_train": 4218
}
triplets_pending_train crosses your domain’s threshold (negotiated at onboarding, typically 1K-10K), a fine-tune kicks off automatically. Force one manually with POST /train.API key issued by Jean Technologies. Contact the team for access.