openapi: 3.0.2 info: title: HERE XYZ Job Service description: |- HERE XYZ Job Service is an API based on REST architecture that facilitates the management of jobs for executing bulk operations on a dataset. contact: {} version: 1.0.0 servers: - url: / security: - AccessToken: [] - Bearer: [] tags: - name: Manage Jobs description: Job management endpoints for space. paths: '/jobs': post: tags: - Manage Jobs summary: Create Job operationId: postJob requestBody: $ref: '#/components/requestBodies/JobRequest' responses: '201': $ref: '#/components/responses/JobResponse' '400': $ref: '#/components/responses/ErrorResponse400' '412': $ref: '#/components/responses/ErrorResponse412' get: tags: - Manage Jobs summary: Get jobs description: Retrieve jobs operationId: getJobs parameters: - $ref: '#/components/parameters/JobStatus' responses: '200': $ref: '#/components/responses/JobsResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' '/jobs/{jobId}': get: tags: - Manage Jobs summary: Get job description: Retrieve job operationId: getJob parameters: - $ref: '#/components/parameters/JobId' responses: '200': $ref: '#/components/responses/JobResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' delete: tags: - Manage Jobs summary: Delete job description: Delete job operationId: deleteJob parameters: - $ref: '#/components/parameters/JobId' responses: '200': $ref: '#/components/responses/JobResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' /jobs/{jobId}/inputs: post: tags: - "Manage Jobs" summary: "Create a job input" description: "Creates a new input for a job" operationId: "postJobInputs" parameters: - $ref: "#/components/parameters/JobId" - $ref: "#/components/parameters/ResponseMode" requestBody: $ref: "#/components/requestBodies/JobInputRequest" responses: "201": $ref: "#/components/responses/JobInputResponse" "400": $ref: "#/components/responses/ErrorResponse400" "404": $ref: "#/components/responses/ErrorResponse404" "412": $ref: "#/components/responses/ErrorResponse412" get: tags: - "Manage Jobs" summary: "List job inputs (flat or preview)" description: "Lists the available inputs of a job in flat mode, or a preview of the input groups with sets in paginated mode" operationId: "getJobInputPayloadsPreview" parameters: - $ref: "#/components/parameters/JobId" - $ref: "#/components/parameters/ResponseMode" responses: "200": $ref: "#/components/responses/JobInputsResponse" "400": $ref: "#/components/responses/ErrorResponse400" "404": $ref: "#/components/responses/ErrorResponse404" /jobs/{jobId}/inputs/{group}: post: tags: - "Manage Jobs" summary: "Create a named job input" description: "Creates a new input for a job" operationId: "postNamedJobInputs" parameters: - $ref: "#/components/parameters/JobId" - $ref: "#/components/parameters/Group" - $ref: "#/components/parameters/ResponseMode" requestBody: $ref: "#/components/requestBodies/JobInputRequest" responses: "201": $ref: "#/components/responses/JobInputResponse" "400": $ref: "#/components/responses/ErrorResponse400" "404": $ref: "#/components/responses/ErrorResponse404" "412": $ref: "#/components/responses/ErrorResponse412" get: tags: - "Manage Jobs" summary: "Get input group preview" description: "Returns a preview for a specific input group with its sets and statistics" operationId: "getJobInputGroupPayloadsPreview" parameters: - $ref: '#/components/parameters/JobId' - $ref: '#/components/parameters/Group' responses: '200': $ref: '#/components/responses/JobPayloadsResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' /jobs/{jobId}/inputs/{group}/{name}: get: tags: - "Manage Jobs" summary: "List items of the job (paged)" description: "Returns a paginated list of items within a group and input set." operationId: "getJobPaginatedInputs" parameters: - $ref: '#/components/parameters/JobId' - $ref: '#/components/parameters/Group' - $ref: '#/components/parameters/Name' - $ref: '#/components/parameters/PageToken' - $ref: '#/components/parameters/Limit' responses: '200': $ref: '#/components/responses/InputItemsPageResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' /jobs/{jobId}/outputs: get: tags: - "Manage Jobs" summary: "List job outputs (flat or preview)" description: "Lists the outputs of a job, or a preview of the output groups with sets in paginated mode" operationId: "getJobOutputPayloadsPreview" parameters: - $ref: "#/components/parameters/JobId" - $ref: "#/components/parameters/ResponseMode" responses: "200": $ref: "#/components/responses/JobOutputsResponse" "400": $ref: "#/components/responses/ErrorResponse400" "404": $ref: "#/components/responses/ErrorResponse404" /jobs/{jobId}/outputs/{group}: get: tags: - "Manage Jobs" summary: "Get output group preview" description: "Returns a summary for a specific output group with its sets and statistics" operationId: "getJobOutputGroupPayloadsPreview" parameters: - $ref: '#/components/parameters/JobId' - $ref: '#/components/parameters/Group' responses: '200': $ref: '#/components/responses/JobPayloadsResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' /jobs/{jobId}/outputs/{group}/{name}: get: tags: - "Manage Jobs" summary: "List output items (paged)" description: "Returns a paginated list of items within an output set." operationId: "getJobPaginatedOutputs" parameters: - $ref: '#/components/parameters/JobId' - $ref: '#/components/parameters/Group' - $ref: '#/components/parameters/Name' - $ref: '#/components/parameters/PageToken' - $ref: '#/components/parameters/Limit' responses: '200': $ref: '#/components/responses/OutputItemsPageResponse' '400': $ref: '#/components/responses/ErrorResponse400' '404': $ref: '#/components/responses/ErrorResponse404' /jobs/{jobId}/status: patch: tags: - "Manage Jobs" summary: "Update job status" description: "Update job status using provided action" operationId: "patchJobStatus" parameters: - $ref: "#/components/parameters/JobId" requestBody: $ref: "#/components/requestBodies/JobStatusRequest" responses: "202": $ref: "#/components/responses/JobStatusResponse" "400": $ref: "#/components/responses/ErrorResponse400" "404": $ref: "#/components/responses/ErrorResponse404" get: tags: - "Manage Jobs" summary: "Get job status" description: "Retrieve job status" operationId: "getJobStatus" parameters: - $ref: "#/components/parameters/JobId" responses: "200": $ref: "#/components/responses/JobStatusResponse" "400": $ref: "#/components/responses/ErrorResponse400" "404": $ref: "#/components/responses/ErrorResponse404" components: securitySchemes: AccessToken: type: apiKey in: query name: access_token Bearer: type: http scheme: bearer bearerFormat: JWT parameters: SpaceId: name: spaceId in: query description: The unique identifier of the space. required: true schema: type: string JobId: name: jobId in: path description: The unique identifier of the job. required: true schema: type: string PayloadSetName: name: setName in: path description: The name of a set of payloads. required: true schema: type: string JobStatus: name: status in: query description: Job Status required: false schema: $ref: '#/components/schemas/JobState' Group: name: group in: path description: The group name (e.g., "topology", "address"). required: true schema: type: string Name: name: name in: path description: The set name within the group (e.g., "exportedData", "statistics"). required: true schema: type: string PageToken: name: pageToken in: query description: Token for fetching the next page of results. required: false schema: type: string Limit: name: limit in: query description: Maximum number of items to return per requested page. required: false schema: type: integer minimum: 1 maximum: 1000 default: 100 ResponseMode: name: X-Response-Mode in: header required: false description: > Optional response mode switch for list endpoints. If omitted, defaults to `regular`. - `regular`: return a flat list (legacy behavior). - `paginated`: return a page wrapper with `items` and `nextPageToken`. schema: type: string enum: [ regular, paginated ] example: paginated requestBodies: JobRequest: required: true content: application/json: schema: $ref: '#/components/schemas/Job' JobStatusRequest: required: true content: application/json: schema: $ref: "#/components/schemas/JobStatus" example: desiredAction: "START" JobInputRequest: required: true content: application/json: schema: example: | { "type": "UploadUrl" } oneOf: - $ref: "#/components/schemas/UploadUrl" responses: EmptyResponse: description: >- An empty response as a result of a user-request with accepted MIME type application/x-empty. content: application/x-empty: schema: type: string ErrorResponse400: description: Malformed or Bad Request. content: application/json: schema: $ref: '#/components/schemas/Error' example: type: ErrorResponse streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9 error: Exception errorMessage: ErrorResponse404: description: Not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: type: ErrorResponse streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9 error: Exception errorMessage: The requested resource does not exist. ErrorResponse405: description: Not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: type: ErrorResponse streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9 error: Exception errorMessage: Method Not Allowed. ErrorResponse409: description: An error response which indicates a conflict. content: application/json: schema: $ref: '#/components/schemas/Error' example: type: ErrorResponse streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9 error: Exception errorMessage: The record exists. ErrorResponse412: description: An error response which indicates a failed precondition. content: application/json: schema: $ref: '#/components/schemas/Error' example: type: ErrorResponse streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9 error: Exception errorMessage: Precondition Failed. JobResponse: description: The Job content: application/json: schema: $ref: '#/components/schemas/Job' JobsResponse: description: Job List content: application/json: schema: type: array items: $ref: '#/components/schemas/Job' JobInputResponse: description: The job inputs content: application/json: schema: oneOf: - $ref: "#/components/schemas/UploadUrl" - $ref: '#/components/schemas/JobPayloads' JobInputsResponse: description: The job inputs (array or page wrapper when X-Response-Mode=paginated) content: application/json: schema: oneOf: - type: array items: oneOf: - $ref: "#/components/schemas/UploadUrl" - $ref: '#/components/schemas/JobPayloads' JobPayloadsResponse: description: The job inputs (array or page wrapper when X-Response-Mode=paginated) content: application/json: schema: $ref: '#/components/schemas/GroupPayloads' JobOutputsResponse: description: The job outputs (array or page wrapper when X-Response-Mode=paginated) content: application/json: schema: oneOf: - type: array items: oneOf: - $ref: "#/components/schemas/DownloadUrl" - $ref: "#/components/schemas/FeatureStatistics" - $ref: '#/components/schemas/JobPayloads' OutputItemsPageResponse: description: A page of items from an output set. content: application/json: schema: $ref: '#/components/schemas/OutputItemsPage' InputItemsPageResponse: description: A page of items from an input set. content: application/json: schema: $ref: '#/components/schemas/InputItemsPage' HealthResponse: description: HealthCheck Response content: application/json: examples: response: value: status: OK JobStatusResponse: description: "The Job's runtime status" content: application/json: schema: $ref: "#/components/schemas/JobStatus" schemas: Error: type: object description: >- The response send when the request failed. This response may be send for certain HTTP error codes like 403 Forbidden or 502 Bad Gateway and should hold more details about the error reason. properties: streamId: description: >- A unique identifier of the request. This identifier should be provided when reporting errors. Its used to track requests through the XYZ platform. type: string type: type: string description: The type of the error. Defaults to 'ErrorResponse'. error: type: string description: The error summary. errorMessage: type: string description: >- A human readable message in English that should provide a more detailed description of the error reason. Job: type: object description: >- A job which can be executed by the XYZ Job API. There are different kinds of tasks to be executed by a job depending on its specified source and target dataset-descriptions. properties: type: description: >- The type of the job (deprecated) example: Import type: string id: description: >- The unique identifier of the job. NOTE: The id will always be generated by the service. It can not be defined by the client. example: ZMlfeaN8B8 type: string description: description: >- A human readable description of the purpose of the job example: This job imports some GeoJSON data to my space type: string source: description: >- A description of the resource out of which to read the data for the processing of the job. Depending on the resource type there are different options which could be defined. E.g. From where to read the input data and how to filter it oneOf: - $ref: '#/components/schemas/SourceSpaceDataset' - $ref: '#/components/schemas/SourceFilesDataset' process: $ref: '#/components/schemas/ProcessDescription' target: description: >- A description of the resource into which to write / store the processed data. Depending on the resource type are different options which could be defined. E.g. which format to use, how to group the data or how to chunk output files oneOf: - $ref: '#/components/schemas/TargetFilesDataset' - $ref: '#/components/schemas/SpaceDataset' example: description: This job exports some data from my space into GeoJSON files source: type: Space id: sdkeuh7 target: type: Files DatasetDescription: description: >- A description of the resource which can be used as source or target of a job. Depending on the resource type there are different options which could be defined. type: object discriminator: propertyName: type mapping: Files: '#/components/schemas/FilesDataset' Space: '#/components/schemas/SpaceDataset' required: - type properties: type: description: The type of the dataset example: Files type: string ProcessDescription: type: object required: - type properties: type: description: The type of the process to be executed when the job starts. type: string FilesDataset: allOf: - $ref: '#/components/schemas/DatasetDescription' - type: object description: The files dataset depicts a set of files which can be addressed by the user for uploading / downloading data. properties: type: description: The type is "Files" example: Files type: string enum: - Files SourceFilesDataset: allOf: - $ref: '#/components/schemas/FilesDataset' - type: object description: >- The source files dataset depicts a set of files which can be addressed by the user for uploading data. The options in "inputSettings" can be used to specify the input format the job should expect etc. properties: inputSettings: $ref: '#/components/schemas/FileInputSettings' TargetFilesDataset: allOf: - $ref: '#/components/schemas/FilesDataset' - type: object description: >- The target files dataset depicts a set of files which can be adressed by the user for downloading data. The options in "outputSettings" can be used to specify the desired output format the job should produce etc. properties: outputSettings: $ref: '#/components/schemas/FileOutputSettings' FileInputSettings: type: object properties: format: description: >- The input format of the files as it should be expected by the job. Depending on the format type, there are different options which could be specified. oneOf: - $ref: '#/components/schemas/GeoJsonFormat' - $ref: '#/components/schemas/GeoParquetFormat' FileOutputSettings: type: object properties: format: description: >- The output format of the files as it should be expected by the job. Depending on the format type, there are different options which could be specified. oneOf: - $ref: '#/components/schemas/GeoJsonFormat' - $ref: '#/components/schemas/GeoParquetFormat' partitioning: oneOf: - $ref: '#/components/schemas/TilePartitioning' - $ref: '#/components/schemas/FeatureKeyPartitioning' OutputPartitioning: type: object description: >- A specification about how to partition the resulting output data. Depending on the partitioning type, there are different options which could be specified. discriminator: propertyName: type mapping: Tiles: '#/components/schemas/TilePartitioning' FeatureKey: '#/components/schemas/FeatureKeyPartitioning' required: - type properties: type: description: The partitioning type example: Tiles type: string TilePartitioning: allOf: - $ref: '#/components/schemas/OutputPartitioning' - type: object properties: type: description: The type is "Tiles" example: Tiles type: string enum: - Tiles level: type: integer description: The tile level on which to apply the partitioning. minimum: 10 maximum: 16 example: 12 clip: type: boolean description: Whether to clip the contained geometries to the boundaries of the tile example: true FeatureKeyPartitioning: allOf: - $ref: '#/components/schemas/OutputPartitioning' - type: object required: - key properties: type: description: The type is "FeatureKey" example: FeatureKey type: string enum: - FeatureKey key: type: string description: > A dot separated string to be used as JSON path to the property which should be used as partitioning key. example: mySubObject.myValue FileFormat: type: object discriminator: propertyName: type mapping: GeoJson: '#/components/schemas/GeoJsonFormat' GeoParquet: '#/components/schemas/GeoParquetFormat' required: - type properties: type: description: The type of the file format example: GeoJson type: string GeoJsonFormat: allOf: - $ref: '#/components/schemas/FileFormat' - type: object description: >- Describes that the file format is a multi-line GeoJSON. That means that each line of the file contains a valid GeoJSON feature or FeatureCollection (depending on the "entityTypePerLine" setting) properties: type: description: The type is "GeoJson" example: GeoJson type: string enum: - GeoJson entityTypePerLine: description: >- Describes the entity type of each line in the multi-line GeoJSON file. If used as a format for output files for a job in combination with output partitioning, then choosing the "FeatureCollection" results in an aggregation of the features of one partition into one feature collection. type: string enum: - Feature - FeatureCollection example: Feature multiLineStandard: description: >- Describes which line-separator should be used. "NEW_LINE" is the default and depicts a simple new-line char while RFC7464 relates to https://datatracker.ietf.org/doc/html/rfc7464 type: string enum: - RFC7464 - NEW_LINE example: NEW_LINE GeoParquetFormat: allOf: - $ref: '#/components/schemas/FileFormat' - type: object description: Describes that the file format is geo parquet. properties: type: description: The type is "GeoParquet" example: GeoParquet type: string enum: - GeoParquet SpaceDataset: allOf: - $ref: '#/components/schemas/DatasetDescription' - type: object description: Describes that the data should be read from or written to an XYZ space properties: type: description: The type is "Space" example: Space type: string enum: - Space id: type: string SourceSpaceDataset: allOf: - $ref: '#/components/schemas/SpaceDataset' - type: object description: Describes that the data should be read from an XYZ space properties: filters: $ref: '#/components/schemas/Filters' Filters: type: object description: An object to describe filters to be applied when reading data from a space properties: propertyFilter: type: string description: > The format should follow the specification below * p.property_name_1=property_value_1&f.special_property_name_1=special_property_value_1 For example, the above query, the Features are filtered by 'property' AND 'special property' equals to their respective values. While in the following example * p.property_name_1=value_1,value_2 The resulting Features list contains all elements having value_1 OR value_2. Additionally, to the operators used in the examples above, the query can be written, with the same semantic, by using the long operators: "=gte=", "=lte=", "=gt=", "=lt=" and "=cs=". The following queries yield the same result: * p.property_name_1>=10 * p.property_name_1=gte=10 The available operators are: - "=" - equals - "!=" - not equals - "=.null" - is null - "!=.null" - is not null - ">=" or "=gte=" - greater than or equals - "<=" or "=lte=" - less than or equals - ">" or "=gt=" - greater than - "<" or "=lt=" - less than - "@>" or "=cs=" - Array contains spatialFilter: $ref: '#/components/schemas/SpatialFilter' context: $ref: '#/components/schemas/Context' Context: type: string description: >- Only applicable for composite spaces. Defines the part of the composite space on which to perform the read-action. Feature modifications will always only be written into the extension. - DEFAULT: The default setting which will be used when no context is defined. Specifies that, when reading, the data from the composite space components (extended space & extension) should be merged together in the way that features from the extension are overlaying the according features of the extended space. - EXTENSION: Specifies that, when reading, only the data of the extension should be returned. - SUPER: Specifies that, when reading, only the data of the extended space should be returned. The action will be performed as if it has been executed on the extended space. enum: - DEFAULT - EXTENSION - SUPER SpatialFilter: type: object description: A geometrical object to be used as a filter when reading data from a space properties: tileIds: type: array items: type: string description: The list of HERE Quadkey tile ids used as filter radius: type: integer description: The radius around the filter-geometry in meters clip: type: boolean description: Whether to clip the matching geometries to the boundaries of the filter-geometry geometry: oneOf: - $ref: '#/components/schemas/Point' - $ref: '#/components/schemas/Polygon' - $ref: '#/components/schemas/LineString' - $ref: '#/components/schemas/MultiLineString' - $ref: '#/components/schemas/MultiPoint' - $ref: '#/components/schemas/MultiPolygon' JobInput: description: An input for a job. type: object discriminator: propertyName: type mapping: UploadUrl: '#/components/schemas/UploadUrl' required: - type properties: type: description: The type of the Input example: UploadUrl type: string s3Key: description: The type of the Input example: import/h3TGlF/part_1.csv type: string UploadUrl: allOf: - $ref: '#/components/schemas/JobInput' - type: object description: Contains the uplaod url for import jobs. properties: type: description: The type is "UploadUrl" example: UploadUrl type: string enum: - UploadUrl url: description: The presigned url for uploading the data. example: https://foo.com/import/h3TGlF/part_1.csv type: string JobOutput: description: An output of a job. type: object discriminator: propertyName: type mapping: DownloadUrl: '#/components/schemas/DownloadUrl' FeatureStatistics: '#/components/schemas/FeatureStatistics' required: - type properties: type: description: The type of the Output example: DownloadUrl type: string JobPayloads: type: object description: Summary of grouped payloads (inputs/outputs) for a job. properties: groups: type: object additionalProperties: $ref: '#/components/schemas/GroupPayloads' itemCount: type: number description: Total items across all groups. example: 1200 byteSize: type: number description: Total size of items across all groups in bytes. example: 10485760 GroupPayloads: type: object description: A named group containing multiple output/input sets. properties: sets: type: object additionalProperties: $ref: '#/components/schemas/SetPayloads' itemCount: type: number description: Total items in the group. example: 800 byteSize: type: number description: Total size of the group's items in bytes. example: 7340032 SetPayloads: type: object description: Summary for a single set within a group. properties: itemCount: type: number description: Number of items in the set. example: 400 byteSize: type: number description: Total size of the set in bytes. example: 3670016 OutputItemsPage: type: object description: A page of output items. properties: items: type: array items: oneOf: - $ref: '#/components/schemas/DownloadUrl' - $ref: '#/components/schemas/FeatureStatistics' nextPageToken: type: string nullable: true description: Token to retrieve the next page. Omitted or null if no further pages. example: items: - type: DownloadUrl url: https://foo.com/export/topology/part_1.geojson byteSize: 409600 - type: FeatureStatistics featureCount: 28075 byteSize: 409600 nextPageToken: eyJwYWdlIjoyfQ== InputItemsPage: type: object description: A page of input items. properties: items: type: array items: oneOf: - $ref: '#/components/schemas/UploadUrl' nextPageToken: type: string nullable: true description: Token to retrieve the next page. Omitted or null if no further pages. example: items: - type: UploadUrl url: https://foo.com/import/h3TGlF/part_1.csv nextPageToken: null DownloadUrl: allOf: - $ref: '#/components/schemas/JobOutput' - type: object description: Contains the download url for the datasets of a jobs. properties: type: description: The type is "DownloadUrl" example: DownloadUrl type: string enum: - DownloadUrl url: description: The presigned url for downloading the data. example: https://foo.com/import/h3TGlF/part_1.csv type: string byteSize: description: The size of the data to be downloaded in bytes. example: 409600 type: number FeatureStatistics: allOf: - $ref: '#/components/schemas/JobOutput' - type: object description: Shows the statistics of the job. properties: type: description: The type is "FeatureStatistics" example: FeatureStatistics type: string enum: - FeatureStatistics featureCount: description: The resultant feature count of the job. example: 28075 type: number byteSize: description: The size of the data to be downloaded in bytes. example: 409600 type: number JobStatus: type: "object" description: >- The runtime status of a job contains information about the job's execution. properties: desiredAction: description: >- Description of possible actions: - START (Request to start the job execution. Only applicable for jobs which do not start automatically, because they're in state NOT_READY. See description of "state".) - CANCEL (Request to cancel the job execution. This will stop the execution of all tasks of the job. Later the job can be resumed using the RESUME action.) - RESUME (Only applicable to jobs in states CANCELLED or FAILED and being "resumable" - See: state FAILED. Requests to start the execution again. The system will try to continue the execution from the point at which it previously stopped.) type: "string" enum: - "START" - "CANCEL" - "RESUME" state: $ref: '#/components/schemas/JobState' lastUpdatedAt: description: A timestamp in milliseconds of when the job's status was updated the last time. type: "integer" format: "int64" startedAt: description: A timestamp in milliseconds of when the job was started. type: "integer" format: "int64" estimatedProgress: description: An estimation of the progress of the job. This is a value between 0 .. 1 where 0 means 0% and 1 means 100%. type: "number" format: "float" minimum: 0 maximum: 1 estimatedEndTime: description: A timestamp in milliseconds of when the job most probably will complete its execution. This is a rough estimation and the actual value could differ. type: "integer" format: "int64" example: state: "RUNNING" lastUpdatedAt: 123456789 startedAt: 123456789, estimatedProgress: 0.5 estimatedEndTime: 123456789 JobState: type: "string" description: >- Description of possible states: - NOT_READY (The job is not ready to be started yet as not all pre-conditions are met. E.g. that could be the input data was not provided by the user yet.) - SUBMITTED (The job is ready for execution, but was not started yet.) - PENDING (The system is trying to start the job, but it is still waiting for free execution resources.) - RUNNING (The job execution is currently in progress.) - CANCELLING (The job got the signal that it should be cancelled and is currently in the progress of cancelling all its internal steps and performing the clean up work.) - CANCELLED (Terminal state. The job was cancelled. That could be done by the request of the job owner, or because the system had to cancel the job. A job can be resumed if its "resumable" flag is true. See: desiredAction: RESUME) - FAILED (Terminal state. The job failed, because one of its internal steps failed. A job can be resumed if its "resumable" flag is true. See: desiredAction: RESUME) - RESUMING (The job got the signal to resume execution after it was previously cancelled or has failed. The job currently is preparing to start the execution again.) - SUCCEEDED (The job is completed. All its work has been done and all outputs are ready.) enum: - "NOT_READY" - "SUBMITTED" - "PENDING" - "RUNNING" - "CANCELLING" - "CANCELLED" - "FAILED" - "RESUMING" - "SUCCEEDED" GeoJSON: type: object description: The base type for all possible GeoJSON objects. required: - type properties: type: type: string bbox: type: array description: Describes the coordinate range of the GeoJSON object. items: type: number discriminator: propertyName: type mapping: Geometry: '#/components/schemas/Geometry' additionalProperties: true Geometry: allOf: - $ref: '#/components/schemas/GeoJSON' - type: object description: A Geometry object represents points, curves, and surfaces in coordinate space. discriminator: propertyName: type mapping: MultiPoint: '#/components/schemas/MultiPoint' MultiLineString: '#/components/schemas/MultiLineString' LineString: '#/components/schemas/LineString' MultiPolygon: '#/components/schemas/MultiPolygon' Point: '#/components/schemas/Point' Polygon: '#/components/schemas/Polygon' LineString: allOf: - $ref: '#/components/schemas/Geometry' - type: object description: A LineString geometry. properties: type: description: The type is "LineString" example: LineString type: string enum: - LineString coordinates: type: array items: type: array items: type: number maxItems: 3 minItems: 2 minItems: 2 MultiLineString: allOf: - $ref: '#/components/schemas/Geometry' - type: object description: A MultiLineString geometry. properties: type: description: The type is "MultiLineString" example: MultiLineString type: string enum: - MultiLineString coordinates: type: array items: type: array items: type: array items: type: number maxItems: 3 minItems: 2 minItems: 2 MultiPoint: allOf: - $ref: '#/components/schemas/Geometry' - type: object description: A MultiPoint geometry. properties: type: description: The type is "MultiPoint" example: MultiPoint type: string enum: - MultiPoint coordinates: type: array items: type: array items: type: number maxItems: 3 minItems: 2 MultiPolygon: allOf: - $ref: '#/components/schemas/Geometry' - type: object description: A MultiPolygon geometry. properties: type: description: The type is "MultiPolygon" example: MultiPolygon type: string enum: - MultiPolygon coordinates: type: array items: type: array items: type: array items: type: array items: type: number maxItems: 3 minItems: 2 minItems: 4 Point: allOf: - $ref: '#/components/schemas/Geometry' - type: object description: A Point geometry. properties: type: description: The type is "Point" example: Point type: string enum: - Point coordinates: type: array items: type: number maxItems: 3 minItems: 2 Polygon: allOf: - $ref: '#/components/schemas/Geometry' - type: object description: A Polygon geometry. properties: type: description: The type is "Polygon" example: Polygon type: string enum: - Polygon coordinates: type: array items: type: array items: type: array items: type: number maxItems: 3 minItems: 2 minItems: 4