Create an API key
Generate the user’s developer key from the Kong Resume profile developer section.
Kong Resume API lets approved clients fetch a user’s previous resumes and generate a fresh compiled PDF from either a LinkedIn job URL or a pasted job description. The server uses the API key to resolve the user, load their stored profile context, tailor the resume, compile LaTeX, and return the finished PDF.
Security
Every request must include a developer API key. Keep this key server-side. The API key maps to a user profile in Supabase, which is then used for resume generation and credit enforcement.
Bearer kr_live_xxxapplication/json for JSON endpoints, application/pdf for PDF generation.curl https://api.Kongresume.com/v1/resumes \
-H "Authorization: Bearer kr_live_your_api_key" \
-H "Accept: application/json"
Start
Generate the user’s developer key from the Kong Resume profile developer section.
Submit either linkedin_job_url or job_description. One is required.
The API returns a compiled PDF and response headers with the generation ID.
Endpoints
Generate a tailored resume PDF from a LinkedIn job URL or job description.
Returns the resumes already created by the authenticated user. Use this endpoint to show history, open a previous generation, or download a stored PDF.
25, maximum 100.curl "https://api.Kongresume.com/v1/resumes?limit=25" \
-H "Authorization: Bearer kr_live_your_api_key"
{
"items": [
{
"id": "gen_01JZP7G5YW8V0EJ9D2V8N7A2K4",
"title": "Senior Product Analyst at Linear",
"template_id": "template1",
"source_type": "job_description",
"status": "completed",
"created_at": "2026-06-10T09:30:00Z",
"download_url": "https://api.Kongresume.com/v1/resumes/gen_01JZ.../pdf"
}
],
"next_cursor": null
}
Generates a new ATS-optimized resume and returns a compiled PDF. Send
either linkedin_job_url or job_description.
Both fields are optional individually, but the request must contain at
least one of them. If both are sent, linkedin_job_url is
treated as the primary source and job_description is used
as supplemental context.
https://www.linkedin.com/jobs/view/4416743017/.linkedin_job_url is not supplied.template1, template2, or template3. Defaults to template1.pdf. Later versions may support json for LaTeX + metadata.curl https://api.Kongresume.com/v1/resumes/generate \
-X POST \
-H "Authorization: Bearer kr_live_your_api_key" \
-H "Content-Type: application/json" \
-H "Accept: application/pdf" \
--output resume.pdf \
-d '{
"linkedin_job_url": "https://www.linkedin.com/jobs/view/4416743017/",
"template_id": "template1"
}'
curl https://api.Kongresume.com/v1/resumes/generate \
-X POST \
-H "Authorization: Bearer kr_live_your_api_key" \
-H "Content-Type: application/json" \
-H "Accept: application/pdf" \
--output resume.pdf \
-d '{
"job_description": "We are hiring a Senior Data Analyst with SQL, Python, dashboarding, stakeholder management, and experimentation experience.",
"template_id": "template1"
}'
200 OKapplication/pdfSystem flow
The API key identifies the user and checks plan credits before work begins.
The server fetches the user profile, profile description, skills, niche, and resume history from the database.
LinkedIn URLs are scraped into structured job details. Text descriptions are normalized directly.
The AI agent merges profile + job details into the selected LaTeX template.
The server compiles a PDF, stores the generation record, decrements credits, and returns the file.
Reliability
| Code | Reason | Action |
|---|---|---|
400 |
Missing both job fields or invalid template. | Send either linkedin_job_url or job_description. |
401 |
Missing or invalid API key. | Regenerate the developer API key from profile settings. |
402 |
User has no remaining generation credits. | Upgrade the plan or wait for monthly reset. |
422 |
Request body could not be validated. | Check JSON shape and field names. |
500 |
Internal compile or provider failure. | Retry with the same Idempotency-Key or contact support. |