---
title: "Add a new STAC Item to a collection"
method: POST
path: "/collections/{collectionId}/items"
tags: ["Transaction"]
---

# Add a new STAC Item to a collection

`POST /collections/{collectionId}/items`

create a new STAC Item in a specific collection

## Request body

- union
  - Item — A GeoJSON Feature augmented with foreign members that contain values relevant to a STAC entity
    - `stac_version` string, required
    - `stac_extensions` union[]
      - union
        - string, uri
        - string
    - `id` string, required — Provider identifier, a unique ID.
    - `bbox` number[], required — Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Lower left corner, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Upper right corner, coordinate axis 3 (optional) The coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84). For WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries. Example: The bounding box of the New Zealand Exclusive Economic Zone in WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be represented in JSON as `[160.6, -55.95, -170, -25.89]` and in a query as `bbox=160.6,-55.95,-170,-25.89`.
    - `geometry` union, required
      - PointGeoJSON
        - `type` 'Point', required
        - `coordinates` number[], required
      - MultipointGeoJSON
        - `type` 'MultiPoint', required
        - `coordinates` array[], required
          - number[]
      - LinestringGeoJSON
        - `type` 'LineString', required
        - `coordinates` array[], required
          - number[]
      - MultilinestringGeoJSON
        - `type` 'MultiLineString', required
        - `coordinates` array[], required
          - array[]
            - number[]
      - PolygonGeoJSON
        - `type` 'Polygon', required
        - `coordinates` array[], required
          - array[]
            - number[]
      - MultipolygonGeoJSON
        - `type` 'MultiPolygon', required
        - `coordinates` array[], required
          - array[]
            - array[]
              - …
      - GeometrycollectionGeoJSON
        - `type` 'GeometryCollection', required
        - `geometries` GeometryGeoJSON[], required
    - `type` 'Feature', required — The GeoJSON type
    - `links` Link[], required
      - `href` string, uri, required — The location of the resource
      - `rel` string, required — Relation type of the link
      - `type` string — The media type of the resource
      - `title` string — Title of the resource
      - `method` 'GET' | 'POST' — Specifies the HTTP method that the resource expects
      - `headers` object — Object key values pairs they map to headers
      - `body` object — For POST requests, the resource can specify the HTTP body as a JSON object.
      - `merge` boolean — This is only valid when the server is responding to POST request. If merge is true, the client is expected to merge the body value into the current request body before following the link. This avoids passing large post bodies back and forth when following links, particularly for navigating pages through the `POST /search` endpoint. NOTE: To support form encoding it is expected that a client be able to merge in the key value pairs specified as JSON `{"next": "token"}` will become `&next=token`.
    - `properties` Properties, required — provides the core metadata fields plus extensions
      - `datetime` string, date-time, nullable, required — The searchable date and time of the assets, in UTC. It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). `null` is allowed, but requires `start_datetime` and `end_datetime` from common metadata to be set.
    - `assets` Assets, required
  - ItemCollection — A GeoJSON FeatureCollection augmented with foreign members that contain values relevant to a STAC entity
    - `type` 'FeatureCollection', required
    - `features` Item[], required
      - `stac_version` string, required
      - `stac_extensions` union[]
        - union
          - string, uri
          - string
      - `id` string, required — Provider identifier, a unique ID.
      - `bbox` number[], required — Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Lower left corner, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Upper right corner, coordinate axis 3 (optional) The coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84). For WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries. Example: The bounding box of the New Zealand Exclusive Economic Zone in WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be represented in JSON as `[160.6, -55.95, -170, -25.89]` and in a query as `bbox=160.6,-55.95,-170,-25.89`.
      - `geometry` union, required
        - PointGeoJSON
          - `type` 'Point', required
          - `coordinates` number[], required
        - MultipointGeoJSON
          - `type` 'MultiPoint', required
          - `coordinates` array[], required
            - number[]
        - LinestringGeoJSON
          - `type` 'LineString', required
          - `coordinates` array[], required
            - number[]
        - MultilinestringGeoJSON
          - `type` 'MultiLineString', required
          - `coordinates` array[], required
            - array[]
              - …
        - PolygonGeoJSON
          - `type` 'Polygon', required
          - `coordinates` array[], required
            - array[]
              - …
        - MultipolygonGeoJSON
          - `type` 'MultiPolygon', required
          - `coordinates` array[], required
            - array[]
              - …
        - GeometrycollectionGeoJSON
          - `type` 'GeometryCollection', required
          - `geometries` GeometryGeoJSON[], required
      - `type` 'Feature', required — The GeoJSON type
      - `links` Link[], required
        - `href` string, uri, required — The location of the resource
        - `rel` string, required — Relation type of the link
        - `type` string — The media type of the resource
        - `title` string — Title of the resource
        - `method` 'GET' | 'POST' — Specifies the HTTP method that the resource expects
        - `headers` object — Object key values pairs they map to headers
        - `body` object — For POST requests, the resource can specify the HTTP body as a JSON object.
        - `merge` boolean — This is only valid when the server is responding to POST request. If merge is true, the client is expected to merge the body value into the current request body before following the link. This avoids passing large post bodies back and forth when following links, particularly for navigating pages through the `POST /search` endpoint. NOTE: To support form encoding it is expected that a client be able to merge in the key value pairs specified as JSON `{"next": "token"}` will become `&next=token`.
      - `properties` Properties, required — provides the core metadata fields plus extensions
        - `datetime` string, date-time, nullable, required — The searchable date and time of the assets, in UTC. It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). `null` is allowed, but requires `start_datetime` and `end_datetime` from common metadata to be set.
      - `assets` Assets, required
    - `links` Link[] — An array of links. Can be used for pagination, e.g. by providing a link with the `next` relation type.
      - `href` string, uri, required — The location of the resource
      - `rel` string, required — Relation type of the link
      - `type` string — The media type of the resource
      - `title` string — Title of the resource
      - `method` 'GET' | 'POST' — Specifies the HTTP method that the resource expects
      - `headers` object — Object key values pairs they map to headers
      - `body` object — For POST requests, the resource can specify the HTTP body as a JSON object.
      - `merge` boolean — This is only valid when the server is responding to POST request. If merge is true, the client is expected to merge the body value into the current request body before following the link. This avoids passing large post bodies back and forth when following links, particularly for navigating pages through the `POST /search` endpoint. NOTE: To support form encoding it is expected that a client be able to merge in the key value pairs specified as JSON `{"next": "token"}` will become `&next=token`.

