Barba-CV is a deterministic CV transformation service exposed for programmatic use (including MCP-compatible automation flows).
It converts visually designed or inconsistent CV inputs into stable, machine-readable assets that can be reused across screening, tailoring, and recruitment workflows.
Core transformation model
- Original structured CV: normalized JSON representation of extracted source content.
- Generic ATS-compatible CV: flattened, recruiter-system-friendly version intended for broad compatibility.
- Transformation diff: explicit comparison between source structure and ATS-ready output for traceability and downstream reasoning.
This triad is useful for automation because agents can inspect the before/after state, detect dropped or rewritten content, and apply policy checks with deterministic references.
Capabilities
- CV parsing and normalization
- ATS-oriented restructuring
- Job-offer-aware tailoring flows
- Deterministic JSON outputs for storage, QA, and replay
- Export generation in multiple office formats
Output formats
- JSON (canonical structured output from the API contract)
- DOCX/PDF export artifacts when enabled in the publication workflow
How to think about integration
- Treat Barba-CV as a normalization layer between unstructured candidate documents and downstream application logic.
- Use the structured original CV as your canonical extracted dataset.
- Use the ATS-compatible CV as your default submission-ready artifact.
- Use the diff to drive auditability, approvals, or confidence scoring in agent pipelines.
- Persist JSON identifiers in orchestration tools to support retries and deterministic post-processing.
Authentication and access
Requests require valid authorization according to the Barba-CV payment and access model. Implement explicit error handling and retry strategy in automation clients.
Endpoint overview
- MCP gateway:
POST /mcp(tools/list,tools/call) - Engine contract behind the gateway:
POST /api/cv/process,GET /api/cv/status,GET /api/cv/results - Payment webhook endpoint:
POST /stripe/webhook
Example MCP tool call
{ "method": "tools/call", "params": { "name": "barba.cv_process", "arguments": { "idempotency_key": "uuid-v4-key", "cv_base64": "JVBERi0xLjc...", "filename": "cv.pdf" } }}