Bring Your Own COG API Reference
API Reference (1.0.0)
Download OpenAPI specification:Download
This page contains the documentation on how to use sentinel hub services through API calls.
Note: This documentation is not complete
Create a collection
Authorizations:
Request Body schema: application/json
| name required | string |
| s3Bucket required | string |
| isConfigured | boolean It's set to true, if the collection has bands. |
| noData | number |
object (BYOCCollectionAdditionalData) |
Responses
Request samples
- Payload
{- "name": "string",
- "s3Bucket": "string",
- "isConfigured": true,
- "noData": 0,
- "additionalData": {
- "bands": {
- "band1": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0
}, - "band2": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0
}
}, - "extent": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}
}
}Response samples
- 201
- 400
- 409
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "name": "string",
- "s3Bucket": "string",
- "isConfigured": true,
- "created": "2019-08-24T14:15:22Z",
- "noData": 0,
- "requiresMetadataUpdate": true,
- "additionalData": {
- "bands": {
- "band1": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0,
- "aliases": [
- "string"
]
}, - "band2": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0,
- "aliases": [
- "string"
]
}
}, - "maxMetersPerPixel": 0,
- "extent": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "hasSensingTimes": "YES",
- "fromSensingTime": "2019-08-24T14:15:22Z",
- "toSensingTime": "2019-08-24T14:15:22Z"
}
}
}Query collections
Authorizations:
query Parameters
| count | integer <int32> [ 1 .. 100 ] Number of items to retrieve. |
| viewtoken | string When the total number of items is larger than count, the response contains viewtoken. This viewtoken can be used in the next request to retrieve the next page of items. The next page can be retrieved by repeating the query. However, replace your URL with the next URL in the returned links object. |
| search | string Optional search query. Either a single word to search for or multiple words separated by the |
Responses
Response samples
- 200
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "name": "string",
- "s3Bucket": "string",
- "isConfigured": true,
- "created": "2019-08-24T14:15:22Z",
- "noData": 0,
- "requiresMetadataUpdate": true,
- "additionalData": {
- "bands": {
- "band1": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0,
- "aliases": [
- "string"
]
}, - "band2": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0,
- "aliases": [
- "string"
]
}
}, - "maxMetersPerPixel": 0,
- "extent": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "hasSensingTimes": "YES",
- "fromSensingTime": "2019-08-24T14:15:22Z",
- "toSensingTime": "2019-08-24T14:15:22Z"
}
}
], - "links": {
- "currentToken": "string",
- "nextToken": "string",
- "previousToken": "string",
}
}Response samples
- 200
- 404
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "name": "string",
- "s3Bucket": "string",
- "isConfigured": true,
- "created": "2019-08-24T14:15:22Z",
- "noData": 0,
- "requiresMetadataUpdate": true,
- "additionalData": {
- "bands": {
- "band1": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0,
- "aliases": [
- "string"
]
}, - "band2": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0,
- "aliases": [
- "string"
]
}
}, - "maxMetersPerPixel": 0,
- "extent": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "hasSensingTimes": "YES",
- "fromSensingTime": "2019-08-24T14:15:22Z",
- "toSensingTime": "2019-08-24T14:15:22Z"
}
}
}Update a collection
Authorizations:
path Parameters
| collectionId required | string <uuid> |
Request Body schema: application/json
| name required | string |
| s3Bucket required | string Can only be changed if the collection is empty. |
| noData | number If the value is not provided, the old one gets deleted. |
object (BYOCCollectionAdditionalData) If provided, overwrites the current bands property of the collection:
Keep in mind that:
If "additionalData" is omitted, the bands will not be changed. |
Responses
Request samples
- Payload
{- "name": "string",
- "s3Bucket": "string",
- "noData": 0,
- "additionalData": {
- "bands": {
- "band1": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0
}, - "band2": {
- "source": "string",
- "bandIndex": 1,
- "bitDepth": 8,
- "sampleFormat": "UINT",
- "noData": 0
}
}, - "extent": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}
}
}Response samples
- 400
- 404
- 409
{- "error": {
- "status": 0,
- "reason": "string",
- "message": "string",
- "code": "COMMON_BAD_PAYLOAD",
- "errors": { }
}
}Copy collection tiles
Copies ingested tiles from one collection to another, but only those whose path isn't present in the target collection.
You need to have access to both source and target collections, and target collection needs to have either the same band names and types, or it should have no bands.
Authorizations:
path Parameters
| collectionId required | string <uuid> |
query Parameters
| toCollection required | string <uuid> |
Responses
Response samples
- 404
{- "error": {
- "status": 0,
- "reason": "string",
- "message": "string",
- "code": "COMMON_BAD_PAYLOAD",
- "errors": { }
}
}Create a tile
Authorizations:
path Parameters
| collectionId required | string <uuid> |
Request Body schema: application/json
| path required | string^([^/](/?[^/])*)?$ The path within the bucket where the files are. Can also use the '(BAND)' placeholder when the file names contain more than just the band name. |
Polygon (object) or MultiPolygon (object) The geometry as GeoJSON which outlines the area that has data. If it isn't specified, it is automatically set to the intersection of all file bounding boxes. You may specify this in any CRS, however it will be converted to CRS84. After ingestion is complete, this stays in CRS84 on our system, however, for you convenience, we convert and return this in the CRS of the tile. | |
| sensingTime | string or null <date-time> The sensing time of the tile in ISO 8601 but without sub-millisecond precision. |
object (BYOCTileAdditionalData) |
Responses
Request samples
- Payload
{- "path": "folder/prefix_(BAND)",
- "tileGeometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "coverGeometry": {
- "type": "Polygon",
- "coordinates": {
- "0": {
- "0": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}, - "1": {
- "0": 13.822174072265625,
- "1": 46.09037664604301
}, - "2": {
- "0": 14.113311767578125,
- "1": 45.85080395917834
}, - "3": {
- "0": 14.55963134765625,
- "1": 46.038922598236
}, - "4": {
- "0": 14.441528320312498,
- "1": 46.28717293114449
}, - "5": {
- "0": 14.17236328125,
- "1": 46.29191774991382
}, - "6": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}
}
}
}, - "sensingTime": "2019-08-24T14:15:22Z",
- "additionalData": {
- "failedIngestionCause": "string",
- "warnings": "string"
}
}Response samples
- 201
- 400
- 409
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "path": "folder/prefix_(BAND)",
- "tileGeometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "coverGeometry": {
- "type": "Polygon",
- "coordinates": {
- "0": {
- "0": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}, - "1": {
- "0": 13.822174072265625,
- "1": 46.09037664604301
}, - "2": {
- "0": 14.113311767578125,
- "1": 45.85080395917834
}, - "3": {
- "0": 14.55963134765625,
- "1": 46.038922598236
}, - "4": {
- "0": 14.441528320312498,
- "1": 46.28717293114449
}, - "5": {
- "0": 14.17236328125,
- "1": 46.29191774991382
}, - "6": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}
}
}
}, - "sensingTime": "2019-08-24T14:15:22Z",
- "status": "WAITING",
- "additionalData": {
- "failedIngestionCause": "string",
- "warnings": "string"
}, - "created": "2019-08-24T14:15:22Z"
}
}Get collection tiles
Authorizations:
path Parameters
| collectionId required | string <uuid> |
query Parameters
| count | integer <int32> [ 1 .. 100 ] Number of items to retrieve. |
| viewtoken | string When the total number of items is larger than count, the response contains viewtoken. This viewtoken can be used in the next request to retrieve the next page of items. The next page can be retrieved by repeating the query. However, replace your URL with the next URL in the returned links object. |
| sort | string Enum: "created:asc" "created:desc" Sort the tiles by created date in ascending or descending order. |
| path | string Get the tile with the exact path. Returns a single tile or no tile, if there's none with given path. |
| status | string (BYOCTileStatus) Enum: "WAITING" "QUEUED" "INGESTING" "INGESTED" "FAILED" Get only the files with the given status. |
Responses
Response samples
- 200
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "path": "folder/prefix_(BAND)",
- "tileGeometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "coverGeometry": {
- "type": "Polygon",
- "coordinates": {
- "0": {
- "0": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}, - "1": {
- "0": 13.822174072265625,
- "1": 46.09037664604301
}, - "2": {
- "0": 14.113311767578125,
- "1": 45.85080395917834
}, - "3": {
- "0": 14.55963134765625,
- "1": 46.038922598236
}, - "4": {
- "0": 14.441528320312498,
- "1": 46.28717293114449
}, - "5": {
- "0": 14.17236328125,
- "1": 46.29191774991382
}, - "6": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}
}
}
}, - "sensingTime": "2019-08-24T14:15:22Z",
- "status": "WAITING",
- "additionalData": {
- "failedIngestionCause": "string",
- "warnings": "string"
}, - "created": "2019-08-24T14:15:22Z"
}
], - "links": {
- "currentToken": "string",
- "nextToken": "string",
- "previousToken": "string",
}
}Get a tile
Authorizations:
path Parameters
| collectionId required | string <uuid> |
| tileId required | string <uuid> |
Responses
Response samples
- 200
- 404
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "path": "folder/prefix_(BAND)",
- "tileGeometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 0.1,
- 0.1
]
]
]
}, - "coverGeometry": {
- "type": "Polygon",
- "coordinates": {
- "0": {
- "0": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}, - "1": {
- "0": 13.822174072265625,
- "1": 46.09037664604301
}, - "2": {
- "0": 14.113311767578125,
- "1": 45.85080395917834
}, - "3": {
- "0": 14.55963134765625,
- "1": 46.038922598236
}, - "4": {
- "0": 14.441528320312498,
- "1": 46.28717293114449
}, - "5": {
- "0": 14.17236328125,
- "1": 46.29191774991382
}, - "6": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}
}
}
}, - "sensingTime": "2019-08-24T14:15:22Z",
- "status": "WAITING",
- "additionalData": {
- "failedIngestionCause": "string",
- "warnings": "string"
}, - "created": "2019-08-24T14:15:22Z"
}
}Update a tile
Authorizations:
path Parameters
| collectionId required | string <uuid> |
| tileId required | string <uuid> |
Request Body schema: application/json
object or object (Geometry) | |
| sensingTime | string or null <date-time> The sensing time of the tile in ISO 8601 but without sub-millisecond precision. |
Responses
Request samples
- Payload
{- "coverGeometry": {
- "type": "Polygon",
- "coordinates": {
- "0": {
- "0": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}, - "1": {
- "0": 13.822174072265625,
- "1": 46.09037664604301
}, - "2": {
- "0": 14.113311767578125,
- "1": 45.85080395917834
}, - "3": {
- "0": 14.55963134765625,
- "1": 46.038922598236
}, - "4": {
- "0": 14.441528320312498,
- "1": 46.28717293114449
}, - "5": {
- "0": 14.17236328125,
- "1": 46.29191774991382
}, - "6": {
- "0": 14.000701904296873,
- "1": 46.23685258143992
}
}
}
}, - "sensingTime": "2019-08-24T14:15:22Z"
}Response samples
- 400
- 404
- 409
{- "error": {
- "status": 0,
- "reason": "string",
- "message": "string",
- "code": "COMMON_BAD_PAYLOAD",
- "errors": { }
}
}Reingest a tile
Initiates reingestion of a tile.
Authorizations:
path Parameters
| collectionId required | string <uuid> |
| tileId required | string <uuid> |
Responses
Response samples
- 400
- 404
{- "error": {
- "status": 0,
- "reason": "string",
- "message": "string",
- "code": "COMMON_BAD_PAYLOAD",
- "errors": { }
}
}List files of a tile in your Planet collection
Authorizations:
path Parameters
| collectionId required | string <uuid> |
| tileId required | string <uuid> |
Responses
Response samples
- 200
{- "0": "20241230_100706_56_24fd.json",
- "1": "20241230_100706_56_24fd_metadata.json",
- "2": "20241230_100706_56_24fd_ortho_analytic_4b_sr.tif",
- "3": "20241230_100706_56_24fd_ortho_udm2.tif"
}Retrieve a file from your Planet collection tile
Authorizations:
path Parameters
| collectionId required | string <uuid> |
| tileId required | string <uuid> |
| path required | string Filename with path as returned by the "List files of a tile" endpoint. |
header Parameters
| Range | string <RFC 7223> Example: bytes=16384-23473 Optional byte range to retrieve part of a file according to RFC 7233. Typically used with large files to resume interrupted downloads. |