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

# Session

> WhatsApp session status, QR code, pairing, and disconnect

Use `sessions` for pairing, status checks, and WhatsApp session disconnect.

For instances and billing, see [Instances and billing](/en/sdk/php/instances-and-billing). For chats, see [Chats](/en/sdk/php/chats).

## Session

### `sessions()->status($instanceId, $instanceToken = null)`

```php theme={null}
$status = $vzaps->sessions()->status('VZ...', 'instance-token');
```

Returns `SessionStatusResponse`. The `$status->data` object uses this field order:

1. `connected` — always first
2. `phone`
3. `whatsappJid`
4. `pushName`
5. `businessName`
6. `businessProfile` — subfields: `businessHoursTimezone`, `categories`, `profileOptions`, `address`, `email`
7. `profilePictureId`
8. `profilePictureUrl`
9. `profileUrl`
10. `verifiedName` — `about`, `website` (when applicable)

When disconnected, `$status->data` only has `connected` set to `false`. Empty fields are omitted.

### `sessions()->qr($instanceId, $instanceToken = null)`

```php theme={null}
$qr = $vzaps->sessions()->qr('VZ...', 'instance-token');
```

**Return:** envelope `{ code, success, data }`. When not connected yet, `data.qr_code` (PNG data URL). When already connected, `data.status` and `data.phone`.

### `sessions()->pairCode($instanceId, $phone, $instanceToken = null)`

```php theme={null}
$pairCode = $vzaps->sessions()->pairCode('VZ...', '5511999999999', 'instance-token');
```

**Return:** envelope `{ code, success, data }` with `data.linking_code` (pairing code).

### `sessions()->disconnect($instanceId, $instanceToken = null)`

```php theme={null}
$vzaps->sessions()->disconnect('VZ...', 'instance-token');
```

**Return:** `InstanceActionResponse` — `instance_id`, `status`, `details`.
