Skip to content

Create Sender Persona

POST
/mailboxes/personas

Create a sender persona - an identity mailboxes can be bought under.

Give first_name, last_name and email, or a team_member_id to take them from. The identity is registrant data at the registrar for every domain bought under it, so use a real person who has agreed to it.

409 if the email is already a persona. Org admins and owners only, and a personal API key.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

A sender identity: the real person mail is bought and sent under.

Mirrors the app’s persona fields (CreateSenderPersonaData / SenderPersonaPatch). The app’s own validators - name alphabet, email normalisation, photo URL, “identity or team member” - run on the app model and surface as a 422, so they are delegated rather than copied here.

On CREATE: give first_name, last_name and email, or a team_member_id to take the identity from. On UPDATE: send only what changes; an identity field cannot be set to null.

object
address_line1
Any of:
string
<= 255 characters
address_line2
Any of:
string
<= 255 characters
city
Any of:
string
<= 255 characters
country
Any of:
string
<= 100 characters
email
Any of:
string
<= 254 characters
first_name
Any of:
string
<= 100 characters
last_name
Any of:
string
<= 100 characters
organization
Any of:
string
<= 255 characters
phone
Any of:
string
<= 50 characters
photo_url
Any of:
string
<= 1000 characters
postal_code
Any of:
string
<= 100 characters
state
Any of:
string
<= 100 characters
team_member_id
Any of:
string format: uuid
title
Any of:
string
<= 100 characters

Responses

201

Successful Response

object
data
required

An open envelope for one provider/deliverability result.

Open on purpose. These payloads are provider state and advisory reads whose contents grow with the product, and a dropped field reads as “nothing to report” rather than “we did not tell you”. Every value passes through scrub_vendor_names on the way in.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string