Create an inbox
An address that receives into threads, on one of your verified domains (receiving on, or forwarding: true) or, with email_address omitted, an address on the shared inbox domain that needs no DNS: username names it, or it is random. domain_id takes a row of GET /domains instead of email_address: the team's shared subdomain, or one of your domains with username. It never expires unless expires_in says so. Returns the full inbox. MillionSend extensions: username, domain_id, kind (agent by default), expires_in and safety.
application/json- body
email_address?stringAn address on one of your verified domains; it needs receiving on unless forwarding is true. MillionSend extension: omitted, the inbox gets an address on the shared inbox domain (no DNS), named by username or random, unless domain_id names one of your domains.
domain_id?stringMillionSend extension: the id of a GET /domains row, instead of email_address. The team's subdomain of the shared domain (the row with shared: true) is the same as leaving email_address out; one of your verified domains needs username, the part before the @.
uuidusername?stringMillionSend extension: with email_address omitted, the part before the @ of the shared-domain address, trimmed and lowercased: 1-64 letters, digits, dots, hyphens and underscores, starting and ending with a letter or digit, never cut short. Reserved names (postmaster, abuse, admin, security, support, noreply, no-reply, billing, hostmaster, webmaster, mailer-daemon, root, compared without dots, hyphens and underscores), the fwd- prefix and brand look-alikes answer 422, and one already in use 409. Where the instance reviews names, a chosen one is reviewed first: 503 with retry-after while that review is unavailable. Omitted: a random one. With a domain_id of one of your domains, it is the part before the @ there, required, under email_address's rule.
name?stringInternal name, 1-320 characters, so any address fits. Defaults to email_address.
from_name?stringThe name recipients see, a plain name (not "Name "); "" leaves it unset. On the shared domain it may not imitate a brand, and it is reviewed like username.
forwarding?booleanReceive without an MX record: mail forwarded to the inbox's receiving_address lands in it
kind?stringMillionSend extension: agent (default; threads, screening, drafts that wait for approval) or human (a team mailbox)
"agent""human"expires_in?stringMillionSend extension: a lifetime counted from now, "1h" to "365d"; omitted or null, the inbox never expires. A shared-domain inbox left unused for 90 days (no mail in or out, no API calls on it) is deleted either way.
safety?MillionSend extension: safety rules over the kind's defaults
Inbox created
application/json- response
object*"inbox""inbox"id*stringuuidname*stringemail_address*stringdomain_id*stringA shared address's is its team's shared subdomain: the GET /domains row with shared: true
uuidreceiving_address*stringfrom_name*stringunread*integerThreads with an unread message
drafts*integerUnsent drafts
last_received*stringcreated_at*stringkind*string"agent""human"shared*booleanOn the shared inbox domain
expires_at*stringquarantined*integerHeld messages not yet released
pending_approval*integerDrafts waiting for a person
curl -X POST 'https://api.millionsend.com/inboxes' \ -H 'Content-Type: application/json' \ -d '{}'{ "object": "inbox", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "email_address": "string", "domain_id": "b2f7354f-b74d-4332-ab10-1a5e3c56466c", "receiving_address": "string", "from_name": "string", "unread": 0, "drafts": 0, "last_received": "string", "created_at": "string", "kind": "agent", "shared": true, "expires_at": "string", "quarantined": 0, "pending_approval": 0}