🏷️ API version: 2025-10

You can now change the account product a workspace is in using the new account_product_id field on the update_workspace mutation.

mutation {
  update_workspace (id: 1234567, attributes: { account_product_id: 98765, name:"Marketing team", description: "This workspace is for the marketing team." }) {
    id
  }
}
🏷️ API version: 2025-10

You can now change an item's position on the same board using the new change_item_position mutation. The following example moves 1234567890 after item 9876543210.

mutation { 
 change_item_position (
  item_id: 1234567890,
  relative_to: 9876543210,
  position_relative_method: after_at
 ) {
  id
  group {
   id
  }
 }
}
🏷️ API version: 2025-10

You can now delete an existing document using the new delete_doc mutation.

mutation {
  delete_doc (docId: 12345)
}

The response is a JSON object that confirms whether the deletion was successful and returns the deleted document's unique identifier.

{
  "data": {
    "delete_doc": {
      "success": true,
      "id": "12345"
    }
  },
  "extensions": {
    "request_id": "f783140d-4b65-9637-9967-52b7a16cba04"
  }
}
🏷️ API version: 2025-10

You can now duplicate an existing document using the new duplicate_doc mutation.

mutation {
  duplicate_doc (docId: 12345, duplicateType: duplicate_doc_with_content_and_updates)
}

The response is a JSON object that contains the new document's unique identifier.

{  
  "data": {  
    "duplicate_doc": {  
      "success": true,  
      "id": "1234567890"  
    }  
  },  
  "extensions": {  
    "request_id": "f83e4038-c3g6-02ed-c382-74fe5g2d24b1"  
  }
}
🏷️ API version: 2025-10

You can now update an existing document's name using the new update_doc_name mutation.

mutation {
  update_doc_name(docId: 12345, name: "The new document name.")
}

The response is a JSON object that contains the updated name.

{
  "data": {
    "update_doc_name": {
      "success": true,
      "name": "The new document name."
    }
  },
  "extensions": {
    "request_id": "cf824c4f-3bb2-842d-c5b7-e471842121b7"
  }
}
🏷️ API version: 2025-07

Enterprise account admins can now query the account's audit logs through the new audit_logs object. The paginated results can be filtered by user, start/end date, event types, and IP address.

query {
  audit_logs(user_id: 1234567890, events: ["login", "logout"], limit: 100) {
    logs {
      timestamp
      event
      user_agent
      user {
        id
        name
        email
      }
      ip_address
    }
    pagination {
      has_more_pages
      next_page_number
    }
  }
}
🏷️ API version: 2025-07

You can now retrieve a user's permission level when querying board views using the new access_level field. It returns an enum value that specifies whether the user can view or edit the board.

query {
  boards (ids: 1234567890) {
    views {
      type
      settings_str
      view_specific_data_str
      name
      id
      access_level
    }
  }
}