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"
}
]
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}