---
title: "Replace a project's berth reference polygons and re-assign vessels to them."
method: POST
path: "/v1/op/berths.save"
tags: ["kernel-ops"]
---

# Replace a project's berth reference polygons and re-assign vessels to them.

`POST /v1/op/berths.save`

## Headers

- `x-api-key` string, nullable

## Request body

- BerthsSaveInput
  - `project_id` string, required
  - `area_key` string, nullable
  - `berths` BerthIn[]
    - `berth_id` string, nullable
    - `name` string, nullable
    - `cargo_type` string, nullable
    - `notes` string, nullable
    - `geometry` object, required — GeoJSON Polygon (WGS84 lon/lat)

## Response `200`

Successful Response

- BerthsSaveOutput
  - `project_id` string, required
  - `berth_count` integer, required
  - `assignment` object, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.dev/geopera/apis/geopera-data-platform.md) · [All operations](https://skmtc.dev/geopera/apis/geopera-data-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/geopera/geopera-data-platform/revisions/cb0130b2a40a/schema)
