Skip to main content
POST
Create or update a user

Authorizations

Authorization
string
header
required

The workspace secret key (sk_…) as Authorization: Bearer sk_…. X-Peeve-Key is accepted too.

Body

application/json
external_user_id
string
required

Your stable id for this user. The identity key — it ties the record to its history, so it must survive key rotation.

email
string<email>

Encrypted at rest, indexed by a keyed hash so lookup still works.

name
string

Encrypted at rest.

company
string

Encrypted at rest.

phone
string

Encrypted at rest.

plan
string

The user's plan in your product, as a display name. Plaintext; it does not affect your Peeve entitlements.

Maximum string length: 80
created_at
string

When the account was created in your product. Distinguishes a new signup from a returning user browsing logged out.

vendor_token
string

A token your backend issues for this user, stored encrypted so a Custom API connector can call your API as them. Never travels through the browser.

attributes
object

Free-form business context, merged into the user's stored attributes. Plaintext and non-secret — identity belongs in the fields above.

Response

Stored. Legacy shape — no envelope.

id
string<uuid>
external_user_id
string
workspace
string