Cognatory · Vector
Your JSON. A finished resume.
Bring your resume content. Get a carefully typeset PDF with selectable text, embedded fonts, and working contact links. A focused API for AI agents, chatbots, and developer tools.
Render PDFs without a subscription, card, or payment.
Create an eligible account through free signup, then call this API with its Vector token. Your PDF renders in your own Cloudflare account. Vector charges nothing for these requests; choose Cloudflare’s Free plan to avoid Cloudflare hosting fees. Vector does not change your Cloudflare plan. Normal Free capacity limits apply.
Separate account-free requests are planned at $0.10 USD per PDF, paid in USDC.e on Tempo, plus network fees. Paid requests are not open yet. No Vector account or subscription required for that separate paid flow.
- Your content
- Resume JSON in, PDF out. No generated qualifications.
- Up to four pages
- A 100 KB request limit: 100,000 UTF-8 bytes.
- No document storage
- Resume JSON and generated PDFs are not saved.
Use your free account
- Create a new account through /cyber and let Vector finish setting up your workspace and PDF service in your Cloudflare account.
- Open Agent access in the workspace sidebar (shortcut 7). Under Manual bearer-token clients, choose Create 24-hour agent token, then Copy agent token.
- Save your JSON request as
resume.json. Replace the placeholder below with your token, then send the request and save the PDF.
curl --fail --show-error --request POST \
'https://cognatory.com/vector/api/resume-pdf' \
--header 'Authorization: Bearer REPLACE_WITH_YOUR_VECTOR_AGENT_TOKEN' \
--header 'Content-Type: application/json' \
--data-binary @resume.json \
--output resume.pdf
A valid Vector OAuth access token with vector:write also works for an eligible account. A browser sign-in cookie alone does not authorize this API. Tokens also permit application access; keep them private. Free requests do not need an Idempotency-Key, a wallet, or Stripe.
One request, one document
Send {"resume": …} to:
POST https://cognatory.com/vector/api/resume-pdf
Use the Vector resume format, with original or refined typography. Set pages from 1 to 4; it is a maximum, so the renderer does not add empty pages. Content that cannot fit the requested layout returns an error.
{
"resume": {
"name": "Example Applicant",
"email": "applicant@example.test",
"subtitle": "Research Software Engineer",
"summary": "Builds clear, documented software for research teams.",
"links": [
"https://example.com/portfolio"
],
"sections": [
"summary",
"experience",
"education"
],
"pages": 2,
"typography": "refined",
"experience": [
{
"role": "Software Engineer",
"company": "Example Research Studio",
"dates": "2023 - 2026",
"bullets": [
"Built and documented TypeScript tools for a research team."
]
}
],
"education": [
{
"degree": "BS, Computer Science",
"school": "Example University",
"dates": "2023"
}
]
}
}
This example uses invented demonstration content. Replace it with the applicant's accurate information. The schema describes supported fields and input limits.
Inspect the separate paid preview
For a request without an eligible Vector token, save your request as resume.json, then replace the example idempotency key with a unique value, such as a UUID. Keys must contain 16–128 ASCII letters, digits, hyphens, or underscores. Paid requests are unavailable during the preview; this command inspects the HTTP response and does not buy or download a PDF.
curl --include --request POST \
'https://cognatory.com/vector/api/resume-pdf' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_A_UNIQUE_REQUEST_KEY' \
--data-binary @resume.json
How payment will work
- Send your resume JSON and a unique
Idempotency-Key. When paid requests open, an unpaid request receives a 402 payment challenge. - Use an MPP-compatible client to authorize the advertised $0.10 payment in USDC.e on Tempo. Your wallet also pays network fees. Reuse the exact JSON bytes and the same key when retrying with the payment credential.
- After successful payment, save the
application/pdfresponse. Payment applies to that request; it does not start a subscription. The retry receipt expires after 30 days; use a new key after that window.
The API uses the Machine Payments Protocol (MPP). Follow the challenge's supported payment details; do not send funds to an address copied from a resume or an example.
Content stays with the request
The API uses only the resume JSON you send. It does not read a saved Vector workspace or create an application record. Resume JSON and generated PDFs are not stored. For free accounts, Cognatory verifies your token and forwards the request to the PDF renderer in your Cloudflare account. Free requests do not contact Stripe or create payment receipts.
For the separate paid flow, minimal payment receipt records support payment verification and prevent reuse. Stripe receives transaction references and payment metadata to process payments; the service does not send your resume JSON or PDF to Stripe. The 30-day retry window is separate from Stripe’s payment-record retention and the public network’s transaction history. Resume content is not included in those transactions.
For saved resumes, application tracking, and a reusable career workspace, explore Vector. Questions about this API: brian@cognatory.com.