---
title: "Update existing points with new data"
method: PUT
path: "/collections/{collectionId}/points"
tags: ["Point"]
---

# Update existing points with new data

`PUT /collections/{collectionId}/points`

This endpoint allows updating point vectors and metadata. It does not allow updating the point id. If you want to update the id, you must delete the point and insert a new point. The points are required to exist before you can update them. You can check the failedPoints to see which points failed to update and potentially why.

## Request body

- UpdatePointsRequest
  - `points` PointAsObject[], required
    - `_id` string, uuid

## Response `200`

Updated points

- UpdatePointsResponse
  - `message` string — A message indicating the result of the operation
  - `failedPoints` object[] — A list of points that failed to insert. Each point has an id and an error message. For example, if the error is "not found", the point does not exist in the collection.
    - `id` string, uuid
    - `error` string

## Changes

- **2024-04-11** (v2) `e6fd80307fb5` — 3 warning, 1 info
  - removed the request property `points/items/id`
  - removed the request property `points/items/metadata`
  - removed the request property `points/items/vector`
  - added the new optional request property `points/items/_id`
- **2024-03-05** (v2) `dd1cf2f988c1` — 3 breaking, 1 warning, 1 info
  - added the new required request property `points/items/id`
  - added the new required request property `points/items/vector`
  - the `points` request property's minItems was increased to `1`
  - removed the request property `points/items/_id`
  - …1 more

[Change history](https://skmtc.dev/semafind/apis/semadb-api/changes/collections/:collectionId/points/put.md)

---

[API](https://skmtc.dev/semafind/apis/semadb-api.md) · [All operations](https://skmtc.dev/semafind/apis/semadb-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/semafind/semadb-api/revisions/e756ed7c3cd3/schema)
