Pliki (zasoby)
Kolumna plików przechowuje pliki, linki i dokumenty dołączone do elementu. Możesz przesyłać obrazy, pliki PDF, arkusze kalkulacyjne i pliki innych typów, a także dodawać linki do zewnętrznych usług przechowywania danych w chmurze, takich jak Google Drive, Dropbox, OneDrive i Box.
Za pomocą API możesz odczytywać, aktualizować i czyścić wartości kolumny plików. Pliki dodaje się za pomocą dedykowanej mutacji przesyłania plików (add_file_to_column), która korzysta z punktu końcowego /v2/file, a nie ze standardowego punktu końcowego /v2.
| Typ kolumny | Typ implementacji | Obsługiwane operacje |
|---|---|---|
file |
FileValue |
|
Zapytania
Kolumny plików można odpytywać za pomocą pola column_values w zapytaniach items, używając wbudowanego fragmentu dla FileValue.
Pole files zwraca listę obiektów FileValueItem. Każdy z nich należy do jednego z czterech typów, zależnie od rodzaju dołączonego pliku:
FileAssetValue- przesłany plik, np. obraz, plik PDF lub dokumentFileDocValue- dokument monday dołączony do kolumnyFileLinkValue- link do pliku zewnętrznego (Google Drive, Dropbox, OneDrive, Box lub inny link)FileAssetInvalidValue- plik z nieprawidłowym lub brakującym zasobem
Użyj wbudowanych fragmentów dla poszczególnych typów, aby uzyskać dostęp do ich konkretnych pól.
query {
items(ids: [1234567890, 9876543210]) {
name
column_values {
... on FileValue {
id
text
value
files {
... on FileAssetValue {
asset_id
name
is_image
created_at
creator_id
asset {
id
public_url
url
file_extension
file_size
}
}
... on FileDocValue {
file_id
url
created_at
creator_id
}
... on FileLinkValue {
file_id
name
url
kind
created_at
creator_id
}
... on FileAssetInvalidValue {
asset_id
name
error
created_at
creator_id
}
}
}
}
}
}
const query = `
query ($itemIds: [ID!]) {
items(ids: $itemIds) {
name
column_values {
... on FileValue {
id
text
files {
... on FileAssetValue {
asset_id
name
is_image
created_at
asset {
public_url
file_extension
file_size
}
}
... on FileLinkValue {
file_id
name
url
kind
}
... on FileDocValue {
file_id
url
}
}
}
}
}
}
`;
const variables = { itemIds: [1234567890, 9876543210] };
const response = await mondayApiClient.request(query, variables);
W zapytaniu FileAssetValue możesz rozwinąć pole asset, aby uzyskać dostęp do pełnego obiektu Asset, który zawiera pola public_url (ważny przez 1 godzinę), file_extension, file_size i url_thumbnail (tylko obrazy).
Pola
Możesz użyć poniższych pól, aby określić, jakie informacje zwróci implementacja FileValue.
| Pole | Opis | Możliwe typy |
|---|---|---|
column Column! |
Kolumna, do której należy wartość. | |
files [FileValueItem!]! |
Pliki, linki i dokumenty dołączone do kolumny. | FileAssetValueFileDocValueFileLinkValueFileAssetInvalidValue |
id ID! |
Unikalny identyfikator kolumny plików. | |
text String |
Wartość kolumny w postaci tekstu. Zwraca "", jeśli kolumna nie ma wartości. |
|
type ColumnType! |
Typ kolumny. | |
value JSON |
Surowa wartość kolumny w formacie JSON. Zwraca null, jeśli kolumna jest pusta. |
Pola FileAssetValue
| Pole | Typ | Opis |
|---|---|---|
| asset | Asset! |
Pełny obiekt zasobu. Zawiera między innymi pola public_url, file_extension, file_size i url_thumbnail. |
| asset_id | ID! |
Unikalny identyfikator zasobu. |
| created_at | Date! |
Data utworzenia pliku. |
| creator | User |
Użytkownik, który przesłał plik. |
| creator_id | ID |
Identyfikator użytkownika, który przesłał plik. |
| is_image | Boolean! |
Informacja, czy plik jest obrazem. |
| name | String! |
Nazwa pliku. |
Pola FileDocValue
| Pole | Typ | Opis |
|---|---|---|
| created_at | Date! |
Data utworzenia dokumentu. |
| creator | User |
Użytkownik, który utworzył dokument. |
| creator_id | ID |
Identyfikator użytkownika, który utworzył dokument. |
| doc | Document! |
Powiązany obiekt dokumentu monday. |
| file_id | ID! |
Unikalny identyfikator pliku dokumentu. |
| object_id | ID! |
Unikalny identyfikator powiązanej tablicy lub obiektu. |
| url | String |
Adres URL dokumentu. |
Pola FileLinkValue
| Pole | Typ | Opis |
|---|---|---|
| created_at | Date! |
Data utworzenia linku. |
| creator | User |
Użytkownik, który dodał link. |
| creator_id | ID |
Identyfikator użytkownika, który dodał link. |
| file_id | ID! |
Unikalny identyfikator linku. |
| kind | FileLinkValueKind! |
Typ linku: box, dropbox, google_drive, link lub onedrive. |
| name | String! |
Nazwa wyświetlana linku. |
| url | String |
Adres URL linku. |
Pola FileAssetInvalidValue
| Pole | Typ | Opis |
|---|---|---|
| asset_id | ID! |
Unikalny identyfikator zasobu. |
| created_at | Date! |
Data utworzenia pliku. |
| creator | User |
Użytkownik, który przesłał plik. |
| creator_id | ID |
Identyfikator użytkownika, który przesłał plik. |
| error | String! |
Komunikat o błędzie wyjaśniający, dlaczego zasób jest nieprawidłowy. |
| name | String |
Nazwa pliku (może mieć wartość null, jeśli brakuje zasobu). |
Przykładowa odpowiedź
{
"data": {
"items": [
{
"name": "Project brief",
"column_values": [
{
"id": "files",
"text": "screenshot.png",
"value": "{\"files\":[{\"assetId\":123456,\"isImage\":\"true\",\"name\":\"screenshot.png\",\"fileType\":\"ASSET\",\"createdAt\":\"1711036800000\",\"createdBy\":\"9876543\"}]}",
"files": [
{
"asset_id": "123456",
"name": "screenshot.png",
"is_image": true,
"created_at": "2026-03-21T12:00:00+00:00",
"creator_id": "9876543",
"asset": {
"id": "123456",
"public_url": "https://files.monday.com/...",
"url": "https://files.monday.com/...",
"file_extension": "png",
"file_size": 204800
}
}
]
}
]
}
]
}
}
Mutacje
Aktualizacja
Wymagany zakres: boards:write
Mutacja add_file_to_column dodaje plik do kolumny plików. Korzysta z punktu końcowego do przesyłania plików (https://api.monday.com/v2/file), a nie ze standardowego punktu końcowego API.
Mutacja add_file_to_column wymaga żądania w formacie multipart form. Nie można wysłać jej jako standardowego żądania JSON do punktu końcowego /v2. Pełną implementację znajdziesz w poniższym przykładzie w języku JavaScript.
mutation ($file: File!) {
add_file_to_column(
item_id: 1234567890
column_id: "files"
file: $file
) {
id
}
}
import axios from "axios";
import fs from "fs";
import FormData from "form-data";
const data = new FormData();
data.append(
"query",
'mutation ($file: File!) { add_file_to_column(item_id: 1234567890, column_id: "files", file: $file) { id } }'
);
data.append("map", '{"image":"variables.file"}');
data.append("image", fs.createReadStream("/local/path/to/file.png"));
const config = {
method: "post",
url: "https://api.monday.com/v2/file",
headers: {
Authorization: "YOUR_API_TOKEN",
...data.getHeaders(),
},
data: data,
};
const response = await axios.request(config);
Argumenty
| Argument | Typ | Opis |
|---|---|---|
| item_id | ID! |
Element, do którego dodajesz plik. |
| column_id | String! |
Kolumna, do której dodajesz plik. |
| file | File! |
Plik do przesłania. Przekazywany jako dane formularza multipart. |
Zwracane pola
Mutacja zwraca obiekt Asset. Możesz zażądać następujących pól:
| Pole | Typ | Opis |
|---|---|---|
| id | ID! |
Unikalny identyfikator pliku. |
| name | String! |
Nazwa pliku. |
| url | String! |
Adres URL, pod którym można wyświetlić zasób. |
| public_url | String! |
Publiczny adres URL zasobu (ważny przez 1 godzinę). |
| file_extension | String! |
Rozszerzenie pliku, np. png lub pdf. |
| file_size | Int! |
Rozmiar pliku w bajtach. |
| uploaded_by | User! |
Użytkownik, który przesłał plik. |
| url_thumbnail | String |
Adres URL miniatury (tylko obrazy). |
Każdy przesłany plik jest dodawany do kolumny. Mutacja add_file_to_column nie zastępuje istniejących plików - dodaje kolejny plik. Aby zastąpić wszystkie pliki, najpierw wyczyść kolumnę, a potem prześlij nowy plik.
Czyszczenie
Możesz usunąć wszystkie pliki z kolumny plików za pomocą mutacji change_column_value lub change_multiple_column_values, przekazując {"clear_all": true}.
change_column_value
mutation {
change_column_value(
board_id: 1234567890
item_id: 9876543210
column_id: "files"
value: "{\"clear_all\": true}"
) {
id
}
}
change_multiple_column_values
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"files\": {\"clear_all\": true}}"
) {
id
}
}
Wyczyść kolumnę plików, aby usunąć z niej wszystkie pliki, linki i dokumenty. Tej operacji nie można cofnąć za pomocą API.
Nie możesz ustawiać wartości kolumny plików za pomocą change_simple_column_value ani change_multiple_column_values. Pliki można dodawać wyłącznie za pomocą mutacji add_file_to_column. Mutacje zmieniające wartość kolumny w formacie JSON obsługują w przypadku kolumn plików tylko operację clear_all.
Odczytywanie konfiguracji kolumny
Aby sprawdzić konfigurację kolumny plików, odczytaj 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 obiekt JSON, a nie ciąg znaków zakodowany w formacie JSON.
query {
boards(ids: 1234567890) {
columns(ids: ["files"]) {
id
title
type
settings
}
}
}
Struktura odpowiedzi settings
Kolumna plików ma minimalną konfigurację. Pole settings zwraca typowany obiekt JSON o następującej strukturze:
| Klucz | Typ | Opis |
|---|---|---|
hide_footer |
boolean |
Określa, czy ukryć stopkę w komórce kolumny. Domyślnie ma wartość false (nie występuje przy ustawieniach domyślnych). |
Przykładowa odpowiedź settings
Przy ustawieniach domyślnych:
{}
Przy ustawieniach niestandardowych:
{
"hide_footer": true
}
Pobieranie schematu typu kolumny
Możesz programowo pobrać schemat JSON ustawień kolumny plików za pomocą zapytania get_column_type_schema. Zapytanie zwraca strukturę, reguły walidacji i dostępne właściwości konfiguracji kolumny.
query {
get_column_type_schema(
type: file
)
}
{
"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": {
"hide_footer": {
"type": "boolean",
"description": "Whether to hide the footer"
}
},
"additionalProperties": false
}
}
}
}
}
}
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 użytkownika lub przekazywania kontekstu agentom AI. Dowiedz się więcej o formacie odpowiedzi schematu.