# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Appwrite Tables DB API version: 1.0.0 extends: openapi/appwrite-tablesdb-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 80 - target: $.paths['/tablesdb'].get update: x-apievangelist-phrasing: intent: List TablesDB databases in a project effect: read questions: - Which TablesDB databases exist in my Appwrite project? - Can I search my TablesDB databases by name? instructions: - text: List all TablesDB databases in this project. - text: Search my TablesDB databases for {search}. slots: search: query.search method: generated generated: '2026-09-26' - target: $.paths['/tablesdb'].post update: x-apievangelist-phrasing: intent: Create a TablesDB database effect: write questions: - How do I create a new TablesDB database? - Can I pick a dedicated specification and replica count when creating a TablesDB database? instructions: - text: Create a TablesDB database named {name} with ID {databaseId}. slots: name: requestBody.name databaseId: requestBody.databaseId - text: Create TablesDB database {databaseId} called {name} on specification {specification} with {replicas} replicas. slots: databaseId: requestBody.databaseId name: requestBody.name specification: requestBody.specification replicas: requestBody.replicas method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/specifications'].get update: x-apievangelist-phrasing: intent: List dedicated TablesDB compute specifications effect: read questions: - What dedicated database sizes can I use for TablesDB on my current plan? - What do the TablesDB dedicated specifications cost, including overage rates? instructions: - text: Show the dedicated TablesDB specifications available on my plan with their prices. - text: List TablesDB compute specifications and which ones are enabled for my organization. method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/transactions'].get update: x-apievangelist-phrasing: intent: List TablesDB transactions effect: read questions: - Which transactions are currently open across my TablesDB databases? - Can I see all TablesDB transactions in one list? instructions: - text: List all TablesDB transactions across my databases. - text: List TablesDB transactions matching {queries}. slots: queries: query.queries method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/transactions'].post update: x-apievangelist-phrasing: intent: Start a TablesDB transaction effect: write questions: - How do I start a transaction so several row changes apply together in TablesDB? - Can I set how long a TablesDB transaction stays open before it expires? instructions: - text: Start a new TablesDB transaction. - text: Open a TablesDB transaction with a time-to-live of {ttl} seconds. slots: ttl: requestBody.ttl method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/transactions/{transactionId}'].get update: x-apievangelist-phrasing: intent: Get a TablesDB transaction effect: read questions: - What state is a specific TablesDB transaction in? - Can I look up one TablesDB transaction by its ID? instructions: - text: Get TablesDB transaction {transactionId}. slots: transactionId: path.transactionId - text: Show me the details of transaction {transactionId}. slots: transactionId: path.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/transactions/{transactionId}'].delete update: x-apievangelist-phrasing: intent: Delete a TablesDB transaction effect: destructive questions: - How do I delete a TablesDB transaction I no longer need? - Can I remove an abandoned transaction record from TablesDB? instructions: - text: Delete TablesDB transaction {transactionId}. slots: transactionId: path.transactionId - text: Remove the transaction {transactionId} entirely. slots: transactionId: path.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/transactions/{transactionId}'].patch update: x-apievangelist-phrasing: intent: Commit or roll back a TablesDB transaction effect: write questions: - How do I commit a TablesDB transaction once all its operations are staged? - Can I roll back a TablesDB transaction instead of committing it? instructions: - text: Commit transaction {transactionId}. slots: transactionId: path.transactionId - text: Roll back transaction {transactionId} and discard its staged changes. slots: transactionId: path.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/transactions/{transactionId}/operations'].post update: x-apievangelist-phrasing: intent: Stage multiple operations in a transaction effect: write questions: - Can I add a batch of row operations to an open TablesDB transaction in one call? - What is the way to stage several creates and updates inside one transaction? instructions: - text: 'Stage these operations in transaction {transactionId}: {operations}.' slots: transactionId: path.transactionId operations: requestBody.operations - text: Add a batch of operations to transaction {transactionId}. slots: transactionId: path.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}'].get update: x-apievangelist-phrasing: intent: Get a TablesDB database's metadata effect: read questions: - What are the settings of one TablesDB database? - Can I fetch a single TablesDB database's metadata by ID? instructions: - text: Get TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Show the metadata for database {databaseId}. slots: databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}'].put update: x-apievangelist-phrasing: intent: Update a TablesDB database effect: write questions: - How do I rename a TablesDB database or disable it? - Can I change the replica count or specification of an existing TablesDB database? instructions: - text: Rename TablesDB database {databaseId} to {name}. slots: databaseId: path.databaseId name: requestBody.name - text: Move database {databaseId} to specification {specification} with {replicas} replicas. slots: databaseId: path.databaseId specification: requestBody.specification replicas: requestBody.replicas method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}'].delete update: x-apievangelist-phrasing: intent: Delete a TablesDB database effect: destructive questions: - How do I delete a whole TablesDB database? - What API key scope is needed to delete a TablesDB database? instructions: - text: Delete TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Permanently remove the database {databaseId} and everything in it. slots: databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/failovers'].post update: x-apievangelist-phrasing: intent: Fail over a dedicated TablesDB database effect: write questions: - How do I promote a replica to primary on a highly available TablesDB database? - Can I choose which replica becomes primary during a TablesDB failover? instructions: - text: Trigger a manual failover on TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Fail over TablesDB database {databaseId} and promote replica {targetReplicaId}. slots: databaseId: path.databaseId targetReplicaId: requestBody.targetReplicaId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/migrations'].get update: x-apievangelist-phrasing: intent: List dedicated migrations for a TablesDB database effect: read questions: - Is a dedicated migration currently in flight for my TablesDB database? - Where can I see the migrations that moved a TablesDB database to dedicated compute? instructions: - text: List the dedicated migrations for TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Show migration history for database {databaseId}. slots: databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/migrations'].post update: x-apievangelist-phrasing: intent: Migrate a TablesDB database to dedicated compute effect: write questions: - How do I move a serverless TablesDB database onto dedicated MySQL compute? - Can I make the dedicated migration wait for me before cutting over? instructions: - text: Migrate TablesDB database {databaseId} to dedicated specification {specification}. slots: databaseId: path.databaseId specification: requestBody.specification - text: Start a dedicated migration of {databaseId} onto {specification} with automatic cutover set to {autoCutover}. slots: databaseId: path.databaseId specification: requestBody.specification autoCutover: requestBody.autoCutover method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/migrations/{migrationId}'].get update: x-apievangelist-phrasing: intent: Get a TablesDB dedicated migration effect: read questions: - What stage is my TablesDB dedicated migration at? - Is my TablesDB migration ready to cut over yet? instructions: - text: Get migration {migrationId} for TablesDB database {databaseId}. slots: migrationId: path.migrationId databaseId: path.databaseId - text: Check the status of dedicated migration {migrationId} on {databaseId}. slots: migrationId: path.migrationId databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/migrations/{migrationId}'].delete update: x-apievangelist-phrasing: intent: Abort a TablesDB dedicated migration effect: destructive questions: - Can I abort a TablesDB dedicated migration before it cuts over? - What happens if I try to cancel a TablesDB migration after cutover? instructions: - text: Abort migration {migrationId} on TablesDB database {databaseId}. slots: migrationId: path.migrationId databaseId: path.databaseId - text: Cancel the in-flight dedicated migration {migrationId} for {databaseId}. slots: migrationId: path.migrationId databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/migrations/{migrationId}/cutovers'].post update: x-apievangelist-phrasing: intent: Cut a verified TablesDB migration over effect: write questions: - How do I finish a TablesDB migration that is parked at ready to cutover? - Can I retry a TablesDB cutover that failed its checks? instructions: - text: Cut migration {migrationId} on database {databaseId} over to its dedicated compute. slots: migrationId: path.migrationId databaseId: path.databaseId - text: Retry the cutover for TablesDB migration {migrationId} on {databaseId}. slots: migrationId: path.migrationId databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/operations'].get update: x-apievangelist-phrasing: intent: List lifecycle operations on a TablesDB database effect: read questions: - What provision, backup and replication actions have run on my dedicated TablesDB database? - Can I filter a TablesDB database's lifecycle operations by status? instructions: - text: List lifecycle operations for TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Show the last {limit} operations on {databaseId} with status {status}. slots: limit: query.limit databaseId: path.databaseId status: query.status method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/replicas'].get update: x-apievangelist-phrasing: intent: Get TablesDB replica and HA status effect: read questions: - How far behind are the replicas of my TablesDB database? - What sync mode is my TablesDB high availability using? instructions: - text: Get replica status for TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Show replication lag for {databaseId}. slots: databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/status'].get update: x-apievangelist-phrasing: intent: Get health of a dedicated TablesDB database effect: read questions: - Is my dedicated TablesDB database healthy and ready right now? - Where can I see uptime and connection info for a TablesDB database? instructions: - text: Check the health of TablesDB database {databaseId}. slots: databaseId: path.databaseId - text: Get uptime, readiness and volume info for {databaseId}. slots: databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables'].get update: x-apievangelist-phrasing: intent: List tables in a database effect: read questions: - Which tables are in my TablesDB database? - Can I search a database's tables by name? instructions: - text: List the tables in database {databaseId}. slots: databaseId: path.databaseId - text: Search tables in {databaseId} for {search}. slots: databaseId: path.databaseId search: query.search method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables'].post update: x-apievangelist-phrasing: intent: Create a table effect: write questions: - How do I create a new table in a TablesDB database? - Can I define columns and indexes at the same time as creating the table? instructions: - text: Create a table named {name} with ID {tableId} in database {databaseId}. slots: name: requestBody.name tableId: requestBody.tableId databaseId: path.databaseId - text: Create table {tableId} called {name} in {databaseId} with row-level security set to {rowSecurity}. slots: tableId: requestBody.tableId name: requestBody.name databaseId: path.databaseId rowSecurity: requestBody.rowSecurity method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}'].get update: x-apievangelist-phrasing: intent: Get a table's metadata effect: read questions: - What are the settings and permissions of a specific table? - Can I fetch one table's metadata by its ID? instructions: - text: Get table {tableId} in database {databaseId}. slots: tableId: path.tableId databaseId: path.databaseId - text: Show the metadata for table {tableId}. slots: tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}'].put update: x-apievangelist-phrasing: intent: Update a table's settings effect: write questions: - How do I rename a table or change its permissions? - Can I turn row-level security on for an existing table? instructions: - text: Rename table {tableId} in {databaseId} to {name}. slots: tableId: path.tableId databaseId: path.databaseId name: requestBody.name - text: Disable table {tableId} in {databaseId} by setting enabled to {enabled}. slots: tableId: path.tableId databaseId: path.databaseId enabled: requestBody.enabled method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}'].delete update: x-apievangelist-phrasing: intent: Delete a table effect: destructive questions: - How do I delete a table from a TablesDB database? - Who is allowed to delete a table? instructions: - text: Delete table {tableId} from database {databaseId}. slots: tableId: path.tableId databaseId: path.databaseId - text: Drop the table {tableId} in {databaseId}. slots: tableId: path.tableId databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns'].get update: x-apievangelist-phrasing: intent: List a table's columns effect: read questions: - What columns does my table have? - Can I get the full schema of a table's columns? instructions: - text: List the columns of table {tableId} in {databaseId}. slots: tableId: path.tableId databaseId: path.databaseId - text: Show every column defined on table {tableId}. slots: tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/bigint'].post update: x-apievangelist-phrasing: intent: Add a bigint column to a table effect: write questions: - How do I add a bigint column for very large whole numbers? - Can a new bigint column have minimum and maximum values? instructions: - text: Add a bigint column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add required bigint column {key} to {tableId} with range {min} to {max}. slots: key: requestBody.key tableId: path.tableId min: requestBody.min max: requestBody.max method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/bigint/{key}'].patch update: x-apievangelist-phrasing: intent: Change a bigint column effect: write questions: - Can I change the min and max of an existing bigint column? - Does changing a bigint column's default update rows I already have? instructions: - text: Set the default of bigint column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename bigint column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/boolean'].post update: x-apievangelist-phrasing: intent: Add a boolean column to a table effect: write questions: - How do I add a true/false column to a table? - Can a new boolean column store an array of values? instructions: - text: Add a boolean column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add boolean column {key} to {tableId} defaulting to {default}. slots: key: requestBody.key tableId: path.tableId default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/boolean/{key}'].patch update: x-apievangelist-phrasing: intent: Change a boolean column effect: write questions: - Can I change the default of an existing true/false column? - Is it possible to rename a boolean column after creating it? instructions: - text: Set boolean column {key} on table {tableId} in {databaseId} to default {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename boolean column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/datetime'].post update: x-apievangelist-phrasing: intent: Add a datetime column to a table effect: write questions: - How do I add an ISO 8601 date and time column to a table? - Can a new datetime column have a default timestamp? instructions: - text: Add a datetime column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add required datetime column {key} to {tableId} with required set to {required}. slots: key: requestBody.key tableId: path.tableId required: requestBody.required method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/datetime/{key}'].patch update: x-apievangelist-phrasing: intent: Change a datetime column effect: write questions: - Can I change the default date on an existing datetime column? - Is it possible to make an existing datetime column optional? instructions: - text: Set the default of datetime column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename datetime column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/email'].post update: x-apievangelist-phrasing: intent: Add an email column to a table effect: write questions: - How do I add a column that only accepts email addresses? - Can a new email column hold a list of addresses? instructions: - text: Add an email column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add email array column {key} to {tableId} with array set to {array}. slots: key: requestBody.key tableId: path.tableId array: requestBody.array method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/email/{key}'].patch update: x-apievangelist-phrasing: intent: Change an email column effect: write questions: - Can I change the default address on an existing email column? - Is it possible to rename an email column in a table? instructions: - text: Set the default of email column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename email column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/enum'].post update: x-apievangelist-phrasing: intent: Add an enum column to a table effect: write questions: - How do I add a column that only accepts a fixed list of values? - Can I set a default for a new enumeration column? instructions: - text: Add an enum column {key} to table {tableId} in {databaseId} allowing {elements}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId elements: requestBody.elements - text: Add enum column {key} to {tableId} with values {elements} defaulting to {default}. slots: key: requestBody.key tableId: path.tableId elements: requestBody.elements default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/enum/{key}'].patch update: x-apievangelist-phrasing: intent: Change an enum column's allowed values effect: write questions: - Can I add new allowed values to an existing enum column? - Does changing an enum column's default affect existing rows? instructions: - text: Set the allowed values of enum column {key} on table {tableId} in {databaseId} to {elements}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId elements: requestBody.elements - text: Rename enum column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/float'].post update: x-apievangelist-phrasing: intent: Add a float column to a table effect: write questions: - How do I add a decimal number column to a table? - Can a new float column enforce a minimum and maximum? instructions: - text: Add a float column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add float column {key} to {tableId} limited to {min} through {max}. slots: key: requestBody.key tableId: path.tableId min: requestBody.min max: requestBody.max method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/float/{key}'].patch update: x-apievangelist-phrasing: intent: Change a float column effect: write questions: - Can I change the allowed range of an existing float column? - Is it possible to change the default value of a decimal column? instructions: - text: Set the default of float column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename float column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/integer'].post update: x-apievangelist-phrasing: intent: Add an integer column to a table effect: write questions: - How do I add a whole-number integer column to a table? - Can I give a new integer column a default value? instructions: - text: Add an integer column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add integer column {key} to {tableId} between {min} and {max}, defaulting to {default}. slots: key: requestBody.key tableId: path.tableId min: requestBody.min max: requestBody.max default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/integer/{key}'].patch update: x-apievangelist-phrasing: intent: Change an integer column effect: write questions: - Can I change the min and max of an existing integer column? - Does a new default on an integer column backfill existing rows? instructions: - text: Set the default of integer column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename integer column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/ip'].post update: x-apievangelist-phrasing: intent: Add an IP address column to a table effect: write questions: - How do I add a column that stores IP addresses? - Can an IP address column hold multiple addresses per row? instructions: - text: Add an IP address column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add IP column {key} to {tableId} with default {default}. slots: key: requestBody.key tableId: path.tableId default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/ip/{key}'].patch update: x-apievangelist-phrasing: intent: Change an IP address column effect: write questions: - Can I change the default on an existing IP address column? - Is it possible to rename an IP address column? instructions: - text: Set the default of IP column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename IP address column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/line'].post update: x-apievangelist-phrasing: intent: Add a geometric line column to a table effect: write questions: - How do I store a geographic line or route in a table column? - Can a new line column have a default geometry? instructions: - text: Add a line column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add line geometry column {key} to {tableId} with required set to {required}. slots: key: requestBody.key tableId: path.tableId required: requestBody.required method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/line/{key}'].patch update: x-apievangelist-phrasing: intent: Change a geometric line column effect: write questions: - Can I change the default geometry of an existing line column? - Is it possible to rename a line column? instructions: - text: Update line column {key} on table {tableId} in {databaseId} with required set to {required}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId required: requestBody.required - text: Rename line column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/longtext'].post update: x-apievangelist-phrasing: intent: Add a longtext column to a table effect: write questions: - How do I add a column for very long text like full articles? - Can a new longtext column be encrypted? instructions: - text: Add a longtext column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add encrypted longtext column {key} to {tableId} with encrypt set to {encrypt}. slots: key: requestBody.key tableId: path.tableId encrypt: requestBody.encrypt method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/longtext/{key}'].patch update: x-apievangelist-phrasing: intent: Change a longtext column effect: write questions: - Can I change the default of an existing longtext column? - Is it possible to rename a longtext column? instructions: - text: Set the default of longtext column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename longtext column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/mediumtext'].post update: x-apievangelist-phrasing: intent: Add a mediumtext column to a table effect: write questions: - How do I add a mediumtext column for moderately long text? - Can I encrypt a new mediumtext column? instructions: - text: Add a mediumtext column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add mediumtext column {key} to {tableId} with encrypt set to {encrypt}. slots: key: requestBody.key tableId: path.tableId encrypt: requestBody.encrypt method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/mediumtext/{key}'].patch update: x-apievangelist-phrasing: intent: Change a mediumtext column effect: write questions: - Can I change the default of an existing mediumtext column? - Is it possible to rename a mediumtext column? instructions: - text: Set the default of mediumtext column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename mediumtext column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/point'].post update: x-apievangelist-phrasing: intent: Add a geometric point column to a table effect: write questions: - How do I store a location coordinate as a point column? - Can a new point column have a default location? instructions: - text: Add a point column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add point geometry column {key} to {tableId} defaulting to {default}. slots: key: requestBody.key tableId: path.tableId default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/point/{key}'].patch update: x-apievangelist-phrasing: intent: Change a geometric point column effect: write questions: - Can I change the default location of an existing point column? - Is it possible to rename a point column? instructions: - text: Set the default of point column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename point column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/polygon'].post update: x-apievangelist-phrasing: intent: Add a geometric polygon column to a table effect: write questions: - How do I store an area or boundary shape as a polygon column? - Can a new polygon column be required? instructions: - text: Add a polygon column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add polygon geometry column {key} to {tableId} defaulting to {default}. slots: key: requestBody.key tableId: path.tableId default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/polygon/{key}'].patch update: x-apievangelist-phrasing: intent: Change a geometric polygon column effect: write questions: - Can I change the default shape of an existing polygon column? - Is it possible to rename a polygon column? instructions: - text: Set the default of polygon column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename polygon column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/relationship'].post update: x-apievangelist-phrasing: intent: Relate a table to another table effect: write questions: - How do I link rows in one table to rows in another table? - Can a relationship column be two-way and cascade on delete? instructions: - text: Create a {type} relationship from table {tableId} in {databaseId} to table {relatedTableId}. slots: type: requestBody.type tableId: path.tableId databaseId: path.databaseId relatedTableId: requestBody.relatedTableId - text: Add a two-way relationship column {key} on {tableId} to {relatedTableId} with on-delete {onDelete}. slots: key: requestBody.key tableId: path.tableId relatedTableId: requestBody.relatedTableId onDelete: requestBody.onDelete method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/string'].post update: x-apievangelist-phrasing: intent: Add a string column to a table effect: write questions: - How do I add a string column with a maximum size? - Can a new string column be encrypted at rest? instructions: - text: Add a string column {key} of size {size} to table {tableId} in {databaseId}. slots: key: requestBody.key size: requestBody.size tableId: path.tableId databaseId: path.databaseId - text: Add string column {key} of size {size} to {tableId} defaulting to {default}. slots: key: requestBody.key size: requestBody.size tableId: path.tableId default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/string/{key}'].patch update: x-apievangelist-phrasing: intent: Change a string column effect: write questions: - Can I increase the size of an existing string column? - Is it possible to change a string column's default without touching old rows? instructions: - text: Resize string column {key} on table {tableId} in {databaseId} to {size}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId size: requestBody.size - text: Rename string column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/text'].post update: x-apievangelist-phrasing: intent: Add a text column to a table effect: write questions: - How do I add a text column for paragraphs of content? - Can a new text column be an array? instructions: - text: Add a text column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add text column {key} to {tableId} with required set to {required}. slots: key: requestBody.key tableId: path.tableId required: requestBody.required method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/text/{key}'].patch update: x-apievangelist-phrasing: intent: Change a text column effect: write questions: - Can I change the default of an existing text column? - Is it possible to rename a text column? instructions: - text: Set the default of text column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename text column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/url'].post update: x-apievangelist-phrasing: intent: Add a URL column to a table effect: write questions: - How do I add a column that validates web addresses? - Can a new URL column have a default link? instructions: - text: Add a URL column {key} to table {tableId} in {databaseId}. slots: key: requestBody.key tableId: path.tableId databaseId: path.databaseId - text: Add URL column {key} to {tableId} defaulting to {default}. slots: key: requestBody.key tableId: path.tableId default: requestBody.default method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/url/{key}'].patch update: x-apievangelist-phrasing: intent: Change a URL column effect: write questions: - Can I change the default link on an existing URL column? - Is it possible to rename a URL column? instructions: - text: Set the default of URL column {key} on table {tableId} in {databaseId} to {default}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId default: requestBody.default - text: Rename URL column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/varchar'].post update: x-apievangelist-phrasing: intent: Add a varchar column to a table effect: write questions: - How do I add a varchar column with a fixed maximum length? - Can I encrypt a new varchar column? instructions: - text: Add a varchar column {key} of size {size} to table {tableId} in {databaseId}. slots: key: requestBody.key size: requestBody.size tableId: path.tableId databaseId: path.databaseId - text: Add varchar column {key} of length {size} to {tableId} with encrypt set to {encrypt}. slots: key: requestBody.key size: requestBody.size tableId: path.tableId encrypt: requestBody.encrypt method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/varchar/{key}'].patch update: x-apievangelist-phrasing: intent: Change a varchar column effect: write questions: - Can I change the length of an existing varchar column? - Is it possible to rename a varchar column? instructions: - text: Resize varchar column {key} on table {tableId} in {databaseId} to {size}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId size: requestBody.size - text: Rename varchar column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/{key}'].get update: x-apievangelist-phrasing: intent: Get one column's definition effect: read questions: - What type and default does a specific column have? - Can I look up one column of a table by its key? instructions: - text: Get column {key} of table {tableId} in {databaseId}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId - text: Show the definition of column {key} on {tableId}. slots: key: path.key tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/{key}'].delete update: x-apievangelist-phrasing: intent: Delete a column from a table effect: destructive questions: - How do I remove a column from a table? - Can I drop a column I no longer use? instructions: - text: Delete column {key} from table {tableId} in {databaseId}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId - text: Drop the column {key} on {tableId}. slots: key: path.key tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/columns/{key}/relationship'].patch update: x-apievangelist-phrasing: intent: Change a relationship column effect: write questions: - Can I change what happens to related rows when a row is deleted? - Is it possible to rename an existing relationship column? instructions: - text: Set the on-delete behaviour of relationship {key} on table {tableId} in {databaseId} to {onDelete}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId onDelete: requestBody.onDelete - text: Rename relationship column {key} on {tableId} to {newKey}. slots: key: path.key tableId: path.tableId newKey: requestBody.newKey method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/indexes'].get update: x-apievangelist-phrasing: intent: List a table's indexes effect: read questions: - What indexes exist on my table? - Can I check which columns are already indexed? instructions: - text: List the indexes on table {tableId} in {databaseId}. slots: tableId: path.tableId databaseId: path.databaseId - text: Show every index defined for table {tableId}. slots: tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/indexes'].post update: x-apievangelist-phrasing: intent: Create an index on a table effect: write questions: - How do I speed up queries by indexing columns? - Can I create a unique or fulltext index on a table? instructions: - text: Create a {type} index {key} on columns {columns} of table {tableId} in {databaseId}. slots: type: requestBody.type key: requestBody.key columns: requestBody.columns tableId: path.tableId databaseId: path.databaseId - text: Add a unique index {key} on {columns} in {tableId} with type {type}. slots: key: requestBody.key columns: requestBody.columns tableId: path.tableId type: requestBody.type method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/indexes/{key}'].get update: x-apievangelist-phrasing: intent: Get one index's definition effect: read questions: - Which columns does a specific index cover? - Can I look up an index by its key? instructions: - text: Get index {key} on table {tableId} in {databaseId}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId - text: Show the definition of index {key} for {tableId}. slots: key: path.key tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/indexes/{key}'].delete update: x-apievangelist-phrasing: intent: Delete an index from a table effect: destructive questions: - How do I remove an index I no longer need? - Can I drop an index from a table? instructions: - text: Delete index {key} from table {tableId} in {databaseId}. slots: key: path.key tableId: path.tableId databaseId: path.databaseId - text: Drop the index {key} on {tableId}. slots: key: path.key tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows'].get update: x-apievangelist-phrasing: intent: List rows in a table effect: read questions: - How do I read the rows stored in a table? - Can I filter the rows I get back from a table with queries? instructions: - text: List the rows in table {tableId} in {databaseId}. slots: tableId: path.tableId databaseId: path.databaseId - text: List rows in {tableId} matching {queries}. slots: tableId: path.tableId queries: query.queries method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows'].put update: x-apievangelist-phrasing: intent: Bulk create or update rows effect: write questions: - Can I insert or update many rows in one request? - What happens to rows that already exist when I bulk upsert? instructions: - text: 'Upsert these rows into table {tableId} in {databaseId}: {rows}.' slots: tableId: path.tableId databaseId: path.databaseId rows: requestBody.rows - text: Bulk upsert {rows} into {tableId} as part of transaction {transactionId}. slots: rows: requestBody.rows tableId: path.tableId transactionId: requestBody.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows'].post update: x-apievangelist-phrasing: intent: Create a row in a table effect: write questions: - How do I insert a new row into a table? - Can I set permissions on a row when I create it? instructions: - text: Create row {rowId} in table {tableId} in {databaseId} with data {data}. slots: rowId: requestBody.rowId tableId: path.tableId databaseId: path.databaseId data: requestBody.data - text: Insert a new row {rowId} into {tableId} containing {data} with permissions {permissions}. slots: rowId: requestBody.rowId tableId: path.tableId data: requestBody.data permissions: requestBody.permissions method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows'].delete update: x-apievangelist-phrasing: intent: Bulk delete rows matching queries effect: destructive questions: - Can I delete every row that matches a filter in one call? - What happens if I bulk delete rows without passing any queries? instructions: - text: Delete all rows in table {tableId} in {databaseId} matching {queries}. slots: tableId: path.tableId databaseId: path.databaseId queries: query.queries - text: Empty table {tableId} in {databaseId} by deleting every row. slots: tableId: path.tableId databaseId: path.databaseId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows'].patch update: x-apievangelist-phrasing: intent: Bulk update rows matching queries effect: write questions: - Can I change a field on every row that matches a filter at once? - Which rows get updated if I send no queries in a bulk update? instructions: - text: Set {data} on all rows in table {tableId} in {databaseId} matching {queries}. slots: data: requestBody.data tableId: path.tableId databaseId: path.databaseId queries: requestBody.queries - text: Apply {data} to every row in {tableId}. slots: data: requestBody.data tableId: path.tableId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'].get update: x-apievangelist-phrasing: intent: Get a single row effect: read questions: - How do I fetch one row by its ID? - Can I read a row as it looks inside an uncommitted transaction? instructions: - text: Get row {rowId} from table {tableId} in {databaseId}. slots: rowId: path.rowId tableId: path.tableId databaseId: path.databaseId - text: Read row {rowId} in {tableId} within transaction {transactionId}. slots: rowId: path.rowId tableId: path.tableId transactionId: query.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'].put update: x-apievangelist-phrasing: intent: Create or update one row by ID effect: write questions: - Can I write a row by ID whether or not it already exists? - Is there a single call that inserts a row or replaces it if present? instructions: - text: Upsert row {rowId} in table {tableId} in {databaseId} with {data}. slots: rowId: path.rowId tableId: path.tableId databaseId: path.databaseId data: requestBody.data - text: Create or update row {rowId} in {tableId} with permissions {permissions}. slots: rowId: path.rowId tableId: path.tableId permissions: requestBody.permissions method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'].delete update: x-apievangelist-phrasing: intent: Delete a single row effect: destructive questions: - How do I delete one row by its ID? - Can I stage a single row deletion inside a transaction? instructions: - text: Delete row {rowId} from table {tableId} in {databaseId}. slots: rowId: path.rowId tableId: path.tableId databaseId: path.databaseId - text: Delete row {rowId} in {tableId} as part of transaction {transactionId}. slots: rowId: path.rowId tableId: path.tableId transactionId: query.transactionId method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}'].patch update: x-apievangelist-phrasing: intent: Update fields on a single row effect: write questions: - How do I change a few fields on one existing row? - Can I update a single row's permissions without touching its data? instructions: - text: Update row {rowId} in table {tableId} in {databaseId} with {data}. slots: rowId: path.rowId tableId: path.tableId databaseId: path.databaseId data: requestBody.data - text: Change the permissions on row {rowId} in {tableId} to {permissions}. slots: rowId: path.rowId tableId: path.tableId permissions: requestBody.permissions method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/decrement'].patch update: x-apievangelist-phrasing: intent: Decrement a numeric value in a row effect: write questions: - How do I subtract from a counter stored in a row without reading it first? - Can I stop a decrement from going below a minimum? instructions: - text: Decrement {column} on row {rowId} in table {tableId} in {databaseId} by {value}. slots: column: path.column rowId: path.rowId tableId: path.tableId databaseId: path.databaseId value: requestBody.value - text: Reduce {column} on row {rowId} by {value} but not below {min}. slots: column: path.column rowId: path.rowId value: requestBody.value min: requestBody.min method: generated generated: '2026-09-26' - target: $.paths['/tablesdb/{databaseId}/tables/{tableId}/rows/{rowId}/{column}/increment'].patch update: x-apievangelist-phrasing: intent: Increment a numeric value in a row effect: write questions: - How do I add to a counter stored in a row atomically? - Can I cap an increment at a maximum value? instructions: - text: Increment {column} on row {rowId} in table {tableId} in {databaseId} by {value}. slots: column: path.column rowId: path.rowId tableId: path.tableId databaseId: path.databaseId value: requestBody.value - text: Raise {column} on row {rowId} by {value} but not above {max}. slots: column: path.column rowId: path.rowId value: requestBody.value max: requestBody.max method: generated generated: '2026-09-26'