# Dugble - [Introduction](https://dugble.com/docs/overview.md): Developer-first email and SMS infrastructure for African startups and teams - [Quickstart](https://dugble.com/docs/quickstart.md): Send your first transactional email with the Dugble API - [Authentication](https://dugble.com/docs/authentication.md): Learn how to authenticate requests to the Dugble API with team tokens. - [Email overview](https://dugble.com/docs/emails/introduction.md): Send, schedule, and track transactional email with Dugble - [Sending Email](https://dugble.com/docs/emails/sending-email.md): Send transactional email with Dugble and understand the core request fields. - [Custom headers](https://dugble.com/docs/emails/custom-headers.md): Add application-specific headers to outgoing email - [Attachments](https://dugble.com/docs/emails/attachments.md): Add file attachments and inline assets to emails sent with Dugble. - [Schedule email](https://dugble.com/docs/emails/schedule-email.md): Send email later, change its delivery time, or cancel it - [Batch sending](https://dugble.com/docs/emails/batch-sending.md): Queue up to 50 independent emails in one atomic API request - [Delivery Status](https://dugble.com/docs/emails/delivery-status.md): Understand the lifecycle and delivery states of emails sent with Dugble. - [Email Events](https://dugble.com/docs/emails/events.md): Inspect the delivery event history for an email message. - [Email Analytics](https://dugble.com/docs/emails/analytics.md): Understand team-wide email delivery, open, click, and bounce performance. - [SMS overview](https://dugble.com/docs/sms/introduction.md): Send, schedule, and track SMS messages with Dugble - [Sending SMS](https://dugble.com/docs/sms/sending-sms.md): Send SMS messages with Dugble and understand the core request fields. - [Sender IDs](https://dugble.com/docs/sms/sender-ids.md): Register and use approved SMS sender identities - [Schedule SMS](https://dugble.com/docs/sms/schedule-sms.md): Send SMS later, change its delivery time, or cancel it - [Batch sending](https://dugble.com/docs/sms/batch-sending.md): Queue up to 50 SMS messages in one atomic API request - [Delivery status](https://dugble.com/docs/sms/delivery-status.md): Interpret SMS lifecycle states and refresh provider status - [SMS Events](https://dugble.com/docs/sms/events.md): Inspect the delivery event history for an SMS message. - [SMS Analytics](https://dugble.com/docs/sms/analytics.md): Understand team-wide SMS delivery performance and country distribution. - [Sender domains](https://dugble.com/docs/domains/introduction.md): Authenticate the domains used to send email through Dugble - [Choosing a Region](https://dugble.com/docs/domains/regions.md): Choose a supported sending region and TLS mode for your Dugble sender domain. - [Domain Verification](https://dugble.com/docs/domains/verification.md): Verify a sending domain and understand the DNS records Dugble checks. - [DKIM](https://dugble.com/docs/domains/dkim.md): Configure DomainKeys Identified Mail for a Dugble sending domain. - [SPF](https://dugble.com/docs/domains/spf.md): Understand the SPF records used by a Dugble sending domain. - [Implementing DMARC](https://dugble.com/docs/domains/dmarc.md): Protect your sender domain with DMARC alignment, policy, and reporting - [Templates](https://dugble.com/docs/templates/introduction.md): Create and manage reusable email templates independently from broadcasts. - [Audiences](https://dugble.com/docs/audiences/overview.md): Understand how contacts, topics, subscriptions, segments, and suppressions work together. - [Contacts](https://dugble.com/docs/audiences/contacts.md): Understand contact identity, profile data, consent, and audience relationships. - [Topics](https://dugble.com/docs/audiences/topics.md): Organize communication into categories that contacts can subscribe to or opt out of. - [Subscriptions](https://dugble.com/docs/audiences/subscriptions.md): Understand topic defaults and contact-level opt-in or opt-out preferences. - [Segments](https://dugble.com/docs/audiences/segments.md): Group contacts into explicit audiences for targeting. - [Suppressions](https://dugble.com/docs/audiences/suppressions.md): Understand how suppression rules protect recipients from unwanted email delivery. - [Broadcasts](https://dugble.com/docs/broadcasts/overview.md): Understand how Dugble sends broadcast-owned email content to a reusable audience. - [Audience](https://dugble.com/docs/broadcasts/audience.md): Understand how Dugble determines which contacts are eligible for a broadcast. - [Sending](https://dugble.com/docs/broadcasts/sending.md): Preview, edit, send, schedule, cancel, and duplicate broadcasts. - [Analytics](https://dugble.com/docs/broadcasts/analytics.md): Understand delivery, exclusion, and engagement metrics for a broadcast. - [Webhooks overview](https://dugble.com/docs/webhooks/introduction.md): Receive event-driven updates for Dugble messaging and audience resources - [Webhook events](https://dugble.com/docs/webhooks/events.md): Understand the current Email, SMS, contact, suppression, and broadcast webhook event catalog - [Verify webhook signatures](https://dugble.com/docs/webhooks/signatures.md): Authenticate Dugble webhook requests and reject replayed payloads - [Operate webhook endpoints](https://dugble.com/docs/webhooks/operations.md): Monitor failures, recover deliveries, and control endpoint traffic - [API Reference](https://dugble.com/docs/api-reference/introduction.md): Build with the Dugble API for email and SMS. - [Authentication](https://dugble.com/docs/api-reference/authentication.md): Authenticate requests to the Dugble API with a team token. - [Errors](https://dugble.com/docs/api-reference/errors.md): Understand Dugble API error responses and public error codes. - [Idempotency](https://dugble.com/docs/api-reference/idempotency.md): Safely retry Dugble API mutation requests without duplicating work. - [Send Email](https://dugble.com/docs/api-reference/email/send-email.md): Queues an email for immediate or scheduled delivery. - [Send Batch Emails](https://dugble.com/docs/api-reference/email/send-batch-emails.md): Atomically queues up to 50 emails. Attachments are not supported in batch requests. A top-level array is preferred; an object containing a `messages` array is also accepted. - [List Emails](https://dugble.com/docs/api-reference/email/list-emails.md): Returns email messages belonging to the authenticated team. - [Get Email Analytics](https://dugble.com/docs/api-reference/email/get-email-analytics.md): Returns team-wide email delivery, open, click, and bounce analytics for fixed 7-day, 30-day, and 90-day windows. - [Retrieve Email](https://dugble.com/docs/api-reference/email/retrieve-email.md): Retrieves a single email message by its Dugble message ID. - [Update Email](https://dugble.com/docs/api-reference/email/update-email.md): Reschedules a pending scheduled email. The new scheduled_at value must be a future RFC 3339 timestamp. - [Cancel Email](https://dugble.com/docs/api-reference/email/cancel-email.md): Cancels an email that is still queued for scheduled delivery. - [List Email Events](https://dugble.com/docs/api-reference/email/list-email-events.md): Returns delivery events for an email message. - [Send SMS](https://dugble.com/docs/api-reference/sms/send-sms.md): Queues an SMS for immediate or scheduled delivery. Recipient numbers must use international format. - [Send Batch SMS](https://dugble.com/docs/api-reference/sms/send-batch-sms.md): Atomically validates, prices, charges, and queues up to 50 SMS messages. A top-level array is preferred; an object containing a `messages` array is also accepted. - [List SMS](https://dugble.com/docs/api-reference/sms/list-sms.md): Returns SMS messages belonging to the authenticated team. - [Get SMS Analytics](https://dugble.com/docs/api-reference/sms/get-sms-analytics.md): Returns team-wide SMS delivery analytics for fixed 7-day, 30-day, and 90-day windows plus 90-day delivery totals by destination country. - [Retrieve SMS](https://dugble.com/docs/api-reference/sms/retrieve-sms.md): Retrieves a single SMS message by its Dugble message ID. - [Update SMS](https://dugble.com/docs/api-reference/sms/update-sms.md): Reschedules a pending scheduled SMS outside the delivery cutoff. The new scheduled_at value must be a future RFC 3339 timestamp at least 30 seconds ahead. - [Cancel SMS](https://dugble.com/docs/api-reference/sms/cancel-sms.md): Cancels a pending scheduled SMS outside the final 15-second delivery cutoff. - [List SMS Events](https://dugble.com/docs/api-reference/sms/list-sms-events.md): Returns delivery events for an SMS message. - [Sync SMS Status](https://dugble.com/docs/api-reference/sms/sync-sms-status.md): Refreshes the delivery status from the SMS provider. - [Create Domain](https://dugble.com/docs/api-reference/domains/create-domain.md): Creates and provisions a sending domain. Provisioning may be asynchronous while email infrastructure is being prepared. - [List Domains](https://dugble.com/docs/api-reference/domains/list-domains.md): Returns sending domains configured for the authenticated team. - [Retrieve Domain](https://dugble.com/docs/api-reference/domains/retrieve-domain.md): Retrieves a sending domain and its current verification state. - [Update Domain](https://dugble.com/docs/api-reference/domains/update-domain.md): Updates mutable configuration for a sending domain. Currently only the TLS mode can be changed. - [Verify Domain](https://dugble.com/docs/api-reference/domains/verify-domain.md): Checks the domain's provider and DNS verification state and returns the updated domain. - [Delete Domain](https://dugble.com/docs/api-reference/domains/delete-domain.md): Removes a sending domain from the authenticated team. - [Create Template](https://dugble.com/docs/api-reference/templates/create-template.md): Creates a reusable email template and its initial draft version. - [List Templates](https://dugble.com/docs/api-reference/templates/list-templates.md): Returns reusable email templates for the authenticated team using limit/offset pagination. - [Retrieve Template](https://dugble.com/docs/api-reference/templates/retrieve-template.md): Retrieves a template by UUID or alias, including its current draft content and publish state. - [Update Template](https://dugble.com/docs/api-reference/templates/update-template.md): Updates template metadata or content and creates a new current draft version. - [Delete Template](https://dugble.com/docs/api-reference/templates/delete-template.md): Deletes a reusable email template. - [Publish Template](https://dugble.com/docs/api-reference/templates/publish-template.md): Publishes the template's current version. The current version must have a non-empty subject and valid content. - [Duplicate Template](https://dugble.com/docs/api-reference/templates/duplicate-template.md): Duplicates the template's current version into a new draft template. The generated name defaults to the source name plus ' Copy'. - [List Template Versions](https://dugble.com/docs/api-reference/templates/list-template-versions.md): Returns template versions using limit/offset pagination. - [Retrieve Template Version](https://dugble.com/docs/api-reference/templates/retrieve-template-version.md): Retrieves a specific immutable template version. - [Revert Template Version](https://dugble.com/docs/api-reference/templates/revert-template-version.md): Creates a new current draft version by copying content from the selected historical version. - [Preview Template](https://dugble.com/docs/api-reference/templates/preview-template.md): Renders the current or requested template version with optional variable values without sending it. - [Test Send Template](https://dugble.com/docs/api-reference/templates/test-send-template.md): Renders the current or requested version and queues a test email to one recipient. - [Create Sender ID](https://dugble.com/docs/api-reference/sender-ids/create-sender-id.md): Creates a new SMS sender ID for a specific country and sending purpose. - [List Sender IDs](https://dugble.com/docs/api-reference/sender-ids/list-sender-ids.md): Returns SMS sender IDs belonging to the authenticated team. - [Retrieve Sender ID](https://dugble.com/docs/api-reference/sender-ids/retrieve-sender-id.md): Retrieves a single SMS sender ID and its current approval status. - [Delete Sender ID](https://dugble.com/docs/api-reference/sender-ids/delete-sender-id.md): Deactivates the sender ID and returns its updated state. - [Create Contact](https://dugble.com/docs/api-reference/contacts/create-contact.md): Creates a contact with email, phone, consent, and custom property data. - [List Contacts](https://dugble.com/docs/api-reference/contacts/list-contacts.md): Returns contacts belonging to the authenticated team. - [Retrieve Contact](https://dugble.com/docs/api-reference/contacts/retrieve-contact.md): Retrieves a single contact by ID. - [Update Contact](https://dugble.com/docs/api-reference/contacts/update-contact.md): Updates the mutable fields of an existing contact. - [Delete Contact](https://dugble.com/docs/api-reference/contacts/delete-contact.md): Deletes a contact from the authenticated team. - [List Contact Topics](https://dugble.com/docs/api-reference/contacts/list-contact-topics.md): Returns the topics associated with a contact and the contact's subscription state for each topic. - [Update Contact Topics](https://dugble.com/docs/api-reference/contacts/update-contact-topics.md): Updates a contact's opt-in or opt-out state for one or more topics. - [List Contact Segments](https://dugble.com/docs/api-reference/contacts/list-contact-segments.md): Returns the segments that currently include the contact. - [Add Contact to Segment](https://dugble.com/docs/api-reference/contacts/add-contact-to-segment.md): Adds a contact to a segment. Repeating the operation for an existing membership is safe. - [Remove Contact from Segment](https://dugble.com/docs/api-reference/contacts/remove-contact-from-segment.md): Removes a contact's membership from a segment. - [Create Contact Property](https://dugble.com/docs/api-reference/contact-properties/create-contact-property.md): Creates a typed custom property definition for contacts. Property keys are unique within the team. - [List Contact Properties](https://dugble.com/docs/api-reference/contact-properties/list-contact-properties.md): Returns contact property definitions configured for the authenticated team. - [Retrieve Contact Property](https://dugble.com/docs/api-reference/contact-properties/retrieve-contact-property.md): Retrieves a single contact property definition by ID. - [Update Contact Property](https://dugble.com/docs/api-reference/contact-properties/update-contact-property.md): Replaces the fallback value for a contact property. Send `null` to clear the fallback value. - [Delete Contact Property](https://dugble.com/docs/api-reference/contact-properties/delete-contact-property.md): Deletes a contact property definition from the authenticated team. - [Create Topic](https://dugble.com/docs/api-reference/topics/create-topic.md): Creates a subscription topic with a default subscription state and visibility. - [List Topics](https://dugble.com/docs/api-reference/topics/list-topics.md): Returns subscription topics configured for the authenticated team. - [Retrieve Topic](https://dugble.com/docs/api-reference/topics/retrieve-topic.md): Retrieves a single subscription topic by ID. - [Update Topic](https://dugble.com/docs/api-reference/topics/update-topic.md): Updates the name, description, or visibility of a subscription topic. - [Delete Topic](https://dugble.com/docs/api-reference/topics/delete-topic.md): Deletes a subscription topic from the authenticated team. - [Create Segment](https://dugble.com/docs/api-reference/segments/create-segment.md): Creates a new audience segment for organizing contacts. - [List Segments](https://dugble.com/docs/api-reference/segments/list-segments.md): Returns audience segments belonging to the authenticated team. - [Retrieve Segment](https://dugble.com/docs/api-reference/segments/retrieve-segment.md): Retrieves a single audience segment by ID. - [Get Segment Audience Size](https://dugble.com/docs/api-reference/segments/get-segment-audience-size.md): Returns the current number of contacts assigned to the segment. This is raw segment membership and does not apply unsubscribe, topic, or suppression eligibility rules. - [List Segment Contacts](https://dugble.com/docs/api-reference/segments/list-segment-contacts.md): Returns contacts that are currently members of the segment. - [Delete Segment](https://dugble.com/docs/api-reference/segments/delete-segment.md): Deletes an audience segment from the authenticated team. - [Create Suppression](https://dugble.com/docs/api-reference/suppressions/create-suppression.md): Adds an email address to the team's suppression list. - [List Suppressions](https://dugble.com/docs/api-reference/suppressions/list-suppressions.md): Returns suppressed email addresses for the authenticated team, optionally filtered by origin. - [Retrieve Suppression](https://dugble.com/docs/api-reference/suppressions/retrieve-suppression.md): Retrieves a suppression by UUID or email address. - [Delete Suppression](https://dugble.com/docs/api-reference/suppressions/delete-suppression.md): Removes a suppression by UUID or email address. - [Add Suppressions](https://dugble.com/docs/api-reference/suppressions/add-suppressions.md): Adds up to 100 email addresses to the team's suppression list in one request. - [Remove Suppressions](https://dugble.com/docs/api-reference/suppressions/remove-suppressions.md): Removes up to 100 suppressions by email address or suppression ID. Provide either `emails` or `ids`, but not both. - [Create Broadcast](https://dugble.com/docs/api-reference/broadcasts/create-broadcast.md): Creates a broadcast with its own sender and email content. By default the broadcast is a draft; set send to true to queue immediately or combine send with a future scheduled_at to schedule it. - [List Broadcasts](https://dugble.com/docs/api-reference/broadcasts/list-broadcasts.md): Returns broadcasts belonging to the authenticated team. - [Retrieve Broadcast](https://dugble.com/docs/api-reference/broadcasts/retrieve-broadcast.md): Retrieves a single broadcast by ID, including its current delivery state and audience counts. - [Update Broadcast](https://dugble.com/docs/api-reference/broadcasts/update-broadcast.md): Updates a draft or scheduled broadcast. Supply the current revision for optimistic concurrency control; nullable content fields can be cleared with JSON null. - [Delete Broadcast](https://dugble.com/docs/api-reference/broadcasts/delete-broadcast.md): Deletes a broadcast that is still in draft or canceled state. - [Send Broadcast](https://dugble.com/docs/api-reference/broadcasts/send-broadcast.md): Queues a draft broadcast immediately, or schedules it when `scheduled_at` is supplied. - [Cancel Broadcast](https://dugble.com/docs/api-reference/broadcasts/cancel-broadcast.md): Cancels active scheduling or execution. Scheduled broadcasts return to draft; queued broadcasts move to canceled and remaining fanout stops. - [Duplicate Broadcast](https://dugble.com/docs/api-reference/broadcasts/duplicate-broadcast.md): Creates a new draft by copying the source broadcast audience and exact owned message content. - [Preview Broadcast](https://dugble.com/docs/api-reference/broadcasts/preview-broadcast.md): Renders the broadcast-owned subject and body with optional preview variables without sending it. - [List Broadcast Recipients](https://dugble.com/docs/api-reference/broadcasts/list-broadcast-recipients.md): Returns recipients captured for the broadcast, including delivery and exclusion state. - [Get Broadcast Exclusions](https://dugble.com/docs/api-reference/broadcasts/get-broadcast-exclusions.md): Returns the number of excluded broadcast recipients grouped by exclusion reason. - [Get Broadcast Analytics](https://dugble.com/docs/api-reference/broadcasts/get-broadcast-analytics.md): Returns aggregate delivery, bounce, complaint, open, and click metrics for the broadcast. ## OpenAPI Specs - [openapi](/docs/openapi.json)