Skip to main content
POST
Add several people to the owner directory at once, the way a CSV import does. Like Create Owner, this creates labels rather than accounts: no email is sent, no seat is used, and nobody gains access to your workspace. The call is one statement whatever the row count, and it is safe to repeat. An address that already belongs to a live owner is skipped rather than duplicated, and an address belonging to an owner you previously deleted is revived rather than duplicated. The response tallies each case. A row’s name is only written when you send one, so re-importing a file with the emails but not the names will not blank the names already in the directory.
Unlike Create Owner, a name is not required here. email is the only field a row needs.

Body

array
required
Owners to add. Must contain at least one row, and no more than 2000.
string
required
Owner email address. Must be a valid address with a dotted domain: dana@localhost is rejected as a typo.
string
Owner first name.
string
Owner last name.

Partial success

A single bad row does not fail the import. A file of 200 rows with one malformed address adds 199 owners and reports the one it dropped. The request only fails outright when every row is unusable. Rows counted as skipped are the ones that changed nothing:
  • the email was missing or malformed
  • the same email appeared earlier in the same request
  • the email already belonged to a live owner
A workspace holds at most 2000 owners. The cap is checked against the number of rows you send, not the number that turn out to be new, so re-importing a 400-row file into a directory that already holds those 400 owners is rejected with 400 even though it would have added nobody. Import in batches, or send only the rows you are adding.

Response Fields

integer
Owners added to the directory.
integer
Previously deleted owners restored. Reviving does not restore the opportunities the owner held before the delete, those stayed unassigned.
integer
Rows that changed nothing. See the list above.