List & Create
List all reference data tables in your workspace or create a new one from a JSON payload. Reference data tables store lookup datasets used as matching targets.
Reference data tables are uploaded datasets (CSV, XLSX, or JSON) that serve as lookup targets for matching configurations. Each table stores rows of structured data that documents are compared against during matching runs. Use this endpoint to list all reference data tables in your workspace, or create a new table from a JSON payload.
Each table in the response includes its column schema (derived automatically from the data), row count, and HATEOAS links to the table detail and rows endpoints. Tables are workspace-scoped — you will only see tables created within your authenticated workspace.
Creating a reference data table from JSON is the fastest path for programmatic workflows. The column schema is derived automatically from the keys and value types of the first row in the data array. All subsequent rows are validated against this derived schema. For CSV or XLSX uploads, use the platform UI or the file upload endpoint.
A typical workflow is: create a reference data table via POST /v1/reference-data, note the returned id, then create a matching config via POST /v1/matching/configs with reference_data_id set to that ID. The matching config defines how document fields map to reference data columns.
/v1/reference-dataResponse (GET)
Response fields
cURL — List tables
Response
{
"data": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Vendor Master List",
"source_type": "csv",
"row_count": 1250,
"columns": [
{ "name": "vendor_id", "type": "string" },
{ "name": "vendor_name", "type": "string" },
{ "name": "country", "type": "string" },
{ "name": "tax_id", "type": "string" }
],
"created_at": "2024-09-15T10:00:00.000Z",
"links": {
"self": "/v1/reference-data/b2c3d4e5-f6a7-8901-bcde-f12345678901",
"rows": "/v1/reference-data/b2c3d4e5-f6a7-8901-bcde-f12345678901/rows"
}
},
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"name": "Product Catalogue",
"source_type": "json",
"row_count": 430,
"columns": [
{ "name": "sku", "type": "string" },
{ "name": "description", "type": "string" },
{ "name": "unit_price", "type": "number" }
],
"created_at": "2024-10-01T08:30:00.000Z",
"links": {
"self": "/v1/reference-data/c3d4e5f6-a7b8-9012-cdef-123456789012",
"rows": "/v1/reference-data/c3d4e5f6-a7b8-9012-cdef-123456789012/rows"
}
}
]
}Create Reference Data
Create a new reference data table by sending a JSON payload with a name and an array of row objects. The column schema is derived from the keys and value types of the first object in the data array. Subsequent rows are stored as-is. This endpoint is the primary programmatic path for populating reference data — for CSV or XLSX files, use the platform UI upload flow.
/v1/reference-dataResponse (POST)
Response fields (201 Created)
cURL — Create table
Response (201 Created)
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Vendor Master List",
"source_type": "json",
"row_count": 3,
"columns": [
{ "name": "vendor_id", "type": "string" },
{ "name": "vendor_name", "type": "string" },
{ "name": "country", "type": "string" },
{ "name": "tax_id", "type": "string" }
],
"created_at": "2024-09-15T10:00:00.000Z",
"links": {
"self": "/v1/reference-data/b2c3d4e5-f6a7-8901-bcde-f12345678901",
"rows": "/v1/reference-data/b2c3d4e5-f6a7-8901-bcde-f12345678901/rows"
}
}Errors
Error responses