Dokumentacja dla programistów

Status

Aktualizacja 2026-09-06

Kolumna statusu (status column) wyświetla etykiety określające stan elementu. Najczęściej służy do obsługi przepływów pracy, monitorowania postępów projektu i wizualnego przedstawiania statusu. Każda kolumna statusu zawiera zestaw etykiet, kolorów i indeksów.

Za pomocą API można odczytywać, filtrować, tworzyć, aktualizować i czyścić wartości kolumny statusu.

Typ kolumny Typ implementacji Obsługiwane operacje
status StatusValue
  • Odczyt: Tak
  • Filtrowanie: Tak
  • Tworzenie: Tak
  • Aktualizowanie: Tak
  • Czyszczenie: Tak

Zapytania

Kolumny statusu możesz odpytywać za pomocą pola column_values obiektu items, używając fragmentu inline.

W zależności od typu tablicy API zwraca jeden z dwóch typów wartości:

  • Tablice klasyczne: typ StatusValue
  • Tablice wielopoziomowe: typ BatteryValue

Wpływa to na sposób odpytywania i interpretowania danych, jak pokazano w poniższych przykładach.

Na tablicach wielopoziomowych kolumny statusu z funkcją agregacji wymagają dodania capabilities: [CALCULATED] do pola column_values, aby zwracały jakiekolwiek wartości. Bez tego API zwraca pustą tablicę - nawet w przypadku elementów końcowych ze statycznymi wartościami.

Kolumny statusu z agregacją zawsze zwracają typ BatteryValue dla wszystkich elementów, w tym elementów końcowych. Fragment ... on StatusValue nie będzie pasować do tych kolumn.

StatusValue (tablice klasyczne)

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values {
      ... on StatusValue {
        id
        index
        label
        text
        is_done
        label_style {
          color
          border
        }
        value
        updated_at
      }
    }
  }
}
const query = `
  query ($itemIds: [ID!]) {
    items(ids: $itemIds) {
      name
      column_values {
        ... on StatusValue {
          id
          index
          label
          text
          is_done
          label_style {
            color
            border
          }
          value
        }
      }
    }
  }
`;

const variables = { itemIds: [1234567890, 9876543210] };

const response = await mondayApiClient.request(query, variables);

Pola

Możesz użyć następujących pól, aby określić, jakie informacje zwróci implementacja StatusValue.

Pole Opis
column Column! Kolumna, do której należy wartość.
id ID! Unikalny identyfikator kolumny.
index Int Identyfikator etykiety statusu (używany podczas aktualizowania). Zwraca null, jeśli status jest pusty.
is_done Boolean Określa, czy status jest oznaczony jako ukończony.
label String Bieżąca etykieta wyświetlana dla elementu. Zwraca null, jeśli status jest pusty.
label_style StatusLabelStyle Kolor i obramowanie etykiety. Zawiera color (kod hex) i border (kod hex).
text String Wartość kolumny w postaci tekstu. Zwraca null, jeśli kolumna nie ma wartości.
type ColumnType! Typ kolumny.
update_id ID Aktualizacja powiązana z tym statusem (jeśli istnieje).
updated_at Date Data ostatniej aktualizacji kolumny.
value JSON Surowa wartość kolumny w postaci ciągu JSON. Zwraca {"index": N}, gdzie N to identyfikator etykiety.
is_leaf Boolean! Określa, czy element nie ma podelementów. Zwraca false, gdy element ma podelementy na tablicy klasycznej lub wielopoziomowej.

StatusLabelStyle

Obiekt zawierający właściwości stylu etykiety statusu.

Pole Typ Opis
border String! Kod koloru Hex obramowania etykiety.
color String! Kod koloru Hex etykiety.

Przykładowa odpowiedź

{
  "data": {
    "items": [
      {
        "name": "Task A",
        "column_values": [
          {
            "id": "status",
            "index": 1,
            "label": "Done",
            "text": "Done",
            "is_done": true,
            "label_style": {
              "color": "#00c875",
              "border": "#00b461"
            },
            "value": "{\"index\":1}",
            "updated_at": "2026-03-20T12:00:00Z"
          }
        ]
      }
    ]
  }
}

