Quickstart
Install the Blueticks SDK for your language, authenticate, and make your first call.
Pick your language below. All five SDKs expose the same resources and follow each language's idiomatic naming conventions.
1. Install
pip install blueticksnpm install bluetickscomposer require blueticks/blueticks guzzlehttp/guzzlePHP uses PSR-18 HTTP clients. Install any concrete client (Guzzle shown); the SDK discovers it at runtime.
gem install blueticksgo get github.com/serenix-com/blueticks-go2. Set your API key
Export your key as an environment variable so the SDK picks it up automatically:
export BLUETICKS_API_KEY="bt_live_..."See Authentication for how to obtain a key.
3. Ping the API
from blueticks import Blueticks
client = Blueticks()
ping = client.ping()
print(ping.account_id, ping.whatsapp_connections)import { Blueticks } from "blueticks";
const client = new Blueticks();
const ping = await client.ping();
console.log(ping.account_id, ping.whatsapp_connections);<?php
require 'vendor/autoload.php';
use Blueticks\Blueticks;
$client = new Blueticks();
$ping = $client->ping();
echo $ping->account_id, ' ', count($ping->whatsapp_connections), " connection(s)\n";require "blueticks"
client = Blueticks::Client.new # reads BLUETICKS_API_KEY
ping = client.ping.retrieve
puts ping.account_idpackage main
import (
"context"
"fmt"
"log"
blueticks "github.com/serenix-com/blueticks-go"
)
func main() {
c, err := blueticks.NewClient() // reads BLUETICKS_API_KEY
if err != nil {
log.Fatal(err)
}
ping, err := c.Ping.Retrieve(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Println(ping.AccountID)
}A successful response looks like:
{
"api": "ok",
"account_id": "acct_abc123",
"whatsapp_connections": [
{ "id": "engine_01h7...", "type": "gateway", "connected": true }
]
}api: "ok" confirms your key works. whatsapp_connections lists the
WhatsApp engines currently connected for your account — an empty array
means no WhatsApp is connected yet (not an error; the message field
explains it).
4. Retrieve your account
account = client.account.retrieve()
print(account.name, account.timezone)const account = await client.account.retrieve();
console.log(account.name, account.timezone);$account = $client->account->retrieve();
echo $account->name, ' ', $account->timezone, "\n";account = client.account.retrieve
puts account.name, account.timezoneaccount, _ := c.Account.Retrieve(context.Background())
fmt.Println(account.Name)Next steps
- Sending messages — send your first message now or schedule it.
- Authentication — key rotation, environments.
- Errors & retries — how to handle transient failures.
- API Reference — every endpoint with an interactive playground.