Data tables

Table management APIs

You can use the following endpoints to manage and structure data tables:

BASE URL

Table management endpoints use the workato.com base URL.

Quick reference

TypeResourceDescription
GET/api/data_tablesList all data tables.
GET/api/data_tables/:data_table_idGet data table by ID.
POST/api/data_tablesCreates a data table.
PUT/api/data_tables/:data_table_idUpdates a data table you specify.
DELETE/api/data_tables/:data_table_idDeletes a data table you specify.
POST/api/data_tables/:data_table_id/truncateTruncates a data table you specify. Truncating a data table deletes all data from a data table, but leaves the table structure intact.

Record manipulation APIs

You can use the following endpoints to create, delete, and update data table records. Refer the OpenAPI Specification for additional information.

BASE URL

Record manipulation endpoints use the data-tables.workato.com base URL.

Quick reference

TypeResourceDescription
POST/api/v1/tables/:data_table_id/queryQueries records using filters you specify.
POST/api/v1/tables/:data_table_id/recordsCreates a new record.
PUT/api/v1/tables/:data_table_id/records/:record_idUpdates an existing record.
DELETE/api/v1/tables/:data_table_id/records/:record_idDeletes a record you specify.
POST/api/v1/tables/:data_table_id/fields/:field_id/fileGenerates a link to upload a file.
GET/api/v1/tables/:data_table_id/records/:record_id/fields/:field_id/fileGenerates a link to download a file.

Query records (v1)

You can add a set of conditions to filter the records you query. Refer to the following sections for more information.

Where field structure

Single condition

The following example shows the basic form of a where clause:

{ <field>: { <operator_ident>: <operator> } }

, where operator is either a single value or:

{ "value": <value>, "case_sensitive": true | false }

For example:

1. { "name": { "$eq": "Josh" } }
2. { "$28c00d59-7dbe-4134-85be-937513500500": { "$eq": "Josh" } }
3. { "amount": { "$lte": 13 } }
4. { "name": { "$eq": { "value": "Josh", "case_sensitive": false } } }
5. { "name": { "$in": ["Josh", "Bob", "Alice"] } }

The following table lists available operator_ident values:

operator_identDescription
$eqEqual
$neNot equal
$gteGreater than or equal to
$gtGreater than
$lteLess than or equal to
$ltLess than
$inIn (returns records where value matches any of the items in the <operator>)
$starts_withStarts with
Compound conditions

You can combine multiple conditions with $and compound operator:

{ "$and": [ <condition1>, <condition2>, ... ] }

For example:

{
"$and": [
{
"name": "Josh"
},
{
"id": {
"$lte": 13
}
}
]
}

Alternatively, you can also use the equivalent short-hand notation for $and operator. For example:

{
"name": "Josh",
"id": { "$lte": 13 }
}
order field hash structure

You must use the following structure when you provide a hash for the order field:

{
"by": <field>,
"order": "asc" | "desc",
"case_sensitive": true | false
}