Skip to content

STAC item search, cql2-text

GET
/v1/search
curl --request GET \
--url 'https://api.satellitedata.net/v1/search?collections=optical-sr&ids=S2C_T15TVK_20260712T171233_L2A&bbox=-93.3%2C44.9%2C-93.2%2C45&intersects=%7B%22type%22%3A%22Point%22%2C%22coordinates%22%3A%5B-93.25%2C44.95%5D%7D&datetime=2026-06-01T00%3A00%3A00Z%2F2026-08-31T23%3A59%3A59Z&limit=10&token=next%3Asentinel-2-l2a%3AS2C_T15TVK_20260712T171233_L2A&filter=eo%3Acloud_cover%20%3C%2040%20AND%20platform%20IN%20('\''landsat-9'\''%2C'\''sentinel-2c'\'')&filter-lang=cql2-text&sortby=%2Bproperties.eo%3Acloud_cover&fields=id%2Cproperties.datetime%2Cproperties.eo%3Acloud_cover'

Searches items across collections with query parameters: collections, ids, bbox or intersects, datetime, a cql2-text filter, sortby, fields and limit. Naming optical-sr searches all optical members at once and de-duplicates overpasses. Responses are cached for 60 seconds; keyed calls pay the Sentinel Hub catalog rule, anonymous calls are unmetered under a per-IP limit with at most 100 items a page.

collections
Array<string>

Collection ids or aliases.

Example

?collections=optical-sr
ids
Array<string>

Item ids.

Example

?ids=S2C_T15TVK_20260712T171233_L2A
bbox
Array<number>
>= 4 items <= 6 items

West, south, east, north in CRS84.

Example

?bbox=-93.3,44.9,-93.2,45
intersects
string

GeoJSON geometry as URL-encoded JSON text; mutually exclusive with bbox.

Example

{"type":"Point","coordinates":[-93.25,44.95]}
datetime
string

RFC 3339 instant or interval; an open end is written .. .

Example

2026-06-01T00:00:00Z/2026-08-31T23:59:59Z
limit
integer
default: 10 >= 1 <= 1000

Page size.

Example

10
token
string

Opaque paging token from a next or prev link.

Example

next:sentinel-2-l2a:S2C_T15TVK_20260712T171233_L2A
filter
string

CQL2 filter on queryables, cql2-text by default.

Example

eo:cloud_cover < 40 AND platform IN ('landsat-9','sentinel-2c')
filter-lang
string
default: cql2-text
Allowed values: cql2-text cql2-json

Language of filter.

Example

cql2-text
sortby
string

Comma-separated sort fields, each prefixed + or -. Default -datetime.

Example

+properties.eo:cloud_cover
fields
string

Fields extension: comma-separated fields, prefixed - to exclude.

Example

id,properties.datetime,properties.eo:cloud_cover

One page of matching items.

Media typeapplication/geo+json

STAC item collection, one page of results.

object
type
required

Always FeatureCollection.

string
Allowed value: FeatureCollection
features
required

Matching items, at most limit.

Array<object>

STAC item.

object
type
required

Always Feature.

string
Allowed value: Feature
stac_version
required

STAC version.

string
stac_extensions

Extensions.

Array<string>
id
required

Native upstream item id.

string
collection

Collection id.

string
geometry
required
One of:

A GeoJSON geometry.

object
type
required

GeoJSON geometry type.

string
Allowed values: Point MultiPoint LineString MultiLineString Polygon MultiPolygon
coordinates
required

GeoJSON coordinates in CRS84 longitude and latitude (RFC 7946).

array
bbox

Bounding box as [west, south, east, north] in CRS84 longitude and latitude, or six numbers with heights.

Array<number>
>= 4 items <= 6 items
properties
required

Item properties. Any property listed by queryables can appear; the common ones are named here.

object
datetime
required

Acquisition time, UTC.

string | null format: date-time
platform

Normalized lowercase platform, for example sentinel-2c or landsat-9.

string
constellation

Constellation.

string
instruments

Instruments.

Array<string>
eo:cloud_cover

