> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.givechariot.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server.

# Assign a Property

POST https://api.givechariot.com/v1/properties/{id}/assign
Content-Type: application/json

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.

Reference: https://docs.givechariot.com/api/properties/assign

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.givechariot.com` (Production, default)
- `https://sandboxapi.givechariot.com` (Sandbox)

## Request

### Path parameters

- `id` (string, required) — The unique identifier for the property

### Body (application/json)

This endpoint expects an object.

- `value` (PropertyValue, required)
- `resources` (V1PropertiesIdAssignPostRequestBodyContentApplicationJsonSchemaResources, required)

## Response

### 200

The response for Properties.assign

- `num_updated` (integer, optional) — The number of resources that were updated.

## Errors

### 400 Bad Request Error

The request is invalid or contains invalid parameters

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 401 Unauthorized Error

Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 403 Forbidden Error

Access denied

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 404 Not Found Error

Resource Not Found

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 500 Internal Server Error

Internal Server Error

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

## Types

### PropertyValue

- `type` (enum, required) — The data type of a property.
  - Allowed values: `text`, `enum`, `user`, `boolean`, `date`
- `text_value` (string, optional) — The text value of the property.
- `enum_value_id` (string, optional) — The unique identifier for the enum value.
- `user_value_id` (string, optional) — The unique identifier for the user.
- `boolean_value` (boolean, optional) — The boolean value of the property.
- `date_value` (datetime, optional) — The date value of the property.
- `empty` (boolean, optional) — Whether the property value is empty. Can use this to unset property values when assigning a property.

### V1PropertiesIdAssignPostRequestBodyContentApplicationJsonSchemaResources

- `ids` (list of string, required)

## Examples

**Request**

```json
{
  "value": {
    "type": "text"
  },
  "resources": {
    "ids": [
      "donation_01j8rs605a4gctmbm58d87mvsj"
    ]
  }
}
```

**Response**

```json
{
  "num_updated": 1
}
```