openapi: 3.0.1 info: title: 'Climate Engine API v1: climate-engine-pro' description: >- On-demand geospatial processing of satellite and gridded climate datasets on Google Earth Engine. The Climate Engine REST API returns timeseries, map tiles (mapid), asynchronous raster exports, zonal statistics, pre-built reports, and dataset metadata over point coordinates and GeoJSON feature collections. Datasets include Landsat, Sentinel, MODIS, GRIDMET, ERA5, CHIRPS, and many more. termsOfService: https://www.climateengine.com contact: name: Climate Engine url: https://support.climateengine.org version: 0.1.0 servers: - url: https://api.climateengine.org description: Climate Engine production API security: - APIKeyHeader: [] tags: - name: Home description: Key validation, expiration, and user quotas. - name: Metadata description: Dataset dates, variables, county names, and raster classifications. - name: Timeseries description: Native, interannual, standard-index, and regression time series. - name: Zonal Statistics description: Statistics reduced over coordinates and feature collections. - name: Raster description: Earth Engine map IDs and asynchronous raster exports. - name: Reports description: Pre-built drought, vegetation, and site characterization reports. paths: /home/validate_key: get: operationId: validateKey tags: - Home summary: Validate Token description: Validates the API key supplied in the Authorization header. responses: '200': description: Key is valid. content: application/json: schema: type: object '403': description: Invalid or missing API key. /home/key_expiration: get: operationId: keyExpiration tags: - Home summary: Key Expiration description: Returns the expiration date of the authenticated API key. responses: '200': description: Expiration information. content: application/json: schema: type: object /home/user/quotas: get: operationId: userQuotas tags: - Home summary: User Quotas description: Returns the authenticated user's quota usage and limits. responses: '200': description: Quota usage and limits. content: application/json: schema: type: object /metadata/dataset_dates: get: operationId: metadataDatasetDates tags: - Metadata summary: Metadata Dataset Dates description: Returns the available date range for a dataset. parameters: - $ref: '#/components/parameters/Dataset' - $ref: '#/components/parameters/ExportFormat' responses: '200': description: Date range for the dataset. content: application/json: schema: type: object /metadata/dataset_variables: get: operationId: metadataDatasetVariables tags: - Metadata summary: Metadata Dataset Variables description: Returns the variables available for a dataset. parameters: - $ref: '#/components/parameters/Dataset' - $ref: '#/components/parameters/ExportFormat' responses: '200': description: Variables available for the dataset. content: application/json: schema: type: object /metadata/county_names: get: operationId: metadataCountyNames tags: - Metadata summary: County Names description: Returns county names usable as predefined feature regions. parameters: - $ref: '#/components/parameters/ExportFormat' responses: '200': description: County names. content: application/json: schema: type: object /timeseries/native/coordinates: post: operationId: timeseriesNativeCoordinates tags: - Timeseries summary: Native Coordinates description: >- Generates a raw (native) time series for a dataset over point or polygon coordinates. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NativeCoordinates' responses: '200': description: Native time series. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /timeseries/native/feature_collection: post: operationId: timeseriesNativeFeatureCollection tags: - Timeseries summary: Native Feature Collection description: >- Generates a raw (native) time series for a dataset reduced over a GeoJSON feature collection. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NativeFeatureCollection' responses: '200': description: Native time series. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /timeseries/native/forecasts/coordinates: post: operationId: timeseriesNativeForecastCoordinates tags: - Timeseries summary: Forecast Coordinates description: Generates a forecast time series over point coordinates. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NativeCoordinates' responses: '200': description: Forecast time series. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /timeseries/interannual/coordinates: post: operationId: timeseriesInterannualCoordinates tags: - Timeseries summary: Interannual Coordinates description: Generates an interannual time series over point coordinates. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NativeCoordinates' responses: '200': description: Interannual time series. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /timeseries/regression/coordinates: post: operationId: timeseriesRegressionCoordinates tags: - Timeseries summary: Regression Coordinates description: >- Generates a regression time series between two variables over point coordinates. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NativeCoordinates' responses: '200': description: Regression time series. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /timeseries/standard_index/coordinates: post: operationId: timeseriesStandardIndexCoordinates tags: - Timeseries summary: Standard Index Coordinates description: >- Generates a standardized-index (e.g. SPI/SPEI) time series over point coordinates. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NativeCoordinates' responses: '200': description: Standard index time series. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /zonal_stats/static_dataset/coordinates: post: operationId: zonalStatsStaticDatasetCoordinates tags: - Zonal Statistics summary: Static Dataset Coordinates description: >- Computes zonal statistics for a static (no time dependence) dataset over coordinates. parameters: - $ref: '#/components/parameters/Coordinates' - $ref: '#/components/parameters/SimplifyGeometry' - $ref: '#/components/parameters/Buffer' - name: area_reducer in: query required: false schema: type: string default: mean description: Spatial reducer applied over the geometry (e.g. mean, max, min). - $ref: '#/components/parameters/Dataset' - $ref: '#/components/parameters/Variable' - $ref: '#/components/parameters/ExportFormat' responses: '200': description: Zonal statistics result. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /zonal_stats/pixel_count/coordinates: post: operationId: zonalStatsPixelCountCoordinates tags: - Zonal Statistics summary: Pixel Count Coordinates description: >- Computes the number of pixels in each category (e.g. drought category) over coordinates. parameters: - $ref: '#/components/parameters/Coordinates' - $ref: '#/components/parameters/Dataset' - $ref: '#/components/parameters/Variable' responses: '200': description: Pixel count statistics. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /zonal_stats/group_by/feature_collection: post: operationId: zonalStatsGroupByFeatureCollection tags: - Zonal Statistics summary: Group By Feature Collection description: >- Computes grouped zonal statistics over a GeoJSON feature collection. requestBody: required: true content: application/json: schema: type: object responses: '200': description: Grouped zonal statistics. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /zonal_stats/temporal_dataset/coordinates: get: operationId: zonalStatsTemporalDatasetCoordinates tags: - Zonal Statistics summary: Temporal Dataset Coordinates description: >- Computes temporal-dataset zonal statistics reduced over coordinate geometries. parameters: - $ref: '#/components/parameters/Coordinates' - $ref: '#/components/parameters/Dataset' - $ref: '#/components/parameters/Variable' - $ref: '#/components/parameters/StartDate' - $ref: '#/components/parameters/EndDate' responses: '200': description: Temporal zonal statistics. content: application/json: schema: type: object /raster/mapid/values: get: operationId: rasterMapidValues tags: - Raster summary: Mapid Values description: >- Returns an Earth Engine map ID and tile URL template for the raw values of a dataset variable over a date range, for client-side tile rendering. parameters: - $ref: '#/components/parameters/Dataset' - $ref: '#/components/parameters/Variable' - name: temporal_statistic in: query required: false schema: type: string description: Temporal reducer applied across the date range (e.g. mean, total). - $ref: '#/components/parameters/StartDate' - $ref: '#/components/parameters/EndDate' - name: bounding_box in: query required: false schema: type: string nullable: true description: Optional bounding box to constrain the rendered region. - name: colormap_min_max in: query required: false schema: type: string nullable: true description: Min,max values for the color map. - name: colormap_palette in: query required: false schema: type: string nullable: true description: Comma-separated hex colors for the color map palette. responses: '200': description: Map ID and tile URL template. content: application/json: schema: type: object /raster/export/values: post: operationId: rasterExportValues tags: - Raster summary: Export Values description: >- Queues an asynchronous raster export of the raw values of a dataset variable over a date range and region. Track progress via the export task endpoints. requestBody: required: true content: application/json: schema: type: object responses: '200': description: Export task accepted. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /raster/export/task_update: get: operationId: rasterExportTaskUpdate tags: - Raster summary: Export Task Update description: Returns the status of a queued raster export task. parameters: - name: task_id in: query required: false schema: type: string description: Identifier of the export task to check. responses: '200': description: Task status. content: application/json: schema: type: object /raster/export/task_queue: get: operationId: rasterExportTaskQueue tags: - Raster summary: Export Task Queue description: Returns the authenticated user's queued raster export tasks. responses: '200': description: Task queue. content: application/json: schema: type: object /reports/drought/coordinates: post: operationId: reportsDroughtCoordinates tags: - Reports summary: Drought Coordinates description: Produces a pre-built drought report over point coordinates. requestBody: required: true content: application/json: schema: type: object responses: '200': description: Drought report. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /reports/vegetation_production/coordinates: post: operationId: reportsVegetationProductionCoordinates tags: - Reports summary: Vegetation Production Coordinates description: Produces a pre-built vegetation production report over point coordinates. requestBody: required: true content: application/json: schema: type: object responses: '200': description: Vegetation production report. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' /reports/site_characterization/coordinates: post: operationId: reportsSiteCharacterizationCoordinates tags: - Reports summary: Site Characterization Coordinates description: Produces a pre-built site characterization report over point coordinates. requestBody: required: true content: application/json: schema: type: object responses: '200': description: Site characterization report. content: application/json: schema: type: object '422': $ref: '#/components/responses/ValidationError' components: securitySchemes: APIKeyHeader: type: apiKey in: header name: Authorization description: >- API key issued by the Climate Engine team, sent in the Authorization header. Request a key from the ClimateEngine.org team. parameters: Coordinates: name: coordinates in: query required: false schema: type: string default: '[[-121.61,38.78]]' description: Point or polygon coordinates as a JSON-encoded array. Dataset: name: dataset in: query required: false schema: type: string default: GRIDMET description: Dataset name (e.g. GRIDMET, ERA5, MODIS, CHIRPS). Variable: name: variable in: query required: false schema: type: string default: tmmn, tmmx description: Comma-separated variable name(s). StartDate: name: start_date in: query required: false schema: type: string description: Start date (YYYY-MM-DD). EndDate: name: end_date in: query required: false schema: type: string description: End date (YYYY-MM-DD). SimplifyGeometry: name: simplify_geometry in: query required: false schema: type: string nullable: true description: maxError in meters for geometry simplification. Buffer: name: buffer in: query required: false schema: type: integer nullable: true description: Buffer in meters applied to the geometry. ExportFormat: name: export_format in: query required: false schema: type: string nullable: true description: Optional response/export format. responses: ValidationError: description: Validation error. content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' schemas: NativeCoordinates: type: object properties: coordinates: type: string title: Coordinates description: Point or polygon coordinates as a JSON-encoded array. default: '[[-121.61,38.78]]' simplify_geometry: type: integer nullable: true title: Simplify Geometry description: maxError in meters for ee.Feature.simplify. buffer: type: integer nullable: true title: Buffer description: Buffer in meters. area_reducer: type: string title: Area Reducer default: mean dataset: type: string title: Dataset default: GRIDMET variable: type: string title: Variable default: tmmn, tmmx compute_trends: type: string nullable: true title: Compute Trends description: 'Comma-separated trends to compute. Options: polyfit, sens_slope.' default: '' start_date: type: string nullable: true title: Start Date end_date: type: string nullable: true title: End Date NativeFeatureCollection: type: object properties: feature_collection_id: type: string nullable: true title: Feature Collection Id description: Earth Engine feature collection asset ID. dataset: type: string title: Dataset default: GRIDMET variable: type: string title: Variable default: tmmn, tmmx area_reducer: type: string title: Area Reducer default: mean start_date: type: string nullable: true title: Start Date end_date: type: string nullable: true title: End Date ValidationError: type: object title: ValidationError properties: loc: type: array items: type: string msg: type: string type: type: string HTTPValidationError: type: object title: HTTPValidationError properties: detail: type: array items: $ref: '#/components/schemas/ValidationError'