🏷️ API version: 2026-07 & 2026-10

The GraphQL User type and Query.users are updated across two API versions:

  • 2026-07: New fields, types, enums, Query.users arguments, the user_configs query, and stricter pagination on users.
  • 2026-10: Legacy fields on User are planned for removal. Treat removal timing as subject to the published API schema for your version; migrate off legacy fields as soon as you target 2026-07 or later.

If you only use User.id, User.email, User.name, and User.kind, you do not need changes for those fields. If you use photo URL fields, kind/status booleans, is_verified, join_date, or the old users(kind: …, newest_first: …, non_active: …) arguments, review the sections below.

For step-by-step migration examples, follow the User and users sections in the monday.com API reference for the API version you target.


Changes in 2026-07

New User fields

FieldTypeDescription
account_idID!Account the user belongs to.
statusUserStatus!Activation status: ACTIVE, INACTIVE, or PENDING.
invitation_methodInvitationMethod!How the user was added to the account.
serial_numberIntSequence number for the user within the account.
is_deletedBoolean!Whether the user has been soft-deleted.
photo_urlPhotoUrlNested object with photo URLs per size. Replaces flat photo_* fields.
became_active_atISO8601DateTimeWhen the user became active. Replaces join_date.
bb_visitor_idID!Opaque platform identifier for the user (stable within the account).
is_email_confirmedBoolean!Whether the user confirmed their email. Replaces is_verified.
user_configUserConfig!Per-kind configuration (role id, visibility). Requires users:read.

Existing fields (type updates in 2026-07)

These fields are also served in the updated shape from 2026-07:

  • User.created_at: DateISO8601DateTime!
  • User.birthday: DateString (breaking type change)
  • User.utc_hours_diff: IntFloat (breaking type change)

email, name, kind, and created_at remain; only the types above change where noted.

New types

  • PhotoUrloriginal, small, thumb, thumb_small, tiny (each String).
  • UserConfigkind: String!, role_id: ID!, visibility: [String!]!.

New enums

  • UserStatus: ACTIVE, INACTIVE, PENDING.
  • InvitationMethod: USER, SCIM, SSO, AUTH_DOMAIN, FIRST_USER, CONSOLIDATION, INTERNAL_CREATION, UNKNOWN, SERVICE_PORTAL_AUTH_DOMAIN, SERVICE_PORTAL_USER_INVITATION, API_USER_CREATION.
  • UserKindFilter: Individual kinds (ADMIN, MEMBER, GUEST, VIEW_ONLY, AGENT_MEMBER, PORTAL), kind groups (BASIC = admin + member + guest + view_only), and API-user kinds (PORTFOLIO_API_USER, NEXUS_API_USER, RESOURCE_DIRECTORY_API_USER, OMNICHANNEL_API_USER, GOALS_API_USER, PROJECTS_API_USER, SPRINT_MANAGEMENT_API_USER, CRM_COMMERCE_API_USER, CAMPAIGNS_API_USER, DATA_RETENTION_API_USER, MONDAY_SERVICE_API_USER, AI_PLATFORM_AGENT_API_USER, DEPENDENCIES_API_USER, HISTORICAL_TRACKING_BACKFILL_API_USER).
  • UsersSortField: CREATED_AT.
  • UsersSortDirection: ASC, DESC.

New input types

  • UserKindFilterInput: in: [UserKindFilter!], not_in: [UserKindFilter!].
  • UsersSortInput: field: UsersSortField!, direction: UsersSortDirection!.

New Query.users arguments

ArgumentTypeReplacesNotes
user_kindUserKindFilterInputkindFilter by kinds and/or kind groups.
sort[UsersSortInput!]newest_firstMulti-field sort.
status[UserStatus!]non_activeDefaults to [ACTIVE, PENDING].
visibilityString(new)Allowed values follow API documentation; omit until your integration is aligned with documented values.

Deprecated Query.users arguments (2026-07)

kind, newest_first, and non_active are deprecated on Query.users starting in 2026-07 and marked with @deprecated in the schema. They still work at runtime in 2026-07 and 2026-10, but clients that introspect with includeDeprecated: true will see the deprecation reasons below:

ArgumentDeprecation reason
kindUse user_kind instead.
newest_firstUse sort instead.
non_activeUse status instead.

Update integrations and codegen to the new arguments above. A removal version has not been announced; monitor the release notes for the version your integration targets.

New query

user_configs(kinds: [String], visibility: String): [UserConfig!]!

Returns user configs for the account, sorted by role_id ascending. Requires users:read and appropriate authorization.

Pagination on Query.users (breaking)

SituationBefore 2026-072026-07 and later
No limitAll matching users returned200 users returned
Maximum limitUnbounded1000 (higher values error)

Integrations that omitted limit may see fewer results. Use limit with page (and sort as needed) to paginate explicitly.

Query.users(emails: …) nullability

Argument type changes from [String] to [String!] in 2026-07. Do not pass null entries in the emails array.


Planned in 2026-10

The following User fields are planned for removal in 2026-10 (verify with introspection or release notes for the version you call):

  • Photo: photo_original, photo_thumb, photo_thumb_small, photo_tiny, photo_small
  • Kind flags: is_guest, is_admin, is_view_only
  • Status flags: is_pending, enabled
  • Other: is_verified, join_date, encrypt_api_token, sign_up_product_kind

In some preview builds these fields may still appear in introspection or return data until removal is fully rolled out. Do not rely on them for new work; use the replacements below.


Deprecated fields → replacements

