x-cpod-domain: hr
HR
Recruiting and onboarding/offboarding.
Try in explorer
client.hrJobPosting
An open requisition.
REST path
/api/v1/hr/job-postingsOperations
listgetcreateupdatecloseSDK
// list — returns only your records; add filters/search:
await client.hr.jobPostings.list()
// create:
await client.hr.jobPostings.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| 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 | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| 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. |
| title | string | Human-readable job title for this posting. |
| department | string | Organisational department or business unit this role belongs to. |
| location_id | uuid | UUID of the office or location record this posting is associated with. |
| employment_type | string | Nature of the employment engagement offered by this posting. |
| status | string | Current lifecycle state of the posting. Only 'open' postings are visible to applicants. |
| description | string | Full job description rendered as Markdown. |
| requirements | json | List of required qualifications or skills for this role. |
| salary_min | number | Minimum salary for the advertised compensation band. |
| salary_max | number | Maximum salary for the advertised compensation band. |
| currency | string | ISO 4217 three-letter currency code for the salary range. |
| hiring_manager_id | uuid | UUID of the Person who owns this requisition and makes the final hiring decision. |
| published_at | date-time | ISO 8601 timestamp when the posting was first made public. Null while still in draft. |
| closed_at | date-time | ISO 8601 timestamp when the posting was closed or filled. |
| external_url | string | Link to the canonical external job board or careers page listing. |
| tags | json | Free-form labels for filtering and categorisation. |
Applicant
A candidate against a JobPosting.
REST path
/api/v1/hr/applicantsOperations
listgetcreateupdateSDK
// list — returns only your records; add filters/search:
await client.hr.applicants.list()
// create:
await client.hr.applicants.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| 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 | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| 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 | Channel through which the applicant discovered the posting.referrallinkedinwebsitejob_boardagencyother |
OnboardingTask
A task in a new hire's onboarding sequence.
REST path
/api/v1/hr/onboarding-tasksOperations
listgetcreateupdatecompleteSDK
// list — returns only your records; add filters/search:
await client.hr.onboardingTasks.list()
// create:
await client.hr.onboardingTasks.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| 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 | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| 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. |
| person_id | uuid | UUID of the Person (new hire) this onboarding task belongs to. |
| title | string | Short, action-oriented title for the task. |
| description | string | Detailed instructions or context for completing this task. |
| category | string | Functional category grouping tasks of a similar nature together in the onboarding checklist. |
| assigned_to_id | uuid | UUID of the Person responsible for completing or facilitating this task. May be the new hire themselves, their manager, or an IT/HR team member. |
| due_date | date-time | ISO 8601 date by which this task should be completed. |
| completed_at | date-time | ISO 8601 timestamp when this task was marked completed. Null while still pending or in progress. |
| status | string | Current execution state of this task. |
| order | number | Zero-based display order within the onboarding checklist. Lower values appear first. |
| template_id | uuid | UUID of the onboarding template from which this task was generated. Null for ad-hoc tasks created directly. |
OffboardingTask
A task in a leaver's offboarding sequence.
REST path
/api/v1/hr/offboarding-tasksOperations
listgetcreateupdatecompleteSDK
// list — returns only your records; add filters/search:
await client.hr.offboardingTasks.list()
// create:
await client.hr.offboardingTasks.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| 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 | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| 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. |
| person_id | uuid | UUID of the Person (departing employee) this offboarding task belongs to. |
| title | string | Short, action-oriented title for the task. |
| description | string | Detailed instructions or context for completing this task. |
| category | string | Functional category grouping tasks of a similar nature together in the offboarding checklist. |
| assigned_to_id | uuid | UUID of the Person responsible for completing or facilitating this task. Typically IT, HR, or the departing employee's manager. |
| due_date | date-time | ISO 8601 date by which this task must be completed. |
| completed_at | date-time | ISO 8601 timestamp when this task was marked completed. Null while still pending or in progress. |
| status | string | Current execution state of this task. |
| order | number | Zero-based display order within the offboarding checklist. Lower values appear first. |
| template_id | uuid | UUID of the offboarding template from which this task was generated. Null for ad-hoc tasks created directly. |