BatteryValue (tablice wielopoziomowe)

Na tablicach wielopoziomowych kolumny statusu z funkcją agregacji zwracają typ BatteryValue zamiast StatusValue. Dotyczy to wszystkich elementów - zarówno nadrzędnych z obliczonymi wartościami, jak i końcowych ze statycznymi wartościami. W przypadku elementów końcowych tablica battery_value zawiera jeden wpis reprezentujący status danego elementu. W przypadku elementów nadrzędnych zawiera zagregowaną liczbę statusów wszystkich elementów podrzędnych.

query {
  items(ids: [1234567890, 9876543210]) {
    name
    column_values(capabilities: [CALCULATED]) {
      ... on BatteryValue {
        id
        text
        is_leaf
        battery_value {
          key
          count
        }
      }
    }
  }
}

Pola

Możesz użyć następujących pól, aby określić, jakie informacje zwróci implementacja BatteryValue.

Pole Opis Obsługiwane pola
battery_value [BatteryValueItem!]! Indeksy kolumny i liczba ich wystąpień. count Int!
key ID!
column Column! Kolumna, do której należy wartość.
id ID! Unikalny identyfikator kolumny.
text String Wartość kolumny w postaci tekstu. Zwraca null, jeśli kolumna nie ma wartości.
type ColumnType! Typ kolumny.
value JSON Surowa wartość kolumny w formacie JSON.
is_leaf Boolean! Określa, czy element nie ma podelementów. Na tablicach wielopoziomowych z funkcją agregacji wartość false oznacza, że wartość została obliczona na podstawie elementów podrzędnych, a nie ustawiona statycznie.

Filtrowanie

Możesz filtrować elementy według wartości statusu za pomocą obiektu items_page. Filtry obsługują wyszukiwanie według:

  • identyfikatora etykiety (zalecane),
  • tekstu etykiety (contains_terms),
  • pustych wartości.
Operator Wartość porównania Opis
any_of Tablica identyfikatorów etykiet (np. [1, 2]) Zwraca elementy, których status pasuje do dowolnego z podanych identyfikatorów etykiet. Identyfikatory możesz znaleźć, odpytując ustawienia kolumny.
not_any_of Tablica identyfikatorów etykiet (np. [1, 2]) Pomija elementy, których status pasuje do któregokolwiek z podanych identyfikatorów etykiet.
contains_terms Tekst etykiety (np. "Done") Zwraca elementy, których etykieta statusu zawiera podany tekst.
is_empty [] Zwraca elementy z pustą (nieustawioną) wartością statusu.
is_not_empty [] Zwraca elementy z ustawioną wartością statusu.

Domyślna pusta etykieta ma identyfikator 5. Możesz też filtrować puste statusy za pomocą any_of i wartości [5], ale dla większej przejrzystości zalecamy is_empty z wartością [].

Przykłady

Filtrowanie według identyfikatora etykiety

Ten przykład zwraca wszystkie elementy z etykietą statusu o identyfikatorze 1 (na domyślnych tablicach jest to zwykle „Done”).

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "status"
            compare_value: [1]
            operator: any_of
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on StatusValue {
            label
            index
          }
        }
      }
    }
  }
}

Filtrowanie według tekstu etykiety statusu

Ten przykład zwraca wszystkie elementy na wskazanej tablicy z etykietą „Done”.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "status"
            compare_value: "Done"
            operator: contains_terms
          }
        ]
      }
    ) {
      items {
        id
        name
        column_values {
          ... on StatusValue {
            label
          }
        }
      }
    }
  }
}

Filtrowanie według pustego statusu

Ten przykład zwraca wszystkie elementy na wskazanej tablicy z pustą wartością statusu.

query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {
        rules: [
          {
            column_id: "status"
            compare_value: []
            operator: is_empty
          }
        ]
      }
    ) {
      items {
        id
        name
      }
    }
  }
}