Scene cloud cover percentage from the producer.

number
<= 100
s2:mgrs_tile

Sentinel-2 MGRS tile.

string
s2:processing_baseline

Sentinel-2 processing baseline, which decides the DN offset.

string
landsat:wrs_path

Landsat WRS-2 path.

string
landsat:wrs_row

Landsat WRS-2 row.

string
sdn:source_collection

Native collection of an item returned through optical-sr.

string
Allowed values: sentinel-2-l2a dem landsat-ot-l2 landsat-etm-l2 landsat-tm-l2 hls optical-sr sentinel-1-rtc sentinel-2-l1c landsat-ot-l1 landsat-etm-l1 landsat-tm-l1 landsat-mss-l1
sdn:mask_source

Cloud-mask source for the item.

string
Allowed values: scl qa_pixel fmask s2cloudless none
sdn:mask_capabilities

Mask classes the item can detect.

Array<string>
sdn:harmonization

Harmonization level that applies to this item at the collection default.

string
Allowed values: none offset_removed bandpass_adjusted nbar
key
additional properties
any
assets
required

Assets keyed by native band name or role.

object
key
additional properties

STAC asset. href points at the public upstream COG.

object
href
required

Asset URL.

string format: uri
type

Media type.

string
title

Title.

string
roles

Asset roles such as data, overview or cloud.

Array<string>
sdn:band

Band name the asset holds, when it holds one band.

string
key
additional properties
any
links
required

Links, including self, collection and preview.

Array<object>

A STAC and OGC API link object.

object
href
required

Link target.

string format: uri
rel
required

Relation type, such as self, root, parent, next, prev, items, queryables, tiles or license.

string
type

Media type of the target.

string
title

Human-readable title.

string
method

HTTP method for the link, GET unless stated. Paging POST /v1/search uses POST.

string
Allowed values: GET POST
body

Request body to send with a POST link, used for the next page of POST /v1/search.

object
key
additional properties
any
merge

When true the client merges body into the previous request body.

boolean
links
required

Paging links: next and prev carry the token.

Array<object>

A STAC and OGC API link object.

object
href
required

Link target.

string format: uri
rel
required

Relation type, such as self, root, parent, next, prev, items, queryables, tiles or license.

string
type

Media type of the target.

string
title

Human-readable title.

string
method

HTTP method for the link, GET unless stated. Paging POST /v1/search uses POST.

string
Allowed values: GET POST
body

Request body to send with a POST link, used for the next page of POST /v1/search.

object
key
additional properties
any
merge

When true the client merges body into the previous request body.

boolean
numberMatched

Total matches, present when under 10,000.

integer
numberReturned

Items in this page.

integer

