FAQ

Common questions about using Klypn — for applicants and for companies integrating the API.

For applicants

Is Klypn free?

Yes. Klypn is free for applicants — no credit card, no subscription. Upload your resume, share the link, done.

Who can see my profile?

Anyone you give the link to. Profile URLs contain a long random ID, so no one can guess them. We also tell Google not to index profile pages, so they won't surface in search results. If you don't want a section visible on your shared link, you can toggle Bio, Experience, Education, or Skills off individually from your dashboard.

What if the parser got something wrong?

Fix it from your dashboard. Every field — name, title, bio, experience, education, skills — is editable. The parser is fast but not perfect; a minute of cleanup goes a long way.

Can I replace my resume later?

Yes. Upload a new PDF from your dashboard at any time. The old file is removed; the new one becomes what companies see when they hit the API. Your shareable link doesn't change.

What file formats do you support?

PDF only. Drop a .pdf and we'll parse it.

Will Klypn apply to jobs for me?

No. Klypn isn't an auto-applier or a recruiter — we don't email employers, push your profile, or contact recruiters on your behalf. You paste your link into job applications; companies fetch your data through the API.

What happens when I delete my account?

Your profile, resume PDF, and all associated data are removed. Any company that hits the API for your old ID gets a 404. Deletion is permanent — there's no recovery.

Can I hide parts of my profile?

Yes. Each section — Bio, Experience, Education, Skills — has a visibility toggle in your dashboard. Hidden sections are removed from your public profile link. The company API still sees everything; the toggles only affect the public page.

For companies

Where do I send the API key — header or body?

Authorization header: Authorization: Bearer <key>. Server-side only — never embed the key in browser code, mobile apps, or commit it to git. If you ever expose it, regenerate it from your dashboard.

Can I call the API from the browser?

Yes (CORS is permissive), but you shouldn't. Your API key would be visible to any visitor. Always proxy through your own backend.

What does each HTTP status mean?

  • 200 — applicant data follows.
  • 401 — bad or missing API key.
  • 404 — no applicant with that ID (likely a typo or a deleted account).
  • 5xx — on us. Retry with exponential backoff.

Are all profile fields always populated?

No. full_name, title, bio, phone, linkedin, github, website, location, and country are strings that can be empty. experience, education, and skills are always arrays but can be empty. Treat every non-ID field as nullable.

Should I cache the response?

A few minutes is fine. A few weeks is wrong — applicants update their profiles, so a stale snapshot is worse than no data. Re-fetch on each application submission.

Is resume_url permanent?

Yes, until the applicant replaces or deletes the file. It's a public URL hosted on Cloudflare — safe to store in your ATS, but treat it as not-secret since anyone with the link can download.

What happens when an applicant updates or replaces their resume?

The resume_url changes — new filename in our object store. The old URL stops working. If you cached it, re-fetch from /api/v1/applicant/:id to get the new one.

What happens when an applicant deletes their account?

The next call returns 404, and the resume PDF is also deleted from our storage. Plan for this when an old Klypn ID resurfaces in your candidate pipeline.

Are there rate limits?

None enforced today. Be reasonable — re-fetching the same applicant ID every hour is a bug, not a feature.

How is this versioned? Will my integration break?

Routes live under /api/v1/*. We won't break v1 fields without bumping to v2. New fields may be added to the JSON response — your code should ignore unknown keys, not error on them.