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

# accessState()

> Returns the local participant's current meeting access state. Use this to check whether the participant can join, is waiting in the lobby, or has been denied access.

`accessState()`

<Badge color="red">{"✗"} Prebuilt</Badge> <Badge color="green">{"✓"} Custom</Badge>

## Return value

Returns a `DailyAccessState` object:

<ResponseField name="access" type="DailyAccess">
  The participant's current access level. Either `'unknown'` (not yet determined) or an object with a `level` field:

  * `'unknown'` — access has not yet been determined (before `preAuth()` or `join()`)
  * `{ level: 'none' }` — the participant is not allowed to join
  * `{ level: 'lobby' }` — the participant can join but will be in the waiting room until granted full access
  * `{ level: 'full' }` — the participant has full access to the meeting
</ResponseField>

<ResponseField name="awaitingAccess" type="SpecifiedDailyAccess">
  Optional. Present when the participant has requested access that hasn't yet been granted or denied. Always `{ level: 'full' }`.
</ResponseField>

## Example

```javascript theme={null}
const { access, awaitingAccess } = call.accessState();

if (access === 'unknown') {
  // Not yet joined or pre-authed
} else if (access.level === 'lobby') {
  showWaitingRoomUI();
  if (awaitingAccess) {
    showPendingAccessMessage();
  }
} else if (access.level === 'full') {
  showCallUI();
} else if (access.level === 'none') {
  showAccessDeniedMessage();
}
```

## See also

<CardGroup>
  <Card title="Methods" icon="code" iconType="solid">
    * [preAuth()](/reference/daily-js/instance-methods/pre-auth)
    * [join()](/reference/daily-js/instance-methods/join)
    * [requestAccess()](/reference/daily-js/instance-methods/request-access)
  </Card>

  <Card title="Events" icon="bolt" iconType="solid">
    * [access-state-updated](/reference/daily-js/events/lifecycle-events#access-state-updated)
  </Card>

  <Card title="Guides" icon="book-open" iconType="solid">
    * [Waiting room](/docs/daily-js/guides/waiting-room)
  </Card>
</CardGroup>