Example

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"stac_version": "1.1.0",
"stac_extensions": [
"https://stac-extensions.github.io/eo/v2.0.0/schema.json",
"https://stac-extensions.github.io/raster/v2.0.0/schema.json"
],
"id": "S2C_T15TVK_20260712T171233_L2A",
"collection": "sentinel-2-l2a",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-94.27,
44.16
],
[
-92.88,
44.16
],
[
-92.88,
45.15
],
[
-94.27,
45.15
],
[
-94.27,
44.16
]
]
]
},
"bbox": [
-94.27,
44.16,
-92.88,
45.15
],
"properties": {
"datetime": "2026-07-12T17:21:21Z",
"platform": "sentinel-2c",
"constellation": "sentinel-2",
"instruments": [
"msi"
],
"eo:cloud_cover": 0.32,
"s2:mgrs_tile": "15TVK",
"s2:processing_baseline": "05.12",
"sdn:source_collection": "sentinel-2-l2a",
"sdn:mask_source": "scl",
"sdn:mask_capabilities": [
"nodata",
"saturated_defective",
"cloud",
"cloud_shadow",
"cirrus",
"snow_ice",
"water",
"dark_terrain_shadow",
"unclassified",
"clear",
"cloud_adjacent"
],
"sdn:harmonization": "bandpass_adjusted"
},
"assets": {
"B04": {
"href": "https://e84-earth-search-sentinel-data.s3.us-west-2.amazonaws.com/sentinel-2-c1-l2a/15/T/VK/2026/7/S2C_T15TVK_20260712T171233_L2A/B04.tif",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data"
],
"sdn:band": "B04"
},
"B8A": {
"href": "https://e84-earth-search-sentinel-data.s3.us-west-2.amazonaws.com/sentinel-2-c1-l2a/15/T/VK/2026/7/S2C_T15TVK_20260712T171233_L2A/B8A.tif",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data"
],
"sdn:band": "B8A"
},
"SCL": {
"href": "https://e84-earth-search-sentinel-data.s3.us-west-2.amazonaws.com/sentinel-2-c1-l2a/15/T/VK/2026/7/S2C_T15TVK_20260712T171233_L2A/SCL.tif",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"cloud"
],
"sdn:band": "SCL"
}
},
"links": [
{
"href": "https://api.satellitedata.net/v1/collections/sentinel-2-l2a/items/S2C_T15TVK_20260712T171233_L2A",
"rel": "self",
"type": "application/geo+json"
},
{
"href": "https://api.satellitedata.net/v1/collections/sentinel-2-l2a",
"rel": "collection",
"type": "application/json"
},
{
"href": "https://api.satellitedata.net/v1/collections/sentinel-2-l2a/items/S2C_T15TVK_20260712T171233_L2A/preview.png",
"rel": "preview",
"type": "image/png"
}
]
},
{
"type": "Feature",
"stac_version": "1.1.0",
"stac_extensions": [
"https://stac-extensions.github.io/eo/v2.0.0/schema.json",
"https://stac-extensions.github.io/raster/v2.0.0/schema.json"
],
"id": "LC08_L2SP_027029_20260718_02_T1",
"collection": "landsat-ot-l2",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-95.03,
43.52
],
[
-92.02,
43.52
],
[
-92.02,
45.67
],
[
-95.03,
45.67
],
[
-95.03,
43.52
]
]
]
},
"bbox": [
-95.03,
43.52,
-92.02,
45.67
],
"properties": {
"datetime": "2026-07-18T16:58:29Z",
"platform": "landsat-8",
"constellation": "landsat",
"instruments": [
"oli",
"tirs"
],
"eo:cloud_cover": 4.59,
"landsat:wrs_path": "027",
"landsat:wrs_row": "029",
"sdn:source_collection": "landsat-ot-l2",
"sdn:mask_source": "qa_pixel",
"sdn:mask_capabilities": [
"nodata",
"saturated_defective",
"cloud",
"cloud_shadow",
"cirrus",
"cloud_adjacent",
"snow_ice",
"water",
"dark_terrain_shadow",
"clear"
],
"sdn:harmonization": "offset_removed"
},
"assets": {
"SR_B4": {
"href": "s3://usgs-landsat/collection02/level-2/standard/oli-tirs/2026/027/029/LC08_L2SP_027029_20260718_20260725_02_T1/LC08_L2SP_027029_20260718_20260725_02_T1_SR_B4.TIF",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data"
],
"sdn:band": "SR_B4"
},
"SR_B5": {
"href": "s3://usgs-landsat/collection02/level-2/standard/oli-tirs/2026/027/029/LC08_L2SP_027029_20260718_20260725_02_T1/LC08_L2SP_027029_20260718_20260725_02_T1_SR_B5.TIF",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data"
],
"sdn:band": "SR_B5"
},
"QA_PIXEL": {
"href": "s3://usgs-landsat/collection02/level-2/standard/oli-tirs/2026/027/029/LC08_L2SP_027029_20260718_20260725_02_T1/LC08_L2SP_027029_20260718_20260725_02_T1_QA_PIXEL.TIF",
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"cloud"
],
"sdn:band": "QA_PIXEL"
}
},
"links": [
{
"href": "https://api.satellitedata.net/v1/collections/landsat-ot-l2/items/LC08_L2SP_027029_20260718_02_T1",
"rel": "self",
"type": "application/geo+json"
},
{
"href": "https://api.satellitedata.net/v1/collections/landsat-ot-l2",
"rel": "collection",
"type": "application/json"
},
{
"href": "https://api.satellitedata.net/v1/collections/landsat-ot-l2/items/LC08_L2SP_027029_20260718_02_T1/preview.png",
"rel": "preview",
"type": "image/png"
}
]
}
],
"numberMatched": 23,
"numberReturned": 2,
"links": [
{
"href": "https://api.satellitedata.net/v1/search?collections=optical-sr&bbox=-93.3,44.9,-93.2,45.0&limit=2",
"rel": "self",
"type": "application/geo+json"
},
{
"href": "https://api.satellitedata.net/v1/search?collections=optical-sr&bbox=-93.3,44.9,-93.2,45.0&limit=2&token=next:landsat-ot-l2:LC08_L2SP_027029_20260718_02_T1",
"rel": "next",
"type": "application/geo+json"
}
]
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D
X-Units-Spent
number

