Assets (files)

Learn how to read, add, and upload assets using the monday.com platform API

Files uploaded to monday.com are saved as assets, and each asset has a unique ID that identifies it within an account.

Queries

Get assets

  • Required scope:assets:read
  • Returns an array containing metadata about one or a collection of assets
  • Can be queried directly at the root using the ids argument or nested within an items or updates query
query {
  boards (ids:1234567890) {
    items_page (limit:100) {
      items {
        assets {
          id
          url
          name
        }
      }
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `query ($boardId: [ID!]) { boards (ids: $boardId) { items_page (limit: 100) { items { assets { id url name } } } } }`;
const variables = {
  boardId: 12345,
};
const response = await mondayApiClient.request(query, variables);

Arguments

ArgumentTypeDescription
ids[ID!]!The asset's unique identifiers.

Fields

FieldTypeDescription
created_atDateThe asset's creation date.
file_extensionString!The asset's extension.
file_sizeInt!The asset's size in bytes.
idID!The asset's unique identifier.
nameString!The asset's name.
original_geometryStringThe asset's original geometry.
public_urlString!The asset's public URL (valid for 1 hour). Accessing this link will allow users without a monday.com user profile to see the file directly while the link is valid.
uploaded_byUser! (pre 2027-04)
User (2027-04 or later)
The user who uploaded the asset. This field will not return anything if the asset is a duplicate of something generated by a system. In versions 2027-04 and later, it also returns null if the uploader can't be resolved.
urlString!The asset's URL. This will only be available to users who have access to the file through their account. If the asset is stored on a private or shareable board, it must also be part of that board.
url_thumbnailStringThe URL to view the asset in thumbnail mode. Only available for images.

Mutations

Using the API, you can upload JPEG, Word/Doc, PDF, XLSX, GIF, MP4, CSV, SVG, TXT, and AI files to monday.com. Files are saved as assets and always belong to a parent object (like an item or an update).

👍

Files endpoint

Using the following endpoint, you can upload files up to 500 MB in size via the API: https://api.monday.com/v2/file.

Making multipart requests

If you are making direct requests to the API, you have to use the multipart/form-data content type. Depending on the language or library, you may need to construct the body of the multipart HTTP request manually. For a JavaScript example, see File uploads in the JavaScript SDK docs.

Add file to update

Required scope:updates:write

Adds a file to the bottom of an update. Returns Asset.

mutation {
  add_file_to_update(
    update_id: 1234567890
    file: YOUR_FILE
  ) {
    id
  }
}

Arguments

ArgumentTypeDescription
fileFile!The file to upload.
update_idID!The unique identifier of the update where the file will be added. You can also use a reply ID to add the file to an update's reply.

Add file to column

Required scope:boards:write

Adds a file to the file column of a specific item. Returns Asset.

mutation {
  add_file_to_column(
    item_id: 1234567890 
    column_id: "files" 
    file: YOUR_FILE
  ) {
    id
  }
}

Arguments

ArgumentsTypeDescription
column_idString!The unique identifier of the column where the file will be added.
fileFile!The file to upload.
item_idID!The unique identifier of the item where the file will be added.