# Update member field

> Source: https://elaichi.ai/docs/api-reference/members/member-attribute/updatememberattribute/

`PATCH /member-attribute/{id}`

Resource: **Member Attribute** · API: **Members**

## Path parameters

- **`id`** _(string, required)_
  Member field id (`mad_…`).

## Request body

- **`label`** _(string)_
- **`description`** _(string,null)_
- **`source`** _(string)_
  Allowed: `manual`, `scim`
- **`scim_path`** _(string,null)_
  Allowed: `employeeNumber`, `department`, `costCenter`, `division`, `organization`, `manager.value`, `title`, `null`

## Response body

- **`id`** _(string)_
  Member field id (`mad_…`).
- **`key`** _(string)_
  What placeholders name: `{{caller.attributes.<key>}}`. Immutable.
- **`label`** _(string)_
- **`description`** _(string,null)_
- **`type`** _(string)_
  Immutable.
  Allowed: `text`, `number`, `boolean`, `text_list`
- **`source`** _(string)_
  `manual`: an admin types the values. `scim`: your identity provider fills them; nobody can type one.
  Allowed: `manual`, `scim`
- **`scim_path`** _(string,null)_
  For `source: scim`: the SCIM User attribute it mirrors (enterprise extension, or core `title`).
  Allowed: `employeeNumber`, `department`, `costCenter`, `division`, `organization`, `manager.value`, `title`, `null`
- **`created_at`** _(string)_
- **`updated_at`** _(string)_
- **`can_manage`** _(boolean)_
  You hold `member:manage`: you may edit or delete this field.
- **`can_set_values`** _(boolean)_
  `can_manage` and the field is `manual`. False for a SCIM field even for an admin.
- **`value_count`** _(integer,null)_
  How many current members hold a value for this field. Null unless you hold `member:manage`. The members without one: `GET /member?attribute_missing=<key>`.
- **`member_count`** _(integer,null)_
  How many current members the organization has (the set `GET /member` lists). Null unless you hold `member:manage`.

## Code examples

### curl

```bash
curl -X PATCH 'https://api.elaichi.ai/member-attribute/<id>' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"label":"your_label","source":"manual","scim_path":"employeeNumber"}'
```

### JavaScript

```javascript
const body = {
  "label": "your_label",
  "source": "manual",
  "scim_path": "employeeNumber"
};

const response = await fetch('https://api.elaichi.ai/member-attribute/<id>', {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
```

### Python

```python
import os
import requests

url = "https://api.elaichi.ai/member-attribute/<id>"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "label": "your_label",
    "source": "manual",
    "scim_path": "employeeNumber"
}

response = requests.patch(url, headers=headers, json=payload)
print(response.json())
```
