---
title: "Setting Actor Property Values on a Link"
method: PATCH
path: "/v1/projects/{projectId}/forms/{xmlFormId}/public-links/{linkId}"
tags: ["Public Access Links"]
---

# Setting Actor Property Values on a Link

`PATCH /v1/projects/{projectId}/forms/{xmlFormId}/public-links/{linkId}`

Sets or unsets pre-registered [Actor Property](/central-api-accounts-and-users/#actor-properties) values on a Public Access Link. The body must contain a `properties` object mapping property names to string values or `null`. Sending `null` for a property unsets it.

Returns the extended Public Link, including a `properties` object containing all currently set property values.

Requires `public_link.update` permission.

## Path parameters

- `projectId` number, required
- `xmlFormId` string, required
- `linkId` integer, required

## Request body

- object
  - `properties` object — An object mapping actor property names to string values or `null`. Set a property by providing a string value; unset it by providing `null`.

## Response `200`

Returns the extended Public Link with the updated properties.

- ExtendedPublicLink
  - `createdAt` string, required — ISO date format
  - `displayName` string, required — All `Actor`s, regardless of type, have a display name
  - `id` number, required
  - `type` 'user' | 'field_key' | 'public_link' | 'singleUse', required — The type of actor
  - `updatedAt` string — ISO date format
  - `deletedAt` string — ISO date format
  - `token` string — If present, this is the Token to include as the `st` query parameter for this `Public Link`. If not present, this `Public Link` has been revoked.
  - `once` boolean — If set to `true`, an Enketo [single submission survey](https://blog.enketo.org/single-submission-surveys/) will be created instead of a standard one, limiting respondents to a single submission each.
  - `createdBy` Actor, required
    - `createdAt` string, required — ISO date format
    - `displayName` string, required — All `Actor`s, regardless of type, have a display name
    - `id` number, required
    - `type` 'user' | 'field_key' | 'public_link' | 'singleUse', required — The type of actor
    - `updatedAt` string — ISO date format
    - `deletedAt` string — ISO date format
  - `properties` object, nullable — An object mapping actor property names to their currently set string values for this Public Link. Only properties with values set are included. `null` if no properties have been set.

## Changes

- **2026-06-02** `dcd5409827e1` — 1 info
  - endpoint added
- **2025-03-13** `e8c2858fd4eb` — 1 breaking
  - api removed without deprecation

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/forms/:xmlFormId/public-links/:linkId/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)
