How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

TextQL v2 API

The REST-native second generation of the TextQL Platform API. Standard HTTP methods, resource IDs in the path, query-parameter filtering and cursor pagination, a plain JSON error envelope, and SSE streaming over text/event-stream. Covers chats with Ana, connectors, playbooks, dashboards, sandcastles (managed Python sandboxes), Ontology changes, members, RBAC roles and platform API keys.

This API exposes 55 operations across 41 paths, organized into 8 resource areas, and defines 63 schemas. It is described by OpenAPI 3.1.0, at version 2.0.

Requests are made against a single base URL, https://app.textql.com.

55 operations 41 paths 63 schemas 7 DELETE22 GET3 PATCH22 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2.0
Base URL
https://app.textql.com/v2
Authentication
HTTP Bearer
Resource Areas
8

Authentication & Security 1

TextQL v2 API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • bearerAuth — API key or JWT token

Paths & Operations 55

Across 41 paths, the API surfaces 55 operations — 7 DELETE, 22 GET, 3 PATCH, 22 POST, 1 PUT. They span 8 resource areas: Chat, Connectors, Playbooks, Sandcastles, Changes, Members, Roles, API Keys. Each is listed below with its method, path, parameters, and response codes.

Chat 8

Create and manage AI chat sessions

GET
/v2/chats
List Chats
v2.listChats 5 params → 200401403429500
POST
/v2/chats
Create Chat
v2.createChat body → 200400401403429500
POST
/v2/chats/stream
Stream Chat
v2.streamChat body → 200400401403429500
GET
/v2/chats/{id}
Get Chat
v2.getChat 1 param → 200401403404429500
GET
/v2/chats/{id}/cells
Get Chat Cells
v2.getChatCells 3 params → 200400401403404429500
GET
/v2/chats/{id}/cells/{cellId}
Get Chat Cell
v2.getChatCell 2 params → 200400401403404429500
POST
/v2/chats/{id}/cancel
Cancel Stream
v2.cancelStream 1 param → 200401403404429500
GET
/v2/models
List Models
v2.listModels → 200401403429500
Connectors 8

List available data connectors

GET
/v2/connectors
List Connectors
v2.listConnectors → 200401403429500
POST
/v2/connectors
Create Connector
v2.createConnector body → 201400401403409429500
GET
/v2/connectors/types
List Connector Types
v2.listConnectorTypes → 200401403429500
POST
/v2/connectors/test
Test Connector
v2.testConnector body → 200400401403404429500
PATCH
/v2/connectors/{id}
Update Connector
v2.updateConnector 1 param body → 200400401403404429500
DELETE
/v2/connectors/{id}
Delete Connector
v2.deleteConnector 1 param → 200400401403404429500
GET
/v2/connectors/{id}/access
Get Connector Access
v2.getConnectorAccess 1 param → 200400401403404429500
PUT
/v2/connectors/{id}/access
Update Connector Access
v2.updateConnectorAccess 1 param body → 200400401403404429500
Playbooks 7

Create, configure, and run automated playbooks

GET
/v2/playbooks
List Playbooks
v2.listPlaybooks 6 params → 200401403429500
POST
/v2/playbooks
Create Playbook
v2.createPlaybook → 201401403429500
GET
/v2/playbooks/{id}
Get Playbook
v2.getPlaybook 3 params → 200401403404429500
PATCH
/v2/playbooks/{id}
Update Playbook
v2.updatePlaybook 1 param body → 200400401403404429500
DELETE
/v2/playbooks/{id}
Delete Playbook
v2.deletePlaybook 1 param → 200401403404429500
POST
/v2/playbooks/{id}/deploy
Deploy Playbook
v2.deployPlaybook 1 param → 200401403404429500
POST
/v2/playbooks/{id}/run
Run Playbook
v2.runPlaybook 1 param body → 200400401403404429500504
Sandcastles 14

Manage Python sandbox environments for code execution

GET
/v2/sandcastles
List Sandcastles
v2.listSandboxes 3 params → 200400401403429500
POST
/v2/sandcastles
Start Sandcastle
v2.startSandbox body → 201401403404429500
GET
/v2/sandcastles/{id}
Get Sandcastle Status
v2.getSandboxStatus 1 param → 200401403404429500
DELETE
/v2/sandcastles/{id}
Stop Sandcastle
v2.stopSandbox 1 param → 200401403404429500
GET
/v2/sandcastles/{id}/executions
List Executions
v2.listSandboxExecutions 3 params → 200400401403404429500
POST
/v2/sandcastles/{id}/execute
Execute Code
v2.executeCode 1 param body → 200400401403404429500
POST
/v2/sandcastles/{id}/query
Load Connector Data
v2.loadConnectorData 1 param body → 200400401403404429500
GET
/v2/sandcastles/{id}/files
List Files
v2.listFiles 2 params → 200400401403404429500
POST
/v2/sandcastles/{id}/files
Upload File
v2.uploadFile 1 param body → 200400401403404429500
GET
/v2/sandcastles/{id}/files/{path}
Download File
v2.downloadFile 2 params → 200400401403404429500
DELETE
/v2/sandcastles/{id}/files/{path}
Delete File
v2.deleteFile 2 params → 200400401403404429500
POST
/v2/sandcastles/{id}/exec
Exec Command
v2.exec 1 param body → 200400401403404429500
GET
/v2/sandcastles/{id}/ontology/diff
Diff Ontology (dry run)
v2.ontologyDiff 1 param → 200401403404429500
POST
/v2/sandcastles/{id}/ontology/changes
Create Ontology Change (writeback)
v2.createOntologyChange 1 param body → 201400401403404409429500
Changes 5

Review, approve, and deny Ontology changes