Mutacje

Tworzenie

Wymagany zakres: boards:write

Mutacja create_status_column tworzy nową kolumnę statusu z ustawieniami o określonych typach za pomocą API. Możesz wskazać, które pola mają zostać zwrócone w odpowiedzi na mutację.

mutation {
  create_status_column(
    board_id: 1234567890
    id: "project_status"
    title: "Project Status"
    defaults: {
      labels: [
        { color: done_green, label: "Done", index: 0, is_done: true }
        { color: working_orange, label: "Working on it", index: 1 }
        { color: stuck_red, label: "Stuck", index: 2 }
        { color: bright_blue, label: "Waiting for review", index: 3 }
      ]
    }
    description: "The project's current status."
  ) {
    id
    title
    description
    settings
  }
}

Argumenty

Argument Typ Opis
board_id ID! Unikalny identyfikator tablicy.
id String Własny identyfikator kolumny. Jeśli go nie podasz, zostanie wygenerowany automatycznie.
title String! Tytuł kolumny.
description String Opis kolumny.
after_column_id ID Identyfikator kolumny, za którą ma zostać wstawiona nowa kolumna.
defaults CreateStatusColumnSettingsInput Object Konfiguracja etykiet kolumny. Zobacz pola wejściowe etykiety poniżej.
capabilities StatusColumnCapabilitiesInput Object Ustawienia funkcji kolumny (np. funkcji obliczania i agregacji).

Na tablicach wielopoziomowych kolumny statusu są domyślnie tworzone z agregacją COUNT_KEYS. Aby wyłączyć agregację, przekaż capabilities: { calculated: { function: NONE } }.

Pola wejściowe etykiety (CreateStatusLabelInput)

Pole Typ Wymagane Opis
label String! Tak Tekst wyświetlany etykiety (maks. 30 znaków).
color StatusColumnColors! Tak Kolor etykiety. Zobacz dostępne kolory.
index Int! Tak Pozycja etykiety w kolejności wyświetlania (0–39).
description String Nie Opcjonalny opis etykiety.
is_done Boolean Nie Określa, czy etykieta oznacza stan „ukończono”. Domyślnie false.

Aktualizowanie ustawień kolumny

Wymagany zakres: boards:write

Mutacja update_status_column aktualizuje ustawienia istniejącej kolumny statusu, w tym jej tytuł, opis i konfigurację etykiet.

Argument revision jest wymagany. Bieżącą wersję możesz pobrać z pola settings kolumny lub przez zapytanie dotyczące kolumny. Zapobiega to nadpisywaniu równoczesnych zmian.

mutation {
  update_status_column(
    board_id: 1234567890
    id: "status"
    revision: "replace_with_current_revision"
    title: "Task Status"
    settings: {
      labels: [
        { id: 1, color: done_green, label: "Complete", index: 0, is_done: true }
        { id: 0, color: working_orange, label: "In Progress", index: 1 }
        { id: 2, color: stuck_red, label: "Blocked", index: 2 }
        { id: 7, color: bright_blue, label: "Draft", index: 3, is_deactivated: false }
      ]
    }
  ) {
    id
    title
    settings
  }
}

Argumenty

Argument Typ Wymagane Opis
board_id ID! Tak Unikalny identyfikator tablicy.
id String! Tak Unikalny identyfikator kolumny.
revision String! Tak Bieżąca wersja kolumny używana do wykrywania konfliktów.
title String Nie Nowy tytuł kolumny.
description String Nie Nowy opis kolumny.
width Int Nie Szerokość kolumny w pikselach.
settings UpdateStatusColumnSettingsInput Object Nie Zaktualizowana konfiguracja etykiet kolumny.
capabilities StatusColumnCapabilitiesInput Object Nie Zaktualizowane ustawienia funkcji kolumny.

Pola wejściowe aktualizowanej etykiety (UpdateStatusLabelInput)

