Dokumentacja dla programistów

Tablice

Aktualizacja 2026-10-30

Tablice monday.com tablice to miejsca, w których użytkownicy wprowadzają wszystkie swoje dane. Są więc podstawowym elementem platformy. Struktura tablicy składa się z elementów (wierszy), grup (grup wierszy) i kolumn. Dane tablicy są przechowywane w elementach i sekcjach aktualizacji poszczególnych elementów.

Zapytania

Pobieranie tablic

  • Wymagany zakres: boards:read
  • Zwraca tablicę zawierającą metadane jednej tablicy lub kolekcji tablic.
  • Można wysłać zapytanie bezpośrednio z poziomu głównego albo zagnieździć je w innym zapytaniu (np. items).
query {
  boards(
    ids: [1234567890]
    hierarchy_types: [classic, multi_level]
  ) {
    name
    state
    permissions
    items_page {
      items {
        id
        name
      }
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken});

const query = `query { boards (ids: [1234567890]) { name state permissions items_page { items { id name }}}}`
const response = await mondayApiClient.request(query);

Argumenty

Argument Typ Opis Wartości wyliczeniowe
board_kind BoardKind Typ tablicy do zwrócenia. private
public
share
hierarchy_type [BoardHierarchy!] Typ hierarchii tablicy, według którego ma zostać zastosowany filtr. Jeśli nie podasz tej wartości, zostaną zwrócone tylko tablice typu classic, chyba że podasz konkretne identyfikatory tablic. classic
multi_level
ids [ID!] Identyfikatory tablic do zwrócenia.
limit Int Liczba tablic do zwrócenia. Domyślnie 25.
order_by BoardsOrderBy Kolejność pobierania tablic. created_at (malejąco)
used_at (malejąco)
page Int Numer strony do zwrócenia. Numeracja zaczyna się od 1.
state State Stan tablicy do zwrócenia. Domyślnie active. active
all
archived deleted
workspace_ids [ID] Identyfikatory obszarów roboczych, które zawierają tablice do zwrócenia.

Pola

Pole Typ Opis Wartości wyliczeniowe
access_level BoardAccessLevel! Poziom uprawnień użytkownika do tablicy. edit
view
activity_log BoardActivityLogsPage Zwraca stronę dziennika aktywności tablicy. Dostępne tylko w wersjach 2026-10 i nowszych.
activity_logs [ActivityLogType] Zdarzenia z dziennika aktywności dotyczące wskazanej tablicy lub tablic.
board_folder_id ID Unikalny identyfikator folderu, w którym znajduje się tablica lub tablice. Zwraca null, jeśli tablica nie znajduje się w folderze.
board_kind BoardKind! Typ tablicy. private
public
share
columns [Column] Widoczne kolumny tablicy.
communication JSON Wartość komunikacji tablicy (zwykle identyfikator spotkania).
creator User! Twórca tablicy.
description String Opis tablicy.
groups [Group] Widoczne grupy na tablicy.
hierarchy_type BoardHierarchy Typ hierarchii tablicy. classic
multi_level
id ID! Unikalny identyfikator tablicy.
item_terminology String Nazwa używana na tablicy dla elementów. Może być wartością predefiniowaną lub niestandardową.
items_count Int Liczba elementów na tablicy.
items_page ItemsResponse! Elementy na tablicy. Tego pola można użyć, aby pobrać wszystkie elementy z tablicy.
name String! Nazwa tablicy.
object_type_unique_key String Unikalny identyfikator typu obiektu tablicy. Może zwrócić null w przypadku tablic, którym nie przypisano określonej klasyfikacji typu obiektu.
owner (DEPRECATED) User! Użytkownik, który utworzył tablicę.
owners [User]! Właściciele tablicy.
permissions String! Uprawnienia do tablicy. assignee
collaborators
everyone
owners
state State! Stan tablicy. active
all
archived
deleted
subscribers [User]! Obserwujący tablicę.
tags [Tag] Etykiety tablicy.
team_owners [Team!] Zespoły będące właścicielami tablicy.
team_subscribers [Team!] Zespoły obserwujące tablicę. Wartość -1 oznacza, że tablicę obserwuje zespół „wszyscy na koncie”.
top_group Group! Grupa na górze tablicy.
type BoardObjectType Typ obiektu tablicy. board
custom_object
document
sub_items_board
updated_at ISO8601DateTime Data i godzina ostatniej aktualizacji tablicy.
updates [Update] Aktualizacje na tablicy.
url String! Adres URL tablicy.
views [BoardView] Widoki tablicy.
workspace Workspace Obszar roboczy zawierający tablicę. Zwraca null w przypadku głównego obszaru roboczego (Main).
workspace_id ID Unikalny identyfikator obszaru roboczego tablicy. Zwraca null w przypadku głównego obszaru roboczego (Main).
created_from_board_id ID Unikalny identyfikator tablicy źródłowej, na podstawie której utworzono tę tablicę (np. przez duplikowanie). Zwraca null, jeśli tablica nie powstała na podstawie innej tablicy. Dostępne tylko w wersjach 2026-04 i nowszych.
folder Folder Folder zawierający tę tablicę. Zwraca null, jeśli tablica nie znajduje się w folderze. Dostępne tylko w wersjach 2026-04 i nowszych.
inferred_metadata BoardInferredMetadata Wywnioskowane metadane tablicy (np. niestandardowe nazewnictwo elementów). Dostępne tylko w wersjach 2026-07 i nowszych.
manual_metadata BoardManualMetadata Ręcznie ustawione metadane tablicy (np. opis tablicy zapisany w Markdownie). Dostępne tylko w wersjach 2026-07 i nowszych.

Pobieranie statusu zadania eksportu

Dostępne tylko w wersjach API 2026-10 i nowszych

  • 🚧 Dostępne tylko w planach Enterprise - inne konta otrzymają błąd FORBIDDEN_EXCEPTION.
  • Wymagany zakres: boards:read
  • Zwraca bieżący stan asynchronicznego eksportu tablicy jako ExportJobStatusInfo albo null.
  • Użyj tego zapytania, aby sprawdzać status job_id zwróconego przez create_board_export.
query {
  export_job_status(job_id: "a1b2c3d4-0000-0000-0000-000000000000") {
    status
    download_url
    failure_reason
    failure_message
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `query ($job: ID!) { export_job_status (job_id: $job) { status download_url failure_reason failure_message }}`
const variables = {
  job: "a1b2c3d4-0000-0000-0000-000000000000"
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis
job_id ID! Wartość job_id zwrócona przez create_board_export.

Sprawdzanie statusu

Sprawdzaj status do momentu, aż przyjmie jedną z wartości końcowych: COMPLETED, FAILED lub CANCELLED.

  • COMPLETED - odczytaj download_url. Może nadal mieć wartość null, jeśli sprawdzisz status po wygaśnięciu adresu URL. Zanim go użyjesz, sprawdź, czy nie ma wartości null.
  • FAILED - odczytaj failure_reason (oraz failure_message, jeśli jest dostępne).
  • RUNNING - poczekaj i ponownie sprawdź status.

Odczekaj chwilę między kolejnymi sprawdzeniami zamiast wysyłać zapytania w szybkiej pętli. Każde wywołanie jest uwzględniane w limitach zapytań. Eksport dużej tablicy może potrwać kilka minut, dlatego ustaw limit czasu we własnym kliencie i nie sprawdzaj statusu bez końca.

Wynik null nie oznacza, że zadanie się nie powiodło. To zapytanie zwraca null zarówno dla nieistniejącego job_id, jak i dla identyfikatora należącego do innego konta. Nie można ich celowo odróżnić, dzięki czemu osoba, która uzyska taki identyfikator, nie może sprawdzić, czy inne konta mają eksporty. Jeśli otrzymasz null dla identyfikatora, który dopiero co uzyskałeś, sprawdź, czy wysyłasz zapytanie z tokenem tego samego konta.

Mutacje

Wymagany zakres: boards:write

Tworzenie tablicy

Tworzy nową tablicę. Zwraca Board.

Użytkownik, który tworzy tablicę, jest automatycznie dodawany jako jej właściciel, jeśli tworzy tablicę prywatną lub tablicę z możliwością udostępniania albo jeśli nie podano board_owners_ids.

Ta mutacja ma dodatkowy limit - 40 mutacji na minutę.

mutation {
  create_board(
    board_name: "my board"
    board_kind: public
    item_nickname: { preset_type: "item" }
  ) { 
    id 
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
board_kind BoardKind! Typ tworzonej tablicy. private
public share
board_name String! Nazwa nowej tablicy.
board_owner_ids [ID!] Lista identyfikatorów użytkowników, którzy będą właścicielami tablicy.
board_owner_team_ids [ID!] Lista identyfikatorów zespołów, które będą właścicielami tablicy.
board_subscriber_ids [ID!] Lista identyfikatorów użytkowników, którzy będą obserwować tablicę.
board_subscriber_teams_ids [ID!] Lista identyfikatorów zespołów, które będą obserwować tablicę.
description String Opis nowej tablicy.
empty Boolean Tworzy pustą tablicę bez domyślnych elementów.
folder_id ID Identyfikator folderu tablicy.
item_nickname ItemNicknameInput Ustawienia nazwy elementów na tablicy. Jeśli je podasz, zostaną zastosowane do elementów nowej tablicy.
template_id ID Identyfikator szablonu tablicy.*
workspace_id ID Identyfikator obszaru roboczego tablicy.
prompt String Prompt AI, na podstawie którego zostanie wygenerowana struktura i zawartość tablicy (kolumny, grupy i elementy). Dostępne tylko w wersjach 2026-04 i nowszych.
use_mls_template Boolean Jeśli wartość to true, tworzy tablicę jako tablicę wielopoziomową przy użyciu szablonu MLS. Dostępne tylko w wersjach 2026-10 i nowszych.
use_dataset_template Boolean Jeśli wartość to true, tworzy tablicę na podstawie szablonu zestawu danych. Dostępne tylko w wersjach 2026-10 i nowszych.

*Identyfikatory własnych szablonów znajdziesz na ekranie podglądu szablonu po włączeniu trybu deweloperskiego w monday.labs. W przypadku wbudowanych szablonów identyfikator szablonu jest identyfikatorem tablicy utworzonej na jego podstawie.

Zmiana typu tablicy

Zmienia ustawienie prywatności tablicy (publiczna, prywatna lub z możliwością udostępniania). Zwraca ChangeBoardKindResult.

Dostępne tylko w wersjach API 2026-10 i nowszych

mutation {
  change_board_kind(
    board_id: 1234567890
    kind: PRIVATE
  ) {
    id
    board_kind
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($board: ID!, $kind: BoardKindInput!) { change_board_kind(board_id: $board, kind: $kind) { id board_kind }}`
const variables = {
  board: 1234567890,
  kind: "PRIVATE"
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis Wartości wyliczeniowe
board_id ID! Unikalny identyfikator tablicy.
kind BoardKindInput! Nowe ustawienie prywatności tablicy. PRIVATE
PUBLIC
SHARE

Pola

Pole Typ Opis Wartości wyliczeniowe
id ID! Unikalny identyfikator tablicy.
board_kind String! Nowe ustawienie prywatności tablicy.

Ustawianie uprawnień do tablicy

Ustawia lub aktualizuje domyślną rolę i uprawnienia do tablicy. Zwraca SetBoardPermissionResponse.

Ta mutacja działa tylko w przypadku właścicieli tablic w planie Enterprise.

mutation {
  set_board_permission(
    board_id: 1234567890
    basic_role_name: viewer
  ) {
    edit_permissions
    failed_actions
  }
}

Argumenty

Argument Typ Opis Wartości wyliczeniowe
basic_role_name BoardBasicRoleName! Nazwa roli. contributor (może edytować zawartość)
editor (może edytować zawartość i strukturę)
viewer (tylko do odczytu)
board_id ID! Unikalny identyfikator tablicy.
cross_product_collaborative Boolean Jeśli wartość to true, włącza uprawnienia do współpracy między produktami na tablicy. Dostępne tylko w wersjach 2026-07 i nowszych.

Aktualizowanie roli zespołu na tablicy

Aktualizuje rolę tablicy jednego lub większej liczby zespołów, które już obserwują tablicę. Zwraca UpdateTeamsBoardRoleResponse.

Dostępne tylko w wersjach API 2026-10 i nowszych

Zespoły muszą już obserwować tablicę - ta mutacja zmienia rolę zespołu, ale nie przyznaje dostępu do tablicy. Najpierw użyj add_teams_to_board, aby dodać zespół do obserwujących.

mutation {
  update_teams_board_role(
    board_id: 1234567890
    team_ids: [11111111, 22222222]
    role_name: editor
  ) {
    successful_team_ids
    failed_teams {
      team_id
      error
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($board: ID!, $teams: [ID!]!, $role: BoardBasicRoleName!) { update_teams_board_role(board_id: $board, team_ids: $teams, role_name: $role) { successful_team_ids failed_teams { team_id error } }}`
const variables = {
  board: 1234567890,
  teams: ["11111111", "22222222"],
  role: "editor"
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis Wartości wyliczeniowe
board_id ID! Unikalny identyfikator tablicy.
role_name BoardBasicRoleName! Rola przypisywana zespołom. Wartości assigned_contributor i member są odrzucane. Pierwsza zależy wyłącznie od konfiguracji kolumny osoby przypisanej, którą można ustawić tylko w interfejsie, a druga jest dostępna tylko dla użytkownika będącego agentem. contributor (może edytować zawartość)
editor (może edytować zawartość i strukturę)
viewer (tylko do odczytu)
team_ids [ID!]! Identyfikatory zespołów do zaktualizowania. Zespoły, które nie obserwują jeszcze tablicy, zostaną zwrócone w failed_teams, a dostęp do tablicy nie zostanie im przyznany. Jedno wywołanie może obejmować maksymalnie 50 zespołów.

Pola

Pole Typ Opis Wartości wyliczeniowe
successful_team_ids [ID!]! Identyfikatory zespołów, których rola na tablicy została zaktualizowana.
failed_teams [FailedTeamBoardRoleUpdate!]! Zespoły, których roli na tablicy nie udało się zaktualizować, wraz z przyczyną każdego błędu.

Duplikowanie tablicy

Duplikuje tablicę wraz ze wszystkimi jej elementami i grupami do wybranego obszaru roboczego lub folderu. Zwraca Board.

Asynchroniczny proces duplikowania może potrwać. Dlatego zapytanie może początkowo zwrócić tylko część danych.

Ta mutacja ma dodatkowy limit - 40 mutacji na minutę.

mutation {
  duplicate_board(
    board_id: 1234567890
    duplicate_type: duplicate_board_with_structure
  ) {
    board {
      id
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($board: ID!) { duplicate_board(board_id: $board, duplicate_type: duplicate_board_with_structure) { board { id }}}`
const variables = {
  board: 9571351437
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis Wartości wyliczeniowe
board_id ID! Unikalny identyfikator tablicy.
board_name String Nazwa tablicy. Jeśli jej nie podasz, zostanie wygenerowana automatycznie.
duplicate_type DuplicateBoardType! Typ duplikowania. duplicate_board_with_pulses (duplikuje strukturę i elementy)
duplicate_board_with_pulses_and_updates (duplikuje strukturę, elementy i aktualizacje)
duplicate_board_with_structure (duplikuje strukturę)
folder_id ID Folder docelowy w docelowym obszarze roboczym. Jest wymagany, jeśli duplikujesz tablicę do innego obszaru roboczego. Jeśli go nie podasz, zostanie użyty folder oryginalnej tablicy.
keep_subscribers Boolean Określa, czy obserwujący zostaną skopiowani do nowej tablicy. Domyślnie false.
workspace_id ID Docelowy obszar roboczy. Jeśli go nie podasz, zostanie użyty obszar roboczy oryginalnej tablicy.

Aktualizowanie tablicy

Aktualizuje tablicę. Zwraca obiekt JSON, który potwierdza powodzenie aktualizacji i zawiera zaktualizowane metadane tablicy.

mutation {
  update_board(
    board_id: 1234567890
    board_attribute: description
    new_value: "This is my new description"
  ) 
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($desc: String!) { update_board (board_id: 1234567890, board_attribute: description, new_value: $desc)}`
const variables = {
  desc: "This is my new description"
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis Wartości wyliczeniowe
board_attribute BoardAttributes! Atrybut tablicy do zaktualizowania. communication
description
item_nickname (wersja 2026-04 i nowsze) name
board_id ID! Unikalny identyfikator tablicy.
new_value String! Nowa wartość atrybutu.

Aktualizowanie hierarchii tablicy

Aktualizuje pozycję tablicy, jej obszar roboczy lub produkt. Zwraca UpdateBoardHierarchyResult.

mutation {
  update_board_hierarchy(
    board_id: 1234567890,
    attributes: {
      account_product_id: 54321
      workspace_id: 12345
      folder_id: 9876543210
      position: {
        object_id: "15",
        object_type: Overview,
        is_after: true
      }
    }
  ) {
    success
  }
}

Argumenty

Argument Typ Opis
attributes UpdateBoardHierarchyAttributesInput! Atrybuty tablicy do zaktualizowania.
board_id ID! Unikalny identyfikator tablicy.

Archiwizowanie tablicy

Archiwizuje tablicę. Zwraca Board.

mutation {
  archive_board(
    board_id: 1234567890
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });
const query = `mutation ($board: ID!) { archive_board (board_id: $board) { id }}`
const variables = {
  board: 1234567
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis
board_id ID! Unikalny identyfikator tablicy.

Usuwanie tablicy

Usuwa tablicę. Zwraca Board.

mutation {
  delete_board(
    board_id: 1234567890
  ) {
    id
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `mutation ($board: ID!) { delete_board (board_id: $board) { id }}`
const variables = {
  board: 1234567
}
const response = await mondayApiClient.request(query, variables);

Argumenty

Argument Typ Opis
board_id ID! Unikalny identyfikator tablicy.

Tworzenie eksportu tablicy

Dostępne tylko w wersjach API 2026-10 i nowszych

  • 🚧 Dostępne tylko w planach Enterprise - inne konta otrzymają błąd FORBIDDEN_EXCEPTION.
  • Wymagany zakres: boards:read (nie boards:write - ta mutacja tylko odczytuje dane tablicy).
  • Eksportuje tablicę do pliku CSV i zwraca ExportResult.
  • Eksportowany plik zawsze ma format CSV.

Ta mutacja może zwrócić jeden z dwóch różnych typów, dlatego zapytanie musi obsługiwać oba.

Eksport małych tablic zwykle kończy się od razu. W takim przypadku mutacja zwraca ExportFile z wartością download_url. W przypadku większych tablic zwraca ExportAsyncJob z wartością job_id, której status możesz później sprawdzać.

Nie ma gwarancji, który typ zostanie zwrócony. Zależy to od wielkości tablicy i bieżącego obciążenia serwera. Progi mogą się zmieniać bez uprzedzenia, więc ta sama tablica może dziś zwrócić ExportFile, a jutro ExportAsyncJob. Klient, który wybiera tylko jedną z tych opcji, przestanie działać. Zawsze wybieraj obie.

mutation {
  create_board_export(
    board_id: 1234567890
    export_options: { include_subitems: true, header_row: COLUMN_ID, columns_order: ["name", "status", "date4"] }
    time_zone: "America/New_York"
  ) {
    ... on ExportFile {
      download_url
      expires_at
    }
    ... on ExportAsyncJob {
      job_id
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `mutation ($board: ID!) { create_board_export (board_id: $board) { ... on ExportFile { download_url expires_at } ... on ExportAsyncJob { job_id }}}`
const variables = {
  board: 1234567890
}
const response = await mondayApiClient.request(query, variables);

const result = response.create_board_export;
if (result.download_url) {
  // Finished synchronously - download it now.
} else {
  // Still running - poll export_job_status with result.job_id.
}

Argumenty

Argument Typ Opis
board_id ID! Unikalny identyfikator tablicy do wyeksportowania.
export_options CreateBoardExportOptionsInput Ustawienia eksportu (podelementy, format nagłówka, kolejność kolumn itd.). Jeśli ich nie podasz, zostaną użyte ustawienia domyślne.
time_zone String Strefa czasowa IANA używana do formatowania dat i godzin, np. America/New_York. Domyślnie jest to strefa czasowa użytkownika, którego tokenem wysłano żądanie. Jeśli użytkownik jej nie ustawił, używana jest strefa UTC.

export_options.columns_order służy zarówno do wybierania, jak i porządkowania kolumn. Każda kolumna, której nie uwzględnisz na liście, zostanie całkowicie pominięta w eksporcie - nie pojawi się na jego końcu. Aby zmienić kolejność kolumn bez pomijania żadnej z nich, podaj identyfikator każdej kolumny, którą chcesz wyeksportować.

Kolumny z nazwą elementu i podelementami są wyjątkiem. Zawsze pojawiają się jako pierwsze, niezależnie od tego, czy uwzględnisz je na liście.

Zwracane wartości

ExportResult - typ będący sumą:

Typ Kiedy jest zwracany Co zrobić
ExportFile Eksport zakończył się na czas. Pobierz plik z adresu download_url przed upływem czasu expires_at.
ExportAsyncJob Eksport nadal trwa. Sprawdzaj status export_job_status dla wartości job_id, aż osiągnie stan końcowy.

Użyj __typename, jeśli zamiast wnioskować o typie na podstawie zwróconych pól chcesz jawnie rozróżnić poszczególne przypadki:

mutation {
  create_board_export(board_id: 1234567890) {
    __typename
    ... on ExportFile { download_url }
    ... on ExportAsyncJob { job_id }
  }
}

Błędy

Wynik nie zawiera wariantu błędu. Błędy są zwracane na jeden z dwóch sposobów:

  • Jako błąd GraphQL, jeśli żądanie zostanie odrzucone przed rozpoczęciem eksportu - np. z powodu nieprawidłowego board_id, braku uprawnień lub nieobsługiwanej kombinacji opcji eksportu. Konta bez planu Enterprise otrzymają tutaj kod błędu FORBIDDEN_EXCEPTION.
  • Jako status FAILED w export_job_status, jeśli asynchroniczny eksport nie powiedzie się po rozpoczęciu. Odczytaj ExportFailureReason, aby poznać przyczynę.

Adresy URL pobierania

download_url to podpisany adres URL, który wygasa. Traktuj go jak poufną informację - każdy, kto go ma, może pobrać plik do czasu jego wygaśnięcia. Nie można odświeżyć tego adresu. Po jego wygaśnięciu ponownie wywołaj create_board_export, aby wygenerować nowy plik.