Docs / API and agents
Profile and account API
Read and edit your profile, business details and saved signature, and download your personal data.
All routes need a session and are under /v1. They act on the caller only.
Routes#
| Method and path | What |
|---|---|
GET /profile | the caller's profile |
GET /profile/editor | profile plus what the editor needs (no-store) |
PATCH /profile | change profile fields and, for an organization administrator, organization details, including defaultTermsDays (30, 60, 90 or null; other numbers are a 400) |
GET /profile/export | JSON download of the caller's personal data (Content-Disposition: attachment) |
PUT /users/me/signature | save the default signature, body { signatureImage } as a base64 PNG or JPEG data URL |
DELETE /users/me/signature | remove it |
Rules and errors#
| Status | When |
|---|---|
| 400 | invalid input; phone not 10 US digits or without a country code; signature not a PNG or JPEG data URL |
| 401 | the user is not active |
| 403 | the account or organization is inactive, denied or suspended; a non-administrator edits organization details |
| 404 | user not found |
| 409 | that phone number is already linked to another account |
| 413 | body too large |
| 429 | more than 30 profile changes per minute, or more than 5 exports per hour |
A change records user.profile_updated (which groups changed, not the values) and an export records user.data_exported in the audit log. The deactivation routes (POST /auth/delete-account/code, POST /auth/delete-account) and workspace routes live in the account controller; see Personal data.