Skip to main content

API Routes Overview

All routes are served under the /api prefix (e.g. GET /api/config).


Config

MethodEndpointDescription
GET/api/configReturns the UI configuration including enabled services

Auth

MethodEndpointDescription
POST/api/auth/signupRegister a new local user
POST/api/auth/signinSign in with local credentials
POST/api/auth/meReturn the authenticated user's info (token-based)
POST/api/auth/verifyVerify an auth token
GET/api/auth/usersSearch local users
GET/api/auth/keycloak/loginInitiate Keycloak PKCE authorization redirect
GET/api/auth/keycloak/callbackHandle Keycloak PKCE callback and exchange code for token
GET/api/auth/keycloak/meReturn user info from the server-side Keycloak session cookie
GET/api/auth/keycloak/logoutClear server-side session and redirect to Keycloak end-session

Datasets

Core CRUD

MethodEndpointDescription
GET/api/datasetList all datasets
GET/api/dataset/searchSearch datasets
GET/api/dataset/:idDatasetGet a dataset by ID
POST/api/datasetCreate a new dataset
DELETE/api/dataset/:idDatasetDelete a dataset

Tables

MethodEndpointDescription
GET/api/dataset/:idDataset/tableList all tables in a dataset
POST/api/dataset/:idDataset/tableAdd a table to a dataset
GET/api/dataset/:idDataset/table/:idTableGet a specific table
PUT/api/dataset/:idDataset/table/:idTableUpdate a table
DELETE/api/dataset/:idDataset/table/:idTableDelete a table
GET/api/dataset/:idDataset/table/:idTable/dependenciesGet a table's upstream dependencies

Export

MethodEndpointDescription
GET/api/dataset/:idDataset/table/:idTable/exportExport a table (format via query param: w3c, rdf, csv, raw, report_md, python, notebook)
POST/api/dataset/:idDataset/table/:idTable/exportExport a table (format/options via body)

Compliance

MethodEndpointDescription
POST/api/dataset/:idDataset/table/:idTable/complianceTrigger a compliance check (async โ€” result delivered via WebSocket)
GET/api/dataset/:idDataset/table/:idTable/compliance/:reportIndexRetrieve / export a compliance report

The full list of compliance reports is not exposed as a dedicated endpoint โ€” it is available inside the table object returned by GET /api/dataset/:idDataset/table/:idTable (field complianceReports).

GET .../compliance/:reportIndex details

:reportIndex accepts either a zero-based integer or the string latest.

The response format is controlled by the format query parameter:

?formatContent-TypeBehaviour
(omitted)application/jsonReturns the raw report object as a downloadable JSON file
mdtext/markdownReturns a human-readable GDPR Compliance Report as a downloadable Markdown file

Operations (history)

MethodEndpointDescription
GET/api/dataset/:idDataset/table/:idTable/operation/:opId/downstreamGet all operations downstream of a given operation
POST/api/dataset/:idDataset/table/:idTable/operation/:opId/redoRedo a deleted operation
DELETE/api/dataset/:idDataset/table/:idTable/operation/:opIdDelete an operation from history
POST/api/dataset/track/:idDataset/:idTableTrack a table (register for status updates)

Table locking

MethodEndpointDescription
POST/api/dataset/lock/:tableId/acquireAcquire an exclusive lock on a table
POST/api/dataset/lock/:tableId/releaseRelease a previously acquired lock
POST/api/dataset/lock/:tableId/force-releaseForce-release a lock held by another session

Dataset ACL

MethodEndpointDescription
POST/api/dataset/:idDataset/aclAdd a viewer/editor to a dataset (role in body)
DELETE/api/dataset/:idDataset/aclRemove a viewer/editor from a dataset (role in body)
POST/api/dataset/:idDataset/acl/visibilitySet dataset visibility (public / private)

Table ACL