GET
/v2/changes
List Changes
v2.listChanges 4 params → 200401403429500
GET
/v2/changes/{id}
Get Change
v2.getChange 2 params → 200401403404429500
POST
/v2/changes/{id}/approve
Approve Change
v2.approveChange 1 param body → 200400401403404409429500
POST
/v2/changes/{id}/deny
Deny Change
v2.denyChange 1 param body → 200400401403404409429500
POST
/v2/changes/{id}/restore
Restore Change
v2.restoreChange 1 param body → 200400401403404409429500
Members 6
GET
/v2/members
List Members
v2.listMembers → 200401403429500
POST
/v2/members/invite
Invite Member
v2.inviteMember body → 200400401403429500
DELETE
/v2/members/{id}
Remove Member
v2.deleteMember 2 params → 200400401403429500
GET
/v2/members/{id}/roles
Get Member Roles
v2.getMemberRoles 1 param → 200400401403429500
POST
/v2/members/{id}/roles
Assign Role to Member
v2.assignMemberRole 1 param body → 200400401403429500
DELETE
/v2/members/{id}/roles/{roleId}
Remove Role from Member
v2.removeMemberRole 2 params → 200400401403429500
Roles 3
GET
/v2/roles
List Roles
v2.listRoles → 200401403429500
POST
/v2/roles
Create Role
v2.createRole body → 201400401403429500
PATCH
/v2/roles/{id}
Update Role
v2.updateRole 1 param body → 200400401403404429500
API Keys 4

Mint and revoke scoped platform API keys

POST
/v2/api-keys
Create API Key
v2.createApiKey body → 201400401403429500
GET
/v2/api-keys
List API Keys
v2.listApiKeys 4 params → 200400401403429500
POST
/v2/api-keys/{id}/rotate
Rotate API Key
v2.rotateApiKey 1 param → 200400401403404429500
DELETE
/v2/api-keys/{id}
Revoke API Key
v2.revokeApiKey 1 param → 200400401403404429500

Schemas 63

The contract defines 63 schemas that model the data the API accepts and returns. The most detailed are Change (18 properties), SnowflakeMetadata (17 properties), ChatCell (15 properties), Playbook (10 properties). Each schema is shown below with its type and property counts.

LibraryChangeDiff
object
One changed file in an Ontology change.
9 properties
ChangeCapabilities
object
Actions the calling member may take on a change.
4 properties
Change
object
A reviewable Ontology change.
18 properties
ExpectedGitRefBody
object
1 property 1 required
SuccessResponse
object
1 property
ErrorResponse
object
1 property
Model
object
4 properties 4 required
ListModelsResponse
object
1 property 1 required
ChatRequest
object
5 properties 1 required
ChatResponse
object
6 properties
GetChatResponse
object
3 properties
ChatMessage
object
5 properties
GetChatCellsResponse
object
3 properties
ChatCell
object
15 properties
Asset
object
7 properties
Connector
object
3 properties
ListConnectorTypesResponse
object
1 property 1 required
ConnectorTypeInfo
object
A supported connector type and the shape of its config.
3 properties
ConnectorTypeField
object
One configurable field of a connector type.
4 properties
ConnectorConfig
object
A connector's type, display name, and type-specific connection metadata. Set exactly one metadata field matching connectortype (e.g. connectortype: POSTGRES ⇒…
7 properties 2 required
PostgresMetadata
object
Connection metadata for connectortype: POSTGRES.
7 properties 4 required
SnowflakeMetadata
object
Connection metadata for connectortype: SNOWFLAKE. Authenticate with either username + password, or username + privatekey (key-pair auth, PEM-encoded PKCS8; add…
17 properties 3 required
RedshiftMetadata
object
Connection metadata for connectortype: REDSHIFT.
7 properties 2 required
MySQLMetadata
object
Connection metadata for connectortype: MYSQL.
5 properties 4 required
CreateApiKeyRequest
object
7 properties
PlatformApiKey
object
8 properties
CreateApiKeyResponse
object
2 properties
ListApiKeysResponse
object
2 properties
RotateApiKeyResponse
object
3 properties
Member
object
8 properties
ListMembersResponse
object
1 property
InviteMemberRequest
object
2 properties 1 required
Role
object
7 properties
ListRolesResponse
object
1 property
MemberRolesResponse
object
2 properties
AssignMemberRoleRequest
object
1 property 1 required
CreateRoleRequest
object
2 properties 1 required
UpdateRoleRequest
object
6 properties
CreateConnectorRequest
object
2 properties 1 required
ConnectorAccessGrant
object
One access grant. Set exactly one of memberid, roleid, or groupid. Resolve ids via GET /v2/members and GET /v2/roles.
4 properties 1 required
UpdateConnectorAccessRequest
object
2 properties 1 required
ConnectorAccess
object
2 properties
UpdateConnectorRequest
object
3 properties 1 required
TestConnectorRequest
object
2 properties 1 required
TestConnectorResponse
object
2 properties 1 required
ListChatsResponse
object
2 properties 2 required
ChatSummary
object
9 properties 1 required
ListPlaybooksResponse
object
2 properties
Playbook
object
10 properties
GetPlaybookResponse
object
3 properties
UpdatePlaybookRequest
object
9 properties
Report
object
7 properties
ReportBlock
object
9 properties 1 required
RunPlaybookResponse
object
3 properties
ListSandboxesResponse
object
2 properties 1 required
SandboxSummary
object
6 properties
ListSandboxExecutionsResponse
object
2 properties 1 required
SandboxExecution
object
8 properties
SandboxStatus
object
3 properties
DataframeInfo
object
4 properties
ExecuteCodeResponse
object
5 properties
LoadConnectorDataRequest
object
6 properties 1 required
LoadConnectorDataResponse
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

textql-v2-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of TextQL v2 API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.