Your account
The workspaces, email, photo, username, apps, invitations, signed-in devices and passkeys of the person.
Your account tools
| Tool | What it does |
|---|---|
| listAccountWorkspaces | Every workspace your account can open, owned or joined, with the one the app opens for you and the one these tools act on. |
| switchAppWorkspace | Choose the workspace the app opens for you. These tools keep acting on the workspace they act on now. |
| createWorkspace | Create a workspace you own, on the Free plan, which the app opens for you from then on. An account can own one Free workspace. |
| deleteWorkspace | Delete the workspace these tools act on, with everything in it, once confirm names it. Only its owner may, and never the first workspace an account made. In the app’s chat it always asks first. |
| getNotificationSettings | Which kinds of email Nextmail sends you, and the workspaces muted on your phone. |
| setEmailNotification | Turn activity or product email on or off. account and billing email are always on. |
| setWorkspacePushMuted | Mute or unmute the phone notifications of one workspace. |
| setProfilePhoto | Set your profile photo from an image in base64. |
| removeProfilePhoto | Remove your profile photo. In the app’s chat it always asks first. |
| getUsername | Your username, whether you chose it, and the free address it gives you. |
| checkUsername | Whether you could choose a username, and why not when you could not. |
| chooseUsername | Choose your username for good, since it never changes once chosen. In the app’s chat it always asks first. |
| listConnectedApps | The apps you connected, with what each may reach and until when. |
| revokeConnectedApp | Remove a connected app, so it has to ask again. In the app’s chat it always asks first. |
| listReceivedInvitations | The invitations to join a workspace that wait for you. listInvitations is the one for the invitations a workspace sent. |
| acceptInvitation | Join the workspace of an invitation, and with activate make it the one the app opens. |
| declineInvitation | Turn an invitation down, for good. In the app’s chat it always asks first. |
| listSessions | The browsers and phones you are signed in on, each with its country and city, how it signed in and when it was last used. |
| revokeSession | Sign one browser or phone out, so its next request is refused. In the app’s chat it always asks first. |
| revokeOtherSessions | Sign every browser and phone out at once, the one you are using included, and with connectedApps remove every connected app too. In the app’s chat it always asks first. |
| listSecurityEvents | Your security log, newest first: sign-ins with their device and place, devices signed out, password and two-factor changes, and passkeys added or removed. Returned a page at a time. |
| listPasskeys | The passkeys that can sign in to your account, with the name of each, whether it is synced between your devices and when it was last used. |
| renamePasskey | Give a passkey a name you will recognise. |
| removePasskey | Remove a passkey, so it can no longer sign in or confirm a change. You are told by email. In the app’s chat it always asks first. |
| listConnectedAppRequests | The request log of an app you connected: each REST call it made, newest first, with its status and how long it took. |
These tools act on the person who connected the client, never on anyone else, and in the app’s chat on you. Reading needs account:read and every change needs account:write, which no role limits, so a client a member connected reaches that member’s own account too.
Three things stay in the app: changing what a connected app may reach, letting one make changes without a verification code, and deleting the whole account.
The workspace tools never move the other tools: switchAppWorkspace changes what the app opens, and setActiveConnection what the tools act on.
Some tools on this server make a change the REST API guards with a verification code, and ask for the same code. Until the client has verified a code in the last 60 minutes, or the person has chosen Allow changes for 60 minutes on it in Account → Connected apps, such a tool answers with a result that starts Refused (step_up_required): and changes nothing. emptyAudience never asks for a code. The API Authentication page lists every tool that asks, and shows how to ask for a code and verify it.
A passkey is added in Account → General → Security on the device that holds it, never through a tool. revokeOtherSessions leaves nothing signed in: it signs out the browser or phone you are using as well, and with connectedApps it removes the client you are talking through.
Reference
listAccountWorkspacesswitchAppWorkspacecreateWorkspacedeleteWorkspacegetNotificationSettingssetEmailNotificationsetWorkspacePushMutedsetProfilePhotoremoveProfilePhotogetUsernamecheckUsernamechooseUsernamelistConnectedAppsrevokeConnectedApplistReceivedInvitationsacceptInvitationdeclineInvitationlistSessionsrevokeSessionrevokeOtherSessionslistSecurityEventslistPasskeysrenamePasskeyremovePasskeylistConnectedAppRequests
listAccountWorkspaces
Every workspace your Nextmail account can open, the ones you own and the ones you joined, as the workspace switcher of the app lists them, with the one the app opens for you. It is about your account, not this connection: getConnections lists what these tools can act on, and switchAppWorkspace changes only what the app opens, never what these tools act on.
Inputs
Takes no input.
Also available in
- API
GET /workspacesGET /workspaces/active- TypeScript
nextmail.workspaces.list()nextmail.workspaces.getActive()- Python
workspaces.list()workspaces.get_active()- Ruby
workspaces.listworkspaces.get_active- PHP
workspaces->listworkspaces->getActive- Go
Workspaces.ListWorkspaces.GetActive- Java
workspaces().listworkspaces().getActive- C#
Workspaces.ListAsyncWorkspaces.GetActiveAsync
switchAppWorkspace
Choose which workspace the Nextmail app opens for you, as the workspace switcher does. Pass a workspace id from listAccountWorkspaces. It changes the app only: these tools keep acting on the workspace they act on now.
Inputs
workspaceIdstringRequired- 1 to 128 characters
Also available in
createWorkspace
Create a new workspace that you own, on the Free plan, and make it the one the app opens for you, as creating one in the app does. An account can own one Free workspace, so while you own one this is refused until you upgrade it.
Inputs
namestringRequired- 1 to 64 characters
Also available in
deleteWorkspace
Delete the workspace these tools act on, with its domains, addresses, mail and members, and cancel its plan. It cannot be undone. Only its owner may do it, never through an app limited to some addresses, and your first workspace can never be deleted. confirm has to be the name of the workspace, as listAccountWorkspaces shows it.
- Asks for a verification code
DELETE /workspaces/{id}
Inputs
confirmstringRequiredThe name of the workspace being deleted, typed out.
1 to 256 characters
Also available in
getNotificationSettings
Which kinds of email Nextmail sends you, as Account, Notifications shows them, and the workspaces whose notifications are muted on your phone. Account and billing email are always on.
Inputs
Takes no input.
Also available in
setEmailNotification
Turn one kind of email from Nextmail on or off for you. activity and product can be turned off; account and billing cannot.
Inputs
categorystringRequired- One of
"account""billing""activity""product" enabledbooleanRequired
Also available in
setWorkspacePushMuted
Mute or unmute the notifications of one workspace on your phone, on every phone you signed in on. Pass a workspace id from listAccountWorkspaces.
Inputs
workspaceIdstringRequired- 1 to 128 characters
mutedbooleanRequired
Also available in
setProfilePhoto
Set your profile photo, replacing any there was, as Account, Profile does. Pass the picture in base64 as image, with its type as contentType: image/png, image/jpeg, image/webp, image/gif, up to 5 MB. It is fitted into a 512 pixel square.
Inputs
imagestringRequiredThe image in base64, or as a data: URL.
1 to 7340032 characterscontentTypestringRequiredThe type of the image: image/png, image/jpeg, image/webp, image/gif.
1 to 100 characters
Also available in
removeProfilePhoto
Remove your profile photo and delete the stored image, so the app shows your initials again. Removing it when there is none changes nothing.
Inputs
Takes no input.
Also available in
getUsername
Your Nextmail username, whether you chose it or it was made for you, and the free address it gives you. A username you chose never changes.
Inputs
Takes no input.
Also available in
checkUsername
Whether you could choose a username, without choosing it, and why not when you could not. It is lowercased and its spaces become dots before it is checked.
Inputs
usernamestringRequired- 1 to 60 characters
Also available in
chooseUsername
Choose your username, and with it your free address, for good. Once chosen it never changes, so check it with checkUsername first and make sure it is the one you want.
Inputs
usernamestringRequired- 1 to 60 characters
Also available in
listConnectedApps
Every app you connected to your account with OAuth, as Account, Connected apps lists them: what each may reach, until when, and its client id, which revokeConnectedApp takes. What an app may reach is changed in the app, never from here.
Inputs
Takes no input.
Also available in
revokeConnectedApp
Remove an app you connected: every token it holds and the access you gave it are deleted, so its next call is refused and it has to ask again. Pass its client id from listConnectedApps. Removing the app you are talking through disconnects it.
Inputs
clientIdstringRequired- 1 to 128 characters
Also available in
listReceivedInvitations
The invitations to join a workspace that are waiting for you, oldest first, each with the id acceptInvitation and declineInvitation take. It is not listInvitations, which lists the invitations this workspace sent.
Inputs
Takes no input.
Also available in
acceptInvitation
Accept an invitation that is waiting for you and join its workspace with the role and the addresses it gives. activate also makes it the workspace the app opens for you. A workspace that asks for two-factor sign-in is refused until you turn it on.
Inputs
invitationIdstringRequired- 1 to 128 characters
activateboolean
Also available in
declineInvitation
Decline an invitation that is waiting for you. Its link stops working and whoever sent it is told. It cannot be taken back: they would have to invite you again.
Inputs
invitationIdstringRequired- 1 to 128 characters
Also available in
listSessions
Every browser and phone you are signed in on, as Account, Security lists them: the browser and system, the country and city it was last used from, how it signed in, when it was last used, and its id, which revokeSession takes. No address is recorded, only the place.
Inputs
Takes no input.
Also available in
revokeSession
Sign one browser or phone out of your account. Its next request is refused at once, and a phone stops getting notifications. Pass its id from listSessions.
Inputs
sessionIdstringRequired- 1 to 128 characters
Also available in
revokeOtherSessions
Sign every browser and phone out of your account at once, for when a device is lost or a password may have leaked. That includes the browser or phone you are using, if you are signed in there. With connectedApps true, every connected app is removed as well, the one you are talking through included.
Inputs
connectedAppsbooleanAlso remove every app connected to the account. Left out, apps stay.
Also available in
listSecurityEvents
Your security log, newest first: each sign-in with its device and place, devices signed out, password changes and resets, two-factor turned on or off, and passkeys added or removed. Nothing is ever removed from it.
Inputs
limitintegerHow many entries to return, newest first. 50 when left out.
At least 1At most 100cursorstringThe cursor the previous page ended with, to read the entries before it.
Not empty
Also available in
- API
GET /account/security-events- TypeScript
nextmail.account.listSecurityEvents()nextmail.account.listAllSecurityEvents()nextmail.account.iterateSecurityEvents()- Python
account.list_security_events()account.list_all_security_events()account.iterate_security_events()- Ruby
account.list_security_eventsaccount.list_all_security_eventsaccount.iterate_security_events- PHP
account->listSecurityEventsaccount->listAllSecurityEventsaccount->iterateSecurityEvents- Go
Account.ListSecurityEventsAccount.ListAllSecurityEventsAccount.IterateSecurityEvents- Java
account().listSecurityEventsaccount().listAllSecurityEventsaccount().iterateSecurityEvents- C#
Account.ListSecurityEventsAsyncAccount.ListAllSecurityEventsAsyncAccount.IterateSecurityEventsAsync
listPasskeys
The passkeys that can sign in to your account, with the name of each, whether it is synced between your devices, when it was last used, and its id, which renamePasskey and removePasskey take. A passkey is added on the device that holds it, in Account, Security, never from here.
Inputs
Takes no input.
Also available in
renamePasskey
Give a passkey a name you will recognise. Pass its id from listPasskeys.
Inputs
passkeyIdstringRequired- 1 to 128 characters
namestringRequired- 1 to 60 characters
Also available in
removePasskey
Remove a passkey from your account, so it can no longer sign in or confirm a change. You are told by email. The passkey stays on the device until you delete it there. Pass its id from listPasskeys.
Inputs
passkeyIdstringRequired- 1 to 128 characters
Also available in
listConnectedAppRequests
The request log of an app you connected, newest first: each REST call it made with the access you gave it, with the method, the path, the status, how long it took and the error code of a refusal. Pass its client id from listConnectedApps. failedOnly keeps the refused calls, and cursor takes the cursor of the previous answer.
Inputs
clientIdstringRequired- 1 to 128 characters
failedOnlybooleanTrue keeps the calls answered with 400 or more.
cursorstringThe cursor the previous answer ended with, to read the next page.
Up to 2048 characters
Also available in
- API
GET /account/connected-apps/{clientId}/requests- TypeScript
nextmail.account.listConnectedAppRequests()nextmail.account.listAllConnectedAppRequests()nextmail.account.iterateConnectedAppRequests()- Python
account.list_connected_app_requests()account.list_all_connected_app_requests()account.iterate_connected_app_requests()- Ruby
account.list_connected_app_requestsaccount.list_all_connected_app_requestsaccount.iterate_connected_app_requests- PHP
account->listConnectedAppRequestsaccount->listAllConnectedAppRequestsaccount->iterateConnectedAppRequests- Go
Account.ListConnectedAppRequestsAccount.ListAllConnectedAppRequestsAccount.IterateConnectedAppRequests- Java
account().listConnectedAppRequestsaccount().listAllConnectedAppRequestsaccount().iterateConnectedAppRequests- C#
Account.ListConnectedAppRequestsAsyncAccount.ListAllConnectedAppRequestsAsyncAccount.IterateConnectedAppRequestsAsync
Google Workspace