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

# Get Role

> Retrieve a specific role by ID

## Overview

Returns detailed information about a single role/character identified by its unique ID.

## Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier of the role
</ParamField>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl https://entertheatre.com/api/roles/role-001
  ```

  ```javascript JavaScript theme={null}
  const roleId = 'role-001';
  const response = await fetch(`https://entertheatre.com/api/roles/${roleId}`);
  const role = await response.json();
  ```

  ```python Python theme={null}
  import requests

  role_id = 'role-001'
  response = requests.get(f'https://entertheatre.com/api/roles/{role_id}')
  role = response.json()
  ```
</CodeGroup>

## Response

<ResponseField name="id" type="string" required>
  Unique identifier for the role
</ResponseField>

<ResponseField name="name" type="string" required>
  Name of the character/role
</ResponseField>

<ResponseField name="description" type="string">
  Description of the character
</ResponseField>

<ResponseField name="production_id" type="string" required>
  ID of the production this role belongs to
</ResponseField>

### Example Response

```json theme={null}
{
  "id": "role-001",
  "name": "Grizabella",
  "description": "The glamour cat who sings 'Memory'. Once a glamorous cat who left the Jellicle tribe to explore the world, she returns old, disheveled, and rejected by her former friends.",
  "production_id": "prod-005"
}
```

## Error Response

```json theme={null}
{
  "error": "Role not found"
}
```

## Status Codes

| Status | Description                   |
| ------ | ----------------------------- |
| `200`  | Success - returns role object |
| `404`  | Role not found                |
| `500`  | Server error                  |
