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

# Get Enum Values

> Retrieve the list of valid values for a named Nexudus enumeration type.

# Get Enum Values

Returns all valid values for a named Nexudus enumeration. Enums are used throughout the platform to represent fixed sets of choices — for example, invoice status, resource types, booking states, or delivery status. The portal uses this endpoint to build dropdowns and validate field values dynamically.

## Authentication

Requires a valid customer bearer token.

## Query Parameters

<ParamField query="name" type="string" required>
  The name of the enumeration to retrieve. This must match the exact server-side enum name (e.g. `"InvoiceStatus"`, `"ResourceType"`).
</ParamField>

## Response

Returns an array of enum entry objects. The exact shape depends on the enum requested, but each entry typically includes:

<ResponseField name="Id" type="number">
  Numeric value of the enum entry (as stored in the database).
</ResponseField>

<ResponseField name="Name" type="string">
  Machine-readable key for the enum entry.
</ResponseField>

<ResponseField name="Label" type="string">
  Human-readable localised label for display in the UI.
</ResponseField>

## Example Response

```json theme={null}
[
  { "Id": 1, "Name": "Draft", "Label": "Draft" },
  { "Id": 2, "Name": "Sent", "Label": "Sent" },
  { "Id": 3, "Name": "Paid", "Label": "Paid" },
  { "Id": 4, "Name": "Cancelled", "Label": "Cancelled" }
]
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

const url = endpoints.system.enum('InvoiceStatus')
// => '/api/utils/enums?name=InvoiceStatus'

const response = await httpClient.get<{ Id: number; Name: string; Label: string }[]>(url)
const enumValues = response.data
```

## Usage in Portal

| Context                               | Source file           |
| ------------------------------------- | --------------------- |
| Dynamic dropdowns for resource fields | `src/views/bookings/` |
| Checkout and product configuration    | `src/views/checkout/` |

## Error Responses

<ResponseField name="400 Bad Request" type="error">
  The `name` parameter is missing or does not match a known server-side enum.
</ResponseField>

<ResponseField name="401 Unauthorized" type="error">
  The bearer token is missing, expired, or invalid.
</ResponseField>

## Related Endpoints

| Method | Endpoint                                  | Description                                      |
| ------ | ----------------------------------------- | ------------------------------------------------ |
| `GET`  | `/api/public/configuration`               | Get full portal configuration including settings |
| `GET`  | `/api/public/resources/fields/searchable` | Get searchable custom fields for resources       |
