> ## 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.

# Users and contacts

> Look up users, avatars, and manage instance contacts

Use `users` and `contacts` to look up WhatsApp profiles and manage instance contacts.

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

## Contacts

### `contacts()->list($instanceId, $instanceToken = null)`

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

**Return:** envelope `{ code, success, data }` with contact array (`jid`, `Name`, `IsInWhatsapp`, etc.).

### `contacts()->add($request)`

```php theme={null}
$vzaps->contacts()->add([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'phone' => '5511888888888',
    'firstName' => 'Maria',
    'fullName' => 'Maria Silva',
]);
```

**Return:** envelope `{ code, success, data }` with confirmation text (e.g. `"Contact added"`).

## Users

### `users()->info($request)`

```php theme={null}
$info = $vzaps->users()->info([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'phone' => '5511999999999',
]);
```

**Return:** envelope `{ code, success, data }` with user profile fields (`VerifiedName`, `Status`, `PictureId`, etc.).

### `users()->check($request)`

```php theme={null}
$exists = $vzaps->users()->check([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'phone' => '5511999999999',
]);
```

**Return:** envelope `{ code, success, data.users[] }` with `phone`, `exists`, `jid` per checked number.

### `users()->avatar($request)`

```php theme={null}
$avatar = $vzaps->users()->avatar([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'phone' => '5511999999999',
]);
```

**Return:** envelope `{ code, success, data }` with avatar `base64` and `mimetype`.

### `users()->contacts($instanceId, $instanceToken = null)`

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

**Return:** envelope `{ code, success, data }` — JID map to contact fields (`FirstName`, `FullName`, `PushName`, etc.).
