> ## 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 Portal Configuration

> Retrieve the full portal feature configuration for the current Nexudus location.

# Get Portal Configuration

Returns the complete portal configuration object for the current location. This includes feature flags, payment provider settings, branding configuration, checkout options, module availability, and all other operator-controlled settings that determine how the Members Portal behaves. The portal fetches this on startup and re-fetches when switching locations.

## Authentication

Requires a valid customer bearer token, or returns public configuration for unauthenticated sessions depending on space settings.

## Response

Returns `BusinessSetting[]` — a flat array of name–value pairs. Each setting corresponds to a portal configuration option set by the operator.

<ResponseField name="[].Name" type="string">
  The setting key (e.g. `"PublicWebSite.Tour.TimeSlots.Enabled"`, `"PaymentProvider"`, `"AllowSelfSignup"`).
</ResponseField>

<ResponseField name="[].Value" type="string">
  The setting value as a string. Boolean settings use `"True"`/`"False"`. Numeric settings are stringified.
</ResponseField>

## Example Response

```json theme={null}
[
  { "Name": "PaymentProvider", "Value": "Stripe" },
  { "Name": "AllowSelfSignup", "Value": "True" },
  { "Name": "DefaultLanguage", "Value": "en" },
  { "Name": "PublicWebSite.Tour.TimeSlots.Enabled", "Value": "False" }
]
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'
import { useData } from '@/api/fetchData'
import { BusinessSetting } from '@/types/sys/BusinessSetting'

const { resource: settings } = useData<BusinessSetting[]>(httpClient, endpoints.system.business.configuration)

const getSetting = (name: string) => settings?.find((x) => x.Name?.toLocaleLowerCase() === name.toLocaleLowerCase())?.Value

if (getSetting('AllowSelfSignup') === 'True') {
  // Show signup flow
}
```

## Usage in Portal

| Context                               | Source file                                |
| ------------------------------------- | ------------------------------------------ |
| App bootstrap / feature flag provider | `src/states/useLocationByRouteContext.tsx` |
| Payment provider initialisation       | `src/views/checkout/`                      |
| Navigation and route guard            | `src/routes/`                              |

## Error Responses

<ResponseField name="401 Unauthorized" type="error">
  Authentication is required and no valid token was supplied.
</ResponseField>

<ResponseField name="404 Not Found" type="error">
  No configuration found for the resolved location.
</ResponseField>

## Related Endpoints

| Method | Endpoint                          | Description                       |
| ------ | --------------------------------- | --------------------------------- |
| `GET`  | `/api/public/businesses/current`  | Get the current location profile  |
| `GET`  | `/api/sys/businesses/{id}/colors` | Get the brand colour palette      |
| `GET`  | `/api/public/outlines/navigation` | Get the portal navigation outline |
