Skip to content
getgeolens.com

Stac Import

POST
/services/stac/import
curl --request POST \
--url https://example.com/services/stac/import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "items": [ { "bbox": [ 1 ], "collection": "example", "data_asset_href": "example", "datetime_end": "example", "datetime_start": "example", "epsg": 1, "id": "example", "keywords": [], "title": "example" } ], "url": "example", "visibility": "private" }'

Import selected STAC items as raster datasets.

Each item is registered as a raster_dataset record referencing the remote COG asset URL. Titiler serves the tiles directly from the remote source — no file download required.

Media type application/json
StacImportRequest
object
items
required
Items

Items to import (max 50 per request).

Array<object>
>= 1 items <= 50 items
StacImportItem
object
bbox
Any of:
Array<number>
collection
Any of:
string
<= 255 characters
data_asset_href
required
Data Asset Href

URL of the COG asset to reference.

string
<= 4096 characters
datetime_end
Any of:
string
<= 50 characters
datetime_start
Any of:
string
<= 50 characters
epsg
Any of:
integer
id
required
Id

STAC item ID.

string
<= 2048 characters
keywords
Keywords

Keywords from STAC collection.

Array<string>
default: <= 100 items
title
required
Title

Title to use for the GeoLens dataset.

string
<= 500 characters
url
required
Url

STAC API URL for provenance.

string
>= 1 characters <= 2048 characters
visibility
Visibility

Visibility for imported datasets.

string
default: private
Allowed values: private restricted internal public

Successful Response

Media type application/json
StacImportResponse
object
created
required
Created

Number of datasets created.

integer
errors
required
Errors

Number of items that failed.

integer
results
required
Results

Per-item import results.

Array<object>
StacImportResult
object
dataset_id
Any of:
string format: uuid
error
Any of:
string
item_id
required
Item Id

STAC item ID that was processed.

string
status
required
Status

Import result status.

string
Allowed values: created skipped error
skipped
required
Skipped

Number of items skipped (duplicates).

integer
Example
{
"results": [
{
"status": "created"
}
]
}

Bad request — invalid payload

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Forbidden — caller lacks write access

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Not found

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Conflict — resource state prevents the operation

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Validation error

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Internal server error

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}