Units charged for this response; 0 for cache hits and free routes.

Example
1.333
X-Units-Remaining
number

Units left this month before restricted mode.

Example
8664.2
RateLimit
string

Remaining units and seconds to reset in the current window (IETF RateLimit header draft).

Example
"units";r=287;t=41
RateLimit-Policy
string

Quota policy of the caller (IETF RateLimit header draft).

Example
"units";q=300;w=60

The request is malformed or a parameter is invalid.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
unitsEstimated

Units the request would have cost, computed before execution.

number
error

OAuth 2.0 error code (RFC 6749 section 5.2). Present only on /oauth/token responses.

string
Allowed values: invalid_request invalid_client invalid_grant unauthorized_client unsupported_grant_type invalid_scope
error_description

OAuth 2.0 error description. Present only on /oauth/token responses.

string
message

Copy of detail for openEO clients, which read message. Present only on /v1/openeo routes.

string
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/invalid-parameter",
"title": "Invalid parameter",
"status": 400,
"detail": "bbox must have 4 or 6 numbers; got 3.",
"instance": "/v1/search",
"code": "invalid-parameter",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D",
"errors": [
{
"pointer": "bbox",
"detail": "expected 4 or 6 numbers"
}
]
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D

The API key or bearer token is missing, unknown, revoked or expired.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
unitsEstimated

Units the request would have cost, computed before execution.

number
error

OAuth 2.0 error code (RFC 6749 section 5.2). Present only on /oauth/token responses.

string
Allowed values: invalid_request invalid_client invalid_grant unauthorized_client unsupported_grant_type invalid_scope
error_description

OAuth 2.0 error description. Present only on /oauth/token responses.

string
message

Copy of detail for openEO clients, which read message. Present only on /v1/openeo routes.

string
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/invalid-key",
"title": "Invalid or missing credentials",
"status": 401,
"detail": "Send a verified key in X-API-Key or a bearer token from /oauth/token.",
"instance": "/v1/process",
"code": "invalid-key",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D"
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D
WWW-Authenticate
string

Challenge naming the accepted schemes.

Example
Bearer realm="satellitedata.net", ApiKey header="X-API-Key"

The credentials are valid but cannot use this route, for example before email verification or without the scope.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
unitsEstimated

Units the request would have cost, computed before execution.

number
error

OAuth 2.0 error code (RFC 6749 section 5.2). Present only on /oauth/token responses.

string
Allowed values: invalid_request invalid_client invalid_grant unauthorized_client unsupported_grant_type invalid_scope
error_description

OAuth 2.0 error description. Present only on /oauth/token responses.

string
message

Copy of detail for openEO clients, which read message. Present only on /v1/openeo routes.

string
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/email-unverified",
"title": "Email not verified",
"status": 403,
"detail": "Keys work only after the account email is verified. Check your inbox or resend from the dashboard.",
"instance": "/v1/process",
"code": "email-unverified",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D"
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D

A per-minute, concurrency, monthly or per-IP limit was hit. Retry-After says when to retry.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
unitsEstimated

Units the request would have cost, computed before execution.

number
error

