Skip to main content
POST
Provision a supplier user

Authorizations

X-API-KEY
string
header
required
OW-KEY
string
header
required

OpenWrench shared secret. Required on every request alongside X-API-KEY; issued together with your API key.

Body

application/json
email
string
required

REQUIRED. Lower-cased and trimmed.

nameGiven
string
required

REQUIRED

nameFamily
string
required

REQUIRED

roles
string[]
required

REQUIRED, non-empty. Supplier role names (case-insensitive); admin and super-admin roles are rejected.

facilityId
integer

Target supplier facility; defaults to the API key contact's facility. Must belong to the same supplier company.

title
string
department
string
isSharedContact
boolean

Default false

readOnlyAccess
boolean

Default false

hasAccessToAllLocations
boolean
locationIds
integer<int64>[]

Location ids the user may access (ignored when hasAccessToAllLocations is true)

brandIds
integer[]

Brand ids the user may access (ignored when hasAccessToAllLocations is true)

hasAccessToAllStockLocations
boolean

Default false; forced false when stockLocationIds is non-empty

canManageAllStockLocations
boolean

Default false; forced false when stockLocationIds is non-empty

stockLocationIds
integer<int64>[]
epaCertificationType
string

EPA 608 certification class; validated

epaCertificationNumber
string
password
string

When present, an active user account is created with this password instead of sending a sign-up invite

passwordResetRequired
boolean

Only meaningful together with password

Response

The created contact (envelope type "SupplierContact")

type
string
required

Entity type label, e.g. "SupplierContact". Endpoints that derive it via Scala reflection (most generic list/get endpoints) may return the fully qualified server class name instead (e.g. "models.workorder.WorkOrder"); treat this field as informational.

data
object
required

Contact record (abridged - the full Contact model carries additional fields).

status
enum<string>
required

"ok" on success

Available options:
ok