TextQL Public RPC API
The full public Connect-RPC surface of the TextQL platform, generated from the protobuf service definitions and published with code samples. 407 operations across twenty services — dashboards, connectors, Tableau and Power BI integration, datasets, Ontology management, chat, agents, audit logs, MCP server registration, metrics export, observability, playbooks, RBAC, the sandbox services, and SCIM credential management.
Showing the first 250 of 407. The full set is in the contract, and via get_provider_operations.
POST
/textql.rpc.public.agent.AgentService/CreateAgent
CreateAgent
#
POST
/textql.rpc.public.agent.AgentService/DeleteAgent
DeleteAgent
#
POST
/textql.rpc.public.agent.AgentService/DuplicateAgent
DuplicateAgent
#
POST
/textql.rpc.public.agent.AgentService/GetAgent
GetAgent
#
POST
/textql.rpc.public.agent.AgentService/GetAgentDBSchema
GetAgentDBSchema
#
POST
/textql.rpc.public.agent.AgentService/GetAgentDBTablePreview
GetAgentDBTablePreview
#
POST
/textql.rpc.public.agent.AgentService/GetAgentRun
GetAgentRun
#
POST
/textql.rpc.public.agent.AgentService/ListAgentRuns
ListAgentRuns
#
POST
/textql.rpc.public.agent.AgentService/ListAgents
ListAgents
#
POST
/textql.rpc.public.agent.AgentService/ResetAgentAvatar
ResetAgentAvatar
#
POST
/textql.rpc.public.agent.AgentService/TriggerAgent
TriggerAgent
#
POST
/textql.rpc.public.agent.AgentService/UpdateAgent
UpdateAgent
#
POST
/textql.rpc.public.agent.AgentService/UploadAgentAvatar
UploadAgentAvatar
#
POST
/textql.rpc.public.app.AppService/AppHeartbeat
AppHeartbeat
#
POST
/textql.rpc.public.app.AppService/CreateApp
CreateApp
#
POST
/textql.rpc.public.app.AppService/DeleteApp
DeleteApp
#
POST
/textql.rpc.public.app.AppService/DuplicateApp
Duplicates an app the caller can view into a new app they own, named "Copy of ". Copies code/files/data sources/compute functions/ schedule; never carries over the source's d
#
POST
/textql.rpc.public.app.AppService/GetApp
GetApp
#
POST
/textql.rpc.public.app.AppService/GetAppDBSchema
Replaces the calling member's entire ordering; capped server-side.
#
POST
/textql.rpc.public.app.AppService/GetAppDBTablePreview
View analytics: reads the engagement views recorded on app page load.
#
POST
/textql.rpc.public.app.AppService/GetAppMemberState
Per-member notification subscription to an app ("watch this app").
#
POST
/textql.rpc.public.app.AppService/GetAppVersion
Overwrites the published tree's pinned _runtime/ana-1.js with the platform's current copy so host-driven affordances (comment hit-testing) work on older documents; never touches au
#
POST
/textql.rpc.public.app.AppService/GetAppViewStats
Keeps the viewed app's compute worker alive; first view spawns and pre-warms it (dashboard viewer-TTL parity).
#
POST
/textql.rpc.public.app.AppService/GetMembersWithApps
GetMembersWithApps
#
POST
/textql.rpc.public.app.AppService/InvokeAppComputeFunction
InvokeAppComputeFunction
#
POST
/textql.rpc.public.app.AppService/ListAppActivitySince
Favorite/unfavorite a library item (app or dashboard) for the calling member. Per-member, per-org; favorited=false hard-deletes the row. Covers both primitives since the merged lib
#
POST
/textql.rpc.public.app.AppService/ListAppVersions
Re-fetches data sources, rebuilds the document with a fresh snapshot, re-uploads.
#
POST
/textql.rpc.public.app.AppService/ListApps
ListApps
#
POST
/textql.rpc.public.app.AppService/ListMyAppMemberActivity
Watcher management: app owners/editors and org admins list the app's subscribers and add/remove members (Upsert/Delete with member_id).
#
POST
/textql.rpc.public.app.AppService/MoveAppToFolder
MoveAppToFolder
#
POST
/textql.rpc.public.app.AppService/PresenceHeartbeat
Ordering overlay for the sidebar Bookmarks section: one position list per member covering favorites and thread bookmarks (':' keys). Membership truth stays in library_fav
#
POST
/textql.rpc.public.app.AppService/RecordAppMemberActivity
RecordAppMemberActivity
#
POST
/textql.rpc.public.app.AppService/RefreshApp
Moves an app into a library folder (or to root when folder_id is empty).
#
POST
/textql.rpc.public.app.AppService/RestoreAppVersion
Version history: git-backed, one version per save (plus legacy publish-era snapshots); authors can list and restore.
#
POST
/textql.rpc.public.app.AppService/SetAppMemberState
SetAppMemberState
#
POST
/textql.rpc.public.app.AppService/SetFavorite
Executes a declared compute function on a pooled sandbox worker; gated, org-scoped, rate-limited.
#
POST
/textql.rpc.public.app.AppService/UpdateApp
UpdateApp
#
POST
/textql.rpc.public.audit_log.AuditLogService/DeleteOtlpExportConfig
DeleteOtlpExportConfig
#
POST
/textql.rpc.public.audit_log.AuditLogService/DeleteS3ExportConfig
DeleteS3ExportConfig
#
POST
/textql.rpc.public.audit_log.AuditLogService/GetOtlpExportConfig
GetOtlpExportConfig
#
POST
/textql.rpc.public.audit_log.AuditLogService/GetS3ExportConfig
GetS3ExportConfig
#
POST
/textql.rpc.public.audit_log.AuditLogService/ListAuditLogs
ListAuditLogs
#
POST
/textql.rpc.public.audit_log.AuditLogService/TestOtlpExportConnection
TestOtlpExportConnection
#
POST
/textql.rpc.public.audit_log.AuditLogService/TestS3ExportConnection
TestS3ExportConnection
#
POST
/textql.rpc.public.audit_log.AuditLogService/TriggerOtlpExport
TriggerOtlpExport
#
POST
/textql.rpc.public.audit_log.AuditLogService/TriggerS3Export
TriggerS3Export
#
POST
/textql.rpc.public.chat.ChatService/ApproveContextPromptChange
ApproveContextPromptChange
#
POST
/textql.rpc.public.chat.ChatService/ApproveOntologyChange
ApproveOntologyChange
#
POST
/textql.rpc.public.chat.ChatService/AttachAgentToChat
AttachAgentToChat
#
POST
/textql.rpc.public.chat.ChatService/AttachApp
AttachApp
#
POST
/textql.rpc.public.chat.ChatService/AttachDashboard
AttachDashboard
#
POST
/textql.rpc.public.chat.ChatService/AttachDataset
RateChatCell appends a row to cell_rating for every click; thumbs-down also upserts a user_thumbs_down thread_warning.
#
POST
/textql.rpc.public.chat.ChatService/BookmarkChat
BookmarkChat
#
POST
/textql.rpc.public.chat.ChatService/CancelStream
CancelStream
#
POST
/textql.rpc.public.chat.ChatService/CheckChatPermissions
CheckChatPermissions
#
POST
/textql.rpc.public.chat.ChatService/CheckHealth
CheckHealth
#
POST
/textql.rpc.public.chat.ChatService/CheckStreamlitHealth
CheckStreamlitHealth
#
POST
/textql.rpc.public.chat.ChatService/CreateChat
CreateChat
#
POST
/textql.rpc.public.chat.ChatService/DeleteChat
DeleteChat
#
POST
/textql.rpc.public.chat.ChatService/DismissQuestions
Resolve a halted questions cell. Submit hands the answers to the agent and resumes it; Dismiss hands over only the answered count and does NOT resume (the user's next message becom
#
POST
/textql.rpc.public.chat.ChatService/DuplicateChat
DuplicateChat
#
POST
/textql.rpc.public.chat.ChatService/GetAPIChatAnswer
GetAPIChatAnswer
#
POST
/textql.rpc.public.chat.ChatService/GetArtifact
GetArtifact
#
POST
/textql.rpc.public.chat.ChatService/GetChat
GetChat
#
POST
/textql.rpc.public.chat.ChatService/GetChatArtifactsSummary
GetChatArtifactsSummary
#
POST
/textql.rpc.public.chat.ChatService/GetChatExecutionTiming
GetChatExecutionTiming
#
POST
/textql.rpc.public.chat.ChatService/GetChatHistory
GetChatHistory
#
POST
/textql.rpc.public.chat.ChatService/GetChats
GetChats
#
POST
/textql.rpc.public.chat.ChatService/GetCompletionParameters
List distinct chat creators the user can access
#
POST
/textql.rpc.public.chat.ChatService/GetCompletionParametersBatch
GetCompletionParametersBatch
#
POST
/textql.rpc.public.chat.ChatService/GetLlmUsage
GetLlmUsage
#
POST
/textql.rpc.public.chat.ChatService/GetMembersWithChats
GetMembersWithChats
#
POST
/textql.rpc.public.chat.ChatService/GetPlaybookChats
GetPlaybookChats
#
POST
/textql.rpc.public.chat.ChatService/PollChatEvents
PollChatEvents
#
POST
/textql.rpc.public.chat.ChatService/QueryOneShot
QueryOneShot
#
POST
/textql.rpc.public.chat.ChatService/RateChatCell
RateChatCell
#
POST
/textql.rpc.public.chat.ChatService/RejectContextPromptChange
RejectContextPromptChange
#
POST
/textql.rpc.public.chat.ChatService/RejectOntologyChange
Resolve a halted ask_approval form cell. Submit runs the form's submission and continues the agent with the outcome; Reject discards it (passive, no run); Dismiss treats it as a ch
#
POST
/textql.rpc.public.chat.ChatService/RunChat
RunChat
#
POST
/textql.rpc.public.chat.ChatService/SendMessage
SendMessage
#
POST
/textql.rpc.public.chat.ChatService/SubmitContextPromptChange
SubmitContextPromptChange
#
POST
/textql.rpc.public.chat.ChatService/SubmitQuestions
SubmitQuestions
#
POST
/textql.rpc.public.chat.ChatService/UnbookmarkChat
UnbookmarkChat
#
POST
/textql.rpc.public.chat.ChatService/UpdateChat
UpdateChat
#
POST
/textql.rpc.public.connector.ConnectorService/CreateConnector
CreateConnector
#
POST
/textql.rpc.public.connector.ConnectorService/DeleteConnector
DeleteConnector
#
POST
/textql.rpc.public.connector.ConnectorService/DuplicateConnector
DuplicateConnector
#
POST
/textql.rpc.public.connector.ConnectorService/ExecuteQuery
ExecuteQuery
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnector
GetConnector
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnectorCellDurations
GetConnectorCellDurations
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnectorChats
GetConnectorChats
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnectorDashboards
GetConnectorDashboards
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnectorStats
GetConnectorStats
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnectorUsage
GetConnectorUsage
#
POST
/textql.rpc.public.connector.ConnectorService/GetConnectors
GetConnectors
#
POST
/textql.rpc.public.connector.ConnectorService/GetExampleQueries
GetExampleQueries
#
POST
/textql.rpc.public.connector.ConnectorService/GetTablePreview
GetTablePreview
#
POST
/textql.rpc.public.connector.ConnectorService/ListConnectorTables
ListConnectorTables
#
POST
/textql.rpc.public.connector.ConnectorService/ListQueryTemplates
ListQueryTemplates
#
POST
/textql.rpc.public.connector.ConnectorService/TestConnector
TestConnector
#
POST
/textql.rpc.public.connector.ConnectorService/UpdateConnector
UpdateConnector
#
POST
/textql.rpc.public.dashboard.DashboardService/CheckDashboardHealth
CheckDashboardHealth
#
POST
/textql.rpc.public.dashboard.DashboardService/CreateDashboard
CRUD operations
#
POST
/textql.rpc.public.dashboard.DashboardService/CreateDashboardFolder
Folder management
#
POST
/textql.rpc.public.dashboard.DashboardService/DeleteDashboard
DeleteDashboard
#
POST
/textql.rpc.public.dashboard.DashboardService/DeleteDashboardFolder
DeleteDashboardFolder
#
POST
/textql.rpc.public.dashboard.DashboardService/DiscardDashboardChanges
DiscardDashboardChanges
#
POST
/textql.rpc.public.dashboard.DashboardService/DuplicateDashboard
DuplicateDashboard
#
POST
/textql.rpc.public.dashboard.DashboardService/GetDashboard
GetDashboard
#
POST
/textql.rpc.public.dashboard.DashboardService/GetDashboardVersion
GetDashboardVersion
#
POST
/textql.rpc.public.dashboard.DashboardService/GetDashboardViewStats
View analytics
#
POST
/textql.rpc.public.dashboard.DashboardService/GetMembersWithDashboards
Member management
#
POST
/textql.rpc.public.dashboard.DashboardService/ListDashboardFolders
ListDashboardFolders
#
POST
/textql.rpc.public.dashboard.DashboardService/ListDashboardVersions
Version history
#
POST
/textql.rpc.public.dashboard.DashboardService/ListDashboards
ListDashboards
#
POST
/textql.rpc.public.dashboard.DashboardService/MoveDashboardToFolder
MoveDashboardToFolder
#
POST
/textql.rpc.public.dashboard.DashboardService/PreviewConfigDashboard
Config-managed dashboards: render a `.dashboard` straight from a patch ref before it merges (ADR-0022). Runs as the file's run_as, gated on the previewer being authorized for it; p
#
POST
/textql.rpc.public.dashboard.DashboardService/PublishDashboard
Publishing workflow
#
POST
/textql.rpc.public.dashboard.DashboardService/RegenerateScreenshot
Screenshot management
#
POST
/textql.rpc.public.dashboard.DashboardService/RestoreDashboardVersion
RestoreDashboardVersion
#
POST
/textql.rpc.public.dashboard.DashboardService/RunScheduledDashboard
RunScheduledDashboard
#
POST
/textql.rpc.public.dashboard.DashboardService/SpawnDashboard
Dashboard execution
#
POST
/textql.rpc.public.dashboard.DashboardService/UpdateDashboard
UpdateDashboard
#
POST
/textql.rpc.public.dashboard.DashboardService/UpdateDashboardFolder
UpdateDashboardFolder
#
POST
/textql.rpc.public.dashboard.DashboardService/UpdateDashboardSchedule
Scheduling
#
POST
/textql.rpc.public.dataset.DatasetService/CreateFolder
CreateFolder
#
POST
/textql.rpc.public.dataset.DatasetService/CreatePowerBIDataset
CreatePowerBIDataset
#
POST
/textql.rpc.public.dataset.DatasetService/CreateTableauDataset
Create Tableau dataset from views/datasources
#
POST
/textql.rpc.public.dataset.DatasetService/CreateUploadPresignUrl
uploads
#
POST
/textql.rpc.public.dataset.DatasetService/DeleteDataset
Delete a dataset (soft delete)
#
POST
/textql.rpc.public.dataset.DatasetService/ExportDataset
export dataset in "raw" format – original if dataset is uploaded, converted format otherwise (defaults to CSV)
#
POST
/textql.rpc.public.dataset.DatasetService/GetDataset
GetDataset, GetDatasets only return metadata
#
POST
/textql.rpc.public.dataset.DatasetService/GetDatasetStats
GetDatasetStats
#
POST
/textql.rpc.public.dataset.DatasetService/GetDatasetValues
GetDatasetValues
#
POST
/textql.rpc.public.dataset.DatasetService/GetDatasets
GetDatasets
#
POST
/textql.rpc.public.dataset.DatasetService/GetDatasetsByIds
GetDatasetsByIds
#
POST
/textql.rpc.public.dataset.DatasetService/GetFolders
for AR: CreateFolderACL, UpdateFolderACL, DeleteFolderACL
#
POST
/textql.rpc.public.dataset.DatasetService/ProcessUploadPresignUrl
ProcessUploadPresignUrl
#
POST
/textql.rpc.public.dataset.DatasetService/UpdateDataset
Update dataset metadata
#
POST
/textql.rpc.public.mcp.MCPService/ClearOAuthToken
ClearOAuthToken
#
POST
/textql.rpc.public.mcp.MCPService/DeleteMCPServer
DeleteMCPServer
#
POST
/textql.rpc.public.mcp.MCPService/GetMCPServers
GetMCPServers
#
POST
/textql.rpc.public.mcp.MCPService/HandleOAuthCallback
HandleOAuthCallback
#
POST
/textql.rpc.public.mcp.MCPService/InitiateOAuthFlow
InitiateOAuthFlow
#
POST
/textql.rpc.public.mcp.MCPService/ToggleMCPServer
ToggleMCPServer
#
POST
/textql.rpc.public.mcp.MCPService/UpsertMCPServers
UpsertMCPServers
#
POST
/textql.rpc.public.metrics_export.MetricsExportService/DeleteMetricsExportConfig
DeleteMetricsExportConfig
#
POST
/textql.rpc.public.metrics_export.MetricsExportService/GetMetricsExportConfig
GetMetricsExportConfig
#
POST
/textql.rpc.public.metrics_export.MetricsExportService/TestMetricsExportConnection
TestMetricsExportConnection
#
POST
/textql.rpc.public.metrics_export.MetricsExportService/TriggerMetricsPush
TriggerMetricsPush
#
POST
/textql.rpc.public.observe.ObservabilityService/ActivateCustomTopic
ActivateCustomTopic
#
POST
/textql.rpc.public.observe.ObservabilityService/BackfillCustomTopic
BackfillCustomTopic
#
POST
/textql.rpc.public.observe.ObservabilityService/BackfillThreadWarnings
BackfillThreadWarnings
#
POST
/textql.rpc.public.observe.ObservabilityService/CreateCustomTopic
Custom topics
#
POST
/textql.rpc.public.observe.ObservabilityService/DeactivateCustomTopic
DeactivateCustomTopic
#
POST
/textql.rpc.public.observe.ObservabilityService/DeleteCustomTopic
DeleteCustomTopic
#
POST
/textql.rpc.public.observe.ObservabilityService/ExportObservabilityCsv
ExportObservabilityCsv
#
POST
/textql.rpc.public.observe.ObservabilityService/FixCheckRecord
FixCheckRecord
#
POST
/textql.rpc.public.observe.ObservabilityService/FixWarning
FixWarning
#
POST
/textql.rpc.public.observe.ObservabilityService/GetAccessMethodStats
GetAccessMethodStats
#
POST
/textql.rpc.public.observe.ObservabilityService/GetActivePeopleStats
GetActivePeopleStats
#
POST
/textql.rpc.public.observe.ObservabilityService/GetActivePeopleTrend
GetActivePeopleTrend
#
POST
/textql.rpc.public.observe.ObservabilityService/GetBackfillPreview
GetBackfillPreview
#
POST
/textql.rpc.public.observe.ObservabilityService/GetBackfillStatus
GetBackfillStatus
#
POST
/textql.rpc.public.observe.ObservabilityService/GetBillingStats
GetBillingStats
#
POST
/textql.rpc.public.observe.ObservabilityService/GetChatSourceStats
GetChatSourceStats
#
POST
/textql.rpc.public.observe.ObservabilityService/GetChatTopics
GetChatTopics
#
POST
/textql.rpc.public.observe.ObservabilityService/GetCheckRecordFix
GetCheckRecordFix
#
POST
/textql.rpc.public.observe.ObservabilityService/GetCustomTopic
GetCustomTopic
#
POST
/textql.rpc.public.observe.ObservabilityService/GetCustomTopicPeople
GetCustomTopicPeople
#
POST
/textql.rpc.public.observe.ObservabilityService/GetCustomTopicThreads
GetCustomTopicThreads
#
POST
/textql.rpc.public.observe.ObservabilityService/GetEngagementSpectrum
GetEngagementSpectrum
#
POST
/textql.rpc.public.observe.ObservabilityService/GetMemberActivity
GetMemberActivity
#
POST
/textql.rpc.public.observe.ObservabilityService/GetMemberSignalTrend
GetMemberSignalTrend
#
POST
/textql.rpc.public.observe.ObservabilityService/GetObservabilityStats
GetObservabilityStats
#
POST
/textql.rpc.public.observe.ObservabilityService/GetThreadWarnings
GetThreadWarnings
#
POST
/textql.rpc.public.observe.ObservabilityService/ListCustomTopics
ListCustomTopics
#
POST
/textql.rpc.public.observe.ObservabilityService/RefineTopicDraft
RefineTopicDraft
#
POST
/textql.rpc.public.observe.ObservabilityService/SetTopicTagFeedback
SetTopicTagFeedback
#
POST
/textql.rpc.public.observe.ObservabilityService/UpdateCustomTopic
UpdateCustomTopic
#
POST
/textql.rpc.public.patches.OntologyManagementService/AddOntologySubmodule
AddOntologySubmodule
#
POST
/textql.rpc.public.patches.OntologyManagementService/ApprovePatch
ApprovePatch
#
POST
/textql.rpc.public.patches.OntologyManagementService/CreateApprovalRule
CreateApprovalRule
#
POST
/textql.rpc.public.patches.OntologyManagementService/CreateContextPatchAutoApproveRule
CreateContextPatchAutoApproveRule
#
POST
/textql.rpc.public.patches.OntologyManagementService/CreateOntologyDirectory
CreateOntologyDirectory
#
POST
/textql.rpc.public.patches.OntologyManagementService/CreateOntologyFileUploadUrl
Streams how many folders and files a subtree holds, so the UI can report the size of the whole Ontology rather than only the directories it has lazily listed. Counts rise monotonic
#
POST
/textql.rpc.public.patches.OntologyManagementService/DeleteApprovalRule
DeleteApprovalRule
#
POST
/textql.rpc.public.patches.OntologyManagementService/DeleteContextPatchAutoApproveRule
DeleteContextPatchAutoApproveRule
#
POST
/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyDirectory
DeleteOntologyDirectory
#
POST
/textql.rpc.public.patches.OntologyManagementService/DeleteOntologyFile
DeleteOntologyFile
#
POST
/textql.rpc.public.patches.OntologyManagementService/DenyPatch
DenyPatch
#
POST
/textql.rpc.public.patches.OntologyManagementService/ExchangeOntologyGithubCode
ExchangeOntologyGithubCode
#
POST
/textql.rpc.public.patches.OntologyManagementService/FinalizeOntologyFileUpload
FinalizeOntologyFileUpload
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetCodeownerCoverage
GetCodeownerCoverage
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetConfigExportCapabilities
GetConfigExportCapabilities
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetEffectiveOntologyOwners
GetEffectiveOntologyOwners
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetFileUsage
GetFileUsage
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetFileUsageTimeline
GetFileUsageTimeline
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyAnaConfig
GetOntologyAnaConfig
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyFile
GetOntologyFile
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyGithubOAuthURL
GetOntologyGithubOAuthURL
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyHistoryFileDiff
GetOntologyHistoryFileDiff
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyOwners
GetOntologyOwners
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyRemote
GetOntologyRemote
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologySizeTimeline
GetOntologySizeTimeline
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologySyncConflicts
GetOntologySyncConflicts
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetOntologyUsageSummary
GetOntologyUsageSummary
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetPatch
GetPatch
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetPatchByNumber
GetPatchByNumber
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetPatchCapabilities
PlanConfigMigration reports what the lazy config migration WOULD do to this org's objects, and writes nothing. Admin-only, internal: it exists so a release manager can warn the spe
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetRawPatch
GetRawPatch
#
POST
/textql.rpc.public.patches.OntologyManagementService/GetUsageDetailsForFile
GetUsageDetailsForFile
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListApprovalRules
ListApprovalRules
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListChatsForFile
ListChatsForFile
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListContextPatchAutoApproveRules
ListContextPatchAutoApproveRules
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListGoldenFiles
Deprecated: use SetOntologyOwners with the desired entry set. An empty desired set removes every entry and opens the directory.
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListOntologyEntries
ListOntologyEntries
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListOntologyHistory
ListOntologyHistory
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListOntologyImports
ListOntologyImports
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListOntologySubmodules
ListOntologySubmodules
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListOntologySyncRuns
ListOntologySyncRuns
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListPatchObjects
ListPatchObjects parses the config objects present at a patch's git ref and returns each object's Library path, resolved display name, and granular type (e.g. "playbook", "dashboar
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListPatchReviewers
ListPatchReviewers
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListPatches
ListPatches
#
POST
/textql.rpc.public.patches.OntologyManagementService/ListSkills
ListSkills
#
POST
/textql.rpc.public.patches.OntologyManagementService/PlanOntologyMerge
PlanOntologyMerge
#
POST
/textql.rpc.public.patches.OntologyManagementService/PreviewOntologyPullFromRemote
PreviewOntologyPullFromRemote
#
POST
/textql.rpc.public.patches.OntologyManagementService/PullOntologyFromRemote
PullOntologyFromRemote
#
POST
/textql.rpc.public.patches.OntologyManagementService/PushOntologyToRemote
PushOntologyToRemote
#
POST
/textql.rpc.public.patches.OntologyManagementService/RecoverOntology
RecoverOntology
#
POST
/textql.rpc.public.patches.OntologyManagementService/RemoveOntologyRemote
Lists the skills under the ontology's flat skills/ root that the caller can read (OWNERS-filtered). Returns display metadata only — never instruction bodies — feeding the chat comp
#
POST
/textql.rpc.public.patches.OntologyManagementService/RemoveOntologySubmodule
RemoveOntologySubmodule
#
POST
/textql.rpc.public.patches.OntologyManagementService/RenameOntologyFile
RenameOntologyFile
#
POST
/textql.rpc.public.patches.OntologyManagementService/RequestPatchReview
RequestPatchReview
#
POST
/textql.rpc.public.patches.OntologyManagementService/ResolveOntologySyncConflict
TriggerConfigDriftReconcile forces an immediate config-sync catch-up for the caller's org: if the Ontology repo's live HEAD differs from the last reconciled commit, it enqueues a r
#
POST
/textql.rpc.public.patches.OntologyManagementService/RestorePatch
RestorePatch
#
POST
/textql.rpc.public.patches.OntologyManagementService/RevertPatch
RevertPatch
#
POST
/textql.rpc.public.patches.OntologyManagementService/SaveAllObjectsAsConfig
SaveAllObjectsAsConfig
#
POST
/textql.rpc.public.patches.OntologyManagementService/SaveObjectAsConfig
SaveObjectAsConfig
#
POST
/textql.rpc.public.patches.OntologyManagementService/SetOntologyFileGolden
Deprecated: use SetOntologyOwners with the complete desired entry set.
#
POST
/textql.rpc.public.patches.OntologyManagementService/SetOntologyOwners
SetOntologyOwners
#
POST
/textql.rpc.public.patches.OntologyManagementService/TriggerConfigDriftReconcile
TriggerConfigDriftReconcile
#
POST
/textql.rpc.public.patches.OntologyManagementService/UpdateApprovalRule
UpdateApprovalRule
#
POST
/textql.rpc.public.patches.OntologyManagementService/UpdateContextPatchAutoApproveRule
UpdateContextPatchAutoApproveRule
#
POST
/textql.rpc.public.patches.OntologyManagementService/UpdateOntologySyncConfig
UpdateOntologySyncConfig
#
POST
/textql.rpc.public.patches.OntologyManagementService/UpsertOntologyAnaConfig
UpsertOntologyAnaConfig
#
Documentation
Specifications
Other Resources
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/textql-public-rpc-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: TextQL API
version: "1.0.0"
description: |
TextQL public API. Generated from protobuf service definitions; internal
endpoints are excluded via google.api.visibility / file_visibility.
servers:
- url: https://app.textql.com/rpc/public
paths:
/textql.rpc.public.agent.AgentService/CreateAgent:
post:
tags:
- AgentService
summary: CreateAgent
operationId: AgentService_CreateAgent
x-speakeasy-group: agents
x-speakeasy-name-override: create
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.CreateAgentRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.CreateAgentResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.create({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.create()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/DeleteAgent:
post:
tags:
- AgentService
summary: DeleteAgent
operationId: AgentService_DeleteAgent
x-speakeasy-group: agents
x-speakeasy-name-override: delete
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.DeleteAgentRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/google.protobuf.Empty'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.delete({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.delete()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/DuplicateAgent:
post:
tags:
- AgentService
summary: DuplicateAgent
operationId: AgentService_DuplicateAgent
x-speakeasy-group: agents
x-speakeasy-name-override: duplicate
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.DuplicateAgentRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.DuplicateAgentResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.duplicate({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.duplicate()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/GetAgent:
post:
tags:
- AgentService
summary: GetAgent
operationId: AgentService_GetAgent
x-speakeasy-group: agents
x-speakeasy-name-override: getAgent
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.getAgent({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.get_agent()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/GetAgentDBSchema:
post:
tags:
- AgentService
summary: GetAgentDBSchema
operationId: AgentService_GetAgentDBSchema
x-speakeasy-group: agents
x-speakeasy-name-override: getDBSchema
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentDBSchemaRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentDBSchemaResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.getDBSchema({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.get_db_schema()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/GetAgentDBTablePreview:
post:
tags:
- AgentService
summary: GetAgentDBTablePreview
operationId: AgentService_GetAgentDBTablePreview
x-speakeasy-group: agents
x-speakeasy-name-override: getDBTablePreview
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentDBTablePreviewRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentDBTablePreviewResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.getDBTablePreview({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.get_db_table_preview()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/GetAgentRun:
post:
tags:
- AgentService
summary: GetAgentRun
operationId: AgentService_GetAgentRun
x-speakeasy-group: agents
x-speakeasy-name-override: getRun
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentRunRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.GetAgentRunResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.getRun({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.get_run()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/ListAgentRuns:
post:
tags:
- AgentService
summary: ListAgentRuns
operationId: AgentService_ListAgentRuns
x-speakeasy-group: agents
x-speakeasy-name-override: listRuns
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.ListAgentRunsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.ListAgentRunsResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.listRuns({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.list_runs()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/ListAgents:
post:
tags:
- AgentService
summary: ListAgents
operationId: AgentService_ListAgents
x-speakeasy-group: agents
x-speakeasy-name-override: list
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.ListAgentsRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.ListAgentsResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.list({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.list()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/ResetAgentAvatar:
post:
tags:
- AgentService
summary: ResetAgentAvatar
operationId: AgentService_ResetAgentAvatar
x-speakeasy-group: agents
x-speakeasy-name-override: resetAgentAvatar
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.ResetAgentAvatarRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.ResetAgentAvatarResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.resetAgentAvatar({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.reset_agent_avatar()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/TriggerAgent:
post:
tags:
- AgentService
summary: TriggerAgent
operationId: AgentService_TriggerAgent
x-speakeasy-group: agents
x-speakeasy-name-override: triggerAgent
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.TriggerAgentRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.TriggerAgentResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.triggerAgent({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.trigger_agent()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/UpdateAgent:
post:
tags:
- AgentService
summary: UpdateAgent
operationId: AgentService_UpdateAgent
x-speakeasy-group: agents
x-speakeasy-name-override: update
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.UpdateAgentRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.UpdateAgentResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.update({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.update()
# Handle response
print(res)
/textql.rpc.public.agent.AgentService/UploadAgentAvatar:
post:
tags:
- AgentService
summary: UploadAgentAvatar
operationId: AgentService_UploadAgentAvatar
x-speakeasy-group: agents
x-speakeasy-name-override: uploadAgentAvatar
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.UploadAgentAvatarRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.agent.UploadAgentAvatarResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.agents.uploadAgentAvatar({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.agents.upload_agent_avatar()
# Handle response
print(res)
/textql.rpc.public.app.AppService/AppHeartbeat:
post:
tags:
- AppService
summary: AppHeartbeat
operationId: AppService_AppHeartbeat
x-speakeasy-group: apps
x-speakeasy-name-override: heartbeat
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.app.AppHeartbeatRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/google.protobuf.Empty'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.apps.heartbeat({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.apps.heartbeat()
# Handle response
print(res)
/textql.rpc.public.app.AppService/CreateApp:
post:
tags:
- AppService
summary: CreateApp
operationId: AppService_CreateApp
x-speakeasy-group: apps
x-speakeasy-name-override: createApp
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.app.CreateAppRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.app.CreateAppResponse'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.apps.createApp({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.apps.create_app()
# Handle response
print(res)
/textql.rpc.public.app.AppService/DeleteApp:
post:
tags:
- AppService
summary: DeleteApp
operationId: AppService_DeleteApp
x-speakeasy-group: apps
x-speakeasy-name-override: deleteApp
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/textql.rpc.public.app.DeleteAppRequest'
required: true
responses:
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/google.protobuf.Empty'
x-codeSamples:
- lang: typescript
label: TypeScript (SDK)
source: |-
import { Textql } from "@textql/sdk";
const textql = new Textql({
apiKey: process.env["TEXTQL_API_KEY"] ?? "",
});
async function run() {
const result = await textql.apps.deleteApp({
body: {},
});
console.log(result);
}
run();
- lang: python
label: Python (SDK)
source: |-
import os
from textql_sdk import Textql
with Textql(
api_key=os.getenv("TEXTQL_API_KEY", ""),
) as textql:
res = textql.apps.delete_app()
# Handle response
print(res)
/textql.rpc.public.app.AppService/DuplicateApp:
post:
tags:
- AppService
summary: Duplicates an app the caller can view into a new app they own, named "Copy of <name>". Copies code/files/data sources/compute functions/ schedule; never carries over the source's data snapshot.
description: |-
Duplicates an app the caller can view into a new app they own,
name
# --- truncated at 32 KB (1580 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/textql/refs/heads/main/openapi/textql-platform-api-openapi.yml