MethodEndpointDescription
GET/api/dataset/:idDataset/table/:idTable/aclGet a table's ACL
POST/api/dataset/:idDataset/table/:idTable/aclAdd a viewer/editor to a table (role in body)
DELETE/api/dataset/:idDataset/table/:idTable/aclRemove a viewer/editor from a table (role in body)
POST/api/dataset/:idDataset/table/:idTable/acl/visibilitySet table visibility

Reconcilers

The reconciliation routes are mounted under /api/reconcilers.

MethodEndpointDescription
GET/api/reconcilers/listList all available reconciliation services
POST/api/reconcilers/automatic/dataset/:idDataset/table/:idTableTrigger automatic annotation (Alligator or LLM classifier)
POST/api/reconcilers/:serviceIdReconcile table data with the specified service

The :serviceId values correspond to the registered reconcilers:

Service IDDisplay name
asiaKeywordsMatcherASIA (Keywords Matcher)
asiaWikifierASIA (Wikifier)
atokaMatch2Atoka Match
atokaPeopleAtoka People
geocodingGeonamesGeocoding: Geo Coordinates (GeoNames)
geocodingHereGeocoding: Geo Coordinates (HERE)
geonamesLinking: GeoNames (GeoNames)
inTableLinkerLinking: In-Table Linking
lionLinkerLinking: Wikidata (LionLinker)
llmReconcilerCustom (LLM Reconciler)
llmReconcilerWikidataCustom Wikidata (LLM Reconciler)
wikidataAlligatorLinking: Wikidata (Alligator)
wikidataOpenRefineLinking: Wikidata (OpenRefine)

Extenders

MethodEndpointDescription
GET/api/extenders/listList all available extension services
POST/api/extenders/:serviceIdExtend table data with the specified service

The :serviceId values correspond to the registered extenders:

Service IDDisplay name
atokaPeopleExtenderAtoka People Extender
chMatchingCH Matching - Private
geoPropertiesWikidataGeo Properties (Wikidata)
geoRouteHereGeo Route (HERE)
geoRouteOSRMGeo Route (OSRM)
llmClassifierCOFOG (LLM Classifier)
llmExtenderCustom (LLM Extender)
meteoPropertiesOpenMeteoMeteo Properties (OpenMeteo)
reconciledColumnExtAnnotation properties
reconciledColumnExtWikidataAnnotation properties (Wikidata)
wikidataPropertySPARQLWikidata properties (SPARQL)
wikidataSPARQLSPARQL (Wikidata)

Modifiers

MethodEndpointDescription
GET/api/modifiers/listList all available modifier functions
POST/api/modifiers/:serviceIdApply a modifier to table data

The :serviceId values correspond to the registered modifiers:

Service IDDisplay name
coordinateTruncationCoordinate Truncation Modifier
dataCleaningData Cleaning
dateFormatterDate Formatter
llmModifierCustom (LLM Modifier)
pseudoanonymizationPseudoanonymization
regexpModifierRegular Expression Modifier
textColumnsTransformerText to Columns / Columns to Text
textRowsText to Rows

Suggestion

MethodEndpointDescription
POST/api/suggestion/wikidataFetch Wikidata entity suggestions for a given query

Metadata

These routes proxy external knowledge-graph and geo services to retrieve entity details for display in the UI.

MethodEndpointQuery paramsDescription
GET/api/metadata/wikidataid (e.g. wd:Q42)Fetch label, description and types from Wikidata
GET/api/metadata/lionlinkerid, labelFetch entity details from the LionLinker / LAM API
GET/api/metadata/geonamesid (e.g. geo:2643743), context (typeTab to resolve feature codes)Fetch place details from GeoNames
GET/api/metadata/geonamesCoordinatesid (lat,lng)Reverse-geocode coordinates via GeoNames
GET/api/metadata/osmid (coordinate pair lat,lng or OSM ref type/id)Fetch place details from OpenStreetMap (Nominatim)