prosEO Ingestor REST Services API API documentation version v0.1
/proseo/ingestor/{version}
- version: required(v0.1)
- port: required(string)
The port the application is running on
/products
Methods to manage product metadata in the database
List of all products filtered by mission, product class, start time range; the output will be ordered by the columns given in orderBy, and the resulting product list will only contain the records in the given range
Create a product from the given Json object (does NOT create associated product files!)
get /products
List of all products filtered by mission, product class, start time range; the output will be ordered by the columns given in orderBy, and the resulting product list will only contain the records in the given range
Query Parameters
- mission: (string)
The mission
- productClass: (array of )
Product class this products instantiates
- mode: (string)
Processing mode as defined for the mission
- fileClass: (string)
One of the file classes defined for the mission
- quality: (string)
Indicator for the suitability of this product for general use
- startTimeFrom: (string)
Product (validity) start time as requested during order planning, earliest
- startTimeTo: (string)
Product (validity) start time as requested during order planning, latest
- genTimeFrom: (string)
Product generation time, earliest
- genTimeTo: (string)
Product generation time, latest
- recordFrom: (integer)
First result to display from an ordered result list
- recordTo: (integer)
Last result to display from an ordered result list
- jobStep: (integer)
Job step that produced this product (if any)
- orderBy: (array of )
an array of strings containing a column name and an optional sort direction (ASC/DESC), separated by white space
HTTP status code 200
Body
Media type: application/json
Type: array of object
Items: RestProduct
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
[
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"sensingStartTime": "2018-06-13T09:23:45.396521",
"sensingStopTime": "2018-06-13T10:53:45.396521",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "copernicusCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
},
{
"id": 689326,
"version": 7,
"uuid": "2bfd2856-aec7-4d45-bcc0-6418857c448c",
"missionCode": "S5P",
"productClass": "O3",
"fileClass": "RPRO",
"mode": "OFFL",
"sensingStartTime": "2018-06-13T09:23:45.396521",
"sensingStopTime": "2018-06-13T10:53:45.396521",
"rawDataAvailabilityTime": "2018-06-13T12:25:37.000000",
"generationTime": "2019-10-05T10:13:22.000000",
"publicationTime": "2019-10-05T10:13:25.926000",
"evictionTime": "2019-11-05T10:13:25.926000",
"downloadHistory": [
{
"username": "johndoe",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"productFileSize": 2625765376,
"dateTime": "2019-10-05T17:22:48.294673"
}
],
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "copernicusCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
]
HTTP status code 400
The request sent to the server contains data which is not as expected e.g. invalid location URI
Headers
- Warning: required(string - pattern: ^\d{3} proseo-ingestor \(.\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-ingestor (E2051) Product ID not set
HTTP status code 403
The user is not authorized to perform the desired action
Headers
- Warning: required(string - pattern: ^\d{3} proseo-ingestor \(.\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-ingestor (E2051) Product ID not set
HTTP status code 404
The requested resource was not found
Headers
- Warning: required(string - pattern: ^\d{3} proseo-ingestor \(.\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-ingestor (E2051) Product ID not set
HTTP status code 429
The result list exceeds a configured maximum
Headers
- Warning: required(string - pattern: ^\d{3} proseo-ingestor \(.\d+\) .+$)
An error code and a plain text error message
Example:
199 proseo-ingestor (E2051) Product ID not set
post /products
Create a product from the given Json object (does NOT create associated product files!)
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
Number of products available, possibly filtered by mission, product class and time range
get /products/count
Number of products available, possibly filtered by mission, product class and time range
Query Parameters
- mission: (string)
The mission
- productClass: (array of )
Product class this products instantiates
- mode: (string)
Processing mode as defined for the mission
- fileClass: (string)
One of the file classes defined for the mission
- quality: (string)
Indicator for the suitability of this product for general use
- startTimeFrom: (string)
Product (validity) start time as requested during order planning, earliest
- startTimeTo: (string)
Product (validity) start time as requested during order planning, latest
- genTimeFrom: (string)
Product generation time, earliest
- genTimeTo: (string)
Product generation time, latest
- jobStep: (integer)
Job step that produced this product (if any)
Find the product with the given ID
Update the product with the given ID with the attribute values of the given Json object. This method will NOT modify associated product files.
Delete a product by ID
get /products/{id}
Find the product with the given ID
URI Parameters
- id: required(integer)
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
patch /products/{id}
Update the product with the given ID with the attribute values of the given Json object. This method will NOT modify associated product files.
URI Parameters
- id: required(integer)
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
HTTP status code 304
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
Get the primary data file (or ZIP file, if available) for the product as data stream (optionally range-restricted), returns a redirection link to the Storage Manager of a random Processing Facility
get /products/{id}/download
Get the primary data file (or ZIP file, if available) for the product as data stream (optionally range-restricted), returns a redirection link to the Storage Manager of a random Processing Facility
URI Parameters
- id: required(integer)
Query Parameters
- fromByte: (integer)
The first byte of the data stream to download (default is file start, i.e. byte 0)
- toByte: (integer)
The last byte of the data stream to download (default is file end, i.e. file size - 1)
HTTP status code 307
Get a JSON Web Token for creating a download link to a Storage Manager
get /products/{id}/download/token
Get a product by UUID
get /products/uuid/{uuid}
Get a product by UUID
URI Parameters
- uuid: required(string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"requestedStartTime": "2018-06-13T09:23:45.396521",
"requestedStopTime": "2018-06-13T10:53:45.396521",
"sensingStartTime": "2018-06-13T09:43:56.789000",
"sensingStopTime": "2018-06-13T10:33:45.678000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "baselineCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
/ingest
Methods to manage product files in the processing facility and in the database
Ingest all given products into the storage manager of the given processing facility. If the ID of a product to ingest is null or 0 (zero), then the product will be created, otherwise a matching product will be looked up and updated.
The Production Planner will be notified of all ingested products. However, notification is optional, and if it fails, the Ingestor still returns with HTTP status CREATED. We rely on a cyclical check by the Production Planner to pick up all newly ingested products, should it not have been notified.
post /ingest/{processingFacility}
Ingest all given products into the storage manager of the given processing facility. If the ID of a product to ingest is null or 0 (zero), then the product will be created, otherwise a matching product will be looked up and updated.
The Production Planner will be notified of all ingested products. However, notification is optional, and if it fails, the Ingestor still returns with HTTP status CREATED. We rely on a cyclical check by the Production Planner to pick up all newly ingested products, should it not have been notified.
URI Parameters
- processingFacility: required(string)
The name of the facility to ingest the products to
Query Parameters
- copyFiles: (boolean)
Copy the files to a different storage area (default "true"; only applicable if source and target storage type are the same)
Body
Media type: application/json
Type: array of RestProduct
Items: IngestorProduct
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
- sourceStorageType: required(string - pattern: ^(S3|ALLUXIO|POSIX|OTHER)$)
The type of the storage to ingest the data from
- mountPoint: required(string)
The S3/POSIX/ALLUXIO mount point of the storage system to ingest from
- filePath: required(string)
The S3/POSIX/ALLUXIO path to the product files (relative to mountPoint)
- productFileName: required(string)
File name of the main product file
- auxFileNames: (array of string)
Names of auxiliary files being part of the product
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
Example:
[
{
"id": 0,
"version": 0,
"missionCode": "S5P",
"productClass": "L0",
"fileClass": "OPER",
"sensingStartTime": "2019-05-09T21:25:08.000000",
"sensingStopTime": "2019-05-09T21:45:08.000000",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 8138
},
"parameters": [
{
"key": "copernicusCollection",
"parameterType": "INTEGER",
"parameterValue": "01"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
}
],
"sourceStorageType": "POSIX",
"mountPoint": "file:///data/proseo-pickup/incoming",
"filePath": "L0/S5P_OPER_L0__08138_01",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"auxFileNames": [
"S5P_OPER_L0__ENG_A__20190509T212509_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_1__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_2__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_3__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_4__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_5__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_6__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_7__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_8__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__SAT_A__20190509T212509_20190509T214507_08138_01.RAW"
],
"fileSize": 2625765376,
"checksum": "182a460e2a8c6da3cdbbfd27cb355c2c",
"checksumTime": "2019-10-05T10:12:39.000000"
},
{
"id": 0,
"version": 0,
"missionCode": "S5P",
"productClass": "O3",
"fileClass": "RPRO",
"mode": "OFFL",
"sensingStartTime": "2019-05-09T22:07:07.000000",
"sensingStopTime": "2019-05-09T23:48:37.000000",
"generationTime": "2019-10-05T10:13:22.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 8137
},
"parameters": [
{
"key": "copernicusCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
}
],
"sourceStorageType": "S3",
"mountPoint": "s3://proseo-pickup/incoming",
"filePath": "L2/O3-614941691",
"productFileName": "S5P_RPRO_L2__O3_____20190509T220707_20190509T234837_08137_01_010107_20190627T104122.nc",
"fileSize": 987758592,
"checksum": "6622f301c5b093c4bfc5fdd922e315a7",
"checksumTime": "2019-10-05T10:12:39.000000"
}
]
HTTP status code 201
Body
Media type: application/json
Type: array of object
Items: RestProduct
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique product identifier
- missionCode: required(string)
The mission code of the Product class this products instantiates
- productClass: required(string)
Product type of the Product class this products instantiates
- processingLevel: (string)
The level of processing required for this product's product class (L0, L1, L1A, L1B, L2, L2A etc.; output only)
- fileClass: (string)
File class as defined for the enclosing mission (optional)
- mode: (string)
Processing modes as defined for the enclosing mission (only if generated by this mission)
- productQuality: (string)
Indicator for the suitability of this product for general use (NOMINAL, EXPERIMENTAL, TEST; default NOMINAL)
- requestedStartTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStartTime
- requestedStopTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Planned stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS), default same as sensingStopTime
- sensingStartTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing start time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- sensingStopTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Sensing stop time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- rawDataAvailabilityTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Satellite raw data availability time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- generationTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- publicationTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product ingestion time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- evictionTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Product eviction time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- downloadHistory: (array of RestDownloadHistory)
The download history for this product
Items: RestDownloadHistory
- username: required(string)
The user who initiated the download
- productFileName: required(string)
The file name of the downloaded ProductFile
- productFileSize: required(integer)
The product file size in bytes
- dateTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
The time of the download in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- username: required(string)
- productionType: (string)
Type of production process generating this product (SYSTEMATIC, ON_DEMAND_DEFAULT, ON_DEMAND_NON_DEFAULT)
- componentProductIds: (array of integer)
Id values of the component products
- enclosingProductId: (integer)
Id value of the enclosing product
- orbit: (object)
Orbit relationship of this product, if any
- spacecraftCode: required(string)
- orbitNumber: required(integer)
- productFile: (array of RestProductFile)
Product files for this product
Items: RestProductFile
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- id: (integer - default: 0)
- configuredProcessor: (object)
The generating processor and its configuration
- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- identifier: required(string)
User-defined identifier for this processor configuration
- uuid: (string - pattern: ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)
Universally unique identifier for this processor configuration ("workflow" in ESA terminology)
- missionCode: required(string)
The mission code (e. g. S5P)
- processorName: required(string)
User-defined unique processor class name
- processorVersion: required(string)
Version identification of the processor executable (Docker image)
- configurationVersion: required(string)
Version identification of the configuration environment
- enabled: (boolean - default: true)
Indicator whether the configured processor is enabled and may be run
- id: (integer - default: 0)
- parameters: required(array of RestParameter)
A collection of mission-specific parameters for this object
Items: RestParameter
- key: required(string)
The parameter name
- parameterType: required(string)
The type of the parameter for deserialization (one of { "STRING", "INTEGER", "BOOLEAN", "DOUBLE", "INSTANT" } )
- parameterValue: required(string)
All parameter values are serialized to their string representations. For deserialization refer to the parameterType.
- key: required(string)
Example:
[
{
"id": 689325,
"version": 11,
"uuid": "3fcab4f3-457a-4424-9287-269286e5c03c",
"missionCode": "S5P",
"productClass": "AAI",
"fileClass": "TEST",
"mode": "OFFL",
"productQuality": "EXPERIMENTAL",
"sensingStartTime": "2018-06-13T09:23:45.396521",
"sensingStopTime": "2018-06-13T10:53:45.396521",
"generationTime": "2019-10-05T10:12:39.000000",
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "copernicusCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
},
{
"id": 689326,
"version": 7,
"uuid": "2bfd2856-aec7-4d45-bcc0-6418857c448c",
"missionCode": "S5P",
"productClass": "O3",
"fileClass": "RPRO",
"mode": "OFFL",
"sensingStartTime": "2018-06-13T09:23:45.396521",
"sensingStopTime": "2018-06-13T10:53:45.396521",
"rawDataAvailabilityTime": "2018-06-13T12:25:37.000000",
"generationTime": "2019-10-05T10:13:22.000000",
"publicationTime": "2019-10-05T10:13:25.926000",
"evictionTime": "2019-11-05T10:13:25.926000",
"downloadHistory": [
{
"username": "johndoe",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"productFileSize": 2625765376,
"dateTime": "2019-10-05T17:22:48.294673"
}
],
"orbit": {
"spacecraftCode": "S5P",
"orbitNumber": 4711
},
"parameters": [
{
"key": "copernicusCollection",
"parameterType": "INTEGER",
"parameterValue": "99"
},
{
"key": "revision",
"parameterType": "INTEGER",
"parameterValue": "14"
},
{
"key": "fileClass",
"parameterType": "STRING",
"parameterValue": "RPRO"
}
]
}
]
Get the product file metadata for a product at a given processing facility
Create the metadata of a new product file for a product at a given processing facility (it is assumed that the files themselves are already pushed to the Storage Manager)
The Production Planner will be notified of the ingested product. However, notification is optional, and if it fails, the Ingestor still returns with HTTP status CREATED. We rely on a cyclical check by the Production Planner to pick up all newly ingested products, should it not have been notified.
Update the product file metadata for a product at a given processing facility (it is assumed that any new or changed files themselves are already pushed to the Storage Manager)
Delete a product file for a product from a given processing facility (metadata and actual data file(s))
get /ingest/{processingFacility}/{productId}
Get the product file metadata for a product at a given processing facility
URI Parameters
- processingFacility: required(string)
The name of the facility to ingest the products to
- productId: required(integer)
The ID of the product to ingest product files for
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
Example:
{
"id": 1833725,
"version": 0,
"productId": 689327,
"processingFacilityName" : "DLR_S5P_VAL",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"auxFileNames": [
"S5P_OPER_L0__ENG_A__20190509T212509_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_1__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_2__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_3__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_4__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_5__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_6__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_7__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_8__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__SAT_A__20190509T212509_20190509T214507_08138_01.RAW"
],
"filePath": "/data/proseo/storage_val/S5P_OPER_L0__08138_01",
"storageType": "POSIX",
"fileSize": 2625765376,
"checksum": "182a460e2a8c6da3cdbbfd27cb355c2c",
"checksumTime": "2019-10-05T10:12:39.000000"
}
post /ingest/{processingFacility}/{productId}
Create the metadata of a new product file for a product at a given processing facility (it is assumed that the files themselves are already pushed to the Storage Manager)
The Production Planner will be notified of the ingested product. However, notification is optional, and if it fails, the Ingestor still returns with HTTP status CREATED. We rely on a cyclical check by the Production Planner to pick up all newly ingested products, should it not have been notified.
URI Parameters
- processingFacility: required(string)
The name of the facility to ingest the products to
- productId: required(integer)
The ID of the product to ingest product files for
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
Example:
{
"id": 1833725,
"version": 0,
"productId": 689327,
"processingFacilityName" : "DLR_S5P_VAL",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"auxFileNames": [
"S5P_OPER_L0__ENG_A__20190509T212509_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_1__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_2__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_3__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_4__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_5__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_6__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_7__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_8__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__SAT_A__20190509T212509_20190509T214507_08138_01.RAW"
],
"filePath": "/data/proseo/storage_val/S5P_OPER_L0__08138_01",
"storageType": "POSIX",
"fileSize": 2625765376,
"checksum": "182a460e2a8c6da3cdbbfd27cb355c2c",
"checksumTime": "2019-10-05T10:12:39.000000"
}
HTTP status code 201
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
Example:
{
"id": 1833725,
"version": 0,
"productId": 689327,
"processingFacilityName" : "DLR_S5P_VAL",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"auxFileNames": [
"S5P_OPER_L0__ENG_A__20190509T212509_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_1__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_2__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_3__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_4__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_5__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_6__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_7__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_8__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__SAT_A__20190509T212509_20190509T214507_08138_01.RAW"
],
"filePath": "/data/proseo/storage_val/S5P_OPER_L0__08138_01",
"storageType": "POSIX",
"fileSize": 2625765376,
"checksum": "182a460e2a8c6da3cdbbfd27cb355c2c",
"checksumTime": "2019-10-05T10:12:39.000000"
}
patch /ingest/{processingFacility}/{productId}
Update the product file metadata for a product at a given processing facility (it is assumed that any new or changed files themselves are already pushed to the Storage Manager)
URI Parameters
- processingFacility: required(string)
The name of the facility to ingest the products to
- productId: required(integer)
The ID of the product to ingest product files for
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
Example:
{
"id": 1833725,
"version": 0,
"productId": 689327,
"processingFacilityName" : "DLR_S5P_VAL",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"auxFileNames": [
"S5P_OPER_L0__ENG_A__20190509T212509_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_1__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_2__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_3__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_4__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_5__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_6__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_7__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_8__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__SAT_A__20190509T212509_20190509T214507_08138_01.RAW"
],
"filePath": "/data/proseo/storage_val/S5P_OPER_L0__08138_01",
"storageType": "POSIX",
"fileSize": 2625765376,
"checksum": "182a460e2a8c6da3cdbbfd27cb355c2c",
"checksumTime": "2019-10-05T10:12:39.000000"
}
HTTP status code 200
Body
Media type: application/json
Type: object
Properties- id: (integer - default: 0)
The persistent id of this object
- version: (integer - default: 1)
A version identifier to track updates to the object (especially to detect concurrent update attempts)
- productId: required(integer)
Id value of the product this product file belongs to
- processingFacilityName: required(string)
The name of the processing facility, in which this product file is stored
- productFileName: required(string)
The name of the product data file
- auxFileNames: required(array of string)
The auxiliary files for this product file
- filePath: required(string)
The path to the product files (POSIX file path, S3 bucket etc.)
- storageType: required(string)
The string representation of the type of the storage location (e. g. "S3", "POSIX")
- fileSize: required(integer)
The size of the primary product file in bytes
- checksum: required(string)
Checksum value for the primary product file (computed by MD5 algorithm)
- checksumTime: required(string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
Checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
- zipFileName: (string)
The file name of the ZIP archive containing all product and auxiliary files intended for distribution
- zipFileSize: (integer)
The file size of the ZIP archive in bytes
- zipChecksum: (string)
The MD5 checksum for the ZIP archive
- zipChecksumTime: (string - pattern: ^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d{6}$)
ZIP archive checksum generation time in orbit format (YYYY-MM-DDThh:mm:ss.SSSSSS)
Example:
{
"id": 1833725,
"version": 0,
"productId": 689327,
"processingFacilityName" : "DLR_S5P_VAL",
"productFileName": "S5P_OPER_L0________20190509T212509_20190509T214507_08138_01.ZIP",
"auxFileNames": [
"S5P_OPER_L0__ENG_A__20190509T212509_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_1__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_2__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_3__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_4__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_5__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_6__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_7__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__ODB_8__20190509T212508_20190509T214507_08138_01.RAW",
"S5P_OPER_L0__SAT_A__20190509T212509_20190509T214507_08138_01.RAW"
],
"filePath": "/data/proseo/storage_val/S5P_OPER_L0__08138_01",
"storageType": "POSIX",
"fileSize": 2625765376,
"checksum": "182a460e2a8c6da3cdbbfd27cb355c2c",
"checksumTime": "2019-10-05T10:12:39.000000"
}
delete /ingest/{processingFacility}/{productId}
Delete a product file for a product from a given processing facility (metadata and actual data file(s))
URI Parameters
- processingFacility: required(string)
The name of the facility to ingest the products to
- productId: required(integer)
The ID of the product to ingest product files for
Query Parameters
- eraseFiles: (boolean)
Erase the data file(s) from the storage area (default "true"; for cases where files have been created with the 'copyFiles=false' option, and only removal from the metadata database is required)