API Reference

Base URL: https://api.careerstudiomax.com/api/transformer

Authentication

Every endpoint below (except registration) requires an X-API-Key header with a key from your dashboard. Keys look like csk_live_... or csk_test_....

POST/v1/extract

Extract career entities and relationships from raw text — up to 10,000 characters.

Request body
{
  "text": "Led backend team at Acme, hired by a recruiter for a Senior Engineer role, $145k",
  "options": { "entityTypes": ["SKILL","SALARY"], "minConfidence": 0.7 }  // optional
}
Response — 200
{
  "success": true,
  "data": {
    "entities": [{ "text": "Acme", "type": "EMPLOYER", "confidence": 0.94, "start": 14, "end": 18 }],
    "relationships": [{ "source": "...", "target": "Acme", "relation": "works_for" }],
    "summary": { "employers": ["Acme"], "salaries": ["$145k"] },
    "metadata": { "entityCount": 4, "confidence": null, "requestId": "req_..." }
  },
  "usageToday": 1, "dailyLimit": 100
}
POST/v1/career-graph

Build a knowledge graph from raw text (auto-extracts entities first) or from entities you already have. Returns nodes, edges, clusters, and career-strength scoring. See it rendered live in the playground.

Request body
{ "text": "..." }
// OR: { "entities": [...], "relationships": [...] }
Response — 200
{
  "success": true,
  "data": {
    "nodes": [{ "id": "n1", "label": "Acme", "type": "EMPLOYER" }],
    "edges": [{ "from": "n1", "to": "n2", "relation": "employs", "weight": 0.9 }],
    "clusters": [{ "id": "cluster_1", "theme": "..." }],
    "insights": ["..."],
    "careerScore": { "overall": 72 }
  }
}
POST/v1/job-match

Score a candidate against a job description.

FieldRequiredNotes
jobDescriptionyesstring
candidateTextone ofraw resume/profile text
candidateEntitiesone ofpre-extracted entities, skips re-extraction
Response shape
{ "data": { "matchScore": 78, "verdict": "GOOD_MATCH", "breakdown": {...}, "strengths": [...], "gaps": [...], "hiringProbability": 0.71 } }
POST/v1/chat

Call an exact model by name — no auto-routing.

Request body
{
  "model": "cs-sonnet",  // cs-opus | cs-sonnet | cs-haiku
  "messages": [{ "role": "user", "content": "..." }],
  "maxTokens": 2048, "temperature": 0.7  // optional
}
POST/v1/chat/stream

Same request shape as /v1/chat, server-sent events: {type:'start'|'text'|'done'|'error'}.

GET/v1/usage

Your key's real usage — today's per-endpoint breakdown and 30-day history.

POST/developer/register

Create a standalone developer account. No API key needed for this one call.

Request body
{ "email": "you@example.com", "name": "Your Name", "company": "..." }  // company optional