TextQL App Service API

AppService manages data apps: the generative app execution primitive. An app is agent-authored single-file HTML/JS/CSS executing in a CSP sandbox, fed a snapshot of its declared data sources. First-class resource, not a dashboard.

Operations 24

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /textql.rpc.public.app.AppService/AppHeartbeat Keep a viewed app's compute worker alive · AppHeartbeat #
Ask an LLM
“How do I keep a data app's compute worker warm while someone is viewing it?”
“Does an app's worker shut down if no heartbeat is sent?”
Tell an agent
Send a keep-alive heartbeat for app {appId}.
Keep the compute worker for {appId} running.
POST /textql.rpc.public.app.AppService/CreateApp Create a new data app · CreateApp #
Ask an LLM
“How do I build a new data app in TextQL from code and data sources?”
“Can a new app include compute functions and its own app database setup?”
Tell an agent
Create an app named {name} with code {code}.
Make a new app {name} described as {description} using data sources {dataSources}.
POST /textql.rpc.public.app.AppService/DeleteApp Delete a data app · DeleteApp #
Ask an LLM
“How do I permanently remove an app I no longer need?”
“Can I delete a data app someone else created?”
Tell an agent destructive · confirm first
Delete app {appId}.
Remove the data app with id {appId} from the library.
POST /textql.rpc.public.app.AppService/DuplicateApp Duplicate an app into a copy I own · Duplicates an app the caller can view into a new app they own, named "Copy of ". #
Ask an LLM
“Can I make my own copy of an app someone shared with me?”
“Does duplicating an app copy its data snapshot too?”
Tell an agent
Duplicate app {appId} into a copy I own.
Make a Copy of app {appId} with its code, files and schedule.
POST /textql.rpc.public.app.AppService/GetApp Get a data app's details · GetApp #
Ask an LLM
“How do I look up the code and settings of a specific app?”
“What data sources and compute functions does an app declare?”
Tell an agent
Get app {appId}.
Show the definition and settings of data app {appId}.
POST /textql.rpc.public.app.AppService/GetAppDBSchema Get the schema of an app's database · Replaces the calling member's entire ordering; capped server-side #
Ask an LLM
“Which tables and columns does my app's built-in database have?”
“Can I inspect an app database schema before querying it?”
Tell an agent
Show the app database schema for {appId}.
Describe the tables in the database behind app {appId}.
POST /textql.rpc.public.app.AppService/GetAppDBTablePreview Preview rows in an app database table · View analytics: reads the engagement views recorded on app page load #
Ask an LLM
“Can I peek at the first rows of a table in my app's database?”
“How many rows can an app table preview return?”
Tell an agent
Preview table {tableName} in app {appId}.
Show the first {limit} rows of {tableName} from app {appId}'s database.
POST /textql.rpc.public.app.AppService/GetAppMemberState Read my saved per-member state for an app · Per-member notification subscription to an app ("watch this app") #
Ask an LLM
“Does an app remember my own settings, and how do I read them back?”
“Where is my per-user state for a data app stored?”
Tell an agent
Get my member state for app {appId}.
Load the values app {appId} saved for me.
POST /textql.rpc.public.app.AppService/GetAppVersion Get one saved version of an app · Overwrites the published tree's pinned _runtime/ana-1.js with the platform's… #
Ask an LLM
“Can I look at what an app looked like at an earlier version?”
“How do I fetch a past app version by number or commit?”
Tell an agent
Get version {versionNumber} of app {appId}.
Show app {appId} as of commit {commitId}.
POST /textql.rpc.public.app.AppService/GetAppViewStats Get view analytics for an app · Keeps the viewed app's compute worker alive; first view spawns and pre-warms it… #
Ask an LLM
“How many people have viewed my data app?”
“Is there engagement data for when an app page was loaded?”
Tell an agent
Show view stats for app {appId}.
Report how often app {appId} has been opened.
POST /textql.rpc.public.app.AppService/GetMembersWithApps List members who have created apps · GetMembersWithApps #
Ask an LLM
“Which people in my organization have built apps?”
“Can I see app authors so I can filter the library by creator?”
Tell an agent
List members who own apps.
Show app authors in my org, timing out after {timeout_ms} ms.
POST /textql.rpc.public.app.AppService/InvokeAppComputeFunction Run an app's compute function · InvokeAppComputeFunction #
Ask an LLM
“How do I call a compute function an app declared?”
“Are app compute function calls rate-limited?”
Tell an agent
Invoke compute function {functionName} on app {appId}.
Run {functionName} in app {appId} with parameters {paramsJson}.
POST /textql.rpc.public.app.AppService/ListAppActivitySince List app activity after a sequence point · Favorite/unfavorite a library item (app or dashboard) for the calling member. #
Ask an LLM
“What activity has happened in an app since I last checked?”
“Can I poll an app's activity feed from a known sequence number?”
Tell an agent
List activity on app {appId} after sequence {afterSeq}.
Fetch up to {limit} new activity events in scope {scope} for app {appId}.
POST /textql.rpc.public.app.AppService/ListAppVersions List an app's version history · Re-fetches data sources, rebuilds the document with a fresh snapshot, re-uploads #
Ask an LLM
“How many saved versions does my app have?”
“Can I page through an app's version history?”
Tell an agent
List versions of app {appId}.
Show {limit} versions of app {appId} starting at offset {offset}.
POST /textql.rpc.public.app.AppService/ListApps List and search data apps · ListApps #
Ask an LLM
“Which apps are in my TextQL library?”
“Can I search apps by name or only see the ones shared with me?”
Tell an agent
Search apps for {searchTerm}.
List the apps in folder {folderId}.
POST /textql.rpc.public.app.AppService/ListMyAppMemberActivity List my own activity in an app · Watcher management: app owners/editors and org admins list the app's… #
Ask an LLM
“What actions have I taken inside a particular app?”
“Can I filter my app activity by type?”
Tell an agent
List my activity in app {appId}.
Show my last {limit} {type} events in app {appId}.
POST /textql.rpc.public.app.AppService/MoveAppToFolder Move an app into a library folder · MoveAppToFolder #
Ask an LLM
“How do I organize an app into a folder in the library?”
“Can I move an app back to the library root?”
Tell an agent
Move app {appId} into folder {folderId}.
Move app {appId} to the library root.
POST /textql.rpc.public.app.AppService/PresenceHeartbeat Report that I'm present in an app · Ordering overlay for the sidebar Bookmarks section: one position list per… #
Ask an LLM
“How does an app show who else is looking at it right now?”
“Can I report presence in a specific zone of an app?”
Tell an agent
Send a presence heartbeat for app {appId}.
Mark me present in zone {zone} of app {appId}.
POST /textql.rpc.public.app.AppService/RecordAppMemberActivity Record an activity event in an app · RecordAppMemberActivity #
Ask an LLM
“How do I log a user action from inside a data app?”
“Can I avoid recording the same app activity twice with an idempotency key?”
Tell an agent
Record a {type} activity in app {appId} with payload {payloadJson}.
Log activity on app {appId} using idempotency key {idemKey}.
POST /textql.rpc.public.app.AppService/RefreshApp Refresh an app's data snapshot · Moves an app into a library folder (or to root when folder_id is empty) #
Ask an LLM
“How do I make an app re-fetch its data sources?”
“Can I rebuild an app with a fresh data snapshot on demand?”
Tell an agent
Refresh app {appId}.
Re-pull the data behind app {appId} and rebuild it.
POST /textql.rpc.public.app.AppService/RestoreAppVersion Restore an app to an earlier version · Version history: git-backed, one version per save (plus legacy publish-era… #
Ask an LLM
“Can I roll my app back to a previous version?”
“How do I undo a bad save by restoring an older app version?”
Tell an agent
Restore app {appId} to version {versionNumber}.
Roll app {appId} back to commit {commitId}.
POST /textql.rpc.public.app.AppService/SetAppMemberState Save my per-member state for an app · SetAppMemberState #
Ask an LLM
“How does an app persist settings for just me?”
“Can I store a JSON value as my personal state in an app?”
Tell an agent
Save my state {valueJson} for app {appId}.
Overwrite my stored member state in app {appId}.
POST /textql.rpc.public.app.AppService/SetFavorite Favorite or unfavorite an app or dashboard · Executes a declared compute function on a pooled sandbox worker; gated… #
Ask an LLM
“How do I pin an app or dashboard to my favorites?”
“Can I remove a library item from my favorites?”
Tell an agent
Favorite {primitiveType} {primitiveId}.
Set favorited to {favorited} on library item {primitiveId}.
POST /textql.rpc.public.app.AppService/UpdateApp Update a data app · UpdateApp #
Ask an LLM
“How do I change an existing app's code or description?”
“Can I put an app on a cron schedule so its data refreshes automatically?”
Tell an agent
Update app {appId} with new code {code}.
Schedule app {appId} to refresh on cron {cronString}.

Documentation

Specifications

Other Resources

Work with this as data

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:textql-appservice-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

textql-appservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: TextQL App Service 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
security:
- apiKey: []
tags:


# --- truncated at 32 KB (89 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/textql/refs/heads/main/openapi/textql-appservice-api-openapi.yml