Applicant
/api/v1/hr/applicantsA candidate against a JobPosting.
listgetcreateupdateSchema
| Field | Type | Notes |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | frontend | backend | server | system | apiWhere the write originated. Defaults to 'api'. |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| job_posting_id | uuid | UUID of the JobPosting this candidate applied for. |
| first_name | string | Applicant's given (first) name. |
| last_name | string | Applicant's family (last) name. |
| Applicant's primary contact email address. | ||
| phone | string | Applicant's contact phone number in any format. |
| linked_in_url | string | URL to the applicant's LinkedIn profile. |
| resume_ref | string | MinIO object path for the uploaded résumé file. |
| cover_letter_ref | string | MinIO object path for the uploaded cover letter file. |
| stage | string | Current stage in the hiring pipeline. 'hired' is set when the applicant is converted to a Person record. |
| assigned_reviewer_id | uuid | UUID of the Person (recruiter or hiring manager) responsible for reviewing this applicant. |
| notes | string | Internal recruiter notes about the applicant. |
| rejection_reason | string | Reason for rejection, if the applicant's stage is 'rejected'. |
| offer_sent_at | date-time | ISO 8601 timestamp when a formal offer was sent to the applicant. |
| hired_person_id | uuid | UUID of the Person record created when this applicant was hired. Null until the applicant is converted. |
| source | enum | referral | linkedin | website | job_board | agency | otherChannel through which the applicant discovered the posting. |
API
client.hr.applicants.*Loading manifest…