Skip to content
getgeolens.com

Apply Manifest Endpoint

POST
/ingest/manifest/apply
curl --request POST \
--url https://example.com/api/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": "[email protected]", "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": "draft" } } ], "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
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
ManifestSource
object
type
required
Type
string
Allowed values: vector raster_cog vrt
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
string
Allowed values: draft ready internal published
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

Unauthorized — missing or invalid credentials

Forbidden — caller lacks write access

Not found

Conflict — resource state prevents the operation

Validation error

Internal server error