# 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
AllAll Data tables endpoints60 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.

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