Skip to content
getgeolens.com

Commit Import

POST
/ingest/commit/{job_id}
curl --request POST \
--url https://example.com/api/ingest/commit/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "title": "example", "summary": "example", "visibility": "private", "srid_override": 1, "token": "example", "temporal_start": "example", "temporal_end": "example", "compression": "example", "resampling": "example", "nodata_override": 1, "layer_name": "example", "x_column": "example", "y_column": "example", "geom_column": "example" }'

Commit a staged file for ingestion with user-supplied metadata.

Stores user metadata on the job and queues the ingest task. Only callable on jobs with status ‘pending’.

job_id
required
Job Id
string format: uuid
Media type application/json
CommitRequest

Wire-level schema for POST /ingest/commit/{job_id}.

Preserved as a flat union of all possible commit fields so that the FastAPI route signature renders correctly in OpenAPI and so that the frontend’s CommitImportRequest TypeScript type stays unchanged.

The route handler re-validates the body against a subclass chosen by _pick_commit_subclass(job) (see app.ingest.router):

  • VectorCommitRequest — default for file uploads
  • RasterCommitRequest — when job.user_metadata['file_type'] == 'raster'
  • ServiceCommitRequest — when job.source_url is set and job.file_path is None

For new internal code that constructs a commit view, prefer importing the appropriate subclass directly. This flat class is the wire contract, not an implementation detail.

object
title
required
Title

Human-readable dataset title.

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

Dataset visibility level: ‘private’ (owner-only), ‘restricted’ (RBAC-controlled), ‘internal’ (all users), ‘public’ (anonymous access).

string
default: private
Allowed values: private restricted internal public
srid_override
Any of:
integer
>= 1 <= 998999
token
Any of:
string
temporal_start
Any of:
string
temporal_end
Any of:
string
compression
Any of:
string
resampling
Any of:
string
nodata_override
Any of:
number
layer_name
Any of:
string
x_column
Any of:
string
y_column
Any of:
string
geom_column
Any of:
string

Successful Response

Media type application/json
CommitResponse
object
job_id
required
Job Id

Identifier of the committed ingestion job.

string format: uuid
status
required
Status

Updated job status after commit.

string
message
required
Message

Human-readable commit result.

string
Example generated
{
"job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"status": "example",
"message": "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": {}
}
]
}