Skip to content
getgeolens.com

Bulk Register Tables

POST
/ingest/register/bulk/
curl --request POST \
--url https://example.com/api/ingest/register/bulk/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "tables": [ { "table_name": "example", "title": "example", "summary": "example", "visibility": "private" } ] }'

Bulk-register multiple existing PostGIS tables as datasets.

Each table is registered independently — one failure does not block others. Tables are processed in parallel via asyncio.gather with a fresh session per task, which keeps transaction isolation while removing the sequential per-table latency (PERF-3).

Media type application/json
BulkRegisterRequest
object
tables
required
Tables

List of tables to register as datasets in a single request.

Array<object>
BulkRegisterItem
object
table_name
required
Table Name

PostgreSQL table name to register.

string
<= 63 characters
title
required
Title

Human-readable dataset title.

string
<= 500 characters
summary
Any of:
string
<= 5000 characters
visibility
Visibility

Dataset visibility level.

string
default: private
Allowed values: private restricted internal public

Successful Response

Media type application/json
BulkRegisterResponse
object
results
required
Results

Per-table registration results, in the same order as the request.

Array<object>
BulkRegisterResult
object
table_name
required
Table Name

Source table that was processed.

string
status
required
Status

Per-row outcome: ‘success’, ‘skipped’, or ‘error’.

string
dataset_id
Any of:
string format: uuid
title
Any of:
string
error
Any of:
string
Example generated
{
"results": [
{
"table_name": "example",
"status": "example",
"dataset_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"title": "example",
"error": "example"
}
]
}

Bad request — invalid payload

Unauthorized — missing or invalid credentials

Forbidden — caller lacks write access

Not found

Conflict — resource state prevents the operation

Validation error

Internal server error