Pole Typ Wymagane Opis
label String! Tak Tekst wyświetlany etykiety (maks. 30 znaków).
color StatusColumnColors! Tak Kolor etykiety.
index Int! Tak Pozycja etykiety w kolejności wyświetlania (0–39).
id Int Nie Unikalny identyfikator etykiety. Wymagany podczas aktualizowania istniejącej etykiety.
description String Nie Opcjonalny opis etykiety.
is_deactivated Boolean Nie Określa, czy etykieta jest nieaktywna (ukryta w interfejsie).
is_done Boolean Nie Określa, czy etykieta oznacza stan „ukończono”.

Aktualizowanie wartości

Mutacje dotyczące elementów nadrzędnych z obliczonymi wartościami agregacji na tablicach wielopoziomowych nie zwracają błędu - API zwraca odpowiedź o powodzeniu, ale wartość się nie zmienia. Zamiast tego aktualizuj elementy podrzędne.

Możesz aktualizować wartość kolumny statusu za pomocą change_simple_column_value lub change_multiple_column_values. W zależności od wybranej mutacji możesz przesłać wartości jako zwykłe ciągi znaków lub obiekty JSON.

Każda kolumna statusu może zawierać maksymalnie 40 etykiet.

Wartość kolumny możesz aktualizować za pomocą:

  • wartości indeksu - są stabilne i zalecane, zwłaszcza gdy pracujesz na wielu tablicach;
  • tekstu etykiety - jest czytelny, ale może powodować problemy, jeśli etykiety się zmienią.

Jeśli etykieta jest liczbą (np. „2023”), zawsze aktualizuj wartość za pomocą indeksu, a nie tekstu etykiety. API zinterpretuje ciąg znaków jako numer indeksu.

change_simple_column_value

Przekaż indeks lub wartość etykiety w argumencie value.

Aktualizowanie według indeksu

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "status"
    value: "1"
  ) {
    id
    name
  }
}

Aktualizowanie według tekstu etykiety

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "status"
    value: "Done"
    create_labels_if_missing: true
  ) {
    id
    name
  }
}

Ustaw create_labels_if_missing: true, aby automatycznie utworzyć etykietę, jeśli podany tekst nie pasuje do żadnej istniejącej etykiety. Jeśli pominiesz tę flagę, aktualizacja z użyciem nieistniejącej etykiety zwróci błąd.

change_multiple_column_values

Przekaż klucze index lub label jako obiekt JSON w polu column_values.

Aktualizowanie według indeksu (JSON)

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"status\": {\"index\": 1}}"
  ) {
    id
    name
  }
}

Aktualizowanie według etykiety (JSON)

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"status\": {\"label\": \"Done\"}}"
    create_labels_if_missing: true
  ) {
    id
    name
  }
}

Ustawianie statusu podczas tworzenia elementu

Możesz ustawić wartość statusu podczas tworzenia elementu, przekazując wartość kolumny statusu w argumencie column_values.

mutation {
  create_item(
    board_id: 1234567890
    item_name: "New task"
    column_values: "{\"status\": {\"label\": \"Working on it\"}}"
  ) {
    id
    name
  }
}

Czyszczenie

Możesz wyczyścić kolumnę statusu za pomocą change_simple_column_value lub change_multiple_column_values.

change_simple_column_value

Przekaż pusty ciąg znaków w polu value.

mutation {
  change_simple_column_value(
    item_id: 9876543210
    board_id: 1234567890
    column_id: "status"
    value: ""
  ) {
    id
    name
  }
}

change_multiple_column_values

Przekaż null lub pusty obiekt w polu column_values.

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"status\": null}"
  ) {
    id
    name
  }
}

Odczytywanie konfiguracji kolumny

Aby sprawdzić etykiety, kolory i strukturę kolumny statusu, odpytaj jej ustawienia za pomocą pola settings kolumny.

Pole settings_str jest przestarzałe od wersji API 2025-10. Zamiast niego użyj typowanego obiektu settings, który zwraca uporządkowany JSON, a nie ciąg znaków zakodowany w formacie JSON.