OAuth 2.0 error code (RFC 6749 section 5.2). Present only on /oauth/token responses.

string
Allowed values: invalid_request invalid_client invalid_grant unauthorized_client unsupported_grant_type invalid_scope
error_description

OAuth 2.0 error description. Present only on /oauth/token responses.

string
message

Copy of detail for openEO clients, which read message. Present only on /v1/openeo routes.

string
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/rate-limited",
"title": "Rate limit exceeded",
"status": 429,
"detail": "This key spent 300 of its 300 units in the current minute.",
"instance": "/v1/process",
"code": "rate-limited",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D",
"retryAfter": 17,
"limits": {
"unitsPerMinute": 300,
"unitsSpentThisMinute": 300
}
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D
Retry-After
integer

Seconds to wait before retrying.

Example
17
RateLimit
string

Remaining units and seconds to reset in the current window (IETF RateLimit header draft).

Example
"units";r=287;t=41
RateLimit-Policy
string

Quota policy of the caller (IETF RateLimit header draft).

Example
"units";q=300;w=60

An unexpected server error. No units are charged.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
unitsEstimated

Units the request would have cost, computed before execution.

number
error

OAuth 2.0 error code (RFC 6749 section 5.2). Present only on /oauth/token responses.

string
Allowed values: invalid_request invalid_client invalid_grant unauthorized_client unsupported_grant_type invalid_scope
error_description

OAuth 2.0 error description. Present only on /oauth/token responses.

string
message

Copy of detail for openEO clients, which read message. Present only on /v1/openeo routes.

string
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/internal",
"title": "Internal error",
"status": 500,
"detail": "The request failed on our side and was logged. No units were charged.",
"instance": "/v1/process",
"code": "internal",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D"
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D

An upstream catalog or bucket is unavailable, or the service is in maintenance. No units are charged.

Media typeapplication/problem+json

RFC 9457 problem details. Every 4xx and 5xx response uses this shape with media type application/problem+json. The type URL opens a documentation page that explains the cause and the fix.

object
type
required

URL of the documentation page for this problem type, stable for the life of /v1.

string format: uri
title
required

Short summary of the problem type. It does not change between occurrences.

string
status
required

HTTP status code, repeated for clients that lose the status line.

integer
>= 400 <= 599
detail
required

Explanation specific to this occurrence, written for a developer.

string
instance

Path of the request that failed.

string
code

Machine-readable problem code; equals the last path segment of type.

string
/^[a-z0-9-]+$/
requestId

Request id, also sent in X-Request-Id. Quote it in support requests.

string
errors

Field-level validation failures, present on 400 and 422.

Array<object>

One field-level failure.

object
pointer
required

JSON Pointer (RFC 6901) into the request body, or the query parameter name.

string
detail
required

What is wrong with that member.

string
retryAfter

Seconds until the request can succeed; equals the Retry-After header.

integer
limits

The limit that was hit and the value requested, for example maxWidth and requestedWidth.

object
key
additional properties
number
unitsEstimated

Units the request would have cost, computed before execution.

number
error

OAuth 2.0 error code (RFC 6749 section 5.2). Present only on /oauth/token responses.

string
Allowed values: invalid_request invalid_client invalid_grant unauthorized_client unsupported_grant_type invalid_scope
error_description

OAuth 2.0 error description. Present only on /oauth/token responses.

string
message

Copy of detail for openEO clients, which read message. Present only on /v1/openeo routes.

string
key
additional properties
any

Example

{
"type": "https://docs.satellitedata.net/problems/upstream-unavailable",
"title": "Upstream unavailable",
"status": 503,
"detail": "NASA Earthdata returned 503 for the HLS credentials endpoint; HLS scenes are temporarily unavailable.",
"instance": "/v1/process",
"code": "upstream-unavailable",
"requestId": "01JQ7Z3M8R5V2W6X9Y0A1B2C3D",
"retryAfter": 120
}
X-Request-Id
string

Request id for support and logs.

Example
01JQ7Z3M8R5V2W6X9Y0A1B2C3D
Retry-After
integer

Seconds to wait before retrying.

Example
17