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

# validateSession

> Validate a session definition with the same reads as createSession.

Reports stable refusal codes instead of throwing the first refusal. Network
failures still throw. Removed definition-input `claimPolicies` returns a
refusal without network reads. Successful validation includes access and settlement
coverage metadata; it does not enable or sign the session.
For a network-free check, use `validateSession` from `@rhinestone/sdk/smart-sessions`.

Method on a [`RhinestoneSDK`](/wallets/custom-signer/sdk-reference/rhinestone-sdk/rhinestone-sdk) instance.

## Usage

```ts theme={null}
const { refusals, access } = await sdk.validateSession(definition)
for (const { code, message } of refusals) console.warn(code, message)
if (access?.kind === 'open') console.warn('The session keeps a wildcard fallback')
```

## Parameters

<ParamField path="definition" type="SessionDefinition" required>
  The session definition to resolve
</ParamField>

## Returns

<ResponseField name="result" type="SessionValidation">
  Refusals, warnings and successful access/coverage metadata
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.