Dostępność
Dostępność zasobów składa się z trzech niezależnych warstw: harmonogramu pracy (dni i godziny pracy danego zasobu), harmonogramu dni wolnych firmy (święta i firmowe dni wolne) oraz prywatnego czasu wolnego (PTO). W przypadku użytkowników i zespołów, którym nie przypisano jawnie harmonogramu, stosowane są domyślne harmonogramy pracy i dni wolnych na poziomie konta.
Tymi warstwami zarządzasz w sekcji Administracja (Administration) → Ogólne (General) → Harmonogramy (Schedules). Przypisanie harmonogramu do zespołu nie zmienia przypisań poszczególnych członków. Harmonogramy zespołów mają zastosowanie, gdy zespół jest przypisanym zasobem w widżecie Obciążenie pracą.
Dostępne tylko w wersjach API 2026-10 i nowszych
- 🚧 Dostępne tylko w planach Pro i Enterprise
- Ta funkcja jest we wczesnej fazie wdrażania i stopniowo udostępniana. W przypadku kont, na których nie została włączona, zwracany jest błąd
FEATURE_NOT_ENABLED.
Typy danych wejściowych i wynikowych oraz wyliczenia używane poniżej opisano w sekcji Inne typy dotyczące dostępności.
Uprawnienia
Są to uprawnienia na poziomie konta, a nie zakresy OAuth. Osobiste tokeny API podlegają uprawnieniom użytkownika wywołującego. Tokeny aplikacji wymagają również odpowiedniego uprawnienia konta przypisanego użytkownikowi wykonującemu działanie.
| Uprawnienie | Wymagane do |
|---|---|
view_schedules |
Wszystkie zapytania |
edit_schedules |
Tworzenia, aktualizowania i usuwania harmonogramów pracy, harmonogramów dni wolnych firmy oraz wpisów czasu wolnego. Tworzenia, aktualizowania i usuwania PTO innych użytkowników. |
assign_users_to_schedules |
Przypisywania i odłączania harmonogramów pracy oraz harmonogramów dni wolnych firmy |
update_own_personal_time_off |
Tworzenia, aktualizowania i usuwania własnych wpisów PTO, jeśli nie masz uprawnienia edit_schedules |
Bez uprawnienia edit_schedules zapytanie user_pto zwraca tylko wpisy wywołującego, niezależnie od przekazanych wartości user_ids.
Zapytania
- 🚧 Dostępne tylko w planach Pro i Enterprise
- Wymagany zakres: brak - to API używa uprawnień na poziomie konta, a nie zakresów OAuth
- Uprawnienie na poziomie konta:
view_schedules
Pobieranie harmonogramów pracy
- Wymagany zakres: brak
- Uprawnienie na poziomie konta:
view_schedules - Zwraca
WorkSchedulePage - Można wykonać bezpośrednio na poziomie głównym; nie można zagnieżdżać w innym zapytaniu
query {
work_schedules(limit: 25) {
work_schedules {
id
name
is_default
days {
week_day
is_active
start_time
end_time
}
}
cursor
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken, apiVersion: "2026-10" });
const query = `query { work_schedules(limit: 25) { work_schedules { id name is_default } cursor } }`;
const response = await mondayApiClient.request(query);
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| ids | [ID!] |
Pobiera harmonogramy o określonych identyfikatorach. Maksymalnie 100. Nie można łączyć z limit, name ani cursor. Nieznane identyfikatory są pomijane. |
| limit | Int |
Maksymalna liczba harmonogramów do zwrócenia. Domyślnie: 20. Maksymalnie: 500. Nie można łączyć z ids. |
| name | String |
Filtruje według nazwy harmonogramu (fragment tekstu bez uwzględniania wielkości liter). Maksymalnie 255 znaków. Nie można łączyć z ids ani cursor. |
| cursor | String |
Kursor z poprzedniej odpowiedzi, który pozwala pobrać następną stronę. Nie można łączyć z ids ani name. |
Pola
| Pole | Typ | Opis |
|---|---|---|
| work_schedules | [WorkSchedule!]! |
Harmonogramy pracy na tej stronie wyników. |
| cursor | String |
Kursor do pobrania następnej strony. Zwraca null, gdy nie ma kolejnych wyników. |
Pobieranie harmonogramów dni wolnych
- Wymagany zakres: brak
- Uprawnienie na poziomie konta:
view_schedules - Zwraca
TimesOffPage - Można wykonać bezpośrednio na poziomie głównym; nie można zagnieżdżać w innym zapytaniu
query {
time_offs(limit: 25) {
time_offs {
id
name
is_default
entries {
id
name
start
end
}
}
cursor
}
}
Wszystkie wpisy w harmonogramie są zwracane bezpośrednio. Nie ma osobnej paginacji wpisów.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| ids | [ID!] |
Pobiera harmonogramy dni wolnych o określonych identyfikatorach. Maksymalnie 100. Nie można łączyć z limit, name ani cursor. |
| limit | Int |
Maksymalna liczba harmonogramów do zwrócenia. Domyślnie: 20. Maksymalnie: 500. Nie można łączyć z ids. |
| name | String |
Filtruje według nazwy harmonogramu (fragment tekstu bez uwzględniania wielkości liter). Maksymalnie 255 znaków. Nie można łączyć z ids ani cursor. |
| cursor | String |
Kursor z poprzedniej odpowiedzi, który pozwala pobrać następną stronę. Nie można łączyć z ids ani name. |
Pola
| Pole | Typ | Opis |
|---|---|---|
| time_offs | [TimeOff!]! |
Harmonogramy dni wolnych na tej stronie wyników. |
| cursor | String |
Kursor do pobrania następnej strony. Zwraca null, gdy nie ma kolejnych wyników. |
Pobieranie dostępności zasobów
- Wymagany zakres: brak
- Uprawnienie na poziomie konta:
view_schedules - Zwraca
ResourcesAvailability - Można wykonać bezpośrednio na poziomie głównym; nie można zagnieżdżać w innym zapytaniu
query {
resources_availability(user_ids: ["1234567890"], team_ids: ["9876543210"]) {
users_assigned_schedules {
user_id
work_schedule_id
company_time_off_id
personal_time_offs {
id
start
end
}
}
teams_assigned_schedules {
team_id
work_schedule_id
company_time_off_id
}
work_schedules {
id
name
}
company_time_offs {
id
name
}
default_work_schedule_id
default_company_time_off_id
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken, apiVersion: "2026-10" });
const query = `query ($userIds: [ID!], $teamIds: [ID!]) { resources_availability(user_ids: $userIds, team_ids: $teamIds) { users_assigned_schedules { user_id work_schedule_id company_time_off_id } teams_assigned_schedules { team_id work_schedule_id company_time_off_id } default_work_schedule_id default_company_time_off_id } }`;
const variables = {
userIds: ["1234567890"],
teamIds: ["9876543210"]
};
const response = await mondayApiClient.request(query, variables);
To zapytanie nie obsługuje paginacji. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. Porównaj work_schedule_id z default_work_schedule_id, aby sprawdzić, czy zasób korzysta z harmonogramu domyślnego dla konta. Aby znaleźć identyfikatory, użyj API users i teams.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| user_ids | [ID!] |
Identyfikatory użytkowników, dla których mają zostać pobrane przypisania. Maksymalnie 100. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. |
| team_ids | [ID!] |
Identyfikatory zespołów, dla których mają zostać pobrane przypisania. Maksymalnie 100. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. |
Pola
| Pole | Typ | Opis |
|---|---|---|
| users_assigned_schedules | [UserAssignment!]! |
Przypisania harmonogramów dla każdego wskazanego użytkownika. |
| teams_assigned_schedules | [TeamAssignment!]! |
Przypisania harmonogramów dla każdego wskazanego zespołu. |
| work_schedules | [WorkSchedule!]! |
Unikatowe harmonogramy pracy wskazane w przypisaniach w tej odpowiedzi oraz domyślny harmonogram konta. |
| company_time_offs | [TimeOff!]! |
Unikatowe harmonogramy dni wolnych firmy wskazane w przypisaniach w tej odpowiedzi oraz domyślny harmonogram konta. |
| default_work_schedule_id | ID! |
Identyfikator domyślnego harmonogramu pracy na poziomie konta. |
| default_company_time_off_id | ID! |
Identyfikator domyślnego harmonogramu dni wolnych firmy na poziomie konta. |
Pobieranie domyślnych ustawień dostępności konta
- Wymagany zakres: brak
- Uprawnienie na poziomie konta:
view_schedules - Zwraca
AccountAvailabilityDefaults - Można wykonać bezpośrednio na poziomie głównym; nie można zagnieżdżać w innym zapytaniu
query {
account_availability_defaults {
work_schedule {
id
name
days {
week_day
is_active
start_time
end_time
}
}
time_off {
id
name
entries {
id
name
start
end
}
}
}
}
To zapytanie zawsze zwraca wynik. Domyślne harmonogramy są tworzone automatycznie, gdy są potrzebne po raz pierwszy.
Pola
| Pole | Typ | Opis |
|---|---|---|
| work_schedule | WorkSchedule! |
Domyślny harmonogram pracy konta. |
| time_off | TimeOff! |
Domyślny harmonogram dni wolnych firmy na koncie. |
Pobieranie PTO użytkowników
- Wymagany zakres: brak
- Uprawnienie na poziomie konta:
view_schedules - Zwraca
[UserPto!] - Można wykonać bezpośrednio na poziomie głównym; nie można zagnieżdżać w innym zapytaniu
query {
user_pto(user_ids: ["1234567890", "9876543210"]) {
user_id
time_off_id
entries {
id
start
end
}
}
}
Użytkownik bez wpisów PTO nadal pojawia się w odpowiedzi, a jego tablica entries jest pusta. Wartość time_off_id wynosi null, dopóki użytkownik nie ma zbioru PTO.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| user_ids | [ID!]! |
Identyfikatory użytkowników, dla których mają zostać pobrane wpisy PTO. Maksymalnie 100. |
Pola
| Pole | Typ | Opis |
|---|---|---|
| user_id | ID! |
Unikatowy identyfikator użytkownika. |
| time_off_id | ID |
Identyfikator rekordu prywatnego czasu wolnego użytkownika. Zwraca null, jeśli użytkownik nie ma jeszcze zbioru PTO. |
| entries | [PtoEntry!]! |
Wpisy prywatnego czasu wolnego użytkownika. |
Mutacje
- 🚧 Dostępne tylko w planach Pro i Enterprise
- Wymagany zakres: brak - to API używa uprawnień na poziomie konta, a nie zakresów OAuth
- Niepowodzenie pojedynczych operacji w partii nie przerywa pozostałych. Sprawdź wartość
successdla każdego wyniku.
Argumenty daty używają formatu YYYY-MM-DD. Argumenty godziny używają formatu HH:MM (24-godzinnego). Daty dni wolnych i PTO muszą przypadać w przedziale od 1 roku wstecz do 20 lat w przyszłości. Nazwy muszą mieć od 1 do 255 znaków.
Tworzenie harmonogramu pracy
Tworzy jeden lub więcej harmonogramów pracy. Zwraca [WorkScheduleResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
create_work_schedule(inputs: [{
name: "Standard Work Week",
days: [
{ week_day: MONDAY, is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: TUESDAY, is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: WEDNESDAY, is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: THURSDAY, is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: FRIDAY, is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: SATURDAY, is_active: false },
{ week_day: SUNDAY, is_active: false }
]
}]) {
work_schedule {
id
name
}
success
error {
code
message
}
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken, apiVersion: "2026-10" });
const query = `mutation ($inputs: [CreateWorkScheduleInput!]!) { create_work_schedule(inputs: $inputs) { work_schedule { id name } success error { code message } } }`;
const variables = {
inputs: [{
name: "Standard Work Week",
days: [
{ week_day: "MONDAY", is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: "TUESDAY", is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: "WEDNESDAY", is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: "THURSDAY", is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: "FRIDAY", is_active: true, start_time: "09:00", end_time: "17:00" },
{ week_day: "SATURDAY", is_active: false },
{ week_day: "SUNDAY", is_active: false }
]
}]
};
const response = await mondayApiClient.request(query, variables);
Pomiń days, aby utworzyć harmonogram, w którym wszystkie siedem dni jest nieaktywnych. W każdym wejściu wartość week_day może wystąpić najwyżej raz. Gdy is_active ma wartość true, wymagane są start_time i end_time, a start_time musi być wcześniejszy niż end_time.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| inputs | [CreateWorkScheduleInput!]! |
Harmonogramy pracy do utworzenia. Maksymalnie 100 na jedno wywołanie. |
Aktualizowanie harmonogramu pracy
Aktualizuje nazwę lub godziny pracy istniejącego harmonogramu pracy. Zwraca WorkScheduleResult!.
Uprawnienie na poziomie konta: edit_schedules
mutation {
update_work_schedule(
id: "1234567890",
input: {
days: [{ week_day: SATURDAY, is_active: true, start_time: "10:00", end_time: "14:00" }]
}
) {
work_schedule {
id
name
days {
week_day
is_active
start_time
end_time
}
}
success
error {
code
message
}
}
}
Aktualizowane są tylko dni wymienione w input.days. Pozostałe dni pozostają bez zmian.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| id | ID! |
Unikatowy identyfikator harmonogramu pracy. |
| input | UpdateWorkScheduleInput! |
Pola do zaktualizowania. |
Usuwanie harmonogramu pracy
Usuwa jeden lub więcej harmonogramów pracy. Zwraca [WorkScheduleDeleteResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
delete_work_schedule(ids: ["1234567890"]) {
id
success
error {
code
message
}
}
}
Nie można usunąć harmonogramu, do którego nadal przypisani są użytkownicy lub zespoły. Najpierw odłącz te zasoby. Nie można usunąć domyślnego harmonogramu konta.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| ids | [ID!]! |
Identyfikatory harmonogramów pracy do usunięcia. Maksymalnie 100 na jedno wywołanie. |
Przypisywanie harmonogramu pracy
Przypisuje harmonogram pracy użytkownikom lub zespołom. Zwraca AssignWorkScheduleResult.
Uprawnienie na poziomie konta: assign_users_to_schedules
mutation {
assign_work_schedule(input: {
user_ids: ["1234567890"],
team_ids: ["9876543210"],
work_schedule_id: "1122334455"
}) {
users {
user_id
success
error {
code
message
}
}
teams {
team_id
success
error {
code
message
}
}
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken, apiVersion: "2026-10" });
const query = `mutation ($input: AssignWorkScheduleInput!) { assign_work_schedule(input: $input) { users { user_id success error { code message } } teams { team_id success error { code message } } } }`;
const variables = {
input: {
user_ids: ["1234567890"],
team_ids: ["9876543210"],
work_schedule_id: "1122334455"
}
};
const response = await mondayApiClient.request(query, variables);
Aby przywrócić zasobowi domyślny harmonogram konta, przekaż identyfikator domyślnego harmonogramu w parametrze work_schedule_id.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| input | AssignWorkScheduleInput! |
Zasoby i harmonogram pracy do przypisania. |
Odłączanie harmonogramu pracy
Usuwa jawne przypisania harmonogramu pracy. Zasoby, których to dotyczy, korzystają wtedy z domyślnego harmonogramu konta. Zwraca AssignWorkScheduleResult.
Uprawnienie na poziomie konta: assign_users_to_schedules
mutation {
unassign_work_schedule(
user_ids: ["1234567890"],
team_ids: ["9876543210"]
) {
users {
user_id
success
error {
code
message
}
}
teams {
team_id
success
error {
code
message
}
}
}
}
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| user_ids | [ID!] |
Identyfikatory użytkowników, którym ma zostać odłączony harmonogram. Maksymalnie 100. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. |
| team_ids | [ID!] |
Identyfikatory zespołów, którym ma zostać odłączony harmonogram. Maksymalnie 100. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. |
Tworzenie harmonogramu dni wolnych
Tworzy jeden lub więcej harmonogramów dni wolnych firmy, opcjonalnie z początkowymi wpisami. Zwraca [TimeOffResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
create_time_off(inputs: [{
name: "Public Holidays 2026",
entries: [
{ name: "New Year's Day", start: "2026-01-01", end: "2026-01-01" },
{ name: "Christmas Day", start: "2026-12-25", end: "2026-12-25" }
]
}]) {
time_off {
id
name
entries {
id
name
start
end
}
}
success
error {
code
message
}
}
}
Aby dodać wpisy po utworzeniu harmonogramu, użyj operacji tworzenia wpisu dnia wolnego.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| inputs | [CreateTimeOffInput!]! |
Harmonogramy dni wolnych do utworzenia. Maksymalnie 100 na jedno wywołanie. |
Aktualizowanie harmonogramu dni wolnych
Aktualizuje nazwę istniejącego harmonogramu dni wolnych firmy. Zwraca TimeOffResult.
Uprawnienie na poziomie konta: edit_schedules
mutation {
update_time_off(
id: "1234567890",
input: { name: "Global Holidays 2026" }
) {
time_off {
id
name
}
success
error {
code
message
}
}
}
Aby dodać, zaktualizować lub usunąć wpisy, użyj mutacji wpisów dni wolnych.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| id | ID! |
Unikatowy identyfikator harmonogramu dni wolnych. |
| input | UpdateTimeOffInput! |
Pola do zaktualizowania. |
Usuwanie harmonogramu dni wolnych
Usuwa jeden lub więcej harmonogramów dni wolnych firmy. Zwraca [TimeOffDeleteResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
delete_time_off(ids: ["1234567890"]) {
id
success
error {
code
message
}
}
}
Nie można usunąć harmonogramu, do którego nadal przypisani są użytkownicy lub zespoły. Nie można usunąć domyślnego harmonogramu konta.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| ids | [ID!]! |
Identyfikatory harmonogramów dni wolnych do usunięcia. Maksymalnie 100 na jedno wywołanie. |
Przypisywanie harmonogramu dni wolnych
Przypisuje harmonogram dni wolnych firmy użytkownikom lub zespołom. Zwraca AssignTimeOffResult.
Uprawnienie na poziomie konta: assign_users_to_schedules
mutation {
assign_time_off(input: {
user_ids: ["1234567890"],
time_off_id: "1122334455"
}) {
users {
user_id
success
error {
code
message
}
}
teams {
team_id
success
error {
code
message
}
}
}
}
Aby przywrócić zasobowi domyślny harmonogram konta, przekaż identyfikator domyślnego harmonogramu dni wolnych.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| input | AssignTimeOffInput! |
Zasoby i harmonogram dni wolnych do przypisania. |
Odłączanie harmonogramu dni wolnych
Usuwa jawne przypisania firmowych dni wolnych. Zasoby, których to dotyczy, korzystają wtedy z domyślnego harmonogramu konta. Zwraca AssignTimeOffResult!.
Uprawnienie na poziomie konta: assign_users_to_schedules
mutation {
unassign_time_off(user_ids: ["1234567890"]) {
users {
user_id
success
error {
code
message
}
}
teams {
team_id
success
error {
code
message
}
}
}
}
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| user_ids | [ID!] |
Identyfikatory użytkowników, którym mają zostać odłączone dni wolne. Maksymalnie 100. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. |
| team_ids | [ID!] |
Identyfikatory zespołów, którym mają zostać odłączone dni wolne. Maksymalnie 100. Wymagane jest podanie co najmniej jednego z parametrów user_ids lub team_ids. |
Tworzenie wpisu dnia wolnego
Dodaje jeden lub więcej wpisów dat niepracujących do istniejących harmonogramów dni wolnych. Zwraca [TimeOffEntryResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
create_time_off_entry(inputs: [
{ time_off_id: "1234567890", name: "New Year's Day", start: "2026-01-01", end: "2026-01-01" },
{ time_off_id: "1234567890", name: "Independence Day", start: "2026-07-04", end: "2026-07-04" }
]) {
time_off_entry {
id
name
start
end
}
success
error {
code
message
}
}
}
W jednym wywołaniu możesz tworzyć wpisy dla różnych harmonogramów, używając różnych wartości time_off_id.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| inputs | [CreateTimeOffEntryInput!]! |
Wpisy do utworzenia. Maksymalnie 100 na jedno wywołanie. |
Aktualizowanie wpisu dnia wolnego
Aktualizuje nazwę lub zakres dat jednego bądź kilku wpisów dni wolnych. Zwraca [TimeOffEntryResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
update_time_off_entry(inputs: [{
id: "1234567890",
name: "Christmas Eve",
start: "2026-12-24",
end: "2026-12-25"
}]) {
time_off_entry {
id
name
start
end
}
success
error {
code
message
}
}
}
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| inputs | [UpdateTimeOffEntryInput!]! |
Wpisy do zaktualizowania. Maksymalnie 100 na jedno wywołanie. |
Usuwanie wpisu dnia wolnego
Usuwa jeden lub więcej wpisów dni wolnych. Zwraca [TimeOffEntryDeleteResult!].
Uprawnienie na poziomie konta: edit_schedules
mutation {
delete_time_off_entry(ids: ["1234567890"]) {
id
success
error {
code
message
}
}
}
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| ids | [ID!]! |
Identyfikatory wpisów do usunięcia. Maksymalnie 100 na jedno wywołanie. |
Tworzenie wpisu PTO
Tworzy jeden lub więcej wpisów prywatnego czasu wolnego. Zwraca [TimeOffEntryResult!].
Uprawnienie na poziomie konta: edit_schedules do tworzenia PTO dla innych użytkowników lub update_own_personal_time_off do tworzenia własnych wpisów.
mutation {
create_pto_entry(inputs: [
{ user_id: "1234567890", start: "2026-08-01", end: "2026-08-05" }
]) {
time_off_entry {
id
start
end
}
success
error {
code
message
}
}
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken, apiVersion: "2026-10" });
const query = `mutation ($inputs: [CreatePtoEntryInput!]!) { create_pto_entry(inputs: $inputs) { time_off_entry { id start end } success error { code message } } }`;
const variables = {
inputs: [{ user_id: "1234567890", start: "2026-08-01", end: "2026-08-05" }]
};
const response = await mondayApiClient.request(query, variables);
Utworzenie wpisu dla użytkownika, który nie ma zbioru PTO, inicjuje taki zbiór. Mutacja zwraca TimeOffEntry: wartość name to "PTO", a wartość type to null.
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| inputs | [CreatePtoEntryInput!]! |
Wpisy PTO do utworzenia. Maksymalnie 100 na jedno wywołanie. |
Aktualizowanie wpisu PTO
Aktualizuje zakres dat jednego lub kilku wpisów PTO. Zwraca [TimeOffEntryResult!].
Uprawnienie na poziomie konta: edit_schedules do aktualizowania PTO innych użytkowników lub update_own_personal_time_off do aktualizowania własnych wpisów.
mutation {
update_pto_entry(inputs: [{
id: "1234567890",
start: "2026-08-02",
end: "2026-08-06"
}]) {
time_off_entry {
id
start
end
}
success
error {
code
message
}
}
}
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| inputs | [UpdatePtoEntryInput!]! |
Wpisy PTO do zaktualizowania. Maksymalnie 100 na jedno wywołanie. |
Usuwanie wpisu PTO
Usuwa jeden lub więcej wpisów PTO. Zwraca [TimeOffEntryDeleteResult!].
Uprawnienie na poziomie konta: edit_schedules do usuwania PTO innych użytkowników lub update_own_personal_time_off do usuwania własnych wpisów.
mutation {
delete_pto_entry(ids: ["1234567890"]) {
id
success
error {
code
message
}
}
}
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| ids | [ID!]! |
Identyfikatory wpisów PTO do usunięcia. Maksymalnie 100 na jedno wywołanie. |
Błędy
Wyniki mutacji zawierają success: Boolean! oraz opcjonalny obiekt error typu Error. Gdy success ma wartość false, pole error wyjaśnia przyczynę niepowodzenia.
Zapytania, które nie są włączone na koncie, zwracają błąd GraphQL z kodem FEATURE_NOT_ENABLED, zamiast błędów dla poszczególnych elementów.
| Kod | Znaczenie |
|---|---|
FEATURE_NOT_ENABLED |
Funkcja Availability 2.0 nie jest włączona na tym koncie. |
NOT_FOUND |
Identyfikator nie istnieje lub należy do innego konta. |
HAS_ASSIGNED_USERS |
Nie można usunąć harmonogramu, ponieważ nadal są do niego przypisani użytkownicy lub zespoły. |
CANNOT_DELETE_DEFAULT |
Nie można usunąć domyślnego harmonogramu konta. |
NOT_AUTHORIZED |
Wywołujący nie ma wymaganego uprawnienia. |
LIMIT_EXCEEDED |
Konto osiągnęło maksymalną liczbę aktywnych harmonogramów pracy. |
INVALID_INPUT |
Weryfikacja danych wejściowych nie powiodła się, na przykład data end poprzedza datę start. |
USER_NOT_FOUND |
Wskazany użytkownik nie istnieje. |
INTERNAL_ERROR |
Wystąpił nieoczekiwany błąd serwera. Ponów próbę, stosując wykładnicze opóźnienie. |
Błędy autoryzacji w mutacjach korzystających ze sprawdzenia GraphQL authorize (harmonogramach pracy, firmowych dniach wolnych i przypisaniach) mogą również pojawić się jako nadrzędny błąd GraphQL USER_UNAUTHORIZED zamiast wyniku NOT_AUTHORIZED dla pojedynczego elementu.