> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memorylake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Actor

> Update an actor's display name, description, or metadata

```
PATCH /openapi/memorylake/api/v3/actors/{id}
```

Updates a single actor. Only the fields you include in the request body are changed; omitted fields remain untouched.

<Note>
  **Permission required:** `actor:modify`
</Note>

### Path Parameters

<ParamField path="id" type="string" required>
  Actor ID
</ParamField>

### Request Body

<ParamField body="display_name" type="string">
  Updated display name.
</ParamField>

<ParamField body="description" type="string">
  Updated description.
</ParamField>

<ParamField body="metadata" type="object">
  Updated metadata. Replaces the entire metadata object -- merge locally before sending if you want to preserve existing keys.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH 'https://app.memorylake.ai/openapi/memorylake/api/v3/actors/act-a1b2c3d4e5f6' \
    -H 'Authorization: Bearer sk_xxxxxx' \
    -H 'Content-Type: application/json' \
    -d '{
      "display_name": "Alice Chen (VIP)",
      "metadata": {
        "tier": "enterprise",
        "region": "us-west",
        "account_manager": "bob@example.com"
      }
    }'
  ```
</RequestExample>

### Response

<ResponseField name="data" type="object">
  <Expandable title="Actor">
    <ResponseField name="id" type="string">Actor ID</ResponseField>
    <ResponseField name="custom_id" type="string">Caller-defined external identifier</ResponseField>
    <ResponseField name="actor_type" type="string">Actor type: `HUMAN` or `ASSISTANT`</ResponseField>
    <ResponseField name="display_name" type="string">Human-readable display name</ResponseField>
    <ResponseField name="description" type="string">Actor description</ResponseField>
    <ResponseField name="metadata" type="object">Caller-defined metadata</ResponseField>
    <ResponseField name="created_at" type="string">Creation timestamp</ResponseField>
    <ResponseField name="updated_at" type="string">Last update timestamp</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "success": true,
    "data": {
      "id": "act-a1b2c3d4e5f6",
      "custom_id": "user-ext-001",
      "actor_type": "HUMAN",
      "display_name": "Alice Chen (VIP)",
      "description": "Primary end user for the mobile app",
      "metadata": {
        "tier": "enterprise",
        "region": "us-west",
        "account_manager": "bob@example.com"
      },
      "created_at": "2025-03-10T08:00:00Z",
      "updated_at": "2025-06-15T11:20:00Z"
    }
  }
  ```
</ResponseExample>
