# Data tables
Use the endpoints below to manage data tables programmatically.
FEATURE AVAILABILITY
The Data Table APIs are currently accessible only to workspaces participating in Workato's Data Tables beta program. For more information, contact your customer success representative.
# Quick reference
Type | Resource | Description |
---|---|---|
GET | /api/v2/managed_users/:managed_user_id/data_tables | List all data tables. |
GET | /api/v2/managed_users/:managed_user_id/data_tables /:data_table_id | Get data table by ID. |
POST | /api/v2/managed_users/:managed_user_id/data_tables | Creates a data table. |
PUT | /api/v2/managed_users/:managed_user_id/data_tables /:data_table_id | Updates a data table. |
DELETE | /api/v2/managed_users/:managed_user_id/data_tables /:data_table_id | Deletes a data table. |
POST | /api/v2/managed_users/:managed_user_id/data_tables /:data_table_id/truncate | Truncates a data table. |
# List data tables in a customer workspace
Returns a list of all data tables in a customer's workspace.
GET /api/v2/managed_users/:managed_user_id/data_tables
# URL parameters
Name | Type | Description |
---|---|---|
managed_user_id | string required | Embedded customer Account ID or External ID. External IDs must have the prefix 'E' and be URL-encoded. For example, 'EA2300'. |
# Query 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/v2/managed_users/5759164/data_tables'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": [
{
"id": "cafd30b6-23e1-4a73-9fa6-68fc18356db4",
"name": "drtdr",
"schema": [],
"folder_id": 25178157,
"created_at": "2025-05-23T13:14:11.397-07:00",
"updated_at": "2025-05-23T13:14:11.397-07:00"
}
]
}
# Get data table by ID
Retrieves a data table in a customer workspace using the data table's ID.
GET /api/v2/managed_users/:managed_user_id/data_tables/:data_table_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string required | The ID of the data table you plan to retrieve. You can use the List data tables endpoint to retrieve data table IDs. |
managed_user_id | string required | Embedded customer Account ID or External ID. External IDs must have the prefix 'E' and be URL-encoded. For example, 'EA2300'. |
# Sample request
curl -X GET 'https://www.workato.com/api/v2/managed_users/5759164/data_tables/cafd30b6-23e1-4a73-9fa6-68fc18356db4'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": {
"id": "cafd30b6-23e1-4a73-9fa6-68fc18356db4",
"name": "drtdr",
"schema": [],
"folder_id": 25178157,
"created_at": "2025-05-23T13:14:11.397-07:00",
"updated_at": "2025-05-23T13:14:11.397-07:00"
}
}
# Create data table
Creates a data table in a customer workspace.
POST /api/v2/managed_users/:managed_user_id/data_tables
# URL parameters
Name | Type | Description |
---|---|---|
managed_user_id | string required | Embedded customer Account ID or External ID. External IDs must have the prefix 'E' and be URL-encoded. For example, 'EA2300'. |
# Payload
Name | Type | Description |
---|---|---|
name | string required | The name of the data table to create. |
folder_id | number 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/v2/managed_users/5759164/data_tables'
-H 'Authorization: Bearer <api_token>'
-H 'Content-Type: application/json' \
-d '{
"name": "Resume screening",
"folder_id": 25178157,
"schema": [
{
"type": "string",
"name": "Applicant name",
"optional": false,
"multivalue": true
},
{
"type": "date",
"name": "Application date",
"optional": true
},
{
"type": "boolean",
"name": "Review status",
"optional": true
},
{
"type": "date_time",
"name": "Interview time",
"optional": true
},
{
"type": "file",
"name": "Resume",
"optional": true
},
{
"type": "integer",
"name": "Years of experience",
"optional": true
},
{
"type": "number",
"name": "Salary expectation",
"optional": true
}
]
}'
# Response
{
"data": {
"id": "dcb981cf-3e5e-4b79-ab78-1fe0115bc5e8",
"name": "Resume screening",
"schema": [
{
"type": "string",
"name": "Applicant name",
"optional": false,
"field_id": "9b213e57-2ff9-4276-a65f-5afaa14789fd",
"default_value": [],
"metadata": {},
"multivalue": true
},
{
"type": "date",
"name": "Application date",
"optional": true,
"field_id": "3e1c6061-ff84-47e9-80ac-145aff0f6206",
"metadata": {},
"multivalue": false
},
{
"type": "boolean",
"name": "Review status",
"optional": true,
"field_id": "e3106d74-bd0b-47a6-a936-8b7a03fd9fee",
"metadata": {},
"multivalue": false
},
{
"type": "date_time",
"name": "Interview time",
"optional": true,
"field_id": "0adb665a-8579-4cc2-a46d-8f43be7fbdbb",
"metadata": {},
"multivalue": false
},
{
"type": "file",
"name": "Resume",
"optional": true,
"field_id": "e300122c-dbd8-45f3-91fd-1bb060c92b95",
"metadata": {},
"multivalue": false
},
{
"type": "integer",
"name": "Years of experience",
"optional": true,
"field_id": "4763bde7-c46b-48d7-bc5f-cbb0e3132646",
"metadata": {},
"multivalue": false
},
{
"type": "number",
"name": "Salary expectation",
"optional": true,
"field_id": "0778952c-ce6e-4f7b-9bd1-c265a9e98702",
"metadata": {},
"multivalue": false
}
],
"folder_id": 25178157,
"created_at": "2025-05-27T11:49:06.226-07:00",
"updated_at": "2025-05-27T11:49:06.226-07:00"
}
}
# Update data table
Updates a data table you specify.
PUT /api/v2/managed_users/:managed_user_id/data_tables/:data_table_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string required | The ID of the data table you plan to update. You can use the List data tables endpoint to retrieve data table IDs. |
managed_user_id | string required | Embedded customer Account ID or External ID. External IDs must have the prefix 'E' and be URL-encoded. For example, 'EA2300'. |
# Payload
Name | Type | Description |
---|---|---|
name | string required | The updated name of the data table. |
folder_id | number optional | Provide the ID of the folder where you plan to move the data table. |
schema | array optional | Supply an array of nested elements to modify 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 update. |
schema[name] | string required | The name of the column you plan to update. |
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 PUT 'https://www.workato.com/api/v2/managed_users/5759164/data_tables/dcb981cf-3e5e-4b79-ab78-1fe0115bc5e8'
-H 'Authorization: Bearer <api_token>'
-H 'Content-Type: application/json' \
-d '{
"name": "Resume screening",
"folder_id": 25178157,
"schema": [
{
"type": "string",
"name": "Applicant name",
"optional": false,
"multivalue": true
},
{
"type": "date",
"name": "Potential start date",
"optional": true
},
{
"type": "boolean",
"name": "Remote worker",
"optional": true
},
{
"type": "date_time",
"name": "Interview time",
"optional": true
},
{
"type": "file",
"name": "Resume",
"optional": true
},
{
"type": "integer",
"name": "Miles from office",
"optional": true
},
{
"type": "number",
"name": "Interviews completed",
"optional": true
}
]
}'
# Response
{
"data": {
"id": "dcb981cf-3e5e-4b79-ab78-1fe0115bc5e8",
"name": "Resume screening",
"schema": [
{
"type": "string",
"name": "Applicant name",
"optional": false,
"field_id": "c0eee384-9967-47da-b8b3-b5faa4654df8",
"default_value": [],
"metadata": {},
"multivalue": true
},
{
"type": "date",
"name": "Potential start date",
"optional": true,
"field_id": "2c623992-ac87-4560-931e-0b3b58b3016f",
"metadata": {},
"multivalue": false
},
{
"type": "boolean",
"name": "Remote worker",
"optional": true,
"field_id": "ac4e7e53-a157-42b8-85f7-e4a2042b42c2",
"metadata": {},
"multivalue": false
},
{
"type": "date_time",
"name": "Interview time",
"optional": true,
"field_id": "749eaef4-a714-4c6a-b65e-641bf88dc11b",
"metadata": {},
"multivalue": false
},
{
"type": "file",
"name": "Resume",
"optional": true,
"field_id": "0e36fa59-1d80-475c-a83f-4f47562a641d",
"metadata": {},
"multivalue": false
},
{
"type": "integer",
"name": "Miles from office",
"optional": true,
"field_id": "e098f6ca-5165-4c54-9ff1-02d72fe91d13",
"metadata": {},
"multivalue": false
},
{
"type": "number",
"name": "Interviews completed",
"optional": true,
"field_id": "f9e5af87-57c9-4611-befb-4f43fface977",
"metadata": {},
"multivalue": false
}
],
"folder_id": 25178157,
"created_at": "2025-05-27T11:49:06.226-07:00",
"updated_at": "2025-05-27T11:49:06.226-07:00"
}
}
# Delete data table
Deletes a data table in a customer workspace.
DELETE /api/v2/managed_users/:managed_user_id/data_tables/:data_table_id
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string required | The ID of the data table you plan to delete. You can use the List data tables endpoint to retrieve data table IDs. |
managed_user_id | string required | Embedded customer Account ID or External ID. External IDs must have the prefix 'E' and be URL-encoded. For example, 'EA2300'. |
# Sample request
curl -X DELETE 'https://www.workato.com/api/v2/managed_users/5759164/data_tables/cafd30b6-23e1-4a73-9fa6-68fc18356db4'
-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 affect the table structure.
POST /api/v2/managed_users/:managed_user_id/data_tables/:data_table_id/truncate
# URL parameters
Name | Type | Description |
---|---|---|
data_table_id | string required | The ID of the data table you plan to truncate. You can use the List data tables endpoint to retrieve data table IDs. |
managed_user_id | string required | Embedded customer Account ID or External ID. External IDs must have the prefix 'E' and be URL-encoded. For example, 'EA2300'. |
# Sample request
curl -X POST 'https://www.workato.com/api/v2/managed_users/5759164/data_tables/cafd30b6-23e1-4a73-9fa6-68fc18356db4/truncate'
-H 'Authorization: Bearer <api_token>'
# Response
{
"data": {
"status": "success"
}
}
Last updated: 6/12/2025, 10:33:48 PM