# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Microsoft Azure Azure Table API version: 1.0.0 extends: openapi/microsoft-azure-table-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: 11 - target: $.paths['/Tables'].get update: x-apievangelist-phrasing: intent: List the tables in a storage account effect: read questions: - Which tables exist in my Azure Table storage account? - Can I filter the table list by name and cap how many come back? instructions: - text: List all the tables in my storage account. - text: Show the first {top} tables whose names match {filter}. slots: top: query.$top filter: query.$filter - text: Continue listing tables starting from {next_table}. slots: next_table: query.NextTableName method: generated generated: '2026-09-26' - target: $.paths['/Tables'].post update: x-apievangelist-phrasing: intent: Create a new table effect: write questions: - How do I create a new table in my storage account? - Can I make a table and skip echoing its content back in the response? instructions: - text: Create a new table with properties {table_properties}. slots: table_properties: body.tableProperties - text: Create table {table_properties} and return no content ({prefer}). slots: table_properties: body.tableProperties prefer: header.Prefer method: generated generated: '2026-09-26' - target: $.paths['/Tables(\'{table}\')'].delete update: x-apievangelist-phrasing: intent: Permanently delete a table effect: destructive questions: - Can I drop a whole table along with all its entities? - Is deleting a storage table permanent? instructions: - text: Delete table {table} permanently. slots: table: path.table - text: Drop the {table} table from my storage account. slots: table: path.table method: generated generated: '2026-09-26' - target: $.paths['/{table}()'].get update: x-apievangelist-phrasing: intent: Query the entities in a table effect: read questions: - How do I pull rows out of a table that match a filter? - Can I choose which properties come back when I query many entities? - What do I pass to get the next page of entities? instructions: - text: Query table {table} for entities matching {filter}. slots: table: path.table filter: query.$filter - text: Return the first {top} entities from {table}, only the {select} properties. slots: top: query.$top table: path.table select: query.$select - text: Continue reading {table} from partition {next_partition} and row {next_row}. slots: table: path.table next_partition: query.NextPartitionKey next_row: query.NextRowKey method: generated generated: '2026-09-26' - target: $.paths['/{table}(PartitionKey=\'{partitionKey}\',RowKey=\'{rowKey}\')'].get update: x-apievangelist-phrasing: intent: Get one entity by partition and row key effect: read questions: - Can I fetch a single table entity if I know its partition key and row key? - What's the fastest point lookup for one row in a table? instructions: - text: Get the entity in {table} with partition key {partitionKey} and row key {rowKey}. slots: table: path.table partitionKey: path.partitionKey rowKey: path.rowKey - text: Look up row {rowKey} of partition {partitionKey} in {table}, returning just {select}. slots: rowKey: path.rowKey partitionKey: path.partitionKey table: path.table select: query.$select method: generated generated: '2026-09-26' - target: $.paths['/{table}(PartitionKey=\'{partitionKey}\',RowKey=\'{rowKey}\')'].put update: x-apievangelist-phrasing: intent: Replace an entity in a table effect: write questions: - How do I overwrite an entire entity with new property values? - Can I make a full replace fail if someone else changed the entity first? instructions: - text: Replace entity {partitionKey}/{rowKey} in {table} with {properties}. slots: partitionKey: path.partitionKey rowKey: path.rowKey table: path.table properties: body.tableEntityProperties - text: Overwrite row {rowKey} in partition {partitionKey} of {table} only if its ETag is still {etag}. slots: rowKey: path.rowKey partitionKey: path.partitionKey table: path.table etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/{table}(PartitionKey=\'{partitionKey}\',RowKey=\'{rowKey}\')'].delete update: x-apievangelist-phrasing: intent: Delete an entity from a table effect: destructive questions: - Can I delete a single row from a table by its keys? - Why does deleting an entity require an ETag match? instructions: - text: Delete the entity {partitionKey}/{rowKey} from {table} matching ETag {etag}. slots: partitionKey: path.partitionKey rowKey: path.rowKey table: path.table etag: header.If-Match - text: Remove row {rowKey} of partition {partitionKey} in {table} whatever its version ({etag}). slots: rowKey: path.rowKey partitionKey: path.partitionKey table: path.table etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/{table}(PartitionKey=\'{partitionKey}\',RowKey=\'{rowKey}\')'].patch update: x-apievangelist-phrasing: intent: Merge new properties into an entity effect: write questions: - How do I change a few properties on an entity without wiping the others? - Is there a merge-style update that keeps untouched columns intact? instructions: - text: Merge {properties} into entity {partitionKey}/{rowKey} of {table}. slots: properties: body.tableEntityProperties partitionKey: path.partitionKey rowKey: path.rowKey table: path.table - text: 'Add or change only these fields on row {rowKey}, partition {partitionKey} in {table}: {properties}.' slots: rowKey: path.rowKey partitionKey: path.partitionKey table: path.table properties: body.tableEntityProperties method: generated generated: '2026-09-26' - target: $.paths['/{table}'].get update: x-apievangelist-phrasing: intent: Get a table's stored access policies effect: read questions: - What stored access policies are set on a table for shared access signatures? - Can I see the ACL a table uses for its SAS tokens? instructions: - text: Show the stored access policies on table {table}. slots: table: path.table - text: Get the SAS access policy ACL for {table} ({comp}). slots: table: path.table comp: query.comp method: generated generated: '2026-09-26' - target: $.paths['/{table}'].put update: x-apievangelist-phrasing: intent: Set a table's stored access policies effect: write questions: - How do I define stored access policies on a table for signed access? - Can I replace the ACL behind a table's shared access signatures? instructions: - text: Set the stored access policies on {table} to {acl}. slots: table: path.table acl: body.tableAcl - text: Replace the SAS access policy ACL of {table} ({comp}). slots: table: path.table comp: query.comp method: generated generated: '2026-09-26' - target: $.paths['/{table}'].post update: x-apievangelist-phrasing: intent: Insert a new entity into a table effect: write questions: - How do I add a new row to a storage table? - Can I insert an entity without getting it echoed back? instructions: - text: Insert a new entity {properties} into {table}. slots: properties: body.tableEntityProperties table: path.table - text: Add a row to table {table} and skip returning the content ({prefer}). slots: table: path.table prefer: header.Prefer method: generated generated: '2026-09-26'