---
title: "Create Job"
method: POST
path: "/jobs"
tags: ["Manage Jobs"]
---

# Create Job

`POST /jobs`

## Request body

- Job — 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.
  - `type` string — The type of the job (deprecated)
  - `id` string — The unique identifier of the job. NOTE: The id will always be generated by the service. It can not be defined by the client.
  - `description` string — A human readable description of the purpose of the job
  - `source` union — 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
    - SourceSpaceDataset — Describes that the data should be read from an XYZ space
      - `type` 'Space', required — The type is "Space"
      - `id` string
      - `filters` Filters — An object to describe filters to be applied when reading data from a space
        - `propertyFilter` string — 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` SpatialFilter — A geometrical object to be used as a filter when reading data from a space
          - `tileIds` string[] — The list of HERE Quadkey tile ids used as filter
          - `radius` integer — The radius around the filter-geometry in meters
          - `clip` boolean — Whether to clip the matching geometries to the boundaries of the filter-geometry
          - `geometry` union
            - Point — A Point geometry.
              - …
            - Polygon — A Polygon geometry.
              - …
            - LineString — A LineString geometry.
              - …
            - MultiLineString — A MultiLineString geometry.
              - …
            - MultiPoint — A MultiPoint geometry.
              - …
            - MultiPolygon — A MultiPolygon geometry.
              - …
        - `context` 'DEFAULT' | 'EXTENSION' | 'SUPER' — 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.
    - SourceFilesDataset — 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.
      - `type` 'Files', required — The type is "Files"
      - `inputSettings` FileInputSettings
        - `format` union — 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.
          - GeoJsonFormat — 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)
            - `type` 'GeoJson', required — The type is "GeoJson"
            - `entityTypePerLine` 'Feature' | 'FeatureCollection' — 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.
            - `multiLineStandard` 'RFC7464' | 'NEW_LINE' — 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
          - GeoParquetFormat — Describes that the file format is geo parquet.
            - `type` 'GeoParquet', required — The type is "GeoParquet"
  - `process` ProcessDescription
    - `type` string, required — The type of the process to be executed when the job starts.
  - `target` union — 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
    - TargetFilesDataset — 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.
      - `type` 'Files', required — The type is "Files"
      - `outputSettings` FileOutputSettings
        - `format` union — 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.
          - GeoJsonFormat — 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)
            - `type` 'GeoJson', required — The type is "GeoJson"
            - `entityTypePerLine` 'Feature' | 'FeatureCollection' — 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.
            - `multiLineStandard` 'RFC7464' | 'NEW_LINE' — 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
          - GeoParquetFormat — Describes that the file format is geo parquet.
            - `type` 'GeoParquet', required — The type is "GeoParquet"
        - `partitioning` union
          - TilePartitioning — A specification about how to partition the resulting output data. Depending on the partitioning type, there are different options which could be specified.
            - `type` 'Tiles', required — The type is "Tiles"
            - `level` integer — The tile level on which to apply the partitioning.
            - `clip` boolean — Whether to clip the contained geometries to the boundaries of the tile
          - FeatureKeyPartitioning — A specification about how to partition the resulting output data. Depending on the partitioning type, there are different options which could be specified.
            - `type` 'FeatureKey', required — The type is "FeatureKey"
            - `key` string, required — A dot separated string to be used as JSON path to the property which should be used as partitioning key.
    - SpaceDataset — Describes that the data should be read from or written to an XYZ space
      - `type` 'Space', required — The type is "Space"
      - `id` string

## Response `201`

The Job

- Job — 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.
  - `type` string — The type of the job (deprecated)
  - `id` string — The unique identifier of the job. NOTE: The id will always be generated by the service. It can not be defined by the client.
  - `description` string — A human readable description of the purpose of the job
  - `source` union — 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
    - SourceSpaceDataset — Describes that the data should be read from an XYZ space
      - `type` 'Space', required — The type is "Space"
      - `id` string
      - `filters` Filters — An object to describe filters to be applied when reading data from a space
        - `propertyFilter` string — 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` SpatialFilter — A geometrical object to be used as a filter when reading data from a space
          - `tileIds` string[] — The list of HERE Quadkey tile ids used as filter
          - `radius` integer — The radius around the filter-geometry in meters
          - `clip` boolean — Whether to clip the matching geometries to the boundaries of the filter-geometry
          - `geometry` union
            - Point — A Point geometry.
              - …
            - Polygon — A Polygon geometry.
              - …
            - LineString — A LineString geometry.
              - …
            - MultiLineString — A MultiLineString geometry.
              - …
            - MultiPoint — A MultiPoint geometry.
              - …
            - MultiPolygon — A MultiPolygon geometry.
              - …
        - `context` 'DEFAULT' | 'EXTENSION' | 'SUPER' — 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.
    - SourceFilesDataset — 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.
      - `type` 'Files', required — The type is "Files"
      - `inputSettings` FileInputSettings
        - `format` union — 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.
          - GeoJsonFormat — 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)
            - `type` 'GeoJson', required — The type is "GeoJson"
            - `entityTypePerLine` 'Feature' | 'FeatureCollection' — 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.
            - `multiLineStandard` 'RFC7464' | 'NEW_LINE' — 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
          - GeoParquetFormat — Describes that the file format is geo parquet.
            - `type` 'GeoParquet', required — The type is "GeoParquet"
  - `process` ProcessDescription
    - `type` string, required — The type of the process to be executed when the job starts.
  - `target` union — 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
    - TargetFilesDataset — 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.
      - `type` 'Files', required — The type is "Files"
      - `outputSettings` FileOutputSettings
        - `format` union — 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.
          - GeoJsonFormat — 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)
            - `type` 'GeoJson', required — The type is "GeoJson"
            - `entityTypePerLine` 'Feature' | 'FeatureCollection' — 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.
            - `multiLineStandard` 'RFC7464' | 'NEW_LINE' — 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
          - GeoParquetFormat — Describes that the file format is geo parquet.
            - `type` 'GeoParquet', required — The type is "GeoParquet"
        - `partitioning` union
          - TilePartitioning — A specification about how to partition the resulting output data. Depending on the partitioning type, there are different options which could be specified.
            - `type` 'Tiles', required — The type is "Tiles"
            - `level` integer — The tile level on which to apply the partitioning.
            - `clip` boolean — Whether to clip the contained geometries to the boundaries of the tile
          - FeatureKeyPartitioning — A specification about how to partition the resulting output data. Depending on the partitioning type, there are different options which could be specified.
            - `type` 'FeatureKey', required — The type is "FeatureKey"
            - `key` string, required — A dot separated string to be used as JSON path to the property which should be used as partitioning key.
    - SpaceDataset — Describes that the data should be read from or written to an XYZ space
      - `type` 'Space', required — The type is "Space"
      - `id` string

## Other responses

- `400` — Malformed or Bad Request.

---

[API](https://skmtc.net/here/apis/here-xyz-job-service.md) · [All operations](https://skmtc.net/here/apis/here-xyz-job-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/here/here-xyz-job-service/revisions/b0f3c1c4fc93/schema)
