Reference Data

Lookup Tables HTTP endpoints — Table CRUD, Column CRUD, Row CRUD, and faceted search. 16 endpoints under `/api/referencedata/`.

The Lookup Tables API surface is exposed under /api/referencedata/ — 16 endpoints across four groups (table CRUD, column CRUD, row CRUD, search). The underlying Spring controller is named ReferenceDataController even though the user-facing concept is "Lookup Tables". Every endpoint requires authentication. The mutating endpoints (table / column / row create, update, delete) additionally require the corresponding LOOKUP_TABLE_* permission documented under Lookup Tables → RBAC permissions — but those permissions are global, not per-table or per-owner scoped, so a holder of (for example) LOOKUP_TABLE_DEFINITION_UPDATE can edit columns on any lookup table. The read and search endpoints require only authentication: there is no LOOKUP_TABLE_*_READ permission, so any authenticated caller can read every lookup table's structure and rows. For the feature description, the creation flow, supported PostgreSQL field types, and direct database access via lookup_tables_schema, see the Lookup Tables page.

Table CRUD (4 endpoints)

Method
Path
Operation ID
Purpose

POST

/api/referencedata/table

createReferenceTable

Create a new lookup table. Body: LookupTableFormData (name, namespace_name, optional description). Requires LOOKUP_TABLE_CREATE.

GET

/api/referencedata/table/{lookup_table_id}

getLookupTableById

Get a single lookup table including its column schema.

PUT

/api/referencedata/table/{lookup_table_id}

updateLookupTable

Rename or re-describe a table. Body: LookupTableUpdateFormData (name, optional description). Requires LOOKUP_TABLE_UPDATE.

DELETE

/api/referencedata/table/{lookup_table_id}

deleteLookupTable

Delete a lookup table. Requires LOOKUP_TABLE_DELETE.

Column (definition) CRUD (4 endpoints)

Method
Path
Operation ID
Purpose

POST

/api/referencedata/table/{lookup_table_id}/columns

createColumnsForLookupTable

Add one or more columns. Body: array of LookupTableFieldFormData (name, field_type, optional description, is_nullable, is_unique, default_value). Requires LOOKUP_TABLE_DEFINITION_CREATE.

GET

/api/referencedata/table/{lookup_table_id}/columns/{column_id}

getLookupTableField

Get a single column.

PATCH

/api/referencedata/table/{lookup_table_id}/columns/{column_id}

updateLookupTableField

Edit column metadata. Body: LookupTableFieldUpdateFormData. Nominally requires LOOKUP_TABLE_DEFINITION_UPDATE, but see the authorization caveat below — the table in the path is ignored and the permission gate may not apply. The field_type is not in the update form — types are immutable once set.

DELETE

/api/referencedata/table/{lookup_table_id}/columns/{column_id}

deleteLookupTableField

Delete a column. Nominally requires LOOKUP_TABLE_DEFINITION_DELETE — see the authorization caveat below.

Row (data) CRUD (4 endpoints)

Method
Path
Operation ID
Purpose

GET

/api/referencedata/table/{lookup_table_id}/data

getLookupTableRowList

Page through rows. Query params: page, size.

POST

/api/referencedata/table/{lookup_table_id}/data

addDataToLookupTable

Insert one or more rows. Body: array of LookupTableRowFormData. Requires LOOKUP_TABLE_DATA_CREATE.

PATCH

/api/referencedata/table/{lookup_table_id}/data/{row_id}

updateLookupTableRow

Edit an existing row. Requires LOOKUP_TABLE_DATA_UPDATE.

DELETE

/api/referencedata/table/{lookup_table_id}/data/{row_id}

deleteLookupTableRow

Delete a row. Requires LOOKUP_TABLE_DATA_DELETE.

Search (4 endpoints)

The Master Data list uses a faceted-search flow shared with other catalog search surfaces — create a search, then page results.

Method
Path
Operation ID
Purpose

POST

/api/referencedata/search

referenceDataSearch

Create a new search and get back a search_id plus the initial facets. Body: ReferenceDataSearchFormData.

GET

/api/referencedata/search/{search_id}

getReferenceDataSearchFacetList

Re-fetch the facets for an existing search.

PUT

/api/referencedata/search/{search_id}

updateReferenceDataSearchFacetList

Update the search query and re-aggregate facets.

GET

/api/referencedata/search/{search_id}/results

getReferenceDataSearchResults

Page through the matching tables. Query params: page, size.

See also

  • API Reference hub — the full per-feature index.

  • Lookup Tables — feature description, creation flow, PostgreSQL field types, RBAC, direct database access.

Last updated