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

# SDKs

> Official client libraries for Pulsewave

Official libraries handle authentication headers, retries, idempotency keys, and pagination for you.

<CardGroup cols={2}>
  <Card title="Node.js" icon="node-js" href="https://github.com/pulsewave/pulsewave-node">
    `npm install pulsewave`
  </Card>

  <Card title="Python" icon="python" href="https://github.com/pulsewave/pulsewave-python">
    `pip install pulsewave`
  </Card>
</CardGroup>

## Node.js

```javascript theme={null}
import Pulsewave from 'pulsewave';

const pulsewave = new Pulsewave(process.env.PULSEWAVE_API_KEY);

const message = await pulsewave.messages.send({
  channel: 'email',
  to: 'ada@example.com',
  from: 'billing@notifications.acme.com',
  template_id: 'tmpl_8f3e2a',
  template_data: { invoice_number: 'INV-1042', amount_due: '$84.00' },
});

console.log(message.id, message.status);
```

## Python

```python theme={null}
from pulsewave import Pulsewave

pulsewave = Pulsewave(api_key=os.environ["PULSEWAVE_API_KEY"])

message = pulsewave.messages.send(
    channel="sms",
    to="+15555550123",
    from_="+15555550100",
    text="Your Pulsewave verification code is 482913.",
)

print(message.id, message.status)
```

## cURL

Every endpoint in this reference includes a runnable cURL example — see [Send a message](/api-reference/messages/send) to try one.

## No SDK for your language?

The API is plain REST over HTTPS with JSON bodies, so any HTTP client works. Start from the [API reference](/api-reference/introduction) and the [authentication](/authentication) guide.
