---
title: "Update entity personnel"
---

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

Path: Sureshake API › entities

`PUT /v2/entities/{id}/personnel/{personnelId}`

## Path parameters

- `id` (`entity-personnel-update.path.id`; string, required)
  - format `uuid`
- `personnelId` (`entity-personnel-update.path.personnelId`; string, required)
  - format `uuid`

## Request body

- `title` (`entity-personnel-update.title`; string, optional)
  - minLength 1; maxLength 255
- `role` (`entity-personnel-update.role`; string, optional)
  - one of `"CEO"`, `"CFO"`, `"CTO"`, `"President"`, `"VP"`, `"Director"`, `"Manager"`, `"Entity Administrator"`, `"Other"`
- `department` (`entity-personnel-update.department`; string, optional)
- `status` (`entity-personnel-update.status`; string, optional)
  - one of `"active"`, `"inactive"`, `"terminated"`
- `isKeyPerson` (`entity-personnel-update.isKeyPerson`; boolean, optional)
- `startDate` (`entity-personnel-update.startDate`; string, optional)
- `endDate` (`entity-personnel-update.endDate`; string, optional)
- `notes` (`entity-personnel-update.notes`; string, optional)

## Example request

```json
{
  "title": "string",
  "role": "CEO",
  "department": "string",
  "status": "active",
  "isKeyPerson": true,
  "startDate": "string",
  "endDate": "string",
  "notes": "string"
}
```

## Code samples

### cURL

```bash
curl --request PUT \
  --url 'https://api.sureshake.com/v2/entities/<id>/personnel/<personnelId>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "string",
  "role": "CEO",
  "department": "string",
  "status": "active",
  "isKeyPerson": true,
  "startDate": "string",
  "endDate": "string",
  "notes": "string"
}
'
```

### TypeScript

```typescript
const url = 'https://api.sureshake.com/v2/entities/<id>/personnel/<personnelId>';
const options = {
  method: 'PUT',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    title: 'string',
    role: 'CEO',
    department: 'string',
    status: 'active',
    isKeyPerson: true,
    startDate: 'string',
    endDate: 'string',
    notes: 'string'
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sureshake.com/v2/entities/<id>/personnel/<personnelId>"

payload = {
    "title": "string",
    "role": "CEO",
    "department": "string",
    "status": "active",
    "isKeyPerson": True,
    "startDate": "string",
    "endDate": "string",
    "notes": "string"
}
headers = {"Content-Type": "application/json"}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

Default Response

#### Example

```json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
  "userId": "string",
  "externalName": "string",
  "externalEmail": "string",
  "externalPhone": "string",
  "title": "string",
  "role": "string",
  "department": "string",
  "status": "string",
  "isKeyPerson": true,
  "startDate": "string",
  "endDate": "string",
  "notes": "string",
  "invitationSent": true,
  "invitationSentAt": "string",
  "createdBy": "string",
  "createdAt": "string",
  "updatedAt": "string",
  "deletedAt": "string",
  "deletedBy": "string",
  "displayName": "string",
  "displayEmail": "string",
  "isActive": true,
  "isExternal": true,
  "hasInvitation": true,
  "hasAccount": true
}
```

- `id` (`entity-personnel-update.response.200.id`; string, required)
  - format `uuid`
- `entityId` (`entity-personnel-update.response.200.entityId`; string, required)
  - format `uuid`
- `userId` (`entity-personnel-update.response.200.userId`; string, required, nullable)
- `externalName` (`entity-personnel-update.response.200.externalName`; string, required, nullable)
- `externalEmail` (`entity-personnel-update.response.200.externalEmail`; string, required, nullable)
- `externalPhone` (`entity-personnel-update.response.200.externalPhone`; string, required, nullable)
- `title` (`entity-personnel-update.response.200.title`; string, required)
- `role` (`entity-personnel-update.response.200.role`; string, required)
- `department` (`entity-personnel-update.response.200.department`; string, required, nullable)
- `status` (`entity-personnel-update.response.200.status`; string, required)
- `isKeyPerson` (`entity-personnel-update.response.200.isKeyPerson`; boolean, required)
- `startDate` (`entity-personnel-update.response.200.startDate`; string, required)
- `endDate` (`entity-personnel-update.response.200.endDate`; string, required, nullable)
- `notes` (`entity-personnel-update.response.200.notes`; string, required, nullable)
- `invitationSent` (`entity-personnel-update.response.200.invitationSent`; boolean, required)
- `invitationSentAt` (`entity-personnel-update.response.200.invitationSentAt`; string, required, nullable)
- `createdBy` (`entity-personnel-update.response.200.createdBy`; string, required)
- `createdAt` (`entity-personnel-update.response.200.createdAt`; string, required)
- `updatedAt` (`entity-personnel-update.response.200.updatedAt`; string, required)
- `deletedAt` (`entity-personnel-update.response.200.deletedAt`; string, required, nullable)
- `deletedBy` (`entity-personnel-update.response.200.deletedBy`; string, required, nullable)
- `displayName` (`entity-personnel-update.response.200.displayName`; string, required)
- `displayEmail` (`entity-personnel-update.response.200.displayEmail`; string, required, nullable)
- `isActive` (`entity-personnel-update.response.200.isActive`; boolean, required)
- `isExternal` (`entity-personnel-update.response.200.isExternal`; boolean, required)
- `hasInvitation` (`entity-personnel-update.response.200.hasInvitation`; boolean, required)
- `hasAccount` (`entity-personnel-update.response.200.hasAccount`; boolean, required)

### 400

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-personnel-update.response.400.error`; object, required)
  - `code` (`entity-personnel-update.response.400.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-personnel-update.response.400.error.message`; string, required) — Human-readable error message
  - `details` (`entity-personnel-update.response.400.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-personnel-update.response.400.error.traceId`; string, optional) — Unique ID for log correlation