query {
  boards(ids: 1234567890) {
    columns(ids: ["status"]) {
      id
      title
      settings
    }
  }
}

Struktura odpowiedzi settings

Pole Typ Opis
labels StatusLabel[] Tablica obiektów etykiet reprezentujących dostępne wartości statusu.


StatusLabel

Pole Typ Wymagane Opis
id number Tak Unikalny identyfikator liczbowy etykiety. Tej wartości należy użyć podczas aktualizowania statusu za pomocą API (zobacz ostrzeżenie poniżej).
label string Tak Tekst wyświetlany etykiety statusu (np. "Working on it", "Done", "Stuck").
color StatusColumnColors Tak Wartość wyliczeniowa koloru. Zobacz dostępne kolory.
hex string Nie Zastępczy kod koloru Hex (np. "#fdab3d"). Jeśli jest podany, ma pierwszeństwo przed wartością color.
index number Tak Pozycja etykiety (kolejność wyświetlania) w kolumnie statusu.
description string Nie Opcjonalny opis etykiety.
is_deactivated boolean Nie Określa, czy etykieta jest nieaktywna (ukryta w interfejsie). Domyślnie false.
is_done boolean Nie Określa, czy etykieta oznacza stan „ukończono”. Domyślnie false.


Przykładowa odpowiedź

{
  "settings": {
    "type": "status",
    "labels": [
      {
        "id": 0,
        "label": "Working on it",
        "color": "working_orange",
        "index": 0,
        "is_done": false
      },
      {
        "id": 1,
        "label": "Done",
        "color": "done_green",
        "index": 1,
        "is_done": true
      },
      {
        "id": 2,
        "label": "Stuck",
        "color": "stuck_red",
        "index": 2,
        "is_done": false
      }
    ]
  }
}

id a index - ważna różnica

Ostrzeżenie

Pola id i index w obiekcie StatusLabel mają różne znaczenia:

  • index - pozycja wyświetlania etykiety (jej kolejność) w kolumnie. Może się zmienić, gdy zmienisz kolejność etykiet.
  • id - unikalny identyfikator etykiety. Jest stabilny i nie zmienia się po zmianie kolejności etykiet.

Podczas aktualizowania wartości statusu za pomocą change_multiple_column_values musisz przekazać id etykiety, nawet jeśli parametr API nazywa się "index".

Przykład

Załóżmy, że kolumna statusu zawiera następujące etykiety:

id index (pozycja) Etykieta
1 0 Done
0 1 Working on it
2 2 Stuck

Aby ustawić status elementu na „Done”, przekaż {"index": 1} (id etykiety, a nie jej pozycję wyświetlania):

mutation {
  change_multiple_column_values(
    item_id: 9876543210
    board_id: 1234567890
    column_values: "{\"status\": {\"index\": 1}}"
  ) {
    id
  }
}

Mapowanie indeksów i kolorów

Kolumny statusu używają indeksów do identyfikowania poszczególnych etykiet. Każdy indeks odpowiada etykiecie i kolorowi. Mapowanie można dostosować osobno dla każdej tablicy.

Poniżej znajdują się domyślne mapowania monday.com:

Indeks Domyślna etykieta Domyślny kolor Kod koloru
0 (Pusta/bez etykiety) Szary #c4c4c4
1 Done Zielony #00c875
2 Working on it Pomarańczowy #fdab3d
3 Stuck Czerwony #e2445c
4 (Własna) Niebieski #0086c0
5 (Pusta) Szary #c4c4c4

Zobacz pełną listę domyślnych wartości indeksów i kolorów.

Ważne informacje

Indeksy są stabilne, ale tekst etykiety i kolory można dostosować. Oznacza to, że mapowanie poszczególnych indeksów może się różnić między tablicami.

Na przykład:

  • Indeks 1 może początkowo oznaczać zieloną etykietę „Done”.
  • Administrator tablicy zmienia ją na niebieską etykietę „Completed”.
  • Indeks pozostaje równy 1, ale wyświetlana etykieta i kolor się zmieniają.