Deprecated on UserReplacement
photo_originalphoto_url.original
photo_smallphoto_url.small
photo_thumbphoto_url.thumb
photo_thumb_smallphoto_url.thumb_small
photo_tinyphoto_url.tiny
is_guestkind == "guest"
is_adminkind == "admin"
is_view_onlykind == "view_only"
is_pendingstatus == PENDING
enabledstatus == ACTIVE (or != INACTIVE as appropriate)
is_verifiedis_email_confirmed
join_datebecame_active_at
encrypt_api_tokenRemoved — no replacement.
sign_up_product_kindRemoved — no replacement.
Deprecated on Query.usersReplacement
kind: UserKinduser_kind: UserKindFilterInput
newest_first: Booleansort: [UsersSortInput!]
non_active: Booleanstatus: [UserStatus!]

Further reading

  • monday.com API documentation — versioning, authentication, and reference for User, Query.users, and related types.
  • API release notes and changelog on the developer site for the exact behavior of each API-Version you call.
🏷️ API version: 2026-07

You can now query a user's activity log events directly from the users query. The new activity_logs field returns a paginated list of events with cursor-based pagination, filterable by board and event type.

Query

  • users { activity_logs } — retrieve a user's activity log events as a UserActivityLogsPage with cursor pagination
query {
  users(ids: [1234567890]) {
    id
    activity_logs(
      from: "2026-03-01T00:00:00Z"
      to: "2026-04-09T23:59:59Z"
      limit: 50
    ) {
      cursor
      logs {
        id
        event
        entity
        data
        user_id
        created_at
      }
    }
  }
}

🏷️ API version: 2026-04

You can now create, query, and delete relations between objects via the API. Relations can represent aliases or dependencies between boards and dashboards.

Query

  • object_relations — retrieve relations for an object, filterable by kind (ALIAS or DEPENDENCY) and direction (OUTGOING or INCOMING)
query {
  object_relations(
    object_id: "123456"
    kind: DEPENDENCY
    direction: OUTGOING
  ) {
    id
    source_object_id
    target_id
    target_object_type
    kind
  }
}

Mutations

mutation {
  create_object_relations(
    source_object_id: "123456"
    relations: [
      { kind: DEPENDENCY, target_id: "789012", target_object_type: BOARD }
    ]
  ) {
    id
    kind
    target_id
  }
}

Additionally, the create_object mutation now accepts an optional relations argument to create relations at the same time as the object.


🏷️ API version: 2026-04

You can now retrieve notetaker meeting data via the API using the new notetaker.meetings query. This returns paginated meetings with completed recordings that the current user can view, including summaries, topics, action items, transcripts, and participants.

query {
  notetaker {
    meetings(limit: 10, filters: { access: ALL }) {
      data {
        title
        start_time
        end_time
        recording_duration
        summary
        topics {
          title
          talking_points {
            content
            start_time
          }
        }
        action_items {
          content
          is_completed
          owner
          due_date
        }
        transcript {
          text
          speaker
          start_time
          end_time
          language
        }
        participants {
          email
        }
      }
      page_info {
        has_next_page
        cursor
      }
    }
  }
}

You can filter meetings by IDs, search text, or access level (OWN, SHARED_WITH_ME, SHARED_WITH_ACCOUNT, or ALL).


🏷️ API version: 2026-04

You can now search your account's knowledge base via the API using the knowledge_base_search query. It performs an AI-powered search across knowledge base snippets and returns an LLM-generated answer along with the raw source snippets.

query {
  knowledge_base_search(query: "What is our refund policy?", limit: 5) {
    answer
    raw_snippets {
      id
      title
      text
      url
      distance
    }
  }
}

🏷️ API version: 2026-04

You can now query available email sequences and enroll board items into them via the API.

Query

query {
  allowed_sequences_to_enroll(board_id: "123456") {
    id
    title
    status
    step_count
    duration
  }
}

Mutation

mutation {
  enroll_items_to_sequence(
    input: {
      sequence_id: "789"
      board_id: "123456"
      item_ids: ["111", "222", "333"]
    }
  ) {
    succeeded_item_ids
    failed_item_ids
  }
}

🏷️ API version: 2026-04

You can now retrieve a document's version history and compare changes between versions using two new queries: doc_version_history and doc_version_diff.

doc_version_history

Returns restoring points (snapshots) for a document, grouped in 5-minute intervals. You can optionally filter by date range using ISO 8601 timestamps.

query {
  doc_version_history(
    doc_id: "123456"
    since: "2026-03-01T00:00:00Z"
    until: "2026-03-31T23:59:59Z"
  ) {
    doc_id
    restoring_points {
      date
      user_ids
      type
    }
  }
}

doc_version_diff

Returns the blocks that were added, deleted, or changed between two restoring points.

query {
  doc_version_diff(
    doc_id: "123456"
    date: "2026-03-15T10:30:00Z"
    prev_date: "2026-03-15T10:00:00Z"
  ) {
    doc_id
    blocks {
      id
      type
      content
      summary
      changes {
        added
        deleted
        changed
      }
    }
  }
}

🏷️ API version: 2026-04

The BlockEvent type now includes fields to support automation loops (iterators). These fields let you identify whether a block event is part of a loop and track its progress.

FieldTypeDescription
iterator_idIDThe iterator identifier if the block is part of a loop
current_iterationIntThe current iteration number within the loop
max_iterationsIntThe total configured iterations for the loop

🏷️ API version: 2026-04

You can now query the monday.com developer documentation using AI via the ask_developer_docs query. It returns an AI-generated answer based on the apps documentation, along with a conversation_id you can use for follow-up queries.

query {
  ask_developer_docs(query: "How do I authenticate with the monday API?") {
    id
    question
    answer
    conversation_id
  }
}