Python SDK
Install and use the official CastBrick Python SDK
Python SDK
castbrick is the official Python SDK. Zero dependencies — uses only the standard library. Works with Python 3.8+.
Installation
pip install castbrickInitialization
import os
from castbrick import CastBrick
cb = CastBrick(api_key=os.environ["CASTBRICK_API_KEY"])SMS
Send
result = cb.sms.send(
to=["+244923000000", "+244912000000"],
content="Your verification code is 1234",
sender_id="MyApp", # optional
)
print(result.message_id, result.status)Schedule for later
cb.sms.send(
to=["+244923000000"],
content="Scheduled message",
scheduled_at="2026-11-28T09:00:00Z",
)List / Get / Cancel
page = cb.sms.list(page=1, page_size=20)
print(page.total_count)
msg = cb.sms.get("message-id")
print(msg.status)
cb.sms.cancel_scheduled("message-id")Contacts
# List (with optional search)
page = cb.contacts.list(search="joão")
# Get
contact = cb.contacts.get("contact-id")
# Create (comma-separated phone numbers)
cb.contacts.create(phone_numbers="+244923000000,+244912000000")
# Delete
cb.contacts.delete("contact-id")
# Contact lists
lst = cb.contacts.create_list("VIP Customers")
cb.contacts.add_to_list(lst.id, contact.id)
cb.contacts.remove_from_list(lst.id, contact.id)Broadcasts
# Create
id = cb.broadcasts.create(
name="Black Friday",
message="50% off everything today!",
contact_list_id="list-id", # optional
sender_id="MyApp", # optional
)
# Send immediately
cb.broadcasts.send(id)
# Update with schedule
cb.broadcasts.update(
id,
name="Black Friday",
message="50% off everything today!",
schedule_at="2026-11-28T09:00:00Z",
)
# Other operations
cb.broadcasts.cancel(id)
new_id = cb.broadcasts.duplicate(id)
cb.broadcasts.delete(id)Error Handling
from castbrick import CastBrickApiError
try:
cb.sms.send(to=["+244923000000"], content="Hello!")
except CastBrickApiError as e:
print(f"{e.status_code}: {e.body}")
# 401 → invalid or revoked API key
# 402 → insufficient credits
# 422 → validation error