Skip to main content
Every ACTIVE job has a TapTalent-hosted application experience—a hosted application page, with a conversational chat-assisted variant—where candidates submit their details. What the form collects is configured on the job via applicationForm and screeningQuestion. On submission, TapTalent creates or updates the candidate, creates a job-candidate at the pipeline’s APPLIED stage, records the candidate’s privacy consent, and fires the candidate.applied webhook event. Authentication: Authorization: Bearer YOUR_API_KEY—see API Keys. Related: webhook setup is described in Webhooks Overview; the event payload is in Application events.
There is no API for submitting applications—applications are accepted only through the TapTalent-hosted application experience for each job. To ingest candidates programmatically, use Bulk Upload Resumes to Job.

Concepts

How an application flows through TapTalent

  1. The candidate opens the job’s hosted application page (or the chat-assisted variant).
  2. The candidate accepts the privacy notice / DPA.
  3. The candidate submits the form: the fields required by the job’s applicationForm, answers to any screening questions, and their resume.
  4. TapTalent creates or updates the candidate, creates the job-candidate at the pipeline’s APPLIED stage, records the consent, and generates the DPA acknowledgment PDF.
  5. The candidate.applied event is sent to your webhook endpoint.
  6. Resume parsing and AI scoring run in the background (job.candidate.score.completed or .failed follows); if the job has screening automation configured, it may then move or reject the candidate (candidate.stage_changed / candidate.rejected).
The consent record stores when the candidate accepted (acceptedAt) and which version of your privacy notice / DPA they accepted (policyVersion). The DPA acknowledgment PDF is delivered as a time-limited URL in the candidate.applied event and can be re-fetched at any time from Get Consent Document. Applications submitted before consent capture was enabled for your company have no consent record—consent is null for those job candidates.

Get Application Details

Retrieve the application a candidate submitted for a job, including form answers, screening answers, the resume URL, and the consent record.

GET /job-candidates/:jobCandidateId/application

Path Parameters

Example Request

Example Response

Education and work experience are not part of the application—they come from resume parsing and live on the candidate profile (Candidates).

Error Responses

  • 401 – Missing or invalid API key. See API Keys.
  • 404 – Job candidate not found. code: NOT_FOUND.
  • 409 – The job candidate did not apply through the hosted application experience (e.g. sourced or bulk-uploaded). code: NO_APPLICATION.

Retrieve a fresh time-limited URL for the DPA acknowledgment PDF. The same URL is delivered in the candidate.applied event; use this endpoint whenever that URL has expired.

GET /job-candidates/:jobCandidateId/application/consent-document

Path Parameters

Example Request

Example Response

Error Responses

  • 401 – Missing or invalid API key. See API Keys.
  • 404 – Job candidate not found. code: NOT_FOUND.
  • 409 – No consent record for this job candidate (did not apply through the hosted application experience, or the application predates consent capture). code: NO_CONSENT_RECORD.

Webhook events

Integration sequence

  1. Configure the job’s application form and screening questions (Jobs), and publish the job as ACTIVE.
  2. Generate an API key (API Keys) and configure your company webhook URL in the dashboard (Webhooks Overview).
  3. On candidate.applied, store the jobCandidateId and download the resume and consent PDF promptly (URLs expire), or re-fetch fresh URLs from Get Application Details and Get Consent Document.
  4. To land the application on the right requisition in your system, resolve the event’s jobId to your requisition reference via a job custom field—see Correlating with your requisitions.
  5. Wait for job.candidate.score.completed for the resume score.
  6. Track pipeline progress via candidate.stage_changed, resolving stage IDs to names and types with Pipelines.

Notes

  • There is no application-submission API—applications come only from the TapTalent-hosted application experience.
  • The resume is delivered as a time-limited URL, never inlined.
  • Education and work experience come from resume parsing, not the application form.
  • The DPA acknowledgment PDF is a system-generated acknowledgment record, not an e-signed document.
  • Store IDs (jobCandidateId), not URLs.