---
title: "Updating an Entity"
method: PATCH
path: "/v1/projects/{projectId}/datasets/{name}/entities/{uuid}"
tags: ["Entity Management"]
---

# Updating an Entity

`PATCH /v1/projects/{projectId}/datasets/{name}/entities/{uuid}`

This endpoint is used to update the label or the properties (passed as JSON in the request body) of an Entity. You only need to include the properties you wish to update. To unset the value of any property, you can set it to empty string (""). The label must be a non-empty string. Setting a property to `null` will throw an error. Attempting to update a property that doesn't exist in the Dataset will throw an error. 

**Specifying a base version**

You must either provide the query parameter `baseVersion` or use the `force=true` query parameter. The specified `baseVersion` must match the current version of the Entity on the server or the request will be rejected. This acts as a check to ensure you are not trying to update based on stale data. To update an Entity regardless of its current state, use the `force` flag with value `true`.

**Resolving a conflict**

You can also use this endpoint to resolve an Entity conflict by passing the `resolve=true` query parameter, in which case providing data in the request body is optional. When not providing new data, only the `conflict` status from the Entity will be cleared and no new version will be created. When providing data, the `conflict` will be cleared and an updated version of the Entity will be added.

## Path parameters

- `projectId` number, required
- `name` string, required
- `uuid` string, required

## Query parameters

- `baseVersion` integer
- `force` boolean
- `resolve` boolean

## Response `200`

OK

- Entity
  - `uuid` string — The `uuid` of the Entity that uniquely identifies the Entity.
  - `createdAt` string — ISO date format. The time that the server received the Entity.
  - `updatedAt` string — Timestamp of the last update in ISO date format. `null` when there is only one version of the Entity.
  - `deletedAt` string — Timestamp of the deletion in ISO date format. `null` if the Entity is not deleted.
  - `creatorId` number — The ID of the Actor (App User, User, or Public Link) that originally created the Entity.
  - `conflict` 'soft' | 'hard' — Type of the conflict. `hard`: baseVersion conflicts and multiple versions update the same property `soft`: baseVersion conflicts but data updates are independent
  - `currentVersion` EntityVersion
    - `label` string — Label of the Entity
    - `current` boolean — if the version is the latest one
    - `creatorId` number — The ID of the Actor (App User, User, or Public Link) that originally created the Entity.
    - `userAgent` string — The self-identified `userAgent` of the device that created the `Entity` version.
    - `conflictingProperties` string[] — list of properties updated offline simultaneously.
    - `version` number — The version number of the Entity. Each update increments this number.
    - `baseVersion` number — The version number of the version that was the "base version" of this version.
    - `branchId` string — The uuid of a branch linking multiple offline entity updates together.
    - `trunkVersion` number — The version number of the last known base server version of an entity, in the case of an offline branch of updates.
    - `branchBaseVersion` number — The base version of the entity according to the submission. In the case of an offline branch of updates, this may not match the version of the base submission on Central.
    - `data` DataExample
      - `firstName` string
      - `age` string
    - `dataReceived` DataReceivedExample
      - `firstName` string
      - `age` string
      - `label` string

## Changes

- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Updating an Entity` removed and replaced with `updateEntity`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-10-10** `196d7d957d94` — 1 info
  - endpoint added
- **2025-03-13** `e8c2858fd4eb` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/datasets/:name/entities/:uuid/patch.md)

---

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