---
title: "Assign a Property"
method: POST
path: "/v1/properties/{id}/assign"
tags: ["properties"]
---

# Assign a Property

`POST /v1/properties/{id}/assign`

Appends a Property to one or more Donations or Deposits.
A maximum of 100 resources can be assigned to a property at a time.
The resource identifiers must be of the same resource_type as the Property, otherwise a 400 Bad Request error will be returned.

## Path parameters

- `id` string, required

## Request body

- object
  - `value` PropertyValue, required
    - `type` 'text' | 'enum' | 'user' | 'boolean' | 'date', required — The data type of a property.
    - `text_value` string — The text value of the property.
    - `enum_value_id` string — The unique identifier for the enum value.
    - `user_value_id` string — The unique identifier for the user.
    - `boolean_value` boolean — The boolean value of the property.
    - `date_value` string, date-time — The date value of the property.
    - `empty` boolean — Whether the property value is empty. Can use this to unset property values when assigning a property.
  - `resources` object, required
    - `ids` string[], required

## Response `200`

The response for Properties.assign

- object
  - `num_updated` integer — The number of resources that were updated.

## Other responses

- `400` — The request is invalid or contains invalid parameters
- `401` — Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.
- `403` — Access denied
- `404` — Resource Not Found
- `500` — Internal Server Error

## Changes

- **2026-06-29** `b87f7738d336` — 10 breaking, 25 info
  - removed the required property `code` from the response with the `400` status
  - removed the required property `code` from the response with the `401` status
  - removed the required property `code` from the response with the `403` status
  - removed the required property `code` from the response with the `404` status
  - …31 more
- **2026-06-29** `c65f43c5ad90` — 5 warning
  - removed the optional property `details` from the response with the `400` status
  - removed the optional property `details` from the response with the `401` status
  - removed the optional property `details` from the response with the `403` status
  - removed the optional property `details` from the response with the `404` status
  - …1 more
- **2026-06-25** `f89b4f376e94` — 15 info
  - added the optional property `details/items/debug` to the response with the `400` status
  - added the optional property `details/items/debug` to the response with the `401` status
  - added the optional property `details/items/debug` to the response with the `403` status
  - added the optional property `details/items/debug` to the response with the `404` status
  - …11 more
- …earlier changes not shown

[Full history](https://skmtc.dev/chariot-giving/apis/specs/changes/v1/properties/:id/assign/post.md)

---

[API](https://skmtc.dev/chariot-giving/apis/specs.md) · [All operations](https://skmtc.dev/chariot-giving/apis/specs/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/chariot-giving/specs/revisions/37f3a5510515/schema)
