Learn how to read and update the deprecated person column using the platform API
The person column has been deprecated and replaced by the people column. The people column supports assigning multiple users and teams. New boards use the people column by default.
If you are building a new integration, use the people column instead.
The person column stores a reference to a single monday.com user assigned to an item. It uses the item_assignees column type internally and returns values as PersonValue in the GraphQL schema.
Via the API, the person column supports read, filter, update, and clear operations. New person columns cannot be created via the API.
| Column Type | Implementation Type | Supported Operations |
|---|---|---|
item_assignees | PersonValue |
|
Queries
Person columns can be queried through the column_values object using an inline fragment on PersonValue.
query {
items(ids: [1234567890, 9876543210]) {
name
column_values {
... on PersonValue {
id
person_id
text
value
updated_at
}
}
}
}const query = `
query ($itemIds: [ID!]) {
items(ids: $itemIds) {
name
column_values {
... on PersonValue {
id
person_id
text
value
updated_at
}
}
}
}
`;
const variables = { itemIds: [1234567890, 9876543210] };
const response = await mondayApiClient.request(query, variables);Fields
You can use the following fields to specify what information your PersonValue implementation will return.
| Field | Description |
|---|---|
column Column! | The column the value belongs to. |
id ID! | The column's unique identifier. |
person_id ID | The ID of the assigned person. Returns null if no person is assigned. |
text String | The assigned person's name as text. Returns null if no person is assigned. |
type ColumnType! | The column's type (item_assignees). |
updated_at Date | The date when the column value was last updated. |
value JSON | The column's raw value as a JSON string. See value structure below. |
Value structure
The value field returns a JSON string with this structure:
{
"changed_at": "2026-03-20T12:00:00.000Z",
"personsAndTeams": [
{
"id": 1234567,
"kind": "person"
}
]
}| Key | Type | Description |
|---|---|---|
changed_at | string | ISO 8601 timestamp of when the value was last changed. |
personsAndTeams | array | Array containing a single object with the assigned person's id (number) and kind (always "person"). |
Example response
{
"data": {
"items": [
{
"name": "Task A",
"column_values": [
{
"id": "person",
"person_id": "1234567",
"text": "Jane Smith",
"value": "{\"changed_at\":\"2026-03-20T12:00:00.000Z\",\"personsAndTeams\":[{\"id\":1234567,\"kind\":\"person\"}]}",
"updated_at": "2026-03-20T12:00:00Z"
}
]
}
]
}
}Filter
You can filter items by the person column using the items_page object. Filters match against user IDs.
| Operator | Compare Value | Description |
|---|---|---|
any_of | An array of user IDs (e.g., [1234567]) | Returns items assigned to any of the specified users. |
not_any_of | An array of user IDs (e.g., [1234567]) | Excludes items assigned to any of the specified users. |
is_empty | [] | Returns items with no person assigned. |
is_not_empty | [] | Returns items that have a person assigned. |
Examples
Filter by assigned user
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "person"
compare_value: [1234567]
operator: any_of
}
]
}
) {
items {
id
name
column_values {
... on PersonValue {
person_id
text
}
}
}
}
}
}Filter by unassigned items
query {
boards(ids: 1234567890) {
items_page(
query_params: {
rules: [
{
column_id: "person"
compare_value: []
operator: is_empty
}
]
}
) {
items {
id
name
}
}
}
}Mutations
Update value
You can update a person column using change_simple_column_value or change_multiple_column_values.
change_simple_column_value
change_simple_column_valuePass the user ID as a string.
mutation {
change_simple_column_value(
item_id: 9876543210
board_id: 1234567890
column_id: "person"
value: "1234567"
) {
id
name
}
}change_multiple_column_values
change_multiple_column_valuesPass a JSON object with the person's id.
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"person\": {\"personsAndTeams\": [{\"id\": 1234567, \"kind\": \"person\"}]}}"
) {
id
name
}
}const query = `
mutation ($boardId: ID!, $itemId: ID!, $columnValues: JSON!) {
change_multiple_column_values(
board_id: $boardId
item_id: $itemId
column_values: $columnValues
) {
id
name
}
}
`;
const variables = {
boardId: 1234567890,
itemId: 9876543210,
columnValues: JSON.stringify({
person: {
personsAndTeams: [{ id: 1234567, kind: "person" }]
}
})
};
const response = await mondayApiClient.request(query, variables);Set person on item creation
You can assign a person when creating an item by passing the person column value in the column_values argument.
mutation {
create_item(
board_id: 1234567890
item_name: "New task"
column_values: "{\"person\": {\"personsAndTeams\": [{\"id\": 1234567, \"kind\": \"person\"}]}}"
) {
id
name
}
}Clear
You can clear a person column using change_simple_column_value or change_multiple_column_values.
change_simple_column_value
change_simple_column_valuePass an empty string.
mutation {
change_simple_column_value(
item_id: 9876543210
board_id: 1234567890
column_id: "person"
value: ""
) {
id
name
}
}change_multiple_column_values
change_multiple_column_valuesPass null or an empty object.
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"person\": null}"
) {
id
name
}
}Reading column configuration
The person column has no configurable settings. The settings field returns an empty JSON object.
The
settings_strfield is deprecated as of API version 2025-10. Use the typedsettingsobject instead, which returns structured JSON rather than a JSON-encoded string.
query {
boards(ids: 1234567890) {
columns(ids: ["person"]) {
id
title
settings
}
}
}Example settings response
settings response{}Get column type schema
You can retrieve the JSON schema for the person column's settings programmatically using the get_column_type_schema query.
query {
get_column_type_schema(
type: item_assignees
)
}{
"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": {},
"additionalProperties": false
}
}
}
}
}
}The person column has no configurable settings, so the schema contains an empty properties object.
