Settings API

People

Everyone of the company: with a mailbox here, and those who only sign in with an address elsewhere.

Base URL https://acme.yet.com.br/api/settings

Settings answer at your company’s own address — acme here — and take a key of someone who runs them.

The object

idstring
The person’s id.
namestring
Their mailbox’s name, before the @.
emailstring
The address they sign in with.
full_namestring
Their name.
runs_settingsboolean
Whether they may open Settings.
lockedboolean
Locked after too many wrong passwords.
created_atstring
When they were added (RFC 3339).

List people

GET/api/settings/people

Those with a mailbox here (people), and those who only sign in (members).

Who: Runs the company’s Settings

Request
curl https://acme.yet.com.br/api/settings/people \
  -H "Authorization: Bearer $YET_API_KEY"
Response · 200
{
  "people": [
    {
      "id": "3c",
      "name": "ana",
      "email": "ana@acme.dev",
      "full_name": "Ana Costa",
      "runs_settings": true,
      "locked": false,
      "created_at": "2026-10-23T12:00:00Z"
    }
  ],
  "members": [
    {
      "email": "bruno@gmail.com",
      "created_at": "2026-10-23T12:00:00Z"
    }
  ]
}

Add someone

POST/api/settings/people/add

Invited at their own address, or given a password now; with a mailbox here — at the first of mailbox.domains, an alias at each of the others — or none. An address at one of the company’s domains with mail has no mailbox yet, so an invitation there would reach nobody: give it a password and that mailbox.

Who: Runs the company’s Settings

Body

full_namestring
Their name.
emailstring
Where the invitation goes; may be empty with a password and a mailbox.
via"invite" | "password"required
How they get in.
passwordstring
With via: "password": at least 8 characters.
mailbox{ name, domains[] } | nullrequired
Their mailbox here, or null.
runs_settingsboolean
Whether they may open Settings.
Request
curl -X POST https://acme.yet.com.br/api/settings/people/add \
  -H "Authorization: Bearer $YET_API_KEY" \
  -d '{
    "full_name": "Ana Costa",
    "email": "",
    "via": "password",
    "password": "correct-horse-battery",
    "mailbox": {
      "name": "ana",
      "domains": [
        "acme.dev",
        "acme.com.br"
      ]
    },
    "runs_settings": false
  }'
Response · 200
{
  "email": "ana@acme.dev"
}

Change someone

PATCH/api/settings/people/{id}

One change per request: their name (on their sign-in and their mailbox), a new password, or whether they run Settings.

Who: Runs the company’s Settings

Body

full_namestring
Their new name.
passwordstring
A new password, at least 8 characters.
runs_settingsboolean
Whether they may open Settings. Never your own, off.
Request
curl -X PATCH https://acme.yet.com.br/api/settings/people/{id} \
  -H "Authorization: Bearer $YET_API_KEY" \
  -d '{
    "full_name": "Ana Costa Lima"
  }'
Response · 200
{
  "ok": true
}

Remove someone

DELETE/api/settings/people/{id}

Their sign-in goes, and their mailbox with every message in it. It cannot be undone.

Who: Runs the company’s Settings

Request
curl -X DELETE https://acme.yet.com.br/api/settings/people/{id} \
  -H "Authorization: Bearer $YET_API_KEY"
Response · 200
{
  "ok": true
}

Remove someone without a mailbox

DELETE/api/settings/people/members/{email}

Their sign-in goes; at one of the company’s domains, it would let them in again otherwise.

Who: Runs the company’s Settings

Request
curl -X DELETE https://acme.yet.com.br/api/settings/people/members/{email} \
  -H "Authorization: Bearer $YET_API_KEY"
Response · 200
{
  "ok": true
}

Invite someone at a company domain

POST/api/settings/people/invite

A link to their address, for a day: they set their password at it.

Who: Runs the company’s Settings

Body

emailstringrequired
Their address.
Request
curl -X POST https://acme.yet.com.br/api/settings/people/invite \
  -H "Authorization: Bearer $YET_API_KEY" \
  -d '{
    "email": "bruno@acme.dev"
  }'