add_users_to_project
ChatGPTInvite participants Add new users to the project with the specified settings. Always include securitySettings.accessFrom with the current date — the API rejects stale dates from the group's creation time. > [!NOTE] > If the project's status is Archived, only the user email addresses will be processed. All other configuration fields in the request (such as permissions or other settings) will be ignored.
answer_question
ChatGPTAnswer a question Submit an answer to a Q&A question. The backend automatically determines the post type and target post based on the caller's Q&A role. Recommended workflow: 1. Call get_qna_configuration to determine the user's Q&A role. 2. Call get_qna_threads to find threads in an answerable status. 3. Call this endpoint with the thread ID and answer body. Role-based behavior (automatic — the caller only provides `body`): - Expert — creates an AnswerDraft. Thread must be in Assigned status, and the user must be the assigned expert. - Answer Coordinator — creates an Answer. Thread can be in Submitted, Assigned, Proposed, or Rejected status. If an Approver is configured, the answer is held for approval. - Answer Approver — creates an Answer (acts as approval). Thread must be in ToApprove status. - Question Submitter / Question Drafter — cannot use this endpoint. Returns 404 Not Found with error code 3009 if the Q&A module is not enabled for this project.
ask_question
ChatGPTAsk a question Create a new Q&A question in the specified project. Recommended workflow: 1. Call get_qna_configuration first to fetch available question teams, categories, and participant roles. 2. Pick a teamId from the returned questionTeams[] list and, optionally, a categoryId from categories[]. 3. Call this endpoint with the chosen values. For a detailed, role-aware guided workflow, use the AskQuestion MCP prompt resource (when supported by your client). Returns 404 Not Found with error code 3009 if the Q&A module is not enabled for this project.
cancel_closure_schedule
ChatGPTCancel scheduled closure Cancel scheduled project closure to keep the project active and accessible for participants.
close_project
ChatGPTClose project Close a specific project or schedule its automatic closure on a specified date and time. Access will be terminated for all participants, including project administrators. > [!NOTE] > Project can be closed from any status.
create_folder
ChatGPTCreate new folder Create a new folder in the specified project
create_group
ChatGPTCreate new group Create new group with the specific role, feature permissions, document permissions, and security settings.
create_project
ChatGPTCreate new project Create a new project linked to the corporate account that is associated with the given API key
delete_documents
ChatGPTMove documents to recycle bin Move one or more files and/or folders to the recycle bin. Items can be restored later using the restore endpoint.
delete_documents_from_recycle_bin
ChatGPTPermanently delete documents from recycle bin Delete single or multiple files and/or folders from recycle bin. > [!NOTE] > This action is irreversible. Once the documents are deleted from the recycle bin, they cannot be restored.
delete_groups
ChatGPTDelete groups Delete groups in bulk from the specified project
delete_users
ChatGPTDelete participants Delete participants in bulk from the specific project.
download_file
ChatGPTDownload a file from a project. Returns the file content as base64 (max 10 KB). For larger files, use the iDeals VDR web interface or the Public API endpoint directly. Prefer the get_document_summary tool to understand file contents — only call this tool when the user explicitly asks to download the file, needs the raw bytes, or the file is small enough to fit comfortably into the model context.
export_activity_logs
ChatGPTExport activity log Export project activity log as an Excel file. Supports the same filters as <a href="#tag/reports/POST/api/v1/projects/{projectId}/reports/activity-logs">Get activity log</a>. Pagination Each response contains at most 1,048,550 rows. If more records exist, X-Has-More: true is returned alongside X-Next-Cursor. Pass the cursor value in the cursor field of the next request to retrieve the next page.
export_project_index
ChatGPTExport project index Export the project document index as an Excel file. The index includes file and folder names, sizes, upload dates, labels, and direct links for all items the authenticated user has access to. > [!TIP] > Learn more about the project index get_activity_logs
ChatGPTGet activity log Get a detailed report of all actions performed in the project. Results are returned in descending order by event date (most recent first). Incremental sync Use From/To date filters to poll for changes since your last sync — pass the timestamp of your last successful sync as From on each call. This is the currently supported sync strategy; webhook push notifications are not yet available. > [!NOTE] > Activity log entries are eventually consistent — events flow through an internal message bus before being written to the database. A brief delay may occur between when an action takes place and when it appears in the log.
get_attributes
ChatGPTGet list of project attributes Get a list of project attributes defined for the given corporate account
get_corporate_accounts
ChatGPTGet list of corporate accounts Returns corporate accounts that the authenticated user has administrative access to
get_current_user
ChatGPTGet current user Returns the identity of the authenticated caller
get_document_summary
ChatGPTCreate or get document summary Creates an AI-generated summary of the specified document, or returns an existing one if already available. If the summary has not been generated yet, the server initiates generation and optionally waits for the result.
get_documents
ChatGPTGet list of documents Returns all direct children (files and folders) of the specified folder in a single response. Shallow listing — only immediate children are returned; sub-folder contents are not included. There is no pagination: all direct children are always returned in full. Traversing a full project To enumerate all documents in a project, walk the tree folder by folder: 1. Call this endpoint without folderId to get root-level items. 2. For each folder in the response, call this endpoint again with ?folderId={id}. 3. Repeat recursively until all folders have been visited. > [!TIP] > Use foldersCount and filesCount on each folder to estimate call volume before recursing.
get_group_details
ChatGPTGet group details Get all details such as role, feature permissions, and security settings of the given group.
get_groups
ChatGPTGet list of groups Get a list of user groups that are present in the specified project.
get_label_groups
ChatGPTGet list of label groups Returns all label groups and their labels defined for the specified project.
get_link_templates
ChatGPTGet link templates Returns every web-UI deep-link template as a type → urlTemplate map. Substitute the {placeholder}s from other tool responses: - {accountId} — get_corporate_accounts.id - {hostNumber}, {projectUniqueName} — get_projects (hostNumber, uniqueName) - {folderId} — get_documents folder id - {fileUiId} — get_documents file uiId (numeric, not UUID), zero-padded to 9 digits (e.g. 16953551 → 016953551) - {projectHostUrl} — get_corporate_accounts.allowedHosts[i].url where id == hostNumber Templates are stable per environment — cache and reuse. Required scope (integrations): profile
get_permissions_by_document
ChatGPTGet document permissions across groups Returns the permissions assigned to each group for a specific file or folder. Each item in the response represents one group and its access level (None, FenceView, View, SaveEncrypted, SavePdf, SaveOriginal, Upload, or Manage). Required scope (integrations): documents.read
get_permissions_by_folder_and_group
ChatGPTGet folder permissions for a group Returns the permission level assigned to a specific group for a specific folder, along with the permissions of all child items (sub-folders and files) within it. The permissions field reflects the effective access level: None, FenceView, View, SaveEncrypted, SavePdf, SaveOriginal, Upload, or Manage. Required scope (integrations): documents.read
get_permissions_report
ChatGPTGet permissions report Export a full permissions report for the project as an Excel file. The report contains a matrix of all groups and their access levels across every folder and document in the project — useful for compliance audits and access reviews. Required scope (integrations): documents.read
get_project_details_by_id
ChatGPTGet project details Get additional details of the given project
get_projects
ChatGPTGet list of projects Returns the list of projects for the corporate account linked to the API key
get_qna_configuration
ChatGPTGet Q&A settings Get the Q&A workflow configuration and participant settings for the specified project. Includes workflow step toggles, assigned users (experts, coordinators, approvers), categories, and question teams with their drafters and submitters. Returns 404 Not Found with error code 3009 if the Q&A module is not enabled for this project.
get_qna_threads
ChatGPTGet list of threads Get a list of Q&A threads (questions) for the specified project. Results support pagination and sorting. Use pageSize and pageIndex for pagination. Default page size is 30. Default sorting: UpdatedAt descending (most recently updated first). Returns 404 Not Found with error code 3009 if the Q&A module is not enabled for this project.
get_recycle_bin_documents
ChatGPTGet documents from recycle bin Returns all files and folders currently in the recycle bin for the specified project
get_report_actions
ChatGPTGet activity log action types Get the full set of available report action types grouped by category. Use the type values from the returned actions to populate the actionTypes filter in <a href="#tag/reports/POST/api/v1/projects/{projectId}/reports/activity-logs">Get activity log</a> and <a href="#tag/reports/POST/api/v1/projects/{projectId}/reports/activity-logs/export">Export activity log</a>.
get_user_details
ChatGPTGet user details Get all available details including name, group, project access, notification and security settings of the given user.
get_users
ChatGPTGet list of participants Get a list of all participants in the specified project.
patch_group
ChatGPTPartially update group settings Update only specific properties of a given group
rename_file
ChatGPTPartially update file metadata Update only specific properties of the specified file
rename_folder
ChatGPTPartially update folder metadata Update only specific properties of a given folder. Rename silently returns the old name if the target name already exists — verify the response.
restore_documents_from_recycle_bin
ChatGPTRestore documents from recycle bin Restore single or multiple files and/or folders from recycle bin.
search_documents
ChatGPTSearch documents Searches documents in a project under folderId (defaults to root), recursing through all subfolders. Exception: if searchQuery is empty or * and no filter is set, only direct children of folderId are returned.
search_qna_threads
ChatGPTSearch threads Search Q&A threads with advanced filtering, sorting, and pagination. Supports filtering by status, priority, category, thread type, author, assigned expert, keyword search, and date ranges. Default page size is 30. Default sorting: UpdatedAt descending (most recently updated first). Sorting behavior: - When searchQuery is provided and sortBy is not specified, results are sorted by relevance. - When searchQuery is not provided, results are sorted by UpdatedAt descending by default. - An explicit sortBy value always takes precedence regardless of searchQuery. Category filter: If the category filter is not specified, all threads are returned regardless of their category. When specified, use the filter field to control behavior: - Uncategorized — returns only threads without a category assigned. - Categorized — returns only threads that have any category assigned. - Specific — returns threads belonging to the categories listed in ids. Usage examples: Keyword search (sorted by relevance automatically): { "searchQuery": "due diligence deadline" } Keyword search with explicit sorting override: { "searchQuery": "deadline", "sortBy": "CreatedAt", "sortOrder": "Asc" } Filter by category: { "category": { "filter": "Specific", "ids": ["<guid1>", "<guid2>"] } } Filter uncategorized threads: { "category": { "filter": "Uncategorized" } } Returns 404 Not Found with error code 3009 if the Q&A module is not enabled for this project.
update_group
ChatGPTUpdate group settings Full replacement — all fields must be provided. Omitted fields are reset to their defaults. Always fetch the current group via GetGroupDetails first, then send all fields back with your changes applied.
update_user
ChatGPTUpdate user settings Full replacement — all fields must be provided. Omitted fields are reset to their defaults (e.g., documentNotifications resets to Never). Always fetch the current user via GetUserDetails first, then send all fields back with your changes applied.
upload_file
ChatGPTUpload a file to a project folder. Accepts base64-encoded content (max 10 KB decoded). For larger files, use the iDeals VDR web interface.