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

# SDKs & Libraries

> Official and community libraries for integrating Dashtray

## Official SDKs

Coming soon! We're building official SDKs for popular languages.

### Planned SDKs

* **JavaScript/TypeScript** - npm package
* **Python** - pip package
* **Go** - import package
* **Ruby** - gem
* **Java** - maven package
* **PHP** - composer package

## Integrate Today

You don't need an SDK — Dashtray is a single HTTP endpoint. Any language with HTTP support works.

```bash theme={null}
curl -X POST https://api.dashtray.app/api/v1/notifications/send \
  -H "Authorization: Bearer $DASHTRAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Build completed",
    "body": "All tests passing"
  }'
```

The request body takes `title` (1–200 chars) and `body` (1–500 chars). See the [API Reference](/api-reference/overview) for full details.

## AI Agents (MCP)

Connect Claude Desktop, Cline, or any MCP-compatible agent with the [Dashtray MCP server](/integration/mcp). The MCP server wraps the same REST API and is the recommended path for AI agents.

## Service Webhooks

Most services (GitHub, Stripe, Grafana, UptimeRobot, and hundreds more) support webhooks natively. Point them at your alert's webhook URL instead of writing code:

* **GitHub Actions** - use the `repository_dispatch` or workflow webhook to your alert URL
* **GitLab CI** - add a webhook to your alert URL
* **Grafana** - Alerting → Contact Points → Webhook → your alert URL
* **UptimeRobot** - Alert → Webhook → your alert URL
* **PingDom** - Settings → Integrations → Webhook → your alert URL
* **Zapier / Make / n8n** - use their HTTP/webhook modules pointed at your alert URL

No authentication header needed — the URL itself is the credential. See the [Webhooks guide](/guides/webhooks) for details.

## Building Your Own

### HTTP Client

Use any HTTP client to call the Dashtray API:

```bash theme={null}
# cURL
curl -X POST https://api.dashtray.app/api/v1/notifications/send \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"title":"Hello","body":"World"}'

# wget
wget --method=POST \
  https://api.dashtray.app/api/v1/notifications/send \
  --header='Authorization: Bearer sk_test_...' \
  --header='Content-Type: application/json' \
  --body-data='{"title":"Hello","body":"World"}'
```

### Your Own SDK

Dashtray's API is straightforward:

1. **Base URL:** [https://api.dashtray.app](https://api.dashtray.app)
2. **All endpoints:** /api/v1/\*
3. **Authentication:** Bearer token
4. **Format:** JSON request/response

**When building an SDK:**

1. HTTP client (built-in to most languages)
2. JSON serialization
3. Error handling (check `ok` in the response)
4. Retry logic (recommended)
5. Type definitions (optional)

### Example: Simple Python Client

```python theme={null}
import requests

class Dashtray:
    def __init__(self, api_key):
        self.api_key = api_key
        self.base_url = 'https://api.dashtray.app'

    def send_notification(self, title, body):
        """Send a notification"""
        response = requests.post(
            f'{self.base_url}/api/v1/notifications/send',
            headers={
                'Authorization': f'Bearer {self.api_key}',
                'Content-Type': 'application/json'
            },
            json={
                'title': title,
                'body': body
            }
        )
        response.raise_for_status()
        return response.json()

# Usage
client = Dashtray('sk_test_...')
client.send_notification('Build passed', 'All tests passing')
```

## Contributing

Found a bug or want to add features? Contribute!

**Submit your:**

* SDK in another language
* Integration with a service
* Wrapper library
* Example implementation

[Contributing Guide](https://github.com/bhupeshpradhan/dashtray/blob/main/CONTRIBUTING.md)

## Support

* **Can't find your language?** Build an SDK and share it!
* **Integration missing?** Let us know on [GitHub](https://github.com/bhupeshpradhan/dashtray)
* **Technical questions?** Check [API Reference](/api-reference/overview) or ask on [Discussions](https://github.com/bhupeshpradhan/dashtray/discussions)

Ready to integrate? Pick your language or framework above and get started! 🚀


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