# Data tables
Refer to the following sections to programmatically manage data tables and their records using APIs:
# Table management APIs
You can use the following endpoints to manage and structure data tables:
Base URL: workato.com
# Rate limits
Data table resources have the following rate limits:
Type | Resource | Limit |
---|---|---|
All | All Data tables endpoints | 60 requests per minute |
# Quick reference
Type | Resource | Description |
---|---|---|
GET | /api/data_tables | List all data tables. |
GET | /api/data_tables/:data_table_id | Get data table by ID. |
POST | /api/data_tables | Creates a data table. |
PUT | /api/data_tables/:data_table_id | Updates a data table. |
DELETE | /api/data_tables/:data_table_id | Deletes a data table. |
POST | /api/data_tables/:data_table_id/truncate | Truncates a data table. |
# List data tables
Returns a list of all data tables in your workspace.
GET /api/data_tables
# URL parameters
Name | Type | Description |
---|---|---|
page | integer optional | Page number of the data tables to fetch. Defaults to 1. |
per page | integer optional | Page size. Defaults to 100. Maximum is 100. |
# Sample request
curl -X GET 'https://www.workato.com/api/data_tables'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": [
{
"id": "f4d2e85d-c7f4-4877-8f16-6643a4b3fb23",
"name": "Resume screening",
"schema": [
{
"type": "string",
"name": "application_id",
"optional": true,
"field_id": "8f4a57d6-f524-47f2-ae59-be1a80dc2dd5",
"hint": "Greenhouse application ID",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "candidate_id",
"optional": true,
"field_id": "b3f6f50a-6431-4cd4-af2c-f88a7b291bce",
"hint": "Greenhouse candidate ID",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "job_id",
"optional": true,
"field_id": "cdf319f0-2bde-4048-bde6-4c862e7737bd",
"hint": "Greenhouse job ID",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "department",
"optional": true,
"field_id": "25256ad2-5297-46e3-960b-f340af9d292f",
"hint": "Hiring department",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "recruiter",
"optional": true,
"field_id": "38a85051-a12c-4f0b-a308-7e8cd5c68e78",
"hint": "Recruiter name",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "task_name",
"optional": true,
"field_id": "a305f5b1-df86-4f3f-a434-db142c9f5b95",
"hint": "Workflow stage",
"metadata": {},
"multivalue": false
}
],
"folder_id": 24468824,
"created_at": "2025-04-04T11:35:04.544-07:00",
"updated_at": "2025-04-04T11:55:50.473-07:00"
},
{
"id": "fb0b03f3-2e5a-4a05-a483-4ee3092805c5",
"name": "Intake form",
"schema": [
{
"type": "string",
"name": "Description",
"optional": true,
"field_id": "b3545fa7-600c-4ed0-ab04-6e4a866db158",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "Review comments",
"optional": true,
"field_id": "9db1ae98-01f2-4da5-9003-058d8ce80475",
"metadata": {},
"multivalue": false
},
{
"type": "number",
"name": "Rate",
"optional": true,
"field_id": "7b98b819-f8bc-4376-9eb1-ef18c5ca9ae1",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "Notes",
"optional": true,
"field_id": "35885b91-ee7e-453e-a4f9-d41c88e74521",
"metadata": {},
"multivalue": false
},
{
"type": "boolean",
"name": "pass",
"optional": true,
"field_id": "4b0f3ac7-0dad-4628-85a8-85583c9a09d9",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "Reviewer",
"optional": true,
"field_id": "a1913ee5-6342-4176-8e25-8c4787286fee",
"metadata": {},
"multivalue": false
},
{
"type": "file",
"name": "Resume",
"optional": true,
"field_id": "8853cfa6-9e69-4b57-98cb-5264497b1dac",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "Email",
"optional": true,
"field_id": "fea109b6-95c2-41a9-9075-000aa4e54b6a",
"metadata": {},
"multivalue": false
}
],
"folder_id": 21138015,
"created_at": "2024-10-04T08:40:24.349-07:00",
"updated_at": "2025-04-03T10:02:37.905-07:00"
},
{
"id": "d263710a-e7cc-418f-bbc5-aacf76667418",
"name": "PTO requests",
"schema": [
{
"type": "string",
"name": "Name",
"optional": false,
"field_id": "4cd59a12-ae0c-40fa-8896-fd259b271fd9",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "Description",
"optional": true,
"field_id": "06e65f37-81eb-4093-8219-f8b14b2b23e8",
"metadata": {},
"multivalue": false
},
{
"type": "string",
"name": "Review comments",
"optional": true,
"field_id": "cb1589c6-2537-43f8-bd5d-6776b310d080",
"metadata": {},
"multivalue": false
}
],
"folder_id": 17415752,
"created_at": "2024-09-26T20:49:04.147-07:00",
"updated_at": "2024-09-26T20:49:04.222-07:00"
}
]
}
# Get data table by ID
Returns the data table associated with the ID you specify.
GET /api/data_tables/:data_table_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | integer required | Provide the ID of a specific data table. |
# Sample request
curl -X GET 'https://www.workato.com/api/data_tables/db4b8544-8de8-4c6d-83bd-e487f6616ccc'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": {
"id": "db4b8544-8de8-4c6d-83bd-e487f6616ccc",
"name": "Expense reports",
"schema": [
{
"type": "string",
"name": "Expense type",
"optional": false,
"field_id": "1ec0c3c7-abcd-4bca-bab5-efa51da56635",
"metadata": {},
"multivalue": false
},
{
"type": "number",
"name": "Cost",
"optional": true,
"field_id": "b3545fa7-600c-4ed0-ab04-6e4a866db158",
"metadata": {},
"multivalue": false
},
{
"type": "date",
"name": "Date of purchase",
"optional": true,
"field_id": "9db1ae98-01f2-4da5-9003-058d8ce80475",
"metadata": {},
"multivalue": false
},
{
"type": "integer",
"name": "Priority",
"optional": true,
"field_id": "7b98b819-f8bc-4376-9eb1-ef18c5ca9ae1",
"metadata": {},
"multivalue": false
},
],
"folder_id": 1124996,
"created_at": "2025-05-16T13:30:09.835+08:00",
"updated_at": "2025-05-16T13:30:09.835+08:00"
}
}
# Create data table
Creates a data table in a folder you specify.
POST /api/data_tables
# Payload
Name | Type | Description |
---|---|---|
name | string required | The name of the data table to create. |
folder_id | integer required | Provide the ID of the folder where you plan to create the data table. |
schema | array required | Supply an array of nested elements to define your table structure. You must supply the column name, data type, and whether the column is required. |
schema[type] | boolean, date, date_time, integer, number, string, file, relation required | The data type of the column you plan to create. |
schema[name] | string required | The name of the column you plan to create. |
schema[optional] | integer, boolean required | Indicates if the column is required or optional. Must be either true , false , 1 , or 0 . |
schema[field_id] | Must match regular expression: /\h{8}-\h{4}-\h{4}-\h{4}-\h{12}/ optional | Unique Universal Identifier (UUID) of the column. Must follow this format: f47ac10b-58cc-4372-a567-0e02b2c3d479 . |
schema[hint] | string optional | Provide a hint to help your end users populate entries in a data column. The hint displays as a tooltip when you hover over the column in the user interface. |
schema[default_value] | variable optional | The default value of the column. Must match the data type of the column specified in the request. |
schema[metadata] | hash optional | Data table metadata. |
schema[relation] | hash optional | Indicates that this table links to another data table. |
schema[relation][table_id] | string optional | The ID of the data table linked to this table. |
schema[relation][field_id] | string required | The column ID of a linked data table. |
schema[multivalue] | boolean optional | Indicates whether the column accepts multi-value input. |
# Sample request
curl -X POST 'https://www.workato.com/api/data_tables' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Expense reports 4",
"folder_id": 75509,
"schema": [
{
"type": "string",
"name": "Expense type",
"optional": false,
"multivalue": true
},
{
"type": "date",
"name": "Date",
"optional": true
},
{
"type": "boolean",
"name": "Status",
"optional": true
},
{
"type": "date_time",
"name": "Check-in",
"optional": true
},
{
"type": "file",
"name": "Reciept",
"optional": true
},
{
"type": "integer",
"name": "Days at hotel",
"optional": true
},
{
"type": "number",
"name": "Cost",
"optional": true
},
{
"type": "relation",
"name": "Budget",
"optional": true,
"relation": {
"table_id": "2507a39a-6847-4857-88ed-c3b9c8302e02",
"field_id": "900454f4-5b3d-4670-bc3c-d640915156f2"
}
}
]
}
# Response
{
"data": {
"id": "52d97443-1dbd-4ae0-9cd9-99ac2d020977",
"name": "Expense reports 4",
"schema": [
{
"type": "string",
"name": "Expense type",
"optional": false,
"field_id": "76ddbd6f-35ea-4884-bb97-cecac5d4abc7",
"default_value": [],
"metadata": {},
"multivalue": true
},
{
"type": "date",
"name": "Date",
"optional": true,
"field_id": "c6e0ee37-827c-4d41-9e1a-7cac79e07678",
"metadata": {},
"multivalue": false
},
{
"type": "boolean",
"name": "Status",
"optional": true,
"field_id": "e170b117-d744-44ba-9f65-0a616646056a",
"metadata": {},
"multivalue": false
},
{
"type": "date_time",
"name": "Check-in",
"optional": true,
"field_id": "f289a693-a97f-41bb-b0e0-96dc532ccd0c",
"metadata": {},
"multivalue": false
},
{
"type": "file",
"name": "Reciept",
"optional": true,
"field_id": "b92fa6c1-f6ed-4ff2-98dd-a774cf560ec0",
"metadata": {},
"multivalue": false
},
{
"type": "integer",
"name": "Days at hotel",
"optional": true,
"field_id": "bf3ec7b5-0b41-453f-810a-5d53b1582b65",
"metadata": {},
"multivalue": false
},
{
"type": "number",
"name": "Cost",
"optional": true,
"field_id": "566307b9-bfda-4f77-af55-3c258359f656",
"metadata": {},
"multivalue": false
},
{
"type": "relation",
"name": "Budget",
"optional": true,
"field_id": "d7f4d5dd-2cb6-45d5-95c1-8d14339a50ba",
"metadata": {},
"relation": {
"table_id": "2507a39a-6847-4857-88ed-c3b9c8302e02",
"field_id": "900454f4-5b3d-4670-bc3c-d640915156f2"
},
"multivalue": false
}
],
"folder_id": 75509,
"created_at": "2025-05-21T14:56:49.173-07:00",
"updated_at": "2025-05-21T14:56:49.173-07:00"
}
}
# Update data table
Updates a data table you specify.
PUT /api/data_tables/:data_table_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table you plan to update. You can use the List data tables endpoint to retrieve data table IDs. |
# Payload
Name | Type | Description |
---|---|---|
name | string required | The name of the data table to create. |
folder_id | string optional | Provide the ID of the folder where you plan to create the data table. |
schema | array required | Supply an array of nested elements to define your table structure. You must supply the column name, data type, and whether the column is required. |
schema[type] | boolean, date, date_time, integer, number, string, file, relation required | The data type of the column you plan to create. |
schema[name] | string required | The name of the column you plan to create. |
schema[optional] | integer, boolean required | Indicates if the column is required or optional. Must be either true , false , 1 , or 0 . |
schema[field_id] | Must match regular expression: /\h{8}-\h{4}-\h{4}-\h{4}-\h{12}/ optional | Unique Universal Identifier (UUID) of the column. Must follow this format: f47ac10b-58cc-4372-a567-0e02b2c3d479 . |
schema[hint] | string optional | Provide a hint to help your end users populate entries in a data column. The hint displays as a tooltip when you hover over the column in the user interface. |
schema[default_value] | variable optional | The default value of the column. Must match the data type of the column specified in the request. |
schema[metadata] | hash optional | Data table metadata. |
schema[relation] | hash optional | Indicates that this table links to another data table. |
schema[relation][table_id] | string optional | The ID of the data table linked to this table. |
schema[relation][field_id] | string required | The column ID of a linked data table. |
schema[multivalue] | boolean optional | Indicates whether the column accepts multi-value input. |
# Sample request
curl -X POST 'https://www.workato.com/api/data_tables' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Expense reports updated",
"folder_id": 75509,
"schema": [
{
"type": "string",
"name": "Expense type",
"optional": false,
"multivalue": true
},
{
"type": "date",
"name": "Date",
"optional": true
},
{
"type": "boolean",
"name": "Status",
"optional": true
},
{
"type": "date_time",
"name": "Check-in",
"optional": true
},
{
"type": "file",
"name": "Reciept",
"optional": true
},
{
"type": "integer",
"name": "Length of stay in days",
"optional": true
},
{
"type": "number",
"name": "Cost",
"optional": true
},
{
"type": "relation",
"name": "Budget",
"optional": true,
"relation": {
"table_id": "2507a39a-6847-4857-88ed-c3b9c8302e02",
"field_id": "900454f4-5b3d-4670-bc3c-d640915156f2"
}
}
]
}
# Response
{
"data": {
"id": "52d97443-1dbd-4ae0-9cd9-99ac2d020977",
"name": "Expense reports updated",
"schema": [
{
"type": "string",
"name": "Expense type",
"optional": false,
"field_id": "318b18ca-bb5f-426c-adb1-74eb2fc06641",
"default_value": [],
"metadata": {},
"multivalue": true
},
{
"type": "date",
"name": "Date",
"optional": true,
"field_id": "97a960ee-022b-4a69-bcdb-74bb4c3d524d",
"metadata": {},
"multivalue": false
},
{
"type": "boolean",
"name": "Status",
"optional": true,
"field_id": "66b7f251-b874-4d87-a974-c18260a6a8fb",
"metadata": {},
"multivalue": false
},
{
"type": "date_time",
"name": "Check-in",
"optional": true,
"field_id": "6c119dad-3d08-427d-bac2-27536aedebad",
"metadata": {},
"multivalue": false
},
{
"type": "file",
"name": "Reciept",
"optional": true,
"field_id": "a6e5360f-5b5e-4261-9967-4160bd80e1a0",
"metadata": {},
"multivalue": false
},
{
"type": "integer",
"name": "Length of stay in days",
"optional": true,
"field_id": "bea282f0-fc78-4847-b7c8-a93587835faa",
"metadata": {},
"multivalue": false
},
{
"type": "number",
"name": "Cost",
"optional": true,
"field_id": "7d438888-5e04-4b70-b7b1-e54cdc42e877",
"metadata": {},
"multivalue": false
},
{
"type": "relation",
"name": "Budget",
"optional": true,
"field_id": "ebe23be4-d388-42fd-922b-0fb4e57abc08",
"metadata": {},
"relation": {
"table_id": "2507a39a-6847-4857-88ed-c3b9c8302e02",
"field_id": "900454f4-5b3d-4670-bc3c-d640915156f2"
},
"multivalue": false
}
],
"folder_id": 75509,
"created_at": "2025-05-21T14:56:49.173-07:00",
"updated_at": "2025-05-21T15:36:23.701-07:00"
}
}
# Delete data table
Deletes a data table you specify.
DELETE /api/data_tables/:data_table_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | integer required | Data table ID. |
# Sample request
curl -X DELETE 'https://www.workato.com/api/data_tables/e9498300-1ea3-4bf0-bdea-ffe58c101bcf'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": {
"status": "success"
}
}
# Truncate data table
Truncates a data table you specify. Truncating a data table deletes all data from a data table, but doesn't effect the table structure.
POST /api/data_tables/:data_table_id/truncate
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | integer required | Data table ID. |
# Sample request
curl -X POST 'https://www.workato.com/api/data_tables/58408ccc-e209-491b-9873-4549b5fa48df/truncate'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": {
"status": "success"
}
}
# Record manipulation APIs
You can use the following endpoints to create, delete, and update data table records. Refer the OpenAPI Specification (opens new window) for additional information.
Base URL: data-tables.workato.com
# Quick reference
Type | Resource | Description |
---|---|---|
POST | /api/v1/tables/:data_table_id/query | Queries records using filters you specify. |
POST | /api/v1/tables/:data_table_id/records | Creates a new record. |
PUT | /api/v1/tables/:data_table_id/records/:record_id | Updates an existing record. |
DELETE | /api/v1/tables/:data_table_id/records/:record_id | Deletes a record you specify. |
POST | /api/v1/tables/:data_table_id/fields/:field_id/file | Generates a link to upload a file. |
GET | /api/v1/tables/:data_table_id/records/:record_id/fields/:field_id/file | Generates a link to download a file. |
# Query records (v1)
Queries records in a data table based on filters you specify.
POST /api/v1/tables/:data_table_id/query
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table you plan to update. You can use the List data tables endpoint to retrieve data table IDs. |
# Payload
Name | Type | Description |
---|---|---|
select | array optional | Provide the list of columns to be retrieved from the data table. |
where | hash optional | Set of conditions to filter the records with. Refer to the where clause section for more information. |
order | string or hash optional | The column to order the results with. Provide either a string, or a hash for more advanced ordering configuration. Detailed breakdown of the hash structure can be found below. |
timezone_offset_secs | integer optional | The time zone offset for query. Required if the query includes comparison of a date-time field to a date value. |
limit | integer optional | Limits the number of records to return per page. The maximum is 200. |
continuation_token | string optional | Provide the next page token from previous page's request to fetch the next set of results of the same query. |
NOTE
The following meta-fields can be used in order
parameters with the fields you created: $record_id
, $created_at
, and $updated_at
.
# where
field structure
A basic where
clause uses the following format:
{ <field>: { <operator>: <value> } }
You can set the <value>
to a primitive value or an object.
The following table lists available operator
values:
Operator | Description | Example |
---|---|---|
$eq | Equal | { "name": { "$eq": "Josh" } } |
$ne | Not equal | { "status": { "$ne": "inactive" } } |
$gte | Greater than or equal to | { "score": { "$gte": 75 } } |
$gt | Greater than | { "score": { "$gt": 90 } } |
$lte | Less than or equal to | { "amount": { "$lte": 13 } } |
$lt | Less than | { "amount": { "$lt": 10 } } |
$in | In (returns records where value matches any of the items in the <value> ) | { "name": { "$in": ["Josh", "Bob", "Alice"] } } |
$starts_with | Starts with | { "email": { "$starts_with": "admin@" } } |
# Compound conditions
You can combine multiple conditions with $and
compound operator using the format { "$and": [ <condition1>, <condition2>, ... ] }
. For example:
{
"$and": [
{
"name": "Josh"
},
{
"id": {
"$lte": 13
}
}
]
}
Alternatively, you can use the equivalent short-hand notation for the $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
}
# Sample request
curl -X POST 'https://data-tables.workato.com/api/v1/tables/58408ccc-e209-491b-9873-4549b5fa48df/query' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"select": ["Name","Address"],
"where":
{
"Age": { "$gt": 30 },
"Country": "USA",
},
"order": "$created_at",
"limit": 10,
"timezone_offset_secs": 0
}'
# Response
{
"schema": [
[ // Metafields
{ "name": "$record_id" },
{ "name": "$created_at" },
{ "name": "$updated_at" }
],
[ // Fields
{ "name": "Name", "id": "2507a39a-6847-4857-88ed-c3b9c8302e02" },
{ "name": "Address", "id": "4705a22b-9139-6482-332a-ca2dd2d03sd3" },
...
]
],
"data": [
[ // Record 1
[ // Metafields
"e9498300-1ea3-4bf0-bdea-ffe58c101bcf",
"2025-08-19T17:53:48.073+00:00",
"2025-08-19T17:53:48.073+00:00"
],
[ // Fields
"Ann-Marie Tan",
"5 Pennsylvania Ave. S320123"
]
],
[ // Record 2
[ // Metafields
"900454f4-5b3d-4670-bc3c-d640915156f2",
"2025-08-19T17:53:48.073+00:00",
"2025-08-19T17:53:48.073+00:00"
],
[ // Fields
"John Paul Lim",
"8 Somapah Road S210492"
]
],
...
],
"count": 2,
"limit": 10
}
# Create record (v1)
Creates a record in a specified data table.
POST /api/v1/tables/:data_table_id/records
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table where you plan to create the record. You can use the List data tables endpoint to retrieve data table IDs. |
# Payload
The structure of the request payload is a key-value pair of each field. You can specify fields by their UUIDs (dollar-escaped) or names. Fields not listed in the schema are replaced with default values. Extra fields that aren't included in the schema are ignored.
# Sample request
curl -X POST 'https://data-tables.workato.com/api/v1/tables/58408ccc-e209-491b-9873-4549b5fa48df/records' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"document":
{
"name": "Josh",
"multivalue": [1,2,3],
"$28c00d59-7dbe-4134-85be-937513500500": 13,
"date": "2022-02-01",
"relation":
{
"record_id": "7a13304c-14cf-4e98-be31-331ccdb2b253"
},
"file":
{
"filename": "birth_certificate.txt",
"upload_id": "2b90f1d2-53d5-45f5-9366-d37ce4976717"
}
}
}'
# Response
{
"data": {
"record_id": "ab0189ca-fadf-4382-a48b-e157d966078f",
"created_at": "2025-07-10T15:55:02.661+00:00",
"updated_at": "2025-07-10T15:55:02.661+00:00",
"document": [
{
"field_id": "42d62e3b-895d-43db-b8f7-cbb62dac71dd",
"field_name": "name",
"value": "Josh"
},
{
"field_id": "2dca773b-eb67-4201-924d-4ccb9d577e99",
"field_name": "multivalue",
"value": [1,2,3]
},
{
"field_id": "28c00d59-7dbe-4134-85be-937513500500",
"field_name": "age",
"value": 13
},
{
"field_id": "0489bb65-7072-404f-9bba-e3e94a2a527b",
"field_name": "date",
"value": "2022-02-01"
},
{
"field_id": "d6f103d9-575f-41b9-9ef0-b70e8fe38cc8",
"field_name": "relation",
"value": {
"record_id": "7a13304c-14cf-4e98-be31-331ccdb2b253",
"value": "Parent"
},
},
{
"field_id": "f71f1f67-0de5-422c-be73-b27b12f442c4",
"field_name": "file",
"value": {
"file": {"filename": "birth_certificate.txt"}
},
}
]
}
}
# Update record (v1)
Updates a record in a specified data table.
PUT /api/v1/tables/:data_table_id/records/:record_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table where the record resides. You can use the List data tables endpoint to retrieve data table IDs. |
record_id | string | The ID of the record to be updated. |
# Payload
The structure of the request payload is a key-value pair of each field. You can specify fields by their UUIDs (dollar-escaped) or names. Fields not listed in the schema aren't updated. Extra fields that aren't included in the schema are ignored.
# Sample request
curl -X PUT 'https://data-tables.workato.com/api/v1/tables/58408ccc-e209-491b-9873-4549b5fa48df/records/ab0189ca-fadf-4382-a48b-e157d966078f' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"document":
{
"name": "Josh",
"multivalue": [1,2,3],
"$28c00d59-7dbe-4134-85be-937513500500": 13,
"date": "2022-02-01",
"relation":
{
"record_id": "7a13304c-14cf-4e98-be31-331ccdb2b253"
},
"file":
{
"filename": "birth_certificate.txt",
"upload_id": "2b90f1d2-53d5-45f5-9366-d37ce4976717"
}
}
}'
# Response
{
"data": {
"record_id": "ab0189ca-fadf-4382-a48b-e157d966078f",
"created_at": "2025-07-10T15:55:02.661+00:00",
"updated_at": "2025-07-10T15:55:02.661+00:00",
"document": [
{
"field_id": "42d62e3b-895d-43db-b8f7-cbb62dac71dd",
"field_name": "name",
"value": "Josh"
},
{
"field_id": "2dca773b-eb67-4201-924d-4ccb9d577e99",
"field_name": "multivalue",
"value": [1,2,3]
},
{
"field_id": "28c00d59-7dbe-4134-85be-937513500500",
"field_name": "age",
"value": 13
},
{
"field_id": "0489bb65-7072-404f-9bba-e3e94a2a527b",
"field_name": "date",
"value": "2022-02-01"
},
{
"field_id": "d6f103d9-575f-41b9-9ef0-b70e8fe38cc8",
"field_name": "relation",
"value": {
"record_id": "7a13304c-14cf-4e98-be31-331ccdb2b253",
"value": "Parent"
},
},
{
"field_id": "f71f1f67-0de5-422c-be73-b27b12f442c4",
"field_name": "file",
"value": {
"file": {"filename": "birth_certificate.txt"}
},
}
]
}
}
# Delete record (v1)
Deletes a record in a specified data table.
DELETE /api/v1/tables/:data_table_id/records/:record_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table where the record resides. You can use the List data tables endpoint to retrieve data table IDs. |
record_id | string | The ID of the record to be updated. |
# Sample request
curl -X DELETE 'https://data-tables.workato.com/api/v1/tables/58408ccc-e209-491b-9873-4549b5fa48df/records/ab0189ca-fadf-4382-a48b-e157d966078f'
-H 'Authorization: Bearer <api_token>'
# Response
Workato returns status code 200
without a response payload if the deletion is successful.
# Generate link to upload file (v1)
Generates a link to upload a file for file-type columns. Use the resulting upload_id
when you create or update a record.
POST /api/v1/tables/:data_table_id/fields/:field_id/file
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table where the record resides. You can use the List data tables endpoint to retrieve data table IDs. |
field_id | string | The ID of the file column for the file to be uploaded. |
# Sample request
curl -X POST 'https://data-tables.workato.com/api/v1/tables/58408ccc-e209-491b-9873-4549b5fa48df/fields/f71f1f67-0de5-422c-be73-b27b12f442c4/file' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json'
# Response
{
"data" : {
"upload_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"url": "https://file-storage.workato.com/sharing/files?sign=eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJXb3JrYXRvRmlsZXMiLCJhdWQiOiJ3b3JrYXRvX2ZpbGVzIiwiZXhwIjoxNzUzOTUzNTUzLCJuYmYiOjE3NTM5NTI2NTMsInN1YiI6IjY5MjY1OCIsImp0aSI6IjBmMzY4N2EyLTUzNGUtNGIxMC1iODQzLTk4NmU1MWI2YTI1MCIsIm9iaiI6eyJtZXRob2QiOiJHRVQiLCJyZXNvdXJjZSI6ImY0YWE3OWU0MjlhZjNjNGRhNTcwMGU0NTYxMTY3MzM2ZjMzOTJmNzNkZDQ0ZjhjMGExMTk4MDI5MmViNzE2NjMiLCJjb25zdHJhaW50cyI6eyJmaWxlX21heF9ieXRlcyI6bnVsbCwiZmlsZV9wYXRoIjoiL1Rlc3RpbmcvMi1zdGVwLWxvZ2luLWVucm9sbG1lbnQyMDI1LTA2LTI3VDAyMzE0Ni5odG1sIiwiZmlsZV90dGwiOm51bGwsIm5hbWVzcGFjZSI6ImFkYXB0ZXIiLCJzaGFyaW5nX2FwaV9raW5kIjoicHVibGljIiwidXNlcl9pZCI6NjkyNjU4fX19.0p-NuNaQxCs_VaTaWsQGg5aS3BwCGSrHSQOVh5xb-jXQAaHAv_RSnUs6ymV9IHMVZM2P1ikodSDGtyn7pqZItw"
}
}
# Download file from the record (v1)
Generates a link to download the file in the file-type column of a record.
GET /api/v1/tables/:data_table_id/records/:record_id/fields/:field_id/file
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string | The ID of the data table where the record resides. You can use the List data tables endpoint to retrieve data table IDs. |
record_id | string | The ID of the record linked to the file. |
field_id | string | The ID of the file column of the file to be downloaded. |
# Sample request
curl -X GET 'https://data-tables.workato.com/api/v1/tables/58408ccc-e209-491b-9873-4549b5fa48df/fields/f71f1f67-0de5-422c-be73-b27b12f442c4/file'
-H 'Authorization: Bearer <api_token>'
# Response
Workato returns a 303
status code with the download URL inside the LOCATION
header if the request is successful.
Last updated: 9/29/2025, 2:45:44 PM