x-cpod-domain: employee
Employee
Day-to-day employee data — skills, calendar, leave, notes.
Try in explorer
client.employeePersonSkill
A skill assertion on a Person with a level.
REST path
/api/v1/employee/skillsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.employee.skills.list()
// create:
await client.employee.skills.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 who holds this skill. |
| skill_name | string | Name of the skill (e.g., 'Kubernetes', 'Python', 'Spanish', 'ISO 27001'). |
| category | string | Category of the skill. 'technical' for engineering/IT skills, 'soft' for interpersonal skills, 'language' for spoken/written languages, 'domain' for business do |
| proficiency_level | number | Proficiency level on a 1–5 scale where 1 = Beginner and 5 = Expert. |
| source | enum | Evidence source for the skill record.self_reportedmanager_assessedcertificationassessment |
| verified_by_id | uuid | UUID of the Person who verified this skill claim, if applicable. |
| verified_at | date-time | ISO 8601 timestamp when the skill was verified. |
| valid_until | date-time | ISO 8601 date after which this skill record is considered expired (e.g., for certifications with renewal cycles). |
| notes | string | Free-text notes about the skill, such as credential number or context. |
CalendarEvent
A calendar entry for a Person.
REST path
/api/v1/employee/calendar-eventsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.employee.calendarEvents.list()
// create:
await client.employee.calendarEvents.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. |
| organizer_id | uuid | UUID of the Person who created or owns this event. |
| attendee_ids | json | UUIDs of Person records attending this event. |
| type | string | Classification of the event. 'ooo' = out of office, 'focus_time' = blocked for deep work. |
| title | string | Human-readable title for the event. |
| description | string | Optional description or agenda for the event. |
| start | date-time | ISO 8601 timestamp when the event starts. |
| end | date-time | ISO 8601 timestamp when the event ends. |
| is_all_day | boolean | True if the event spans the full day and has no specific time bounds. |
| location | string | Physical location or room name for the event. |
| video_url | string | URL for the video conferencing link (e.g., Zoom, Google Meet, Teams). |
| linked_project_id | uuid | UUID of the Project this event is associated with. |
| linked_task_ids | json | UUIDs of Task records discussed or actioned in this event. |
| status | string | Attendance or booking status for the event. |
LeaveRequest
Time-off request awaiting approval.
REST path
/api/v1/employee/leave-requestsOperations
listgetcreateapproverejectSDK
// list — returns only your records; add filters/search:
await client.employee.leaveRequests.list()
// create:
await client.employee.leaveRequests.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 submitting this leave request. |
| type | string | Leave category. 'annual' = planned vacation, 'sick' = illness absence, 'parental' = maternity/paternity/adoption leave, 'public_holiday' = bank or public holida |
| start_date | date-time | ISO 8601 date when the leave period begins (inclusive). |
| end_date | date-time | ISO 8601 date when the leave period ends (inclusive). |
| status | string | Current approval workflow status of the leave request. |
| approved_by_id | uuid | UUID of the Person who approved or rejected this request. |
| approved_at | date-time | ISO 8601 timestamp when the approval decision was made. |
| notes | string | Free-text notes from either the requester or the approver. |
MeetingNote
Notes captured from a meeting.
REST path
/api/v1/employee/meeting-notesOperations
listgetcreateupdateSDK
// list — returns only your records; add filters/search:
await client.employee.meetingNotes.list()
// create:
await client.employee.meetingNotes.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. |
| calendar_event_id | uuid | UUID of the CalendarEvent this note was captured for, if applicable. |
| author_id | uuid | UUID of the Person who authored these notes. |
| attendee_ids | json | UUIDs of Persons who attended the meeting. |
| title | string | Title for the meeting note document. |
| summary | string | Markdown-formatted summary of the discussion. |
| decisions | json | List of decisions made during the meeting. |
| action_items | json | Structured action items arising from the meeting. |
| linked_project_id | uuid | UUID of the Project this meeting note is associated with. |