API reference
The Boundry API is regional by design. Authenticate every request with a project API key and send it to the regional endpoint for that project.
Base URL
https://api.au.boundry.devAuthentication
Pass the project API key as a bearer token. A key is scoped to one project and only accesses that project’s regional data plane.
Authorization: Bearer $BOUNDRY_API_KEYErrors
Errors use a standard envelope. The errors array provides per-field validation details when available.
errorsarrayDetailed validation issues. Absent only for the historical 401 API-key envelope.
coderequiredstringZod validation issue code. Example: "invalid_format".
messagerequiredstringHuman-readable validation failure. Example: "Invalid email address".
pathrequiredstringDot-separated location of the invalid value. Example: "from".
messagerequiredstringHuman-readable error message. Example: "Request validation failed.".
namerequiredstringMachine-readable error category. Values: "validation_error", "application_error", "not_found". Example: "validation_error".
Idempotency and retries
For operations that accept Idempotency-Key, reuse the same key when retrying a request after an uncertain network failure. Retry transient 5xx responses with backoff; do not retry validation errors without changing the request.
Operations
/api-keysList API keys
→POST/api-keysCreate an API key
→DELETE/api-keys/{keyId}Delete an API key
→GET/domainsList domains
→POST/domainsCreate a domain
→DELETE/domains/{domainId}Delete a domain
→GET/domains/{domainId}Get a domain
→PATCH/domains/{domainId}Update domain tracking
→POST/domains/{domainId}Verify a domain (compatibility action)
→POST/domains/{domainId}/verifyVerify a domain
→GET/emailsList sent emails
→POST/emailsSend an email
→GET/emails/{emailId}Get a sent email
→GET/emails/{emailId}/attachmentsList email attachments
→GET/emails/{emailId}/attachments/{attachmentId}Download an email attachment
→POST/emails/batchSend a batch of emails
→GET/eventsList project events
→GET/events/{eventId}Get a project event
→GET/emails/receivingList received emails
→GET/emails/receiving/{emailId}Get a received email
→POST/inboundIngest an inbound email
→GET/logsList event logs
→GET/openapi.jsonGet the OpenAPI document
→GET/webhooksList webhooks
→POST/webhooksCreate a webhook
→DELETE/webhooks/{webhookId}Delete a webhook
→GET/webhooks/{webhookId}Get a webhook
→PATCH/webhooks/{webhookId}Update a webhook
→GET/webhooks/{webhookId}/deliveriesList webhook deliveries
→GET/webhooks/{webhookId}/deliveries/{deliveryId}Get webhook delivery detail
→POST/webhooks/{webhookId}/deliveries/{deliveryId}/retryRetry a webhook delivery
→POST/webhooks/{webhookId}/rotate-secretRotate a webhook signing secret
→POST/webhooks/{webhookId}/testSend a synthetic webhook event
→POST/webhooks/{webhookId}/verifySend a webhook ownership challenge
→