Skip to main content
Welcome to the Domain Embeddings API documentation. This API allows you to build sophisticated user understanding and matching systems.
Domain Embeddings is in early access. Contact us to get an API key.

Base URL

https://api.jeantechnologies.com/v1
All endpoints below are relative to this base URL. Include your API key in the Authorization header:
Authorization: Bearer your_api_key

Processing

The entry point for bringing user data into the system.

Ingest Profile

POST /ingest Ingest raw user context to create a structured identity. This endpoint processes unstructured text (resumes, bios, interview notes) to:
  • Extract structured metadata (job title, location, skills)
  • Synthesize semantic aspects (Identity, Intent, Vibe)
  • Generate vector embeddings for matching
user_id
string
required
Unique identifier for the user.
raw_context
string
required
Raw text input (resume, bio, interview notes, etc.).
metadata
object
Client-provided metadata. Takes precedence over extracted values.
client_summary
string
Optional summary appended to context before processing.
schema_override
object
Override the default extraction schema.
enrichment_enabled
boolean
default:"false"
Enable third-party context enrichment.
{
  "user_id": "user_123",
  "raw_context": "Senior software engineer with 10 years of experience in Python...",
  "metadata": {
    "role": "engineer"
  },
  "client_summary": "Optional pre-built summary to append to context",
  "schema_override": null,
  "enrichment_enabled": true
}

Memory

Observes user activity to keep profiles up-to-date.

Stream Activity

POST /stream Process a stream of user activity (chat messages, logs, notes). The system analyzes real-time interactions to detect new memories, update metadata, or trigger profile refreshes.
user_id
string
required
The user this stream event belongs to.
content
string
required
Raw text from the interaction.
source
string
default:"chat"
Source label for the activity.
{
  "user_id": "user_123",
  "content": "I've started learning Rust and I'm loving the borrow checker.",
  "source": "chat"
}

Matching

Finds relevant users based on deep semantic understanding.

Find Matches

POST /match Finds the best candidates for a given user using deep semantic understanding rather than simple keyword overlap.
user_id
string
required
The user to find matches for.
limit
integer
default:"10"
Maximum number of matches to return.
filters
object
Hard SQL filters on metadata (e.g. {"stage": ["seed"]}).
model
string
default:"openai"
Model selection: "openai" or "custom" (for fine-tuned cross-encoder).
{
  "user_id": "user_123",
  "limit": 10,
  "filters": {
    "location": "San Francisco"
  },
  "model": "openai"
}

Evolution

The self-improvement loop for your matching models.

Submit Feedback

POST /feedback/batch Submit feedback on match quality. This data is converted into training triplets used to train custom ranking models.
batch_id
string
required
Identifier for this feedback batch.
items
array
required
List of feedback items.
items[].source_id
string
required
The user who was shown the match.
items[].target_id
string
required
The candidate that was shown.
items[].action
string
required
Action taken: "accepted" or "rejected".
{
  "batch_id": "batch_001",
  "items": [
    { "source_id": "u1", "target_id": "c1", "action": "accepted" },
    { "source_id": "u1", "target_id": "c2", "action": "rejected" }
  ]
}

Train Model

POST /train Trigger a training run for the custom ranker. Uses collected feedback to fine-tune a cross-encoder matching model.
min_triplets
integer
default:"500"
Minimum triplets required to train.
force
boolean
default:"false"
Train even if below the triplet threshold.
{
  "min_triplets": 500,
  "force": false
}