Automate resume.enthalabs.com with account-scoped API keys.
Use the same saved jobs, base CV profile, and async generation pipeline that power the dashboard, now from your own scripts and backend services.
At a glance
Base URL: https://resume.enthalabs.com
Authorization: Bearer <your_api_key>
X-API-Key: <your_api_key>
Keep API keys in server-side code or local CLI tooling. Do not expose them in shipped browser apps.
Recommended flow
This is the cleanest path if you want repeatable automation with saved account state.
Step 1
Create an API key
Sign in to the dashboard, open Developer API, and issue a key for your account.
Step 2
Save a reusable base CV
Upload or post CV text once with POST /api/profile/cv so future generations can omit direct CV input.
Step 3
Create a generation job
Send job text or a saved job id to POST /api/generate, then poll the returned generation job id.
Step 4
Poll until completed
Read GET /api/generate/jobs/:id until status is completed or failed. Stage and statusMessage explain progress.
Authentication model
Most endpoints accept an API key. API-key issuance and revocation stay behind the dashboard session on purpose.
Accepted auth headers
Authorization: Bearer <your_api_key>
X-API-Key: <your_api_key>
Operational notes
Keys are scoped to the owning user account.
Revocation takes effect immediately for future requests.
Async generation polling exposes both `stage` and `statusMessage`.
Copy-ready examples
Start with cURL for quick validation, then switch to Node or your own backend client.
cURL quickstart
Copy-ready example
export RESUME_API_KEY="rsm_your_generated_key"
# Save a reusable base CV once
curl -sS https://resume.enthalabs.com/api/profile/cv \
-H "Authorization: Bearer $RESUME_API_KEY" \
-F "cvFile=@./resume.pdf"
# Queue a new generation run using direct job text
curl -sS https://resume.enthalabs.com/api/generate \
-H "Authorization: Bearer $RESUME_API_KEY" \
-F "jobText=Paste the full job description here"
# Poll the returned generation job id until status=completed
curl -sS https://resume.enthalabs.com/api/generate/jobs/123 \
-H "Authorization: Bearer $RESUME_API_KEY"Endpoint reference
The main programmatic surface is the saved jobs, base CV, generation queue, and regeneration flow.
Inspect the currently authenticated user and auth mode.
List the authenticated user's saved jobs.
Create a saved job record with role, company, URL, and description.
Update saved job fields such as title, company, URL, description, or applied state.
Mark a saved job as applied or not applied.
Delete a saved job record.
Fetch the latest saved generation associated with a specific job.
Fetch the reusable base CV profile for the account.
Upload CV text or a file and save it as the account's base CV profile.
Queue an async resume and cover-letter generation job.
Poll a queued generation job until completed or failed.
Regenerate just the resume or cover letter for an existing saved generation.
List API keys for the signed-in user inside the dashboard UI.
Generation job lifecycle
`POST /api/generate` is asynchronous. Poll the returned generation job id until the status is terminal.
queued
Accepted and waiting for the next worker slot.
structuring_job
Normalizing the job posting into role, company, and requirement data.
generating_documents
Drafting the tailored resume and cover letter.
running_html_qa
Reviewing document layout and formatting quality.
saving_results
Persisting the final generation payload.
completed
The result payload is ready to fetch.
failed
The job stopped with an errorMessage.
Manage keys in the dashboard, run everything else from code.
Sign in with your magic link, generate an API key, and keep the key in your own backend or terminal environment.