Learn more about the other types used when reading, creating, updating, and assigning work schedules, time off, and PTO via the API
The monday.com Availability APIs let you query and mutate work schedules, company time off, resource assignments, and personal time off (PTO).
The types below are used by those queries and mutations.
Only available in API versions
2026-10and later
WorkSchedule
A named work schedule with per-weekday working hours.
| Field | Type | Description |
|---|---|---|
| id | ID! | The schedule's unique identifier. |
| name | String! | The schedule's display name. |
| is_default | Boolean! | Whether this is the account-level default work schedule. Only one schedule can be the default. |
| created_by | ID | The ID of the user who created the schedule. Returns null if the schedule is system-generated. |
| created_at | Date! | When the schedule was created (ISO 8601). |
| updated_at | Date! | When the schedule was last updated (ISO 8601). |
| days | [WorkScheduleDay!]! | The working hours for each day of the week. Always contains all 7 days. |
| has_assignments | Boolean! | Whether any user or team is currently assigned to this schedule. |
WorkScheduleDay
Per-weekday working hours for a work schedule.
| Field | Type | Description |
|---|---|---|
| week_day | WeekDay! | The day of the week. Values: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. |
| is_active | Boolean! | Whether this is a working day. |
| start_time | String | The start time in HH:MM (24-hour) format. Returns null when is_active is false. |
| end_time | String | The end time in HH:MM (24-hour) format. Returns null when is_active is false. |
WorkSchedulePage
Used by: work_schedules
Paginated list of work schedules.
| Field | Type | Description |
|---|---|---|
| work_schedules | [WorkSchedule!]! | The work schedules in this page. |
| cursor | String | A cursor for the next page. Returns null when there are no more results. |
TimeOff
A named company time off schedule with its non-working date entries.
| Field | Type | Description |
|---|---|---|
| id | ID! | The schedule's unique identifier. |
| name | String! | The schedule's display name. |
| is_default | Boolean! | Whether this is the account-level default company time off schedule. |
| created_by | ID | The ID of the user who created the schedule. Returns null if the schedule is system-generated. |
| created_at | Date! | When the schedule was created (ISO 8601). |
| updated_at | Date! | When the schedule was last updated (ISO 8601). |
| entries | [TimeOffEntry!]! | All non-working date entries belonging to this schedule. |
| has_assignments | Boolean! | Whether any user or team is currently assigned to this schedule. |
TimeOffEntry
A non-working date entry within a company time off schedule. PTO create/update mutations also return this type on success.
| Field | Type | Description |
|---|---|---|
| id | ID! | The entry's unique identifier. |
| time_off_id | ID! | The ID of the time off schedule this entry belongs to. |
| name | String! | The entry's display name (for example, "New Year's Day"). |
| type | TimeOffEntryKind | The entry type. Values: CUSTOM, HOLIDAY. |
| start | String! | The first non-working date in YYYY-MM-DD format. |
| end | String! | The last non-working date in YYYY-MM-DD format. |
| created_by | ID! | The ID of the user who created the entry. |
| created_at | Date! | When the entry was created (ISO 8601). |
| updated_at | Date! | When the entry was last updated (ISO 8601). |
TimesOffPage
Used by: time_offs
Paginated list of company time off schedules.
| Field | Type | Description |
|---|---|---|
| time_offs | [TimeOff!]! | The time off schedules in this page. |
| cursor | String | A cursor for the next page. Returns null when there are no more results. |
ResourcesAvailability
Used by: resources_availability
Work schedule and company time off assignments for the requested users and teams, plus the account defaults.
| Field | Type | Description |
|---|---|---|
| users_assigned_schedules | [UserAssignment!]! | Schedule assignments for each requested user. |
| teams_assigned_schedules | [TeamAssignment!]! | Schedule assignments for each requested team. |
| work_schedules | [WorkSchedule!]! | Deduplicated work schedules referenced by any assignment in this response, plus the account default. |
| company_time_offs | [TimeOff!]! | Deduplicated company time off schedules referenced by any assignment in this response, plus the account default. |
| default_work_schedule_id | ID! | The account-level default work schedule ID. |
| default_company_time_off_id | ID! | The account-level default company time off schedule ID. |
UserAssignment
A user's assigned work schedule and company time off schedule.
| Field | Type | Description |
|---|---|---|
| user_id | ID! | The user's unique identifier. |
| work_schedule_id | ID! | The work schedule assigned to this user. |
| company_time_off_id | ID! | The company time off schedule assigned to this user. |
| personal_time_offs | [PtoEntry!]! | The user's active personal time off entries. |
TeamAssignment
A team's assigned work schedule and company time off schedule.
| Field | Type | Description |
|---|---|---|
| team_id | ID! | The team's unique identifier. |
| work_schedule_id | ID! | The work schedule assigned to this team. |
| company_time_off_id | ID! | The company time off schedule assigned to this team. |
AccountAvailabilityDefaults
Used by: account_availability_defaults
The account-level default work schedule and company time off schedule.
| Field | Type | Description |
|---|---|---|
| work_schedule | WorkSchedule! | The account's default work schedule. |
| time_off | TimeOff! | The account's default company time off schedule. |
UserPto
Used by: user_pto
A user's personal time off collection.
| Field | Type | Description |
|---|---|---|
| user_id | ID! | The user's unique identifier. |
| time_off_id | ID | The user's personal time off record ID. Returns null if the user has no PTO collection yet. |
| entries | [PtoEntry!]! | The user's personal time off entries. |
PtoEntry
A personal time off entry for a user.
| Field | Type | Description |
|---|---|---|
| id | ID! | The PTO entry's unique identifier. |
| start | String! | The first day of the PTO period in YYYY-MM-DD format. |
| end | String! | The last day of the PTO period in YYYY-MM-DD format. |
| created_by | ID! | The ID of the user who created this entry. |
| created_at | Date! | When the entry was created (ISO 8601). |
| updated_at | Date! | When the entry was last updated (ISO 8601). |
Error
Structured error details returned on mutation results when success is false.
| Field | Type | Description |
|---|---|---|
| code | String! | A machine-readable error code. See Errors. |
| message | String! | A human-readable error message. |
| path | [String!] | The field path that caused the error. Present on input validation errors. |
WeekDay
Day of the week.
| Enum value | Description |
|---|---|
SUNDAY | Sunday |
MONDAY | Monday |
TUESDAY | Tuesday |
WEDNESDAY | Wednesday |
THURSDAY | Thursday |
FRIDAY | Friday |
SATURDAY | Saturday |
TimeOffEntryKind
Type of a company time off entry.
| Enum value | Description |
|---|---|
CUSTOM | A custom non-working date. Default when type is omitted. |
HOLIDAY | A public or regional holiday. |
WorkScheduleResult
Used by: create_work_schedule, update_work_schedule
| Field | Type | Description |
|---|---|---|
| work_schedule | WorkSchedule | The created or updated work schedule. Returns null if the operation failed. |
| success | Boolean! | Whether the operation succeeded. |
| error | Error | Error details when success is false. |
WorkScheduleDeleteResult
Used by: delete_work_schedule
| Field | Type | Description |
|---|---|---|
| id | ID | The ID of the deleted schedule. Returns null if the operation failed. |
| success | Boolean! | Whether the operation succeeded. |
| error | Error | Error details when success is false. |
AssignWorkScheduleResult
Used by: assign_work_schedule, unassign_work_schedule
| Field | Type | Description |
|---|---|---|
| users | [AssignWorkScheduleUserResult!] | One result per requested user ID. |
| teams | [AssignWorkScheduleTeamResult!] | One result per requested team ID. |
AssignWorkScheduleUserResult
| Field | Type | Description |
|---|---|---|
| user_id | ID | The user's unique identifier. |
| success | Boolean! | Whether the assignment succeeded for this user. |
| error | Error | Error details when success is false. |
AssignWorkScheduleTeamResult
| Field | Type | Description |
|---|---|---|
| team_id | ID | The team's unique identifier. |
| success | Boolean! | Whether the assignment succeeded for this team. |
| error | Error | Error details when success is false. |
TimeOffResult
Used by: create_time_off, update_time_off
TimeOffDeleteResult
Used by: delete_time_off
| Field | Type | Description |
|---|---|---|
| id | ID | The ID of the deleted schedule. Returns null if the operation failed. |
| success | Boolean! | Whether the operation succeeded. |
| error | Error | Error details when success is false. |
AssignTimeOffResult
Used by: assign_time_off, unassign_time_off
| Field | Type | Description |
|---|---|---|
| users | [AssignTimeOffUserResult!]! | One result per requested user ID. |
| teams | [AssignTimeOffTeamResult!]! | One result per requested team ID. |
AssignTimeOffUserResult
| Field | Type | Description |
|---|---|---|
| user_id | ID! | The user's unique identifier. |
| success | Boolean! | Whether the assignment succeeded for this user. |
| error | Error | Error details when success is false. |
AssignTimeOffTeamResult
| Field | Type | Description |
|---|---|---|
| team_id | ID! | The team's unique identifier. |
| success | Boolean! | Whether the assignment succeeded for this team. |
| error | Error | Error details when success is false. |
TimeOffEntryResult
Used by: create_time_off_entry, update_time_off_entry, create_pto_entry, update_pto_entry
| Field | Type | Description |
|---|---|---|
| time_off_entry | TimeOffEntry | The created or updated entry. Returns null if the operation failed. |
| success | Boolean! | Whether the operation succeeded. |
| error | Error | Error details when success is false. |
TimeOffEntryDeleteResult
Used by: delete_time_off_entry, delete_pto_entry
| Field | Type | Description |
|---|---|---|
| id | ID | The ID of the deleted entry. Returns null if the operation failed. |
| success | Boolean! | Whether the operation succeeded. |
| error | Error | Error details when success is false. |
CreateWorkScheduleInput
Used by: create_work_schedule
| Field | Type | Description |
|---|---|---|
| name | String! | The display name for the new schedule. 1–255 characters. |
| days | [WorkScheduleDayInput!] | The working hours per weekday. Omit to create a schedule with all days inactive. Each week_day may appear at most once. |
UpdateWorkScheduleInput
Used by: update_work_schedule
| Field | Type | Description |
|---|---|---|
| name | String | The new display name. Omit to leave unchanged. |
| days | [WorkScheduleDayInput!] | The days to update. Only listed days are modified. |
WorkScheduleDayInput
Working hours for a specific day of the week.
| Field | Type | Description |
|---|---|---|
| week_day | WeekDay! | The day of the week. Values: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY. |
| is_active | Boolean! | Whether this is a working day. |
| start_time | String | The start time in HH:MM format. Required when is_active is true; ignored otherwise. |
| end_time | String | The end time in HH:MM format. Required when is_active is true; ignored otherwise. Must be after start_time. |
AssignWorkScheduleInput
Used by: assign_work_schedule
| Field | Type | Description |
|---|---|---|
| user_ids | [ID!] | User IDs to assign. Maximum 100. At least one of user_ids or team_ids is required. |
| team_ids | [ID!] | Team IDs to assign. Maximum 100. At least one of user_ids or team_ids is required. |
| work_schedule_id | ID! | The work schedule to assign. Pass the account default schedule ID to revert to the default. |
CreateTimeOffInput
Used by: create_time_off
| Field | Type | Description |
|---|---|---|
| name | String! | The display name for the new schedule. 1–255 characters. |
| entries | [TimeOffEntryInput!] | Optional initial entries. Maximum 100 entries per schedule. |
UpdateTimeOffInput
Used by: update_time_off
| Field | Type | Description |
|---|---|---|
| name | String | The new display name. Omit to leave unchanged. |
TimeOffEntryInput
A non-working date entry created inline with a time off schedule.
| Field | Type | Description |
|---|---|---|
| name | String! | The display name for the entry. 1–255 characters. |
| type | TimeOffEntryKind | The entry type. Default: CUSTOM. Values: CUSTOM, HOLIDAY. |
| start | String! | The first non-working date in YYYY-MM-DD format. Must be within 1 year in the past and 20 years in the future. |
| end | String! | The last non-working date in YYYY-MM-DD format. Must be on or after start and within the same date window. |
CreateTimeOffEntryInput
Used by: create_time_off_entry
| Field | Type | Description |
|---|---|---|
| time_off_id | ID! | The time off schedule to add the entry to. |
| name | String! | The display name for the entry. 1–255 characters. |
| type | TimeOffEntryKind | The entry type. Default: CUSTOM. Values: CUSTOM, HOLIDAY. |
| start | String! | The first non-working date in YYYY-MM-DD format. Must be within 1 year in the past and 20 years in the future. |
| end | String! | The last non-working date in YYYY-MM-DD format. Must be on or after start and within the same date window. |
UpdateTimeOffEntryInput
Used by: update_time_off_entry
| Field | Type | Description |
|---|---|---|
| id | ID! | The entry's unique identifier. |
| name | String | The new display name. Omit to leave unchanged. |
| start | String | The new start date in YYYY-MM-DD format. Omit to leave unchanged. |
| end | String | The new end date in YYYY-MM-DD format. Omit to leave unchanged. |
AssignTimeOffInput
Used by: assign_time_off
| Field | Type | Description |
|---|---|---|
| user_ids | [ID!] | User IDs to assign. Maximum 100. At least one of user_ids or team_ids is required. |
| team_ids | [ID!] | Team IDs to assign. Maximum 100. At least one of user_ids or team_ids is required. |
| time_off_id | ID! | The time off schedule to assign. Pass the account default schedule ID to revert to the default. |
CreatePtoEntryInput
Used by: create_pto_entry
| Field | Type | Description |
|---|---|---|
| user_id | ID! | The user to create the PTO entry for. |
| start | String! | The first day of the PTO period in YYYY-MM-DD format. Must be within 1 year in the past and 20 years in the future. |
| end | String! | The last day of the PTO period in YYYY-MM-DD format. Must be on or after start and within the same date window. |
UpdatePtoEntryInput
Used by: update_pto_entry
| Field | Type | Description |
|---|---|---|
| id | ID! | The PTO entry's unique identifier. |
| start | String | The new start date in YYYY-MM-DD format. Omit to leave unchanged. |
| end | String | The new end date in YYYY-MM-DD format. Omit to leave unchanged. |