## Response `201`

Status of the create request.

- Item — A GeoJSON Feature augmented with foreign members that contain values relevant to a STAC entity
  - `stac_version` string, required
  - `stac_extensions` union[]
    - union
      - string, uri
      - string
  - `id` string, required — Provider identifier, a unique ID.
  - `bbox` number[], required — Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Lower left corner, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Upper right corner, coordinate axis 3 (optional) The coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84). For WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries. Example: The bounding box of the New Zealand Exclusive Economic Zone in WGS 84 (from 160.6°E to 170°W and from 55.95°S to 25.89°S) would be represented in JSON as `[160.6, -55.95, -170, -25.89]` and in a query as `bbox=160.6,-55.95,-170,-25.89`.
  - `geometry` union, required
    - PointGeoJSON
      - `type` 'Point', required
      - `coordinates` number[], required
    - MultipointGeoJSON
      - `type` 'MultiPoint', required
      - `coordinates` array[], required
        - number[]
    - LinestringGeoJSON
      - `type` 'LineString', required
      - `coordinates` array[], required
        - number[]
    - MultilinestringGeoJSON
      - `type` 'MultiLineString', required
      - `coordinates` array[], required
        - array[]
          - number[]
    - PolygonGeoJSON
      - `type` 'Polygon', required
      - `coordinates` array[], required
        - array[]
          - number[]
    - MultipolygonGeoJSON
      - `type` 'MultiPolygon', required
      - `coordinates` array[], required
        - array[]
          - array[]
            - number[]
    - GeometrycollectionGeoJSON
      - `type` 'GeometryCollection', required
      - `geometries` GeometryGeoJSON[], required
  - `type` 'Feature', required — The GeoJSON type
  - `links` Link[], required
    - `href` string, uri, required — The location of the resource
    - `rel` string, required — Relation type of the link
    - `type` string — The media type of the resource
    - `title` string — Title of the resource
    - `method` 'GET' | 'POST' — Specifies the HTTP method that the resource expects
    - `headers` object — Object key values pairs they map to headers
    - `body` object — For POST requests, the resource can specify the HTTP body as a JSON object.
    - `merge` boolean — This is only valid when the server is responding to POST request. If merge is true, the client is expected to merge the body value into the current request body before following the link. This avoids passing large post bodies back and forth when following links, particularly for navigating pages through the `POST /search` endpoint. NOTE: To support form encoding it is expected that a client be able to merge in the key value pairs specified as JSON `{"next": "token"}` will become `&next=token`.
  - `properties` Properties, required — provides the core metadata fields plus extensions
    - `datetime` string, date-time, nullable, required — The searchable date and time of the assets, in UTC. It is formatted according to [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6). `null` is allowed, but requires `start_datetime` and `end_datetime` from common metadata to be set.
  - `assets` Assets, required

## Other responses

- `400` — The request was malformed or semantically invalid
- `404` — The requested URI was not found.
- `500` — A server error occurred.
- `default` — An error occurred.

---

[API](https://skmtc.net/radiantearth/apis/stac-api.md) · [All operations](https://skmtc.net/radiantearth/apis/stac-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/radiantearth/stac-api/versions/11248209cf8c/schema)
