This API endpoint can be used to check whether a client (the group (s)he is part of) has allocation for an area in given scenes. The group license must not be expired in order to use this endpoint.
Needed permissions: credits.check-area
sceneIds required | Array of strings (Sceneids) non-empty List of sceneIds, obtained from e.g. Ragnar search. |
required | any (Geojson) GeoJSON in WGS84 coordinates enclosing area to be checked. The GeoJSON must be within -85 to 85 degrees of latitude. |
Userid (string) or Userid (null) (Userid) Check area for this user. If not provided ID of the user making the request is used. Specifying other user ID requires special permissions. | |
Creditstier (string) or Creditstier (null) (Creditstier) |
{- "costFreeAllocation": false,
- "geojson": {
- "coordinates": [
- [
- [
- [
- -122.51747131348,
- 37.694823535365
], - [
- -122.35130310059,
- 37.694823535365
], - [
- -122.35130310059,
- 37.809919574016
], - [
- -122.51747131348,
- 37.809919574016
], - [
- -122.51747131348,
- 37.694823535365
]
]
]
], - "type": "MultiPolygon"
}, - "sceneIds": [
- "DXc_fDD2aRjkHXMur6NSw1Fz4vmD80bGJLtK1gfSGjMR77E2b-DOrvsQzfYeJA"
]
}
{- "cost": 1.25,
- "km2": 2.5
}
List all transactions for a group that user belongs to.
Note: Transactions were introduced 2022-11.
Note: There can be several allocations with a single preallocationId
.
In such cases, the amount of credit
is shared among those allocations.
I.e. given there are three allocations with 10 credits each. It means
that there were 10 credits spent in total for all of those 3
allocations.
This endpoint supports only user authentication.
Dynamically needed permissions: Requires admin.credits.list-group-transactions
if groupId
is set.
Requires credits.list-group-transactions
otherwise.
Groupid (string) or Groupid (null) (Groupid) ID of the group to get. | |
Cursor (string) or Cursor (null) (Cursor) Use to retrieve more data if the results do not fit into response of one endpoint call. |
{- "cursor": "MQ=="
}
{- "cursor": "MQ==",
- "results": [
- {
- "areaKm2": 2,
- "credit": 1.23,
- "dataset": "b",
- "groupId": "groupId",
- "id": "transaction_id1234",
- "kind": "credit.allocate",
- "provider": "a",
- "sceneId": "scene1",
- "tiles": [
- [
- 1,
- 1
], - [
- 1,
- 2
]
], - "time": "2022-11-30 03:19:59",
- "userId": "user1"
}, - {
- "allocations": [
- "allocation-id1",
- "allocation-id2"
], - "areaKm2": 6,
- "credit": 5.23,
- "groupId": "groupId",
- "id": "transaction_id1235",
- "kind": "credit.preallocate",
- "orderReferenceId": "abc",
- "time": "2022-11-12 04:49:56",
- "userId": "user1"
}, - {
- "areaKm2": 6,
- "credit": 5.23,
- "groupId": "groupId",
- "id": "transaction_id1236",
- "kind": "credit.return",
- "orderReferenceId": "orderReferenceId",
- "time": "2022-11-13 05:39:51",
- "userId": "user1"
}, - {
- "areaKm2": 0,
- "credit": 100,
- "groupId": "groupId",
- "id": "transaction_id1236",
- "kind": "credit.update",
- "time": "2022-12-01 12:45:22",
- "userId": "user2"
}
]
}
List all allocations for the group. This endpoint supports only user authentication.
Dynamically needed permissions: Requires admin.credits.list-group-allocations
if groupId
is set.
Requires ``credits.list-group-allocations` otherwise.
Groupid (string) or Groupid (null) (Groupid) ID of the group to get. | |
Cursor (string) or Cursor (null) (Cursor) Use to retrieve more data if the results do not fit into response of one endpoint call. |
{- "cursor": "MQ=="
}
{- "results": [
- {
- "groupId": "groupId",
- "id": "transaction_id1234",
- "sceneId": "GAl45wSsIlxfNFn4l-NQ4rN6LF-SaJ5DRRQD3jA",
- "tiles": [
- [
- 1,
- 1
], - [
- 5,
- 7
]
]
}, - {
- "groupId": "groupId",
- "id": "transaction_id1235",
- "sceneId": "DXc_f1UsDLmqvwlUy7tMaR7E"
}
]
}
Set user credit limit.
Also requires admin.users.manage
permission if the changed user is
not a member of the same group as the user changing the limit.
This endpoint supports only user authentication.
Needed permissions: admin.credits.set-user-credit-limit
userId required | string (Userid) non-empty User Auth0 ID to set the limit to. |
Creditlimit (number) or Creditlimit (null) (Creditlimit) Credit limit to be set for given user. Omit or set to None to unset the limit. |
{- "creditLimit": 123.4,
- "userId": "user-id"
}
{ }
Get credits information for a given user.
Needed permissions: credits.user-info
Userid (string) or Userid (null) (Userid) Get credits information for this user. If not provided, credits information for the current user will be returned. Requires special permissions. |
{- "userId": "auth0|8e9c9d314376cb2319e14606"
}
{- "creditsTier": "basic",
- "email": "user@example.com",
- "groupId": "group_123",
- "id": "auth0|8e9c9d314376cb2319e14606",
- "name": "John Doe",
- "remainingCredit": 900,
- "usedCredit": 100
}
This endpoint lists all AoIs available for filtering of data-points in Datacube. You may be limited to a subset of these AoIs, please contact SpaceKnow representatives to get access to more.
Needed permissions: datacube.get
{ }
[- {
- "label": "cz",
- "name": "Czech Republic"
}
]
This endpoint lists catalogue of data-points available in Datacube. Different algorithms are available for different regions, date ranges, and their inputs come from different sources.
This endpoint supports only user authentication.
Needed permissions: datacube.get
Version (string) or Version (null) (Version) Search for specific version. | |
Project (string) or Project (null) (Project) Search for specific project. | |
Source (string) or Source (null) (Source) Search for specific source. | |
Algorithm (string) or Algorithm (null) (Algorithm) Search for specific algorithm. | |
Aoiname (string) or "" (string) or Aoiname (null) (Aoiname) Search for specific aoi name. | |
Aoilabel (string) or "" (string) or Aoilabel (null) (Aoilabel) Search for specific aoi label. |
{- "algorithm": "ndmi_mean",
- "aoiLabel": "cz",
- "aoiName": "Czech Republic",
- "project": "coal",
- "source": "LANDSAT/LC08/C01/T1",
- "version": "160"
}
{- "ndmi_mean": [
- {
- "algorithm": "ndmi_mean",
- "aoi_label": "cz",
- "aoi_name": "Czech Republic",
- "date_ranges": [
- {
- "from": "2010-01-01",
- "to": "2019-02-28"
}
], - "last_update": "2019-02-27 17:39:56",
- "metadata": {
- "frequency": "D",
- "name": "something"
}, - "project": "coal",
- "source": "LANDSAT/LC08/C01/T1",
- "version": "160"
}, - {
- "algorithm": "ndmi_mean",
- "aoi_label": "cz",
- "aoi_name": "Czech Republic",
- "date_ranges": [
- {
- "from": "2010-01-01",
- "to": "2016-10-12"
}, - {
- "from": "2017-05-01",
- "to": "2019-02-28"
}
], - "last_update": "2019-02-27 17:39:56",
- "project": "steel",
- "source": "COPERNICUS/S2",
- "version": "160"
}
], - "radiance_mean": [
- {
- "algorithm": "radiance_mean",
- "aoi_label": "de",
- "aoi_name": "Germany",
- "date_ranges": [
- {
- "from": "2018-01-01",
- "to": "2019-02-28"
}
], - "last_update": "2019-02-03 12:19:01",
- "metadata": {
- "frequency": "monthly",
- "name": "Germany night lights monthly"
}, - "project": "night_lights",
- "source": "VIIRS/Monthly",
- "version": "162"
}
]
}
Use this endpoint to get Datacube datapoints by filter.
Needed permissions: datacube.get
Dynamically needed permissions: Requires datacube.get-aoi-positions
if showAoiPositions
is set.
Requires datacube.get-aoi-tags
if showAoiTags
is set.
filters required | Array of objects (Filters) Filter on single project and single algorithm is required; list of filters of data. Only data-points matching all filters are returned. See Filters. |
Aggregator (string) or null See Aggregation. | |
showAoiPositions | boolean (Showaoipositions) Default: false Set to |
showAoiTags | boolean (Showaoitags) Default: false Set to |
PostprocessType (string) or null See Postprocessing. | |
Resample (string) or Resample (null) (Resample) Resampling method for datapoints - weekly, monthly or yearly. | |
Array of Columns (strings) or Columns (null) (Columns) Fetch only some of the columns. | |
keepDuplicates | |
keepAllVersions | boolean (Keepallversions) Default: false By default datacube results are filtered to only contain latest version that was
matched by the query. By setting keepAllVersions to |
{- "filters": [
- {
- "field": "startDatetime",
- "params": {
- "from": "2018-01-01 00:10:00"
}, - "type": "time-range"
}, - {
- "field": "cloudCover",
- "params": {
- "max": 0.05
}, - "type": "value-range"
}, - {
- "field": "project",
- "params": {
- "values": [
- "industrial_production"
]
}, - "type": "value-list"
}, - {
- "field": "algorithm",
- "params": {
- "values": [
- "ndmi_mean"
]
}, - "type": "value-list"
}, - {
- "field": "tag",
- "params": {
- "values": [
- "mine",
- "mining",
- "ore"
]
}, - "type": "value-list"
}, - {
- "field": "aoi",
- "params": {
- "geometryLabel": "cz"
}, - "type": "geo-intersects"
}
]
}
{- "totalRows": 2648
}
Some queries to Datacube API can match a larger number of data-points than it
is possible to query and return in time span of one HTTP request. Pass the same
payload as to /datacube/datapoints/get
to the asynchronous endpoint to
initiate the query.
Needed permissions: datacube.get
Dynamically needed permissions: Requires datacube.get-aoi-positions
if showAoiPositions
is set.
Requires datacube.get-aoi-tags
if showAoiTags
is set.
filters required | Array of objects (Filters) Filter on single project and single algorithm is required; list of filters of data. Only data-points matching all filters are returned. See Filters. |
Aggregator (string) or null See Aggregation. | |
showAoiPositions | boolean (Showaoipositions) Default: false Set to |
showAoiTags | boolean (Showaoitags) Default: false Set to |
PostprocessType (string) or null See Postprocessing. | |
Resample (string) or Resample (null) (Resample) Resampling method for datapoints - weekly, monthly or yearly. | |
Array of Columns (strings) or Columns (null) (Columns) Fetch only some of the columns. | |
keepDuplicates | |
keepAllVersions | boolean (Keepallversions) Default: false By default datacube results are filtered to only contain latest version that was
matched by the query. By setting keepAllVersions to |
{- "filters": [
- {
- "field": "startDatetime",
- "params": {
- "from": "2018-01-01 00:10:00"
}, - "type": "time-range"
}, - {
- "field": "cloudCover",
- "params": {
- "max": 0.05
}, - "type": "value-range"
}, - {
- "field": "project",
- "params": {
- "values": [
- "industrial_production"
]
}, - "type": "value-list"
}, - {
- "field": "algorithm",
- "params": {
- "values": [
- "ndmi_mean"
]
}, - "type": "value-list"
}, - {
- "field": "tag",
- "params": {
- "values": [
- "mine",
- "mining",
- "ore"
]
}, - "type": "value-list"
}, - {
- "field": "aoi",
- "params": {
- "geometryLabel": "cz"
}, - "type": "geo-intersects"
}
]
}
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Retrieves result of calling asynchronous endpoint
/datacube/datapoints/get/initiate
.
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "totalRows": 2648
}
This endpoint lists SpaceKnow products available in Datacube or gets particular
product by its id. downloadable
flag signals whether user have the ability
to download listed product. User can filter out to only downloadable
products
by specifying downloadableOnly
flag in request.
Needed permissions: datacube.get
Productid (string) or Productid (null) (Productid) Specific productId for which metadata should be shown. | |
downloadableOnly | boolean (Downloadableonly) Default: false Show only downloadable products. |
{- "downloadableOnly": true,
- "productId": "SK_PI_C_CN_W"
}
[- {
- "active": true,
- "downloadable": true,
- "metadata": {
- "productName": "SpaceKnow Argentina Monthly"
}, - "productId": "SK ABAI AR",
- "salesInfo": {
- "column_name_request1": {
- "frequency": "monthly",
- "region": "argentina",
- "rolling": "1d",
- "topic": "Transport",
- "typeOfIndex": "ABAI",
- "units": "%",
- "valueType": "activity"
}, - "column_name_request2": {
- "frequency": "monthly",
- "region": "argentina",
- "rolling": "1d",
- "topic": "Transport",
- "typeOfIndex": "ABAI",
- "units": "%",
- "valueType": "activity"
}
}
}
]
This API endpoint returns CSV containing the requested SpaceKnow Datacube product. See Get product doc.
Needed permissions: datacube.get
productId required | string (Productid) [ 1 .. 140 ] characters Product ID of the requested product. |
Pitdt (string) or Pitdt (null) (Pitdt) Date in format 'YYYY-MM-DD'. Specify if you want to receive data as of the given date. | |
csvFormat | string (ApiCsvFormat) Default: "simple" Enum: "simple" "rich" Choose between 'simple' and 'rich'. 'rich' is a superset of the 'simple' format adding more information and clarity for every product row. |
{- "csvFormat": "simple",
- "pitDt": "2020-10-10",
- "productId": "SK_PI_C_CN_W"
}
"value_dt,delivery_dt,col A,col B\n 2020-09-17 08:41:17 UTC,2020-09-18 08:41:44 UTC,0.3,0.2\n 2020-09-17 08:43:24 UTC,2020-09-18 08:43:25 UTC,,0.3"
This endpoint serves a detailed data dictionary (sales information) for a given product ID in CSV format.
Needed permissions: datacube.get
productId required | string (Productid) [ 1 .. 140 ] characters Product ID of the requested product. |
{- "productId": "SK_TRA_DIS_CON_LOG_ASI_US_D"
}
"\n \"column_id\", \"topic\", \"type_of_index\", \"region\", \"frequency\", \"rolling\", \"value_type\", \"units\"\n \"SK_TRA_DIS_CON_LOG_ASI_US_D_30d_normal_activity_level\", \"Transport\", \"ASI - normal\", \"United States\", \"weekly\", \"30d\", \"activity\", \"%\"\n \"SK_TRA_DIS_CON_LOG_ASI_US_D_30d_high_activity_level\", \"Transport\", \"ASI - high\", \"United States\", \"weekly\", \"30d\", \"activity\", \"%\"\n \"SK_TRA_DIS_CON_LOG_ASI_US_D_30d_low_activity_level\", \"Transport\", \"ASI - low\", \"United States\", \"weekly\", \"30d\", \"activity\", \"%\"\n "
A tile can be downloaded using the following endpoint. This endpoint is publicly accessible.
Dynamically needed permissions: Requires kraken.download-unclipped
if download_unclipped
is set.
signed_map_id required | string (Signed Map Id) Examples: abc ID of a map returned by the |
request_geometry_id required | string (Request Geometry Id) Examples: - For internal use only, use |
zoom required | integer (Zoom) Examples: 19 Zoom level of the tile. |
x required | integer (X) Examples: 83861 Horizontal coordinate of the tile. |
y required | integer (Y) Examples: 202628 Vertical coordinate of the tile. |
file_name required | string (File Name) Examples: truecolor.png One of the output files available for the released map type that should be returned. See grid files doc. |
User Threshold (number) or User Threshold (null) (User Threshold) Examples: user_threshold=0.5 If given binarize grid files according to the user threshold. The value must be in [-1, 1] interval. Only available for pixel index algorithms. Only available for | |
download_unclipped | integer (_GridFlag) Default: 0 Enum: 1 0 Examples: download_unclipped=1 Set to |
force_download | integer (_GridFlag) Default: 0 Enum: 1 0 Examples: force_download=1 Set to |
Classification (string) or Classification (null) (Classification) Examples: classification=default If given custom classification can be applied to | |
Detection Filters (string) or Detection Filters (null) (Detection Filters) Examples: detection_filters=area gt 1000
width lt 100 If given filter features in vector grid file according to detection filters. The value is set of lines (conditions) which consists of three space-separated items: property, condition, value. Only available for | |
percentile_stretch | integer (_GridFlag) Default: 0 Enum: 1 0 Examples: percentile_stretch=1 If set to true then stretch the imagery visualization between 0.5 and 99.5 percentile of pixel values for the whole scene. Fails with if percentiles are not available. Only available for |
"string"
A tile can be downloaded using the following endpoint. This endpoint is publicly accessible.
Dynamically needed permissions: Requires kraken.download-unclipped
if download_unclipped
is set.
signed_map_id required | string (Signed Map Id) Examples: abc ID of a map returned by the |
request_geometry_id required | string (Request Geometry Id) Examples: - For internal use only, use |
zoom required | integer (Zoom) Examples: 19 Zoom level of the tile. |
x required | integer (X) Examples: 83861 Horizontal coordinate of the tile. |
y required | integer (Y) Examples: 202628 Vertical coordinate of the tile. |
file_name required | string (File Name) Examples: truecolor.png One of the output files available for the released map type that should be returned. See grid files doc. |
User Threshold (number) or User Threshold (null) (User Threshold) Examples: user_threshold=0.5 If given binarize grid files according to the user threshold. The value must be in [-1, 1] interval. Only available for pixel index algorithms. Only available for | |
download_unclipped | integer (_GridFlag) Default: 0 Enum: 1 0 Examples: download_unclipped=1 Set to |
force_download | integer (_GridFlag) Default: 0 Enum: 1 0 Examples: force_download=1 Set to |
Classification (string) or Classification (null) (Classification) Examples: classification=default If given custom classification can be applied to | |
Detection Filters (string) or Detection Filters (null) (Detection Filters) Examples: detection_filters=area gt 1000
width lt 100 If given filter features in vector grid file according to detection filters. The value is set of lines (conditions) which consists of three space-separated items: property, condition, value. Only available for | |
percentile_stretch | integer (_GridFlag) Default: 0 Enum: 1 0 Examples: percentile_stretch=1 If set to true then stretch the imagery visualization between 0.5 and 99.5 percentile of pixel values for the whole scene. Fails with if percentiles are not available. Only available for |
"string"
Use this API to trigger analysis over area specified by GeoJSON.
Needed permissions: kraken.release
Dynamically needed permissions: Requires a set of permissions in the form <prefix>.<provider>.<dataset>
.
<prefix>
is replaced with algorithms.<name-of-algorithm>
or
with imagery.images
.
mapTypes required | Array of any (Maptypes) Map types to be analyzed. |
required | any (Extent) Area of interest which must intersect with scene's footprint, see extent doc. |
sceneIds required | Array of strings (Sceneids) ID of scene(s) from which the map should be generated. See
Ragnar doc.
Number of input scenes depends on given map type, single input map types
require 1 |
Subgeometry (any) or Subgeometry (null) (Subgeometry) Subset of |
{- "extent": {
- "coordinates": [
- [
- [
- [
- -122.51,
- 37.69
], - [
- -122.35,
- 37.69
], - [
- -122.35,
- 37.8
], - [
- -122.51,
- 37.8
], - [
- -122.51,
- 37.69
]
]
]
], - "type": "MultiPolygon"
}, - "mapTypes": [
- "imagery",
- "aircraft"
], - "onlyIngested": false,
- "sceneIds": [
- "DXc_fDDq0LelifmD5a2tXfM"
], - "subGeometry": {
- "coordinates": [
- [
- [
- -122.49,
- 37.71
], - [
- -122.44,
- 37.71
], - [
- -122.44,
- 37.77
], - [
- -122.49,
- 37.77
], - [
- -122.49,
- 37.71
]
]
], - "type": "Polygon"
}
}
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Needed permissions: kraken.release
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "mapId": "xyz",
- "maxZoom": 19,
- "status": "succeeded",
- "subGeometryId": "-",
- "tiles": [
- [
- 19,
- 83861,
- 202628
]
]
}
Use this endpoint to get the size of ingested imagery and analysis. Useful for predicting costs of a particular analysis before it's run.
Needed permissions: kraken.dry-run
required | Array of objects (Dryruns) List of dry run dictionaries. Contains a list of Kraken map types to use. Also contains list of lists with sceneIds. Scene list can contain single scene_id for single algorithms or multiple scenes for change or n-wise algorithms. |
required | any (Extent) Area of interest which must intersect with scene's footprint. |
{- "allocate": false,
- "dryRuns": [
- {
- "mapTypes": [
- "imagery",
- "aircraft",
- "wrunc"
], - "scenes": [
- [
- "DXc_f1UsDLmqvwlUy7tMaR7H"
], - [
- "DXc_f1UsDLmqvwlUy7tMaR7E"
]
]
}, - {
- "mapTypes": [
- "change"
], - "scenes": [
- [
- "DXc_f1UsDLmqvwlUy7tMaR7F",
- "DXc_f1UsDLmqvwlUy7tMaR7C"
]
]
}
], - "extent": {
- "coordinates": [
- [
- [
- [
- -122.51747131348,
- 37.694823535365
], - [
- -122.35130310059,
- 37.694823535365
], - [
- -122.35130310059,
- 37.809919574016
], - [
- -122.51747131348,
- 37.809919574016
], - [
- -122.51747131348,
- 37.694823535365
]
]
]
], - "type": "MultiPolygon"
}, - "ignoreCache": false,
- "onlyIngested": false
}
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Use this endpoint to get retrieve results of dry run initiated
by calling /kraken/dry-run/initiate
.
Needed permissions: kraken.dry-run
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "allocatedCredits": 1.06,
- "allocatedKm2": 100.69,
- "analyzedKm2": 50.23,
- "ingestedKm2": 100.69,
- "krakenKm2": 75.434,
- "scenes": [
- {
- "cost": 1.06,
- "costPerKm2": 0.010527361207667098,
- "dataset": "SkySatCollect",
- "km2": 100.69,
- "provider": "pl",
- "sceneId": "DXc_f1UsDLmqvwlUy7tMaR7F"
}
]
}
Use this endpoint to generate pairs from a list of scenes according to chosen
pairing type and other options. Each pair can be afterward analyzed with
pairwise map types through /kraken/release/initiate
.
Needed permissions: imagery.availability
sceneIds required | Array of strings (Sceneids) IDs of scenes from which the pairs should be generated. |
required | any (Extent) Area of interest which must intersect with footprints of both scenes. |
Minintersection (number) or Minintersection (null) (Minintersection) Minimum required intersection of the scenes in km^2. Defaults to 0. | |
PairingType (string) or null Possible options:
| |
Periodicity (string) or null Periodicity used to generate slots. | |
Mindaydelta (number) or Mindaydelta (null) (Mindaydelta) SAR specific. Minimum span between paired scenes in days. Defaults to 0.0. | |
Maxdaydelta (number) or Maxdaydelta (null) (Maxdaydelta) SAR specific. Maximum span between paired scenes in days. Defaults to unlimited day difference. | |
onlyTopOrbitNumber | boolean (Onlytoporbitnumber) Default: false SAR specific. Whether to include only scene set with same relative orbit number and orbit pass that has most occurrences in input. Defaults to False. |
Maxyoydelta (number) or Maxyoydelta (null) (Maxyoydelta) Maximum deviation from exact year over year pairing in days. Use decimal number for more accuracy. Only applicable for yoy pairing. Defaults to 15.0. |
{- "extent": {
- "coordinates": [
- [
- [
- -122.51747131348,
- 37.694823535365
], - [
- -122.35130310059,
- 37.694823535365
], - [
- -122.35130310059,
- 37.809919574016
], - [
- -122.51747131348,
- 37.809919574016
], - [
- -122.51747131348,
- 37.694823535365
]
]
], - "type": "Polygon"
}, - "onlyTopOrbitNumber": false,
- "periodicity": "daily",
- "sceneIds": [
- "DXc_f1UsDLmqvwlUy7tMaR7H",
- "DXc_f1UsDLmqvwlUy7tMaR7E",
- "DXc_f1UsDLmqvwlUy7tMaR7F"
]
}
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Use this endpoint to generate pairs from a list of scenes according to chosen
pairing type and other options. Each pair can be afterward analyzed with
pairwise map types through /kraken/release/initiate
.
Needed permissions: imagery.availability
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "pairwise": [
- {
- "newSceneId": "DXc_f1UsDLmqvwlUy7tMaR7E",
- "oldSceneId": "DXc_f1UsDLmqvwlUy7tMaR7H"
}, - {
- "newSceneId": "DXc_f1UsDLmqvwlUy7tMaR7C",
- "oldSceneId": "DXc_f1UsDLmqvwlUy7tMaR7F"
}
]
}
Use this endpoint to generate groups from a list of scenes according to chosen
parameters. Each group can be afterward analyzed with N-wise map types through
/kraken/release/initiate
.
The endpoint fails with SCENES-WITH-SAME-DATETIME
error if two scenes
within one relative orbit number group have identical datetimes. Scenes must
be deduplicated on datetime before sending them to the endpoint.
Needed permissions: imagery.availability
groupingType required | string (Groupingtype) Value: "cumulated" |
sceneIds required | Array of strings (Sceneids) >= 3 items IDs of scenes from which the pairs should be generated. |
required | any (Extent) "Area of interest which must intersect with footprints of all scenes. |
minScenes | integer (Minscenes) >= 3 Default: 3 Minimum number of scenes within returned group. |
{- "extent": {
- "coordinates": [
- [
- [
- -122.51747131348,
- 37.694823535365
], - [
- -122.35130310059,
- 37.694823535365
], - [
- -122.35130310059,
- 37.809919574016
], - [
- -122.51747131348,
- 37.809919574016
], - [
- -122.51747131348,
- 37.694823535365
]
]
], - "type": "Polygon"
}, - "groupingType": "cumulated",
- "minScenes": 3,
- "sceneIds": [
- "DXc_f1UsDLmqvwlUy7tMaR7C",
- "DXc_f1UsDLmqvwlUy7tMaR7E",
- "DXc_f1UsDLmqvwlUy7tMaR7F",
- "DXc_f1UsDLmqvwlUy7tMaR7H"
]
}
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Needed permissions: imagery.availability
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "nwise": [
- [
- "DXc_f1UsDLmqvwlUy7tMaR7H",
- "DXc_f1UsDLmqvwlUy7tMaR7E",
- "DXc_f1UsDLmqvwlUy7tMaR7F"
], - [
- "DXc_f1UsDLmqvwlUy7tMaR7C",
- "DXc_f1UsDLmqvwlUy7tMaR7D",
- "DXc_f1UsDLmqvwlUy7tMaR7A"
]
]
}
Use this endpoint to get classes with colors which were used by algorithm applied for map with given ID. Useful for obtaining colors based on map ID for anonymous users (as this endpoint does not require authentication).
This endpoint is publicly accessible.
signed_map_id required | string (Signed Map Id) Examples: abc ID of a map returned by the |
{- "deprecatedClasses": {
- "430.2": {
- "mig-23": [
- 255,
- 193,
- 7
]
}
}, - "mapType": "aircraft",
- "segmentationClassification": {
- "custom_classification": {
- "an-124": {
- "class": "transport",
- "color": [
- 255,
- 88,
- 151
], - "master_class": "aircraft",
- "parent_class": "transport-heavy"
}, - "c-130": {
- "class": "transport",
- "color": [
- 96,
- 202,
- 236
], - "master_class": "aircraft",
- "parent_class": "transport-heavy"
}, - "undefined": { }
}, - "default": {
- "an-124": {
- "color": [
- 255,
- 88,
- 151
], - "master_class": "aircraft",
- "parent_class": "transport-heavy"
}, - "undefined": {
- "color": [
- 200,
- 200,
- 200
], - "master_class": "aircraft"
}
}
}, - "segmentationMetadata": {
- "segmentationColors": {
- "aircraft": [
- 255,
- 193,
- 7
]
}
}
}
Use this endpoint to see which algorithms you can access. Useful to determine the name of the algorithm to run. Only map types that user has permissions for are listed.
This endpoint supports only user authentication.
Needed permissions: kraken.release
{ }
[- {
- "availableDatasets": {
- "gbdx": [
- [
- "idaho-pansharpened",
- {
- "isGlobal": true,
- "marginPx": 80,
- "minSizePx": 0,
- "version": "some-number"
}
]
], - "pl": [
- [
- "PSScene4Band",
- {
- "isGlobal": false,
- "marginPx": 80,
- "maxGsd": 4.5,
- "minSizePx": 0,
- "resolution": 3.125,
- "version": "some-number2"
}
]
]
}, - "deprecatedClasses": {
- "430.2": {
- "mig-23": [
- 255,
- 193,
- 7
]
}
}, - "description": "Aircraft detection algorithm",
- "gridFiles": {
- "geojson": [
- "detections.geojson"
], - "geotiff": [
- "analysis.geotiff",
- "visualization.geotiff"
], - "json": [
- "metadata.json"
], - "png": [
- "segmentation.png",
- "transport.png",
- "fighter.png",
- "rotary-wing.png"
], - "ski": [
- "segmentation.ski"
]
}, - "isHeatmap": false,
- "mapType": "aircraft",
- "maxMpix": 14400,
- "segmentationClassification": {
- "custom_classification": {
- "an-124": {
- "class": "transport",
- "color": [
- 255,
- 88,
- 151
], - "master_class": "aircraft",
- "parent_class": "transport-heavy"
}, - "c-130": {
- "class": "transport",
- "color": [
- 96,
- 202,
- 236
], - "master_class": "aircraft",
- "parent_class": "transport-heavy"
}, - "undefined": { }
}, - "default": {
- "an-124": {
- "color": [
- 255,
- 88,
- 151
], - "master_class": "aircraft",
- "parent_class": "transport-heavy"
}, - "undefined": {
- "color": [
- 200,
- 200,
- 200
], - "master_class": "aircraft"
}
}
}, - "segmentationMetadata": {
- "segmentationColors": {
- "aircraft": [
- 255,
- 193,
- 7
]
}
}, - "supportsUserThreshold": false
}, - {
- "availableDatasets": {
- "gbdx": [
- [
- "idaho-pansharpened",
- {
- "isGlobal": true,
- "marginPx": 0,
- "minSizePx": 0,
- "resolution": 0.3,
- "version": "some-number3"
}
]
], - "pl": [
- [
- "PSScene4Band",
- {
- "isGlobal": true,
- "marginPx": 80,
- "maxGsd": 4.5,
- "minSizePx": 0,
- "resolution": 3.125,
- "version": "some-number4"
}
]
]
}, - "description": "Ship detection algorithm",
- "gridFiles": {
- "geojson": [
- "detections.geojson"
], - "geotiff": [
- "analysis.geotiff",
- "visualization.geotiff"
], - "json": [
- "metadata.json"
], - "png": [
- "segmentation.png",
- "ships.png"
], - "ski": [
- "segmentation.ski"
]
}, - "isHeatmap": false,
- "mapType": "ships",
- "maxMpix": 14400,
- "segmentationMetadata": {
- "segmentationColors": {
- "ships": [
- 253,
- 46,
- 4
]
}
}, - "supportsUserThreshold": false
}
]
A synchronous endpoint that ingests a single scene into Phoenix.
The scene is immediately searchable and downloadable.
Users with permission ingest-scene
can ingest scene directly on frontend by
clicking on Upload images(s) for creating analysis
from main menu.
The synchronous nature of the endpoint makes it unsuitable for ingesting
large scenes on a non-local network. It is meant to work in on-prem
deployments.
This endpoint supports only user authentication.
Needed permissions: ingest-scene
provider required | any (Provider-Input) Examples: pl Name of the provider. |
Streamed binary file. Currently supported:
* Airbus, Planet or Iceye ZIP files containing XML metadata and
GeoTIFF/JPEG2000 image
* GeoTIFFs/JPEG2000 created from our SKIs, e.g. exported using the
``/imagery/get-image/retrieve`` endpoint.
"string"
{- "ingestedScenes": [
- {
- "duplicate": false,
- "sceneId": "HJYSLdFQcPLBI0BXokBsb0rUnsL_iCD1izvSyTsBNjzzrSas52bCwL6Z4pzloLow"
}
]
}
Initiates imagery search pipeline.
Dynamically needed permissions: Requires imagery.images.<provider>.<dataset>
for each dataset provided.
Requires phoenix.ingested
if onlyIngested
is set to True.
required | object (BaseRagnarSearchRequest) Examples: |
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Use this endpoint to retrieve imagery asynchronously searched for by calling
/imagery/search/initiate
.
Needed permissions: imagery.availability
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "results": [
- {
- "bands": [
- {
- "bitDepth": 8,
- "gsd": 0.5,
- "names": [
- "r",
- "red"
], - "pixelSizeX": 0.00000513212977069823,
- "pixelSizeY": -0.000004511257496082
}, - {
- "bitDepth": 8,
- "gsd": 0.5,
- "names": [
- "g",
- "green"
], - "pixelSizeX": 0.00000513212977069823,
- "pixelSizeY": -0.000004511257496082
}, - {
- "bitDepth": 8,
- "gsd": 0.5,
- "names": [
- "b",
- "blue"
], - "pixelSizeX": 0.00000513212977069823,
- "pixelSizeY": -0.000004511257496082
}
], - "clippedImagery": true,
- "crsEpsg": 4326,
- "dataset": "idaho-pansharpened",
- "datetime": "2015-11-13 02:34:12",
- "downloadable": true,
- "footprint": {
- "coordinates": [
- [
- [
- [
- 115.84490776062012,
- -31.95409212005078
], - [
- 115.8401870727539,
- -31.96144714770573
], - [
- 115.84301948547363,
- -31.967927822465327
], - [
- 115.85010051727295,
- -31.966253085178234
], - [
- 115.85125923156737,
- -31.962794291914896
], - [
- 115.84829807281494,
- -31.954529068842437
], - [
- 115.84490776062012,
- -31.95409212005078
]
]
]
], - "type": "MultiPolygon"
}, - "foreignId": "1",
- "localDatetime": "2015-11-13 10:34:12 AWST",
- "minArea": 5.5,
- "offNadir": 23.135675,
- "provider": "gbdx",
- "satellite": "WV02",
- "satelliteAzimuth": 104.794,
- "sceneId": "GuoBFqtuBllGqZWHb395VXytBgtnXKV7fg",
- "sunAzimuth": 59.614758,
- "sunElevation": 65.935
}
]
}
This API endpoint returns metadata of a single scene.
Needed permissions: imagery.scene-info
sceneId required | string (Sceneid) ID of a scene. |
Array of Tiles (items) or Tiles (null) (Tiles) List of tiles. Returned scene footprint will contain intersection between scene and provided tiles. |
{- "forceOffline": false,
- "sceneId": "DXc_f1UsDLmqr3aA2rC9Dg",
- "tiles": [
- [
- 26,
- 55
]
]
}
{- "bands": [
- {
- "approximateResolutionX": 0.51,
- "approximateResolutionY": 0.51,
- "bitDepth": 16,
- "crsOriginX": -0.27671286,
- "crsOriginY": 51.58091807,
- "gsd": 0.507,
- "names": [
- "blue"
], - "pixelSizeX": 0.000007303404361993237,
- "pixelSizeY": -0.00000455697178478039
}
], - "crsEpsg": 4326,
- "dataset": "SkySatScene",
- "datetime": "2015-11-13 02:34:12",
- "footprint": {
- "coordinates": [
- [
- [
- 14.390332061696995,
- 50.10302913195417
], - [
- 14.390332061696995,
- 50.03891130540663
], - [
- 14.52258942217469,
- 50.03891130540663
], - [
- 14.52258942217469,
- 50.10302913195417
], - [
- 14.390332061696995,
- 50.10302913195417
]
]
], - "type": "Polygon"
}, - "foreignId": "1",
- "offNadir": 23.135675,
- "provider": "pl",
- "satellite": "WV02",
- "satelliteAzimuth": 104.794,
- "sceneId": "DXc_f1UsDLmqr3aA2rC9Dg",
- "sunAzimuth": 59.614758,
- "sunElevation": 65.935
}
Use this endpoint to see which providers you can access. Useful to determine the name of the provider and dataset to search for.
Needed permissions: imagery.availability
{ }
[- {
- "attribution": "Copernicus",
- "changeGroup": "ee_COPERNICUS/S1_GRD",
- "clip": "disallowed",
- "dataset": "COPERNICUS/S1_GRD",
- "datasetName": "Copernicus Sentinel-1 GRD",
- "datasetType": "sar-grd",
- "downloadable": true,
- "exportable": false,
- "maxMbrSide": 400000,
- "provider": "ee",
- "providerName": "Earth Engine",
- "requiresSeparateSearch": false,
- "resolution": [
- 10,
- 40
], - "thumbnail": false
}, - {
- "attribution": "Copernicus",
- "changeGroup": "ee_COPERNICUS/S2_HARMONIZED",
- "clip": "disallowed",
- "dataset": "COPERNICUS/S2_HARMONIZED",
- "datasetName": "Copernicus Sentinel-2 Harmonized",
- "datasetType": "optical",
- "downloadable": false,
- "exportable": false,
- "maxMbrSide": 400000,
- "provider": "ee",
- "providerName": "Earth Engine",
- "requiresSeparateSearch": false,
- "resolution": [
- 10,
- 10
], - "thumbnail": true
}, - {
- "attribution": "Airbus",
- "changeGroup": "ab_pleiades",
- "clip": "required",
- "dataset": "pleiades",
- "datasetName": "Pleiades",
- "datasetType": "optical",
- "downloadable": false,
- "exportable": true,
- "maxMbrSide": 400000,
- "provider": "ab",
- "providerName": "Airbus",
- "requiresSeparateSearch": false,
- "resolution": [
- 0.5,
- 0.5
], - "thumbnail": true,
- "visualizationBands": [
- "red",
- "green",
- "blue"
]
}, - {
- "attribution": "NewSat Surface Reflectance",
- "changeGroup": "satellogic_newsat_sr",
- "clip": "disallowed",
- "dataset": "newsat_sr",
- "datasetName": "NewSat Surface Reflectance",
- "datasetType": "optical",
- "downloadable": false,
- "exportable": true,
- "maxMbrSide": 400000,
- "provider": "satellogic",
- "providerName": "Satellogic",
- "requiresSeparateSearch": false,
- "resolution": [
- 0.5,
- 0.7
], - "taskingInfo": {
- "feasibilityDayOffset": {
- "max": 8,
- "min": 0
}, - "preallocationAreaKm2": 50,
- "taskingDayDuration": {
- "max": 100,
- "min": 1
}, - "taskingDayOffset": {
- "max": 100,
- "min": 0
}, - "taskingResolution": {
- "max": 0.7,
- "min": 0.5
}
}, - "thumbnail": false,
- "visualizationBands": [
- "red",
- "green",
- "blue"
]
}
]
Use this endpoint to initiate exporting a rectangular SKI from a source imagery of given extent. The maximum size of an image retrieved is 3MPx. When a specific scale (resolution) is given both original and scaled images have to be smaller than 3MPx.
Algorithm that determines the exact area covered by the image is as follows:
- All vertices of requested extent GeoJSON are projected into coordinate
system (CRS) of the scene.
- Vertices in the scene's CRS are further projected to pixel coordinates.
This step is done with the help of
[pixel size and CRS origin metadata](https://docs.spaceknow.com/api/ragnar.html#api-ragnar-image-metadata-crs-epsg).
- Minimum bounding rectangle (MBR) of pixel coordinates is calculated
and its values are rounded to integers.
- The image is a raster image that consists of pixels based on the
calculated MBR.
Dynamically needed permissions: imagery.images.<provider>.<dataset>
sceneId required | string (Sceneid) ID of the scene from which to construct an image. Scene IDs are returned by imagery search. |
required | any (Extent) Area of interest which must intersect with scene's footprint, see extent doc. |
Resolution (number) or Resolution (null) (Resolution) If given the image is re-scaled so its ground sampling distance approximately corresponds to the value. Units of this parameter are meters. All bands are scaled to the given resolution regardless their original sizes. | |
Exportraster (string) or Exportraster (null) (Exportraster) If specified, a raster (depending on the chosen type) is returned instead
of an SKI. The raster includes only Phoenix tiles that intersect with
the given extent. When this flag is used, imagery cannot be rescaled
to different resolution (i.e. option |
{- "extent": {
- "coordinates": [
- [
- [
- 115.84512233734131,
- -31.96024562403475
], - [
- 115.84490776062012,
- -31.96559774488045
], - [
- 115.84851264953612,
- -31.965452113067933
], - [
- 115.84842681884766,
- -31.96053690394404
], - [
- 115.84512233734131,
- -31.96024562403475
]
]
], - "type": "Polygon"
}, - "onlyIngested": false,
- "sceneId": "DXc_f1UsDLmqr3aA2rC9Dg"
}
{- "nextTry": 14,
- "pipelineId": "abcdefabcdefabcdefab",
- "status": "NEW"
}
Use this endpoint to retrieve SKI exported by calling
asynchronous endpoint /imagery/get-image/initiate
.
Needed permissions: imagery.images
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline. |
{- "pipelineId": "abcdefabcdefabcdefab"
}
{- "extent": {
- "geometries": [
- {
- "coordinates": [
- [
- [
- 115.84512233734131,
- -31.96024562403475
], - [
- 115.84490776062012,
- -31.96559774488045
], - [
- 115.84851264953612,
- -31.965452113067933
], - [
- 115.84842681884766,
- -31.96053690394404
], - [
- 115.84512233734131,
- -31.96024562403475
]
]
], - "type": "Polygon"
}
], - "type": "GeometryCollection"
}, - "meta": {
- "bands": [
- {
- "approximateResolutionX": 0.49749514251808363,
- "approximateResolutionY": 0.49955903407407787,
- "bitDepth": 8,
- "crsOriginX": -7.4877062,
- "crsOriginY": 0.0002883,
- "gsd": 0.5,
- "names": [
- "r",
- "red"
], - "pixelSizeX": 0.00000513212977069823,
- "pixelSizeY": -0.000004511257496082
}, - {
- "approximateResolutionX": 0.49749514251808363,
- "approximateResolutionY": 0.49955903407407787,
- "bitDepth": 8,
- "crsOriginX": -7.4877062,
- "crsOriginY": 0.0002883,
- "gsd": 0.5,
- "names": [
- "g",
- "green"
], - "pixelSizeX": 0.00000513212977069823,
- "pixelSizeY": -0.000004511257496082
}, - {
- "approximateResolutionX": 0.49749514251808363,
- "approximateResolutionY": 0.49955903407407787,
- "bitDepth": 8,
- "crsOriginX": -7.4877062,
- "crsOriginY": 0.0002883,
- "gsd": 0.5,
- "names": [
- "b",
- "blue"
], - "pixelSizeX": 0.00000513212977069823,
- "pixelSizeY": -0.000004511257496082
}
], - "crsEpsg": 4326,
- "dataset": "idaho-pansharpened",
- "datetime": "2015-11-13 02:34:12",
- "footprint": {
- "coordinates": [
- [
- [
- [
- 115.84490776062012,
- -31.95409212005078
], - [
- 115.8401870727539,
- -31.96144714770573
], - [
- 115.84301948547363,
- -31.967927822465327
], - [
- 115.85010051727295,
- -31.966253085178234
], - [
- 115.85125923156737,
- -31.962794291914896
], - [
- 115.84829807281494,
- -31.954529068842437
], - [
- 115.84490776062012,
- -31.95409212005078
]
]
]
], - "type": "MultiPolygon"
}, - "foreignId": "1",
- "localDatetime": "2015-11-13 10:34:12 AWST",
- "offNadir": 23.135675,
- "provider": "gbdx",
- "satellite": "WV02",
- "sceneId": "GuoBFqtuBllGqZWHb395VXytBgtnXKV7fg",
- "sunAzimuth": 59.614758,
- "sunElevation": 65.935
},
}
Get status of an asynchronous pipeline, see doc.
pipelineId required | string (Pipelineid) = 20 characters ID of the pipeline to get the status for. |
getProgress | boolean (Getprogress) Default: false Whether to retrieve progress of the pipeline. |
{- "getProgress": true,
- "pipelineId": "3g4PovfhGxmymQolpgvv"
}
{- "nextTry": 14,
- "progress": {
- "message": "Downloading data from provider",
- "provider": "pl",
- "step": 3
}, - "status": "PROCESSING"
}
This API endpoint accepts a “Bearer” access token of a user. It returns claims related to the user.
Dynamically needed permissions: Requires admin.users.manage
if userId
is set.
Userid (string) or Userid (null) (Userid) ID of the user to get info for. Requires |
{- "userId": "auth0|8e9c9d314376cb2319e14606"
}
{- "accounting": "development",
- "email": "john-smith@example.com",
- "id": "auth0|mGochhH3Pz5SiCWo8m44",
- "name": "John Smith",
- "permissions": [
- "imagery.availability",
- "imagery.scene-info"
]
}
This API endpoint allows Guardian managers to create accounts.
This endpoint supports only user authentication.
Needed permissions: admin.users.create-guardian-user
email required | string (Email) [^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+ User's e-mail. |
password required | string (Password) non-empty User's initial password. |
name required | string (Name) non-empty User's full name. |
{- "email": "john-smith@example.com",
- "name": "John Smith",
- "password": "secret"
}
{ }
Allows Guardian managers to delete accounts from their group.
This endpoint supports only user authentication.
Needed permissions: admin.users.delete-guardian-user
email required | string (Email) [^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+ User's e-mail. |
{- "email": "example@google.com"
}
{ }
Get the bearer token as a response to this authentication request. The token is valid for 10 hours. Once the time elapses you need to get a new token via this authentication request again.
Use the predefined body below, only change the username
and password
attributes with your own values.
client_id required | string Use the value |
username required | string Please fill in your |
password required | string Please fill in your |
connection required | string Use the value |
grant_type required | string Use the value |
scope required | string Use the value |
{- "client_id": "hmWJcfhRouDOaJK2L8asREMlMrv3jFE1",
- "username": "example@email.com",
- "password": "mypassword123",
- "connection": "Username-Password-Authentication",
- "grant_type": "password",
- "scope": "openid"
}
{- "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1URkdRVVZFUWpOQk1rUTRRamczT1RreFFqWXdSa016UmpWQ05FVTNOa1pHTmpnM05ESTRRdyJ9.eyJpc3MiOiJodHRwczovL3NwYWNla25vdy5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NWY1Zjg2YWUwYmI3N2EwMDcwNmFlOWU4IiwiYXVkIjoiaG1XSmNmaFJvdURPYUpLMkw4YXNSRU1sTXJ2M2pGRTEiLCJpYXQiOjE2MDAxNzMyMjUsImV4cCI6MTYwMDIwOTIyNX0.g-b8dOwo46CIDL9vMId8Iojv0zvr96nWyYkRgtVEezm4c5Cj7e1e3761MP3S9I2gosQyBOxf-L5kP_AQ_IpGs3tFbA0WhLuOCjMTNueA1F3gFYyepG4rfiXCuWRKJ4FSXUATDQWgcELH5YDVD5WRO7xA2vfPmGttT4sCQkUSYMD9yFoJIQJc4eXCHUJQp9l3yHlC-DxRmjZF50Mv2ZZ_gDcy1CQsfi4bRRUDPV2vfuNDG7px_C51tt17iVf-GFGzkm-WllOYu6L3C-sLjjZZQyTgoPXHuEXMWiZc75-B1Q3BNKPDpsMGuOh7yGcSsNeY27sMNKQbnvYWDcJFXEHemw",
- "scope": "openid",
- "access_token": "BeKlKSgAJD70NQeJpVPt2WKTIEIRsj2e",
- "token_type": "bearer"
}