🏷️ API version: 2026-01

You can now retrieve the maximum number of units for each of your app’s subscriptions using the new max_units field on the app_subscriptions query.

query {
  app_subscriptions(
    app_id: 1234567890
	) {
    cursor
    total_count 
    subscriptions {
      account_id
      monthly_price
      currency
			max_units
    }
  }
}

🏷️ API version: 2026-01

You can now query aggregate to return board data using groupings and aggregation functions via the API.

query {
  aggregate(query: {
    from: { type: TABLE, id: 1234567890 },
    group_by: [{ column_id: "task_owner", limit: 10 }],
    limit: 2,
    query: {
      rules: [{
        operator: any_of,
        column_id: "status",
        compare_value: "done_labels"
      }]
    },
    select: [
      {
        type: FUNCTION,
        function: {
          function: SUM,
          params: [{ type: COLUMN, column: { column_id: "task_estimation" } }]
        },
        as: "sum"
      },
      {
        type: COLUMN,
        column: { column_id: "task_owner" },
        as: "task_owner"
      }
    ]
  }) {
    results {
      entries {
        alias
        value {
          ... on AggregateGroupByResult { value_string }
          ... on AggregateBasicAggregationResult { result }
        }
      }
    }
  }
}
🏷️ API version: 2025-10

You can now query export_markdown_from_doc to return a specific document’s content, or selected blocks, as Markdown via the API.

query {
  export_markdown_from_doc(
    docId: 12345, 
    blockIds: ["e4b1c79a-5f2d-4c83-b1a7-0f9e2d6c3a58", "3a7f2c18-91d4-4b6e-a3f2-7c9e12b4d5a6"]
  ){
    error
    markdown
    success
  }
}
🏷️ API version: 2025-10

We've added two new mutations to update status and dropdown columns. These mutations are strongly typed to better validate complex settings.

mutation {
  update_status_column(
    board_id: 1234567890,
    id: "project_status",
    title: "Updated Project Status",
    revision: "09606bfd3334eb88084f310fb4aef0cb",
    settings: {
      labels: [
        { color: peach, label: "On Hold", index: 1, is_deactivated: true},
        { color: river, label: "Done", index: 2},
        { color: grass_green, label: "Working On It", index: 3}
      ]
    },
    description: "The project's updated status."
  ) {
    description
    id
  }
}
mutation {
  update_dropdown_column(
    board_id: 1234567890,
    id: "project_category",
    title: "Updated Project Category",
    revision: "09606bfd3334eb88084f310fb4aef0cb",
    description: "The project's updated category."
  ) {
    description
    id
    title
  }
}
🏷️ API version: 2025-10

When creating a new board via the API, you can now set the item nickname configuration for items on a board using the item_nickname argument.

mutation {
  create_board(
    board_name: "my board",
    board_kind: public,
    item_nickname: { 
      preset_type: "item" 
    }
  ) { 
    id 
  }
}
🏷️ API version: 2025-10

We've added two new mutations to create status and dropdown columns. These mutations are strongly typed to better validate complex settings.

mutation {
  create_dropdown_column(
    board_id: 1234567890,
    id: "project_category",
    title: "Project Category",
    defaults: {
      label_limit_count: 1, 
      limit_select: true,
      labels: [
        {label: "HR"},
        {label: "R&D"},
        {label: "IT"}
      ]
    },
    description: "The project's category."
  ) {
    description
    id
    title
  }
}
mutation {
  create_status_column(
    board_id: 1234567890,
    id: "project_status",
    title: "Project Status",
    defaults: {
      labels: [
        { color: working_orange, label: "On Hold", index: 2},
        { color: done_green, label: "Done", index: 1},
        { color: sky, label: "Working On It", index: 3}
      ]
    },
    description: "The project's status."
  ) {
    description
    id
		title
  }
}
🏷️ API version: 2025-10

You can now return additional data about apps via the API using the following new fields:

  • account_id
  • collaborators
  • created_by
  • description
  • permissions
  • slug
  • status
  • webhook_url
query {
  app (id: 123456) {
    account_id
    collaborators {
      id
      name
    }
    created_by
    description
    permissions
    slug
    status
    webhook_url
  }
}
🏷️ API version: 2025-10

You can now use the delete_widget mutation to delete a widget on a dashboard or board view via the API.

mutation {
  delete_widget (id: 12345)
}
{
  "data": {
    "delete_widget": true
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

You can now update an existing column using the new update_column mutation.

mutation{
  update_column(
    board_id: 1234567890, 
    id: "status", 
    title: "Work Status", 
    revision: "a73d19e54f82c0b7d1e348f5ac92b6de", 
    description: "This is my updated work status column", 
    column_type:status
	) {
    id
    title
    description
  }
}
{
  "data": {
    "update_column": {
      "id": "status",
      "title": "Work Status",
      "description": "This is my work status column"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}