Objects

Learn how to create, read, update, and delete objects using the platform API

Objects are a core component of the platform API that represent a generic item within the monday.com platform. They can represent boards, dashboards, workflows, or other specialized objects.

Queries

Get objects

  • Returns an array containing metadata about a collection of objects
  • Can only be queried directly at the root; can't be nested within another query
query {
  objects(
    limit: 4, 
    state: ACTIVE, 
    order_by: CREATED_AT
  ) {
    id
    name
    owners {
      id
      name
    }
  }
}
{
  "data": {
    "objects": [
      {
        "id": "OBJECT_ID_1",
        "name": "Object 1",
        "owners": [
          {
            "id": "OWNER_ID_1",
            "name": "Owner 1"
          }
        ]
      },
      {
        "id": "OBJECT_ID_2",
        "name": "Object 2",
        "owners": [
          {
            "id": "OWNER_ID_2",
            "name": "Owner 2"
          }
        ]
      },
      {
        "id": "OBJECT_ID_3",
        "name": "Object 3",
        "owners": [
          {
            "id": "OWNER_ID_3",
            "name": "Owner 3"
          }
        ]
      },
      {
        "id": "OBJECT_ID_4",
        "name": "Object 4",
        "owners": [
          {
            "id": "OWNER_ID_4",
            "name": "Owner 4"
          }
        ]
      }
    ]
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
ids[ID!]The unique identifiers of the objects to filter by.
limitIntThe number of objects to get. The default is 25.
object_type_unique_keys[String!]The unique identifier of the object type to filter by. Query object_types_unique_keys to see available types.
order_byOrderByThe order in which to return objects.CREATED_AT
USED_AT
privacy_kindPrivacyKindThe object visibility settings to filter by.PRIVATE
PUBLIC
stateObjectStateThe object state to filter by.ACTIVE
ARCHIVED
DELETED
workspace_ids[ID!]The unique identifiers of the workspaces to filter by.

Fields

FieldTypeDescription
creatorStringThe object's creator.
descriptionStringThe object's description.
folder_idStringThe unique identifier of the folder that contains the object.
idStringThe object's unique identifier.
nameStringThe object's name.
owners[User!]The object's owners.
privacy_kindStringThe object's visibility settings.
stateStringThe object's state.
subscribers[User!]The object's subscribers.
updated_atStringThe object's last updated date.
workspace_idStringThe unique identifier of the workspace that contains the object.
relations[ObjectRelation!]Relations for this object (alias or dependency), filterable by kind (ALIAS, DEPENDENCY) and direction (OUTGOING, INCOMING). Only available in versions 2026-04 and later.

Mutations

Create object

Creates an object. Returns Object.

mutation {
  create_object(
    name: "New Marketing Campaign"
    privacy_kind: PUBLIC
    object_type_unique_key: "service::portal-object"
    description: "Our Q3 marketing campaign."
    folder_id: 9876543210
    owner_ids: [12345]
  ) {
    id
    name
    description
    owners {
      id
    }
  }
}
{
  "data": {
    "create_object": {
      "id": "1234567890",
      "name": "New Marketing Campaign",
      "description": "Our Q3 marketing campaign.",
      "owners": [
        {
          "id": "12345"
        }
      ]
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
descriptionStringThe new object's description.
folder_idIDThe unique identifier of the folder to create the object in.
nameString!The new object's name.
object_type_unique_keyString!The object type's unique identifier. Query object_types_unique_keys to see available types.
owner_ids[ID!]The unique identifiers of the new object's owners.
owner_team_ids[ID!]The unique identifiers of the new object's team owners.
payloadJSONThe new object's JSON payload.
privacy_kindPrivacyKind!The new object's visibility settings.PRIVATE
PUBLIC
subscriber_ids[ID!]The unique identifiers of the new object's subscribers.
subscriber_team_ids[ID!]The unique identifiers of the new object's team subscribers.
workspace_idIDThe unique identifier of the workspace to create the object in.
relations[ObjectRelationInput!]Optional relations to create with the object. Each relation requires kind (ALIAS or DEPENDENCY), target_id, and optionally target_object_type (defaults to BOARD). Only available in versions 2026-04 and later.

Update object

Updates an object. Returns Object.

mutation {
  update_object(
    id: "12345678",
    input: {
      description: "Our Q4 marketing campaign.",
      name: "New Marketing Campaign"
      privacy_kind: PRIVATE
    }
  ) {
    name
    description
    privacy_kind
  }
}
{
  "data": {
    "update_object": {
      "name": "New Marketing Campaign",
      "description": "Our Q4 marketing campaign.",
      "privacy_kind": "private"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionSupported Fields
idString!The unique identifier of the object to update.
inputUpdateObjectInput!The updated object's characteristics.description String
name String
privacy_kind PrivacyKind

Add subscribers to object

Adds subscribers or owners to an existing object. Returns Object.

mutation {
  add_subscribers_to_object(
    id: 12345, 
    user_ids: [1234567890, 9876543210], 
    kind: SUBSCRIBER
	) {
    subscribers {
      id
      name
    }
  }
}
{
  "data": {
    "add_subscribers_to_object": {
      "subscribers": [
        {
          "id": "1234567890",
          "name": "Owner 1"
        },
        {
          "id": "9876543210",
          "name": "Owner 2"
        },
				{
          "id": "123459876",
          "name": "Owner 3"
        }
      ]
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
idID!The unique identifier of the object to add subscribers to.
kindSubscriberKindThe role to assign the subscribers. The default is SUBCRIBER.OWNER (full control permissions)
SUBSCRIBER (notification access only)

Archive object

Archives an object. Returns Object.

mutation {
  archive_object(id: 12345) {
    state
    name
  }
}
{
  "data": {
    "archive_object": {
      "state": "archived",
      "name": "Object 3"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
idID!The unique identifier of the object to archive.

Delete object

Permanently deletes any object. Returns Object.

When an object is deleted, there is a 30-day grace period to reverse the action. After those initial 30 days, the object will be permanently deleted and can't be retrieved.

mutation {
  delete_object(id: 12345) {
    state
    name
  }
}
{
  "data": {
    "delete_object": {
      "state": "deleted",
      "name": "Object 4"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
idID!The unique identifier of the object to delete.