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

# Overview

Attorneys represent legal professionals involved in insurance claims and lawsuits. The Attorneys API allows you to programmatically create, read, update, and delete attorney information within your company.

**Key Concepts:**

* Attorneys are company-scoped, reusable entities that can be associated with lawsuits
* An attorney can serve as plaintiff counsel (on a lawsuit) or defense counsel (on a defendant)
* Attorneys can optionally be linked to a law firm payee via `lawFirmId`

***

## API Endpoints

* **[List Attorneys](/api-reference/attorneys/list-attorneys)** - Retrieve paginated list of attorneys with filtering and sorting
* **[Create Attorney](/api-reference/attorneys/create-attorney)** - Create a new attorney
* **[Get Attorney](/api-reference/attorneys/get-attorney)** - Retrieve a single attorney by ID
* **[Update Attorney](/api-reference/attorneys/update-attorney)** - Update an existing attorney
* **[Delete Attorney](/api-reference/attorneys/delete-attorney)** - Soft delete an attorney

***

## Nullable Fields

The following fields may be `null` in the response:

| Field         | When null                              |
| ------------- | -------------------------------------- |
| `email`       | Email not provided                     |
| `phoneNumber` | Phone number not provided              |
| `lawFirmId`   | No associated law firm                 |
| `createdAt`   | Timestamp not tracked (legacy records) |
| `updatedAt`   | Attorney has never been updated        |

***

## Filtering and Sorting

### Filter Parameters

| Parameter    | Type            | Description                       |
| ------------ | --------------- | --------------------------------- |
| `id`         | string or array | Filter by specific attorney ID(s) |
| `filterText` | string          | Text search across attorney name  |

### Sorting Parameters

| Parameter       | Type   | Default     | Description                                         |
| --------------- | ------ | ----------- | --------------------------------------------------- |
| `sortBy`        | string | `createdAt` | Field to sort by (`createdAt`, `updatedAt`, `name`) |
| `sortDirection` | string | `desc`      | Sort direction (`asc` or `desc`)                    |

### Pagination

| Parameter | Type    | Default | Description                         |
| --------- | ------- | ------- | ----------------------------------- |
| `page`    | integer | 1       | Page number (1-based, page size 50) |

**Response includes:**

* `items` - Array of attorneys for the current page
* `totalCount` - Total number of matching attorneys across all pages

***

## Permissions

Access to attorneys requires the appropriate permissions based on your API key:

| Operation       | Required Permission       |
| --------------- | ------------------------- |
| List Attorneys  | `company.attorney:read`   |
| Get Attorney    | `company.attorney:read`   |
| Create Attorney | `company.attorney:create` |
| Update Attorney | `company.attorney:update` |
| Delete Attorney | `company.attorney:delete` |

***

## Example Response

```json theme={null}
{
  "items": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440001",
      "companyId": "660e8400-e29b-41d4-a716-446655440000",
      "name": "Jane Smith",
      "email": "jane@smithlaw.com",
      "phoneNumber": "+1-555-123-4567",
      "lawFirmId": "770e8400-e29b-41d4-a716-446655440000",
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-16T14:20:00.000Z"
    }
  ],
  "totalCount": 1
}
```

***
