boundry.
Sydney, Australia
Documentation/Python SDK

Python SDK

boundry-sdk provides the synchronous boundry client for Boundry’s regional API.

Install
bash
pip install boundry-sdk
send.py
python
import os
from boundry import Boundry

client = Boundry(api_key=os.environ["BOUNDRY_API_KEY"])

email = client.emails.send({
    "from": "hello@example.com",
    "to": "person@example.net",
    "subject": "Hello from Boundry",
    "html": "<strong>Hello</strong>",
})

print(email.id)

Complete API surface

Use the ergonomic resources for common workflows and client.api for every generated operation in the canonical regional API. Close long-lived clients during application shutdown. Review the public source for package tests.

SDK methodWhat it doesAPI reference
client.api.list_api_keys(...)listApiKeysOpenAPI only
client.api.create_api_key(...)createApiKeyOpenAPI only
client.api.delete_api_key(...)deleteApiKeyOpenAPI only
client.api.list_broadcasts(...)listBroadcastsOpenAPI only
client.api.create_broadcast(...)createBroadcastOpenAPI only
client.api.delete_broadcast(...)deleteBroadcastOpenAPI only
client.api.get_broadcast(...)getBroadcastOpenAPI only
client.api.update_broadcast(...)updateBroadcastOpenAPI only
client.api.cancel_broadcast(...)cancelBroadcastOpenAPI only
client.api.list_broadcast_clicked_links(...)listBroadcastClickedLinksOpenAPI only
client.api.get_broadcast_metrics(...)getBroadcastMetricsOpenAPI only
client.api.list_broadcast_recipients(...)listBroadcastRecipientsOpenAPI only
client.api.send_broadcast(...)sendBroadcastOpenAPI only
client.api.list_contact_properties(...)listContactPropertiesOpenAPI only
client.api.create_contact_property(...)createContactPropertyOpenAPI only
client.api.delete_contact_property(...)deleteContactPropertyOpenAPI only
client.api.get_contact_property(...)getContactPropertyOpenAPI only
client.api.update_contact_property(...)updateContactPropertyOpenAPI only
client.api.list_contacts(...)listContactsOpenAPI only
client.api.create_contact(...)createContactOpenAPI only
client.api.delete_contact(...)deleteContactOpenAPI only
client.api.get_contact(...)getContactOpenAPI only
client.api.update_contact(...)updateContactOpenAPI only
client.api.list_contact_segments(...)listContactSegmentsOpenAPI only
client.api.remove_contact_from_segment(...)removeContactFromSegmentOpenAPI only
client.api.add_contact_to_segment(...)addContactToSegmentOpenAPI only
client.api.get_contact_topics(...)getContactTopicsOpenAPI only
client.api.update_contact_topics(...)updateContactTopicsOpenAPI only
client.api.list_domains(...)List domainsView endpoint
client.api.create_domain(...)Create a domainView endpoint
client.api.delete_domain(...)deleteDomainOpenAPI only
client.api.get_domain(...)Retrieve a domainView endpoint
client.api.update_domain(...)updateDomainOpenAPI only
client.api.verify_domain(...)Verify a domainView endpoint
client.api.create_domain_claim(...)createDomainClaimOpenAPI only
client.api.get_domain_claim(...)getDomainClaimOpenAPI only
client.api.verify_domain_claim(...)verifyDomainClaimOpenAPI only
client.api.list_emails(...)List emailsView endpoint
client.api.send_email(...)Send an emailView endpoint
client.api.get_email(...)Retrieve an emailView endpoint
client.api.update_scheduled_email(...)updateScheduledEmailOpenAPI only
client.api.list_email_attachments(...)listEmailAttachmentsOpenAPI only
client.api.get_email_attachment(...)getEmailAttachmentOpenAPI only
client.api.cancel_email(...)cancelEmailOpenAPI only
client.api.retry_email(...)retryEmailOpenAPI only
client.api.get_email_source(...)getEmailSourceOpenAPI only
client.api.send_batch_emails(...)sendBatchEmailsOpenAPI only
client.api.get_email_metrics(...)getEmailMetricsOpenAPI only
client.api.list_received_emails(...)listReceivedEmailsOpenAPI only
client.api.get_received_email(...)getReceivedEmailOpenAPI only
client.api.list_received_email_attachments(...)listReceivedEmailAttachmentsOpenAPI only
client.api.get_received_email_attachment(...)getReceivedEmailAttachmentOpenAPI only
client.api.get_received_email_source(...)getReceivedEmailSourceOpenAPI only
client.api.get_received_email_thread(...)getReceivedEmailThreadOpenAPI only
client.api.health(...)healthOpenAPI only
client.api.list_logs(...)listLogsOpenAPI only
client.api.get_log(...)getLogOpenAPI only
client.api.authorize_o_auth(...)authorizeOAuthOpenAPI only
client.api.authorize_o_auth_post(...)authorizeOAuthPostOpenAPI only
client.api.list_o_auth_grants(...)listOAuthGrantsOpenAPI only
client.api.revoke_o_auth_grant(...)revokeOAuthGrantOpenAPI only
client.api.register_o_auth_client(...)registerOAuthClientOpenAPI only
client.api.revoke_o_auth_token(...)revokeOAuthTokenOpenAPI only
client.api.exchange_o_auth_token(...)exchangeOAuthTokenOpenAPI only
client.api.list_regions(...)List live regions and markets accepting demand requestsOpenAPI only
client.api.request_region(...)Create or update a regional demand requestOpenAPI only
client.api.list_segments(...)listSegmentsOpenAPI only
client.api.create_segment(...)createSegmentOpenAPI only
client.api.delete_segment(...)deleteSegmentOpenAPI only
client.api.get_segment(...)getSegmentOpenAPI only
client.api.list_segment_contacts(...)listSegmentContactsOpenAPI only
client.api.get_segment_metrics(...)getSegmentMetricsOpenAPI only
client.api.list_suppressions(...)listSuppressionsOpenAPI only
client.api.create_suppression(...)createSuppressionOpenAPI only
client.api.delete_suppression(...)deleteSuppressionOpenAPI only
client.api.get_suppression(...)getSuppressionOpenAPI only
client.api.delete_batch_suppressions(...)deleteBatchSuppressionsOpenAPI only
client.api.create_batch_suppressions(...)createBatchSuppressionsOpenAPI only
client.api.list_templates(...)listTemplatesOpenAPI only
client.api.create_template(...)createTemplateOpenAPI only
client.api.delete_template(...)deleteTemplateOpenAPI only
client.api.get_template(...)getTemplateOpenAPI only
client.api.update_template(...)updateTemplateOpenAPI only
client.api.duplicate_template(...)duplicateTemplateOpenAPI only
client.api.publish_template(...)publishTemplateOpenAPI only
client.api.list_topics(...)listTopicsOpenAPI only
client.api.create_topic(...)createTopicOpenAPI only
client.api.delete_topic(...)deleteTopicOpenAPI only
client.api.get_topic(...)getTopicOpenAPI only
client.api.update_topic(...)updateTopicOpenAPI only
client.api.managed_one_click_unsubscribe(...)Process an RFC 8058 one-click unsubscribeOpenAPI only
client.api.list_project_webhook_events(...)listProjectWebhookEventsOpenAPI only
client.api.list_webhooks(...)List webhooksView endpoint
client.api.create_webhook(...)Create a webhookView endpoint
client.api.delete_webhook(...)Delete a webhookView endpoint
client.api.get_webhook(...)Retrieve a webhookView endpoint
client.api.update_webhook(...)Update a webhookView endpoint
client.api.list_webhook_events(...)listWebhookEventsOpenAPI only
client.api.get_webhook_event(...)getWebhookEventOpenAPI only
client.api.list_webhook_attempts(...)listWebhookAttemptsOpenAPI only

Before you send

Keep BOUNDRY_API_KEY in the environment and send from a domain verified in the same project: an unverified from domain returns 422. See verify a domain, then send email for attachments, idempotency keys and managed unsubscribe, or webhooks to verify delivery event signatures.