Nie zakładaj, że ten sam indeks oznacza tę samą etykietę lub kolor na każdej tablicy. Zawsze sprawdzaj konfigurację tablicy za pomocą następującego zapytania:

query {
  boards(ids: 1234567890) {
    columns(ids: ["status"]) {
      id
      title
      settings
    }
  }
}

Dostępne kolory

Wartość wyliczeniowa StatusColumnColors określa 40 dostępnych kolorów etykiet statusu. Możesz odwoływać się do nich według nazwy (w mutacjach) lub identyfikatora liczbowego.

Nazwa koloru Identyfikator liczbowy Kod Hex
working_orange 0

fdab3d

done_green 1

00c875

stuck_red 2

e2445c

dark_blue 3

0086c0

purple 4

9d50dd

explosive 5

ff642e

grass_green 6

037f4c

bright_blue 7

579bfc

saladish 8

cab641

egg_yolk 9

ffcb00

blackish 10

333333

dark_red 11

bb3354

sofia_pink 12

ff158a

lipstick 13

ff5ac4

dark_purple 14

784bd1

bright_green 15

9cd326

chili_blue 16

66ccff

american_gray 17

808080

brown 18

7f5347

dark_orange 19

d974b0

sunset 101

ff7575

bubble 102

faa1f1

peach 103

ffadad

berry 104

e8697d

winter 105

9aadbd

river 106

68a1bd

navy 107

225091

aquamarine 108

4eccc6

indigo 109

5559df

dark_indigo 110

401694

pecan 151

563e3e

lavender 152

a25ddc

royal 153

2b76e5

steel 154

a9bee8

orchid 155

dce3ea

lilac 156

bda8f0

tan 157

a0a0a0

sky 158

a1e3f6

coffee 159

bd816e

teal 160

2da283

Identyfikator liczbowy koloru jest też identyfikatorem etykiety podczas jej tworzenia. Na przykład etykieta z wartością color: done_green otrzyma identyfikator 1. Oznacza to, że w jednej kolumnie statusu można użyć każdego koloru tylko raz.


Pobieranie schematu typu kolumny

Możesz programowo pobrać schemat JSON ustawień kolumny statusu za pomocą zapytania get_column_type_schema. Zwraca ono strukturę, reguły walidacji i dostępne właściwości konfiguracji kolumny.

query {
  get_column_type_schema(
    type: status
  )
}
{
  "data": {
    "get_column_type_schema": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "description": "Column specific settings",
            "properties": {
              "type": {
                "type": "string",
                "description": "The type of managed column (status)"
              },
              "labels": {
                "type": "array",
                "maxItems": 40,
                "description": "Array of status labels",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The unique identifier for the label"
                    },
                    "label": {
                      "type": "string",
                      "maxLength": 30,
                      "description": "The display text for the label"
                    },
                    "color": {
                      "oneOf": [
                        {
                          "type": "string",
                          "enum": [
                            "working_orange",
                            "done_green",
                            "stuck_red",
                            "..."
                          ],
                          "description": "The color name from StatusColumnColors enum"
                        },
                        {
                          "type": "integer",
                          "description": "The color value from StatusColumnColors enum"
                        }
                      ]
                    },
                    "index": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 39,
                      "description": "The display order of the label"
                    },
                    "is_done": {
                      "type": "boolean",
                      "description": "Whether the label represents a done state"
                    }
                  },
                  "required": [
                    "label",
                    "color",
                    "index"
                  ]
                }
              }
            },
            "required": [
              "labels"
            ]
          }
        }
      }
    }
  }
}

Odpowiedź zawiera nazwy właściwości, typy, ograniczenia (takie jak maksymalna długość i dozwolone wartości) oraz opisy poszczególnych ustawień. Możesz użyć tych informacji do walidacji ustawień kolumny, dynamicznego generowania interfejsów lub dostarczenia kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.