Skip to content
getgeolens.com

Apply Manifest Endpoint

POST
/ingest/manifest/apply
curl --request POST \
--url https://example.com/ingest/manifest/apply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "manifest_version": "1", "catalog": { "title": "example", "description": "example", "organization": "example", "contact": { "name": "example", "email": "hello@example.com", "url": "example" } }, "datasets": [ { "key": "example", "title": "example", "description": "example", "sources": [ { "type": "vector", "uri": "example", "title": "example", "description": "example", "format": "example", "layer": "example" } ], "metadata": { "tags": [ "example" ], "organization": "example", "crs": "example", "license": "example", "attribution": "example", "bbox": [ 1 ] }, "publication": { "intent": "example" } } ], "dry_run": false }'

Apply a versioned manifest through the ingest service layer.

Media type application/json
ManifestApplyRequest
object
manifest_version
required
Manifest Version
string
Allowed value: 1
catalog
required
ManifestCatalog
object
title
required
Title
string
>= 1 characters <= 500 characters
description
Any of:
string
>= 1 characters <= 5000 characters
organization
Any of:
string
>= 1 characters <= 500 characters
contact
Any of:
ManifestContact
object
name
Any of:
string
>= 1 characters <= 500 characters
email
Any of:
string format: email
<= 320 characters
url
Any of:
string
<= 2000 characters /^https?://[^\s]+$/
datasets
required
Datasets
Array<object>
>= 1 items <= 100 items
ManifestDataset
object
key
required
Key

Stable dataset identity key used for idempotent apply operations.

string
>= 1 characters <= 128 characters /^[a-z0-9][a-z0-9._-]{0,127}$/
title
required
Title
string
>= 1 characters <= 500 characters
description
Any of:
string
>= 1 characters <= 5000 characters
sources
required
Sources
Array<object>
>= 1 items <= 1 items
ManifestSource
object
type
required
Type

Source modality. Vector sources require zip, gpkg, geojson, json, csv, xlsx, or xls; raster_cog sources require tif or tiff.

string
Allowed values: vector raster_cog
uri
required
Uri

Relative path (no .. traversal), HTTP(S) URL, or storage URI.

string
>= 1 characters <= 2000 characters /^(?:(?:\./)?[^\s:/][^\s:]*|https?://[^\s]+|s3://[^\s]+|gs://[^\s]+|az://[^\s]+|abfs://[^\s]+)$/
title
Any of:
string
>= 1 characters <= 500 characters
description
Any of:
string
>= 1 characters <= 5000 characters
format
Any of:
string
>= 1 characters <= 100 characters
layer
Any of:
string
>= 1 characters <= 500 characters
metadata
Any of:
ManifestMetadata
object
tags
Any of:
Array<string>
organization
Any of:
string
>= 1 characters <= 500 characters
crs
Any of:
string
/^EPSG:[0-9]{1,6}$/
license
Any of:
string
>= 1 characters <= 500 characters
attribution
Any of:
string
>= 1 characters <= 5000 characters
bbox
Any of:

WGS84 bbox hint.

Array<number>
>= 4 items <= 4 items
publication
required
ManifestPublication
object
intent
required
Intent

Publication intent. Deliberately not pinned to an enum: the values come from the workflow extension’s status_order(), so an overlay may define its own, and apply validates against the live extension. Community default order: draft, ready, internal, published.

string
>= 1 characters <= 20 characters
dry_run
Dry Run
boolean

Successful Response

Media type application/json
ManifestApplyResponse
object
accepted
required
Accepted
boolean
dry_run
required
Dry Run
boolean
results
required
Results
Array<object>
ManifestApplyEntryResult
object
dataset_key
required
Dataset Key
string
action
required
Action
string
Allowed values: create update skip error
job_id
Any of:
string format: uuid
dataset_id
Any of:
string format: uuid
message
required
Message
string
errors
Errors
Array<string>
Example
{
"results": [
{
"action": "create"
}
]
}

Bad request — invalid payload

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Forbidden — caller lacks write access

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Not found

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Conflict — resource state prevents the operation

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Validation error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Too many requests — retry after the advertised interval

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}
Retry-After
integer

Seconds until the request may be retried

Internal server error

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}

Service unavailable — the database could not serve the request

Media type application/problem+json
ProblemDetail
object
type
Type
string
default: about:blank
title
required
Title
string
status
required
Status
integer
detail
required
Any of:
string
Example
{
"detail": "Dataset not found",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}