```python
import guava, os

client = guava.Client(
    api_key=os.environ["GUAVA_API_KEY"],   # or omit — reads env automatically
)
```

```typescript
import * as guava from "@guava-ai/guava-sdk";

const client = new guava.Client(
  process.env.GUAVA_API_KEY,  // or omit — reads env automatically
);
```

## Client

`guava.Client` complements [`guava.Agent`](./agent) by providing functions for managing account-level resources. It also provides any functions that don't fit onto [`guava.Agent`](./agent).

### API

| Name       | Type             | Default                | Description                                |
|------------|------------------|-----------------------|--------------------------------------------|
| api_key   | str | None     | env GUAVA_API_KEY     | Your Guava API key.                       |
| base_url  | str | None     | production             | Override the API endpoint (for testing).  |

### Methods

| Name                          | Type    | Description                                                            |
|-------------------------------|---------|------------------------------------------------------------------------|
| create_sip_agent()           | method  | Generate a SIP code linked to your account for inbound SIP call handling. |
| create_webrtc_agent(ttl)     | method  | Generate a WebRTC code for browser-based voice interaction, with optional TTL. |
| send_sms()                   | method  | Send an SMS message. See SMS Messaging.                               |
| next_sms()                   | method  | Wait for and return the next inbound SMS reply. See SMS Messaging.    |

See [SMS Messaging](./messaging) for details on `send_sms` and `next_sms`.
