AI · AI
Agents, sources, conversations and chat completions under their own key.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
customgpt_delete_api_v1_projects_by_projectidWRITEPermanently deletes an agent and all associated data, including its knowledge base, conversations, settings, and analytics. This action cannot be undone. Warning: This operation is irreversible. All conversations, sources, and settings will be permanently deleted. via DELETE /api/v1/projects/{projectId}
customgpt_delete_api_v1_projects_by_projectid_actions_custom_by_actionkeyWRITEDelete a custom action via DELETE /api/v1/projects/{projectId}/actions/custom/{actionKey}
customgpt_delete_api_v1_projects_by_projectid_childrenWRITERemoves multiple child agents from this Multi-Agent in a single request. Returns 422 if the operation would leave no children, or if any specified agent is not currently assigned. via DELETE /api/v1/projects/{projectId}/children
customgpt_delete_api_v1_projects_by_projectid_children_by_childprojectidWRITERemoves a single child agent from this Multi-Agent. Returns 422 if this is the last remaining child, or 404 if the agent is not currently assigned. via DELETE /api/v1/projects/{projectId}/children/{childProjectId}
customgpt_delete_api_v1_projects_by_projectid_contextual_rag_pagesWRITEDeletes webpage context entries for an agent. Pass `page_ids` to delete specific pages, or omit the body to delete all pages for the agent. Requires the **Webpage Awareness** tool to be enabled on the agent. via DELETE /api/v1/projects/{projectId}/contextual-rag/pages
customgpt_delete_api_v1_projects_by_projectid_conversations_by_sessionidWRITEPermanently deletes a conversation and all its messages. Use this to remove sensitive conversations or clean up test data. Warning: This action cannot be undone. All messages in the conversation will be permanently deleted. via DELETE /api/v1/projects/{projectId}/conversations/{sessionId}
customgpt_delete_api_v1_projects_by_projectid_labels_by_labelidWRITEPermanently deletes a label and removes all associated assignments (both user-to-label and document-to-label mappings). Documents that lose their only label will become accessible to everyone. via DELETE /api/v1/projects/{projectId}/labels/{labelId}
customgpt_delete_api_v1_projects_by_projectid_labels_usersWRITERemoves specific users from one or more labels without affecting other users' assignments. Use this when offboarding users or revoking access to specific content. via DELETE /api/v1/projects/{projectId}/labels/users
customgpt_delete_api_v1_projects_by_projectid_licenses_by_licenseidWRITERevokes and permanently removes an access license. Any users or systems using this license will immediately lose access to the agent. Warning: This immediately revokes access for anyone using this license. via DELETE /api/v1/projects/{projectId}/licenses/{licenseId}
customgpt_delete_api_v1_projects_by_projectid_pages_by_pageidWRITEPermanently removes a document from an agent's knowledge base. The agent will no longer reference this content when answering questions. Use this to remove outdated or incorrect information. Warning: This action cannot be undone. The document must be re-uploaded or re-indexed to restore it. via DELETE /api/v1/projects/{projectId}/pages/{pageId}
customgpt_delete_api_v1_projects_by_projectid_settings_persona_by_version_sub_personas_by_slugWRITEDeletes the project-level override for one sub-persona slug. Generated persona-version rows are not modified. via DELETE /api/v1/projects/{projectId}/settings/persona/{version}/sub-personas/{slug}
customgpt_delete_api_v1_projects_by_projectid_sources_by_sourceidWRITERemoves a data source and all its documents from an agent's knowledge base. Use this to disconnect content that's no longer relevant or to clean up after testing. Notes: To delete individual documents without removing the entire source, use the Delete Document endpoint instead. Warning: This deletes ALL documents from this source. The action cannot be undone. via DELETE /api/v1/projects/{projectId}/sources/{sourceId}
customgpt_delete_api_v1_projects_by_projectid_tasks_by_taskidWRITEPermanently deletes a task and all its messages. Use this to remove sensitive tasks or clean up test data. Warning: This action cannot be undone. All messages in the task will be permanently deleted from the user-facing API. via DELETE /api/v1/projects/{projectId}/tasks/{taskId}
customgpt_delete_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid_files_by_fileidWRITEDeletes an agent-generated artifact from a task message. via DELETE /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files/{fileId}
customgpt_delete_api_v1_teams_invitations_by_invitationidWRITECancels a pending team invitation. The invited person will no longer be able to join via this invitation link. via DELETE /api/v1/teams/invitations/{invitationId}
customgpt_delete_api_v1_teams_members_by_useridWRITERemoves a member from the team. Only the team owner or a member with the appropriate permission can perform this action. via DELETE /api/v1/teams/members/{userId}
customgpt_delete_api_v1_teams_roles_by_roleidWRITEDeletes a custom role belonging to this team. Reserved system roles cannot be deleted, and a role cannot be deleted while it still has members assigned, has pending invitations, or is set as an organization's default SSO role. via DELETE /api/v1/teams/roles/{roleId}
customgpt_get_api_v1_billing_invoicesREADReturns paginated invoices for your account. Invoice records are stored locally and do not require a Stripe API call. Use the `page` and `limit` query parameters to paginate. via GET /api/v1/billing/invoices
customgpt_get_api_v1_billing_invoices_by_invoiceid_downloadREADReturns the Stripe-hosted PDF for the specified invoice. The invoice ID must belong to your account. via GET /api/v1/billing/invoices/{invoiceId}/download
customgpt_get_api_v1_billing_payment_methodsREADReturns all payment methods attached to your account, including type, display name, card details, and which is the default. via GET /api/v1/billing/payment-methods
customgpt_get_api_v1_billing_planREADReturns the active subscription plan for your account, including billing cycle dates, trial status, plan options, and active addons. Returns null data when no active subscription exists. via GET /api/v1/billing/plan
customgpt_get_api_v1_limits_usageREADReturns your current usage and plan limits for agents, storage (words), and monthly queries. Use this to monitor consumption, plan for scaling, or display usage dashboards to your users. via GET /api/v1/limits/usage
customgpt_get_api_v1_preview_by_idREADReturns a preview of the source document referenced by a citation. Use this to show users the original content that the agent used to generate a response. via GET /api/v1/preview/{id}
customgpt_get_api_v1_projectsREADReturns all agents in your account, sorted by creation date with the most recent first. Use this endpoint to get an overview of your agents or to retrieve agent IDs for other API calls. Results are paginated with a default page size of 10. Notes: Use the page query parameter to fetch additional results. via GET /api/v1/projects
customgpt_get_api_v1_projects_by_projectidREADReturns the full configuration and current status for a specific agent. Use this to check processing status, view settings, or retrieve metadata about the agent. via GET /api/v1/projects/{projectId}
customgpt_get_api_v1_projects_by_projectid_actionsREADList agent actions via GET /api/v1/projects/{projectId}/actions
customgpt_get_api_v1_projects_by_projectid_childrenREADReturns all agents currently assigned to this Multi-Agent, including their name and generation flag. via GET /api/v1/projects/{projectId}/children
customgpt_get_api_v1_projects_by_projectid_citations_by_citationidREADReturns metadata for a specific citation, including the source document's title, description, URL, and preview information. Use this to display source attribution or allow users to verify the agent's sources. via GET /api/v1/projects/{projectId}/citations/{citationId}
customgpt_get_api_v1_projects_by_projectid_contextual_rag_pagesREADReturns all webpage context entries for an agent, with optional URL filtering and pagination. Requires the **Webpage Awareness** tool to be enabled on the agent. via GET /api/v1/projects/{projectId}/contextual-rag/pages
customgpt_get_api_v1_projects_by_projectid_conversationsREADReturns all conversations for an agent. Each conversation represents a chat session with a user and contains the full message history. Results are paginated and sorted by most recent activity. via GET /api/v1/projects/{projectId}/conversations
customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messagesREADReturns all messages in a conversation, including user prompts, agent responses, timestamps, and citations. Use this to display conversation history or analyze past interactions. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages
customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptidREADReturns the complete details for a single message, including the user's prompt, the agent's response, timestamps, citations, and any attached metadata. Use this to retrieve specific messages for display or analysis. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}
customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_claimsREADReturns the factual claims extracted from an agent's response. Each claim is a discrete statement that can be independently verified against the source documents. Use this for fact-checking or building trust indicators. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/claims
customgpt_get_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_trust_scoreREADReturns a verification trust score for a message, calculated by checking how well the agent's claims are supported by the source documents. Higher scores indicate better-grounded responses. via GET /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/trust-score
customgpt_get_api_v1_projects_by_projectid_deploymentREADReturns all deployment section configurations (embed, live_chat, ai_assistant, instant_viewer, sge) for an agent. Missing settings are returned with their default values. via GET /api/v1/projects/{projectId}/deployment
customgpt_get_api_v1_projects_by_projectid_labelsREADReturns all labels configured for an agent, along with the users assigned to each label. Use this to review your access control configuration or build a label management interface. Notes: Requires Custom plan. via GET /api/v1/projects/{projectId}/labels
customgpt_get_api_v1_projects_by_projectid_labels_by_labelidREADRetrieves a specific label, including its name and the list of users assigned to it. via GET /api/v1/projects/{projectId}/labels/{labelId}
customgpt_get_api_v1_projects_by_projectid_licensesREADReturns all access licenses configured for an agent. Licenses control who can interact with the agent and what permissions they have. Use this to manage access distribution. via GET /api/v1/projects/{projectId}/licenses
customgpt_get_api_v1_projects_by_projectid_licenses_by_licenseidREADReturns the full details for a specific license, including permissions, usage statistics, status, and expiration date. Use this to audit or troubleshoot access issues. via GET /api/v1/projects/{projectId}/licenses/{licenseId}
customgpt_get_api_v1_projects_by_projectid_pagesREADReturns all indexed documents in an agent's knowledge base. Each document represents a piece of content (webpage, PDF, uploaded file) that the agent can reference when answering questions. Results are paginated. You can use the optional `search` parameter to filter results by document URL or filename. Notes: In the API, documents are called "pages" for backward compatibility. via GET /api/v1/projects/{projectId}/pages
customgpt_get_api_v1_projects_by_projectid_pages_by_pageid_labelsREADReturns all labels assigned to a document. Labels control which users can access answers derived from this document - users only see answers from documents matching their assigned labels. Notes: Requires Custom plan. Documents without labels are accessible to all users. via GET /api/v1/projects/{projectId}/pages/{pageId}/labels
customgpt_get_api_v1_projects_by_projectid_pages_by_pageid_metadataREADReturns metadata for a document, including its title, source URL, word count, and any custom metadata fields. Use this to display document information or manage your knowledge base. via GET /api/v1/projects/{projectId}/pages/{pageId}/metadata
customgpt_get_api_v1_projects_by_projectid_reports_analysisREADReturns time-series data formatted for charts, with daily, weekly, or monthly breakdowns of key metrics. via GET /api/v1/projects/{projectId}/reports/analysis
customgpt_get_api_v1_projects_by_projectid_reports_conversationsREADReturns conversation metrics, including total conversations, average duration, messages per conversation, and completion rates. Use this to understand how users engage with your agent. via GET /api/v1/projects/{projectId}/reports/conversations
customgpt_get_api_v1_projects_by_projectid_reports_intelligenceREADReturns AI-analyzed insights about your users, including common intents, emotional sentiment, frequently discussed topics, and emerging trends. Use this to understand what users are asking about and how they're feeling. via GET /api/v1/projects/{projectId}/reports/intelligence
customgpt_get_api_v1_projects_by_projectid_reports_leadsREADExports lead information captured from conversations, including email addresses, names, and any custom fields collected. Use this to sync leads with your CRM or marketing tools. via GET /api/v1/projects/{projectId}/reports/leads
customgpt_get_api_v1_projects_by_projectid_reports_leads_by_sessionid_collatedREADReturns one merged lead built from all lead rows in the conversation. via GET /api/v1/projects/{projectId}/reports/leads/{sessionId}/collated
customgpt_get_api_v1_projects_by_projectid_reports_queriesREADReturns aggregate query metrics, including total query volume, success rates, average response times, and failure reasons. Use this to monitor agent performance and identify issues. via GET /api/v1/projects/{projectId}/reports/queries
customgpt_get_api_v1_projects_by_projectid_reports_trafficREADReturns a breakdown of conversation volume by deployment channel (e.g. web widget, API, Slack, WhatsApp) over the requested time window. Use the `filters` query parameter to scope the report. via GET /api/v1/projects/{projectId}/reports/traffic
customgpt_get_api_v1_projects_by_projectid_settingsREADReturns the complete configuration for an agent, including persona instructions, response behavior, deployment options, and feature flags. Use this to review or back up an agent's configuration. via GET /api/v1/projects/{projectId}/settings
customgpt_get_api_v1_projects_by_projectid_settings_persona_by_versionREADReturns the full text and metadata for a specific persona version. Use this to compare versions or review what instructions were active at a particular time. via GET /api/v1/projects/{projectId}/settings/persona/{version}
customgpt_get_api_v1_projects_by_projectid_settings_persona_by_version_sub_personasREADReturns generated sub-personas for one persona version and project-level overrides separately. via GET /api/v1/projects/{projectId}/settings/persona/{version}/sub-personas
customgpt_get_api_v1_projects_by_projectid_settings_personasREADReturns the version history of an agent's persona. Every time the persona is updated, a snapshot is automatically saved, allowing you to view changes over time or restore a previous version. Results are paginated. via GET /api/v1/projects/{projectId}/settings/personas
customgpt_get_api_v1_projects_by_projectid_sourcesREADReturns all data sources connected to an agent. Each source represents an origin for documents - such as a sitemap, Google Drive folder, SharePoint site, or uploaded files. Use this to manage what content feeds into an agent's knowledge base. via GET /api/v1/projects/{projectId}/sources
customgpt_get_api_v1_projects_by_projectid_statsREADReturns usage metrics and performance statistics for an agent, including total conversations, query counts, document statistics, and processing information. Use this for monitoring and reporting. via GET /api/v1/projects/{projectId}/stats
customgpt_get_api_v1_projects_by_projectid_tasksREADReturns all Plan & Act mode tasks for an agent, paginated. Tasks are ordered by most recent activity. via GET /api/v1/projects/{projectId}/tasks
customgpt_get_api_v1_projects_by_projectid_tasks_by_taskidREADReturns the current processing state of a task. While the task is running, returns `status: processing` with any stream events flushed since the last poll. When the agent needs one of the functions supplied via `tools`, returns `status: awaiting_tool_results` with `result.tool_calls` (OpenAI format). Execute the functions and submit their results via `POST /tasks/{taskId}/tool-outputs`; the session then resumes. This status persists across polls (for up to 2 hours) until outputs are submitted. Once the session completes, returns `status: completed` with `result.message_id` pointing to the final message. The completed result is consumed on first read and is held for at most 2 hours after completion — subsequent polls return 404, so persist the result on first successful read. If you miss the result window or have already consumed it, fetch the persisted history via `GET /tasks/{taskId}/messages` instead. via GET /api/v1/projects/{projectId}/tasks/{taskId}
customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messagesREADReturns all messages in a task, including user prompts, agent responses, timestamps, and citations. Use this to display task history or analyze past interactions. Results are paginated and ordered by most recent first. via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages
customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryidREADReturns the complete details for a single message, including the user's prompt, the agent's response, timestamps, citations, and any attached metadata. Use this to retrieve specific messages for display or analysis. via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}
customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid_filesREADReturns all files associated with a specific task message - both user-uploaded sources and AI-generated artifacts. Use the `type` field to distinguish between `upload` and `artifact`. Generated artifacts expire after a configurable TTL (default 24 h). via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files
customgpt_get_api_v1_projects_by_projectid_tasks_by_taskid_messages_by_prompthistoryid_files_by_fileid_downloadREADGenerates a pre-signed URL for an agent-generated artifact and redirects to it. The redirect target is valid for 1 hour. via GET /api/v1/projects/{projectId}/tasks/{taskId}/messages/{promptHistoryId}/files/{fileId}/download
customgpt_get_api_v1_teamsREADReturns a paginated list of all teams the authenticated user is a member of. via GET /api/v1/teams
customgpt_get_api_v1_teams_invitationsREADReturns a paginated list of all pending invitations for the specified team. via GET /api/v1/teams/invitations
customgpt_get_api_v1_teams_membersREADReturns a paginated list of all members belonging to the specified team, including their assigned roles. via GET /api/v1/teams/members
customgpt_get_api_v1_teams_rolesREADReturns all roles that can be assigned to members within this team. Includes both global assignable system roles (Administrator, Member, Chat-only) and the team's own custom roles. Super Admin and Owner are excluded as they are not assignable. via GET /api/v1/teams/roles
customgpt_get_api_v1_userREADReturns profile information for the currently authenticated user, including account details and settings. via GET /api/v1/user
customgpt_get_api_v1_user_search_team_memberREADSearches for team members by email address or user ID. Use this to find users when assigning permissions or managing team access. Notes: Requires Owner or Admin role. via GET /api/v1/user/search-team-member
customgpt_patch_api_v1_projects_by_projectid_contextual_rag_messagesWRITEUpdates `auto_message` and/or `display_message` for one or more webpage context entries. Requires the **Webpage Awareness** tool to be enabled on the agent. via PATCH /api/v1/projects/{projectId}/contextual-rag/messages
customgpt_patch_api_v1_projects_by_projectid_deployment_by_sectionWRITEUpdates a single deployment section for an agent. The `section` path parameter identifies which section to update (embed, live_chat, ai_assistant, instant_viewer, or sge). Only include the fields you want to change — omitted fields retain their current values. Settings restricted by your plan are silently ignored. via PATCH /api/v1/projects/{projectId}/deployment/{section}
customgpt_patch_api_v1_projects_by_projectid_settings_persona_by_version_sub_personas_by_slugWRITECreates or updates the project-level override for one sub-persona slug. Generated persona-version rows are not modified. via PATCH /api/v1/projects/{projectId}/settings/persona/{version}/sub-personas/{slug}
customgpt_post_api_v1_projects_by_projectid_actions_customWRITECreate a custom action (MCP) via POST /api/v1/projects/{projectId}/actions/custom
customgpt_post_api_v1_projects_by_projectid_chat_completionsWRITESends a message using the OpenAI-compatible request and response format. Use this if you are migrating from OpenAI or want to use existing OpenAI client libraries. Supports streaming for real-time responses. Notes: This is a convenience endpoint for OpenAI compatibility. For full CustomGPT features, use the native message endpoint. Through this integration the reply is always the complete JSON document (streaming is disabled; `stream` cannot be set), and this is the only send-message operation offered: the native multipart message endpoint is not available here. via POST /api/v1/projects/{projectId}/chat/completions
customgpt_post_api_v1_projects_by_projectid_childrenWRITEAssigns one or more agents as children of this Multi-Agent. Enforces plan limits, team ownership, and prevents assigning Multi-Agent projects as children. via POST /api/v1/projects/{projectId}/children
customgpt_post_api_v1_projects_by_projectid_conversationsWRITECreates a new conversation session for an agent. Returns a session ID that you'll use to send messages. You can optionally provide a name to help identify the conversation later. Notes: You can also create conversations implicitly by sending a message with a new session ID. via POST /api/v1/projects/{projectId}/conversations
customgpt_post_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_verifyWRITETriggers a fact-checking verification process for a message's claims. The system compares each claim against the source documents and reports which claims are supported, partially supported, or unsupported. via POST /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/verify
customgpt_post_api_v1_projects_by_projectid_labelsWRITECreates one or more new labels for document access control. Accepts an array of label names, allowing bulk creation. After creating labels, assign them to documents and users to control access. Notes: Requires Custom plan. via POST /api/v1/projects/{projectId}/labels
customgpt_post_api_v1_projects_by_projectid_licensesWRITECreates a new access license for an agent with specified permissions and optional expiration. Use this to grant controlled access to external users or systems. via POST /api/v1/projects/{projectId}/licenses
customgpt_post_api_v1_projects_by_projectid_pages_by_pageid_reindexWRITERe-crawls and re-indexes a document to update its content in the knowledge base. Use this when the source content has changed and you want the agent to use the updated version. Notes: Only works for URL-based documents. For uploaded files, delete and re-upload instead. via POST /api/v1/projects/{projectId}/pages/{pageId}/reindex
customgpt_post_api_v1_projects_by_projectid_replicateWRITECreates a complete copy of an existing agent, including its knowledge base, persona, and settings. Use this to create variations of an agent for testing, or to use an existing agent as a template for a new one. Notes: The cloned agent will have a new ID and can be modified independently of the original. via POST /api/v1/projects/{projectId}/replicate
customgpt_post_api_v1_projects_by_projectid_tasks_by_taskid_tool_outputsWRITEResumes a task paused on `awaiting_tool_results` by submitting the results of the function calls requested by the agent. All pending `tool_call_id`s must be answered in one request. Returns 202 Accepted; poll the task for progress — the agent may request further function calls or complete with a final answer. via POST /api/v1/projects/{projectId}/tasks/{taskId}/tool-outputs
customgpt_post_api_v1_teams_by_teamid_switchWRITESwitches the authenticated user's active team context. Subsequent requests will operate in the context of the new team. via POST /api/v1/teams/{teamId}/switch
customgpt_post_api_v1_teams_invitationsWRITESends an invitation email to the specified address. The recipient must accept the invitation before they become a team member. via POST /api/v1/teams/invitations
customgpt_post_api_v1_teams_invitations_by_invitationid_resendWRITECancels the existing invitation and sends a new one to the same email address with the same role. via POST /api/v1/teams/invitations/{invitationId}/resend
customgpt_post_api_v1_teams_rolesWRITECreates a new custom role for the team with the specified permissions. Role names cannot match reserved role names (Owner, Administrator, Member). via POST /api/v1/teams/roles
customgpt_put_api_v1_projects_by_projectid_actions_builtin_by_actionkey_settingsWRITEUpdate built-in action settings via PUT /api/v1/projects/{projectId}/actions/builtin/{actionKey}/settings
customgpt_put_api_v1_projects_by_projectid_actions_custom_by_actionkeyWRITEUpdate a custom action configuration via PUT /api/v1/projects/{projectId}/actions/custom/{actionKey}
customgpt_put_api_v1_projects_by_projectid_conversations_by_sessionidWRITEUpdates conversation metadata, such as the display name. Use this to rename conversations for easier organization and identification. via PUT /api/v1/projects/{projectId}/conversations/{sessionId}
customgpt_put_api_v1_projects_by_projectid_conversations_by_sessionid_messages_by_promptid_feedbackWRITERecords user feedback (thumbs up/down) for a message. Use this to collect quality signals that help identify which responses are helpful and which need improvement. via PUT /api/v1/projects/{projectId}/conversations/{sessionId}/messages/{promptId}/feedback
customgpt_put_api_v1_projects_by_projectid_labelsWRITESets which users are assigned to each label. The provided user list becomes the source of truth - users not included in the list are removed from that label, and new users are added. Notes: Requires Custom plan. Warning: This is a replacement operation, not an append. Users not included in the request will be removed from the label. via PUT /api/v1/projects/{projectId}/labels
customgpt_put_api_v1_projects_by_projectid_labels_by_labelidWRITEUpdates the name of an existing label. User and document assignments are preserved. via PUT /api/v1/projects/{projectId}/labels/{labelId}
customgpt_put_api_v1_projects_by_projectid_licenses_by_licenseidWRITEUpdates a license's settings, such as permissions, expiration date, or active status. Use this to modify access without creating a new license. via PUT /api/v1/projects/{projectId}/licenses/{licenseId}
customgpt_put_api_v1_projects_by_projectid_pages_by_pageid_labelsWRITEAssigns labels to a document for access control. The provided label IDs replace any existing labels on the document. To remove all labels (making the document accessible to everyone), send an empty array. Notes: Maximum 50 labels per document. Warning: This replaces all existing labels. Labels not included in the request will be removed from the document. via PUT /api/v1/projects/{projectId}/pages/{pageId}/labels
customgpt_put_api_v1_projects_by_projectid_pages_by_pageid_metadataWRITEUpdates custom metadata fields for a document. Use this to add tags, categories, or other organizational information that helps manage your knowledge base. via PUT /api/v1/projects/{projectId}/pages/{pageId}/metadata
customgpt_put_api_v1_projects_by_projectid_settings_persona_activate_by_versionWRITEActivates a previous persona version, making it the current active persona. This creates a new version entry in the history (it doesn't overwrite), preserving the full audit trail. Use this to roll back to a known-good configuration. Warning: This doesn't delete newer versions - it creates a new entry based on the restored version. via PUT /api/v1/projects/{projectId}/settings/persona-activate/{version}
customgpt_put_api_v1_projects_by_projectid_sources_by_sourceidWRITEUpdates configuration for a data source, such as auto-sync frequency, crawl depth, or file filters. Use this to fine-tune how the source is indexed and kept up to date. via PUT /api/v1/projects/{projectId}/sources/{sourceId}
customgpt_put_api_v1_projects_by_projectid_sources_by_sourceid_instant_syncWRITETriggers an immediate re-sync of a data source, refreshing all its documents with the latest content. Use this when you know the source has been updated and don't want to wait for the scheduled sync. Notes: Only available for sources that support syncing (sitemaps, integrations). Not available for file uploads. via PUT /api/v1/projects/{projectId}/sources/{sourceId}/instant-sync
customgpt_put_api_v1_projects_by_projectid_tasks_by_taskidWRITEUpdates task metadata, such as the display name. Use this to rename tasks for easier organization and identification. The display name is the only mutable field exposed via the API. via PUT /api/v1/projects/{projectId}/tasks/{taskId}
customgpt_put_api_v1_teamsWRITEUpdates the name of a team. Only the team owner or a member with the update permission can perform this action. via PUT /api/v1/teams
customgpt_put_api_v1_teams_members_by_useridWRITEChanges the role assigned to a team member. Only the team owner or a member with the appropriate permission can perform this action. via PUT /api/v1/teams/members/{userId}
customgpt_put_api_v1_teams_roles_by_roleidWRITEUpdates an existing custom role's name, description, and permissions. Only roles belonging to this team can be updated. via PUT /api/v1/teams/roles/{roleId}
Put CustomGPT.ai behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.