### 401

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-personnel-update.response.401.error`; object, required)
  - `code` (`entity-personnel-update.response.401.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-personnel-update.response.401.error.message`; string, required) — Human-readable error message
  - `details` (`entity-personnel-update.response.401.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-personnel-update.response.401.error.traceId`; string, optional) — Unique ID for log correlation

### 403

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-personnel-update.response.403.error`; object, required)
  - `code` (`entity-personnel-update.response.403.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-personnel-update.response.403.error.message`; string, required) — Human-readable error message
  - `details` (`entity-personnel-update.response.403.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-personnel-update.response.403.error.traceId`; string, optional) — Unique ID for log correlation

### 404

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-personnel-update.response.404.error`; object, required)
  - `code` (`entity-personnel-update.response.404.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-personnel-update.response.404.error.message`; string, required) — Human-readable error message
  - `details` (`entity-personnel-update.response.404.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-personnel-update.response.404.error.traceId`; string, optional) — Unique ID for log correlation

### 500

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-personnel-update.response.500.error`; object, required)
  - `code` (`entity-personnel-update.response.500.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-personnel-update.response.500.error.message`; string, required) — Human-readable error message
  - `details` (`entity-personnel-update.response.500.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-personnel-update.response.500.error.traceId`; string, optional) — Unique ID for log correlation

### 503

Default Response

#### Example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": null,
    "traceId": "string"
  }
}
```

- `error` (`entity-personnel-update.response.503.error`; object, required)
  - `code` (`entity-personnel-update.response.503.error.code`; string, required) — Machine-readable error code (e.g., NOT_FOUND)
  - `message` (`entity-personnel-update.response.503.error.message`; string, required) — Human-readable error message
  - `details` (`entity-personnel-update.response.503.error.details`; unknown, optional) — Optional structured error details
  - `traceId` (`entity-personnel-update.response.503.error.traceId`; string, optional) — Unique ID for log correlation


Source: https://docs.sureshake.com/reference/entity-personnel-update/index.md
