Dois Papo

Dois Papo para Desenvolvedores

Tudo o que você precisa para criar bots que conversam, moderam e automatizam dentro das comunidades do Dois Papo.

API v0.15.1 81 rotas 115 operações REST + WebSocket

Primeiros passos

1. Crie o bot

No cliente web, abra Configurações → Bots → Criar bot. Você recebe um bot_id e um token.

O token é a credencial do bot. Trate como senha: nunca comite em repositório e nunca exponha no navegador.

2. Fale com a API

A base da API é https://chat.doispapo.com/api. Autentique com o cabeçalho X-Bot-Token.

curl https://chat.doispapo.com/api/users/@me \
  -H "X-Bot-Token: SEU_TOKEN"

3. Convide para um servidor

Bots entram por convite, como pessoas. Use POST /bots/{target}/invite informando o servidor, ou compartilhe o link de convite do bot.

4. Envie a primeira mensagem

curl -X POST \
  https://chat.doispapo.com/api/channels/ID_DO_CANAL/messages \
  -H "X-Bot-Token: SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"Olá! Sou um bot do Dois Papo."}'

Autenticação

Há dois tipos de credencial. Bots usam o primeiro; o segundo existe para ferramentas que agem em nome de uma pessoa.

CabeçalhoQuem usaObtido em
X-Bot-TokenBots Configurações → Bots
X-Session-TokenSessão de usuário POST /auth/session/login

Requisições sem credencial válida recebem 401. Rotas de /auth são para contas de pessoas — um bot não precisa delas.

Eventos em tempo real

Além do REST, a plataforma emite eventos por WebSocket. É assim que o bot reage a mensagens sem ficar consultando a API repetidamente.

wss://chat.doispapo.com/ws

Após conectar, autentique enviando:

{"type":"Authenticate","token":"SEU_TOKEN"}

O servidor responde com Authenticated e, em seguida, Ready com o estado inicial. A partir daí chegam eventos como Message, MessageUpdate, ChannelCreate e ServerMemberJoin.

// mantenha a conexão viva
setInterval(() => ws.send(JSON.stringify({type:"Ping",data:Date.now()})), 30000);

Limites e boas práticas

Referência da API

Gerada a partir da especificação da própria instância, então descreve exatamente a versão que está no ar.

Bots

Criar, configurar e convidar bots.

GET/bots/@me

Fetch Owned Bots

Fetch all of the bots that you have control over.

🔑 Requer autenticação

Respostas

200

POST/bots/create

Create Bot

Create a new Revolt bot.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
namestringsim
{
  "name": "texto"
}
Respostas

200

DELETE/bots/{bot_id}

Delete Bot

Delete a bot by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
bot_idpathIdsim
Respostas

204

GET/bots/{bot_id}

Fetch Bot

Fetch details of a bot you own by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
bot_idpathIdsim
Respostas

200

PATCH/bots/{bot_id}

Edit Bot

Edit bot details by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
bot_idpathIdsim
Corpo da requisição
CampoTipoObrigatório
namestringnão
publicbooleannão
analyticsbooleannão
interactions_urlstringnão
removeFieldsBot[]não
{
  "name": "texto",
  "public": true,
  "analytics": true,
  "interactions_url": "texto",
  "remove": []
}
Respostas

200

GET/bots/{target}/invite

Fetch Public Bot

Fetch details of a public (or owned) bot by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

POST/bots/{target}/invite

Invite Bot

Invite a bot to a server or group by its id.`

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

204

Canais

Mensagens, permissões e convites de canal.

POST/channels/create

Create Group

Create a new group channel.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
namestringsim
descriptionstringnão
iconstringnão
usersstring[]não
nsfwbooleannão
{
  "name": "texto",
  "description": "texto",
  "icon": "texto",
  "users": [],
  "nsfw": true
}
Respostas

200

GET/channels/{channel_id}/webhooks

Gets all webhooks

Gets all webhooks inside the channel

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
channel_idpathIdsim
Respostas

200

POST/channels/{channel_id}/webhooks

Creates a webhook

Creates a webhook which 3rd party platforms can use to send messages

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
channel_idpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringsim
avatarstringnão
{
  "name": "texto",
  "avatar": "texto"
}
Respostas

200

DELETE/channels/{group_id}/recipients/{member_id}

Remove Member from Group

Removes a user from the group.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
group_idpathIdsim
member_idpathIdsim
Respostas

204

PUT/channels/{group_id}/recipients/{member_id}

Add Member to Group

Adds another user to the group.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
group_idpathIdsim
member_idpathIdsim
Respostas

204

DELETE/channels/{target}

Close Channel

Deletes a server channel, leaves a group or closes a group.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
leave_silentlyquerybooleannão
X-Audit-Log-Reasonheaderstringnão
Respostas

204

GET/channels/{target}

Fetch Channel

Fetch channel by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

PATCH/channels/{target}

Edit Channel

Edit a channel object by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringnão
descriptionstringnão
ownerstringnão
iconstringnão
nsfwbooleannão
archivedbooleannão
voiceanynão
slowmodeintegernão
removeFieldsChannel[]não
{
  "name": "texto",
  "description": "texto",
  "owner": "texto",
  "icon": "texto",
  "nsfw": true,
  "archived": true,
  "voice": "…",
  "slowmode": 0
}
Respostas

200

PUT/channels/{target}/ack/{message}

Acknowledge Message

Lets the server and all other clients know that we've seen this message id in this channel.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
messagepathIdsim
Respostas

204

PUT/channels/{target}/end_ring/{target_user}

Stop Ring

Stops ringing a specific user in a dm call. You must be in the call to use this endpoint, returns NotConnected otherwise. Only valid in DM/Group channels, will return NoEffect in servers. Returns NotFound if the user is not in the dm/group channel

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
target_userpathIdsim
Respostas

204

POST/channels/{target}/invites

Create Invite

Creates an invite to this channel. Channel must be a `TextChannel`.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

200

POST/channels/{target}/join_call

Join Call

Asks the voice server for a token to join the call.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Corpo da requisição
CampoTipoObrigatório
nodestringnão
force_disconnectbooleannão
recipientsstring[]não
{
  "node": "texto",
  "force_disconnect": true,
  "recipients": []
}
Respostas

200

GET/channels/{target}/members

Fetch Group Members

Retrieves all users who are part of this group. This may not return full user information if users are not friends but have mutual connections.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/channels/{target}/messages

Fetch Messages

Fetch multiple messages.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
limitqueryintegernão
beforequerystringnão
afterquerystringnão
sortqueryMessageSortnão
nearbyquerystringnão
include_usersquerybooleannão
Respostas

200

POST/channels/{target}/messages

Send Message

Sends a message to the given channel.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Idempotency-Keyheaderstringnão
Corpo da requisição
CampoTipoObrigatório
noncestringnão
contentstringnão
attachmentsstring[]não
repliesReplyIntent[]não
embedsSendableEmbed[]não
masqueradeanynão
interactionsanynão
flagsintegernão
{
  "nonce": "texto",
  "content": "texto",
  "attachments": [],
  "replies": [],
  "embeds": [],
  "masquerade": "…",
  "interactions": "…",
  "flags": 0
}
Respostas

200

DELETE/channels/{target}/messages/bulk

Bulk Delete Messages

Delete multiple messages you've sent or one you have permission to delete. This will always require `ManageMessages` permission regardless of whether you own the message or not. Messages must have been sent within the past 1 week.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
idsstring[]sim
{
  "ids": []
}
Respostas

204

DELETE/channels/{target}/messages/{msg}

Delete Message

Delete a message you've sent or one you have permission to delete.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

GET/channels/{target}/messages/{msg}

Fetch Message

Retrieves a message by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
Respostas

200

PATCH/channels/{target}/messages/{msg}

Edit Message

Edits a message that you've previously sent.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
Corpo da requisição
CampoTipoObrigatório
contentstringnão
embedsSendableEmbed[]não
{
  "content": "texto",
  "embeds": []
}
Respostas

200

DELETE/channels/{target}/messages/{msg}/pin

Unpins a message

Unpins a message by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

POST/channels/{target}/messages/{msg}/pin

Pins a message

Pins a message by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

DELETE/channels/{target}/messages/{msg}/reactions

Remove All Reactions from Message

Remove your own, someone else's or all of a given reaction. Requires `ManageMessages` permission.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
Respostas

204

DELETE/channels/{target}/messages/{msg}/reactions/{emoji}

Remove Reaction(s) to Message

Remove your own, someone else's or all of a given reaction. Requires `ManageMessages` if changing others' reactions.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
emojipathIdsim
user_idquerystringnão
remove_allquerybooleannão
Respostas

204

PUT/channels/{target}/messages/{msg}/reactions/{emoji}

Add Reaction to Message

React to a given message.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
msgpathIdsim
emojipathIdsim
Respostas

204

PUT/channels/{target}/permissions/default

Set Default Permission

Sets permissions for the default role in this channel. Channel must be a `Group` or `TextChannel`.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

200

PUT/channels/{target}/permissions/{role_id}

Set Role Permission

Sets permissions for the specified role in this channel. Channel must be a `TextChannel`.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
role_idpathstringsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
permissionsanysim
{
  "permissions": "…"
}
Respostas

200

POST/channels/{target}/search

Search for Messages

This route searches for messages within the given parameters.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Corpo da requisição
CampoTipoObrigatório
querystringnão
pinnedbooleannão
limitintegernão
beforestringnão
afterstringnão
sortanynão
include_usersbooleannão
{
  "query": "texto",
  "pinned": true,
  "limit": 0,
  "before": "texto",
  "after": "texto",
  "sort": "…",
  "include_users": true
}
Respostas

200

Servidores

Comunidades, membros, cargos e emojis.

POST/servers/create

Create Server

Create a new server.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
namestringsim
descriptionstringnão
nsfwbooleannão
{
  "name": "texto",
  "description": "texto",
  "nsfw": true
}
Respostas

200

DELETE/servers/{server_id}/members/{member_id}

Kick Member

Removes a member from the server.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
server_idpathIdsim
member_idpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

GET/servers/{server_id}/members/{member_id}

Fetch Member

Retrieve a member.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
server_idpathIdsim
member_idpathIdsim
rolesquerybooleannão
Respostas

200

PATCH/servers/{server_id}/members/{member_id}

Edit Member

Edit a member by their id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
server_idpathIdsim
member_idpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
nicknamestringnão
pronounsstringnão
avatarstringnão
rolesstring[]não
timeoutanynão
can_publishbooleannão
can_receivebooleannão
voice_channelstringnão
removeFieldsMember[]não
{
  "nickname": "texto",
  "pronouns": "texto",
  "avatar": "texto",
  "roles": [],
  "timeout": "…",
  "can_publish": true,
  "can_receive": true,
  "voice_channel": "texto"
}
Respostas

200

DELETE/servers/{server}/bans/{target}

Unban user

Remove a user's ban.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
serverpathIdsim
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

PUT/servers/{server}/bans/{target}

Ban User

Ban a user by their id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
serverpathIdsim
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
reasonstringnão
delete_message_secondsintegernão
{
  "reason": "texto",
  "delete_message_seconds": 0
}
Respostas

200

POST/servers/{server}/channels

Create Channel

Create a new Text or Voice channel.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
serverpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
typeanynão
namestringsim
descriptionstringnão
nsfwbooleannão
voiceanynão
{
  "type": "…",
  "name": "texto",
  "description": "texto",
  "nsfw": true,
  "voice": "…"
}
Respostas

200

DELETE/servers/{target}

Delete / Leave Server

Deletes a server if owner otherwise leaves.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
leave_silentlyquerybooleannão
Respostas

204

GET/servers/{target}

Fetch Server

Fetch a server by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
include_channelsquerybooleannão
Respostas

200

PATCH/servers/{target}

Edit Server

Edit a server by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringnão
descriptionstringnão
iconstringnão
bannerstringnão
categoriesCategory[]não
system_messagesanynão
flagsintegernão
discoverablebooleannão
analyticsbooleannão
ownerstringnão
removeFieldsServer[]não
{
  "name": "texto",
  "description": "texto",
  "icon": "texto",
  "banner": "texto",
  "categories": [],
  "system_messages": "…",
  "flags": 0,
  "discoverable": true
}
Respostas

200

PUT/servers/{target}/ack

Mark Server As Read

Mark all channels in a server as read.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

204

GET/servers/{target}/audit_logs

Audit Log Query

Queries a server's audit logs.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
userquerystringnão
targetquerystringnão
typequerystring[]não
beforequerystringnão
afterquerystringnão
limitqueryintegernão
Respostas

200

GET/servers/{target}/bans

Fetch Bans

Fetch all bans on a server.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/servers/{target}/emojis

Fetch Server Emoji

Fetch all emoji on a server.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/servers/{target}/invites

Fetch Invites

Fetch all server invites.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/servers/{target}/members

Fetch Members

Fetch all server members.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
exclude_offlinequerybooleannão
Respostas

200

GET/servers/{target}/members_experimental_query

Query members by name

Query members by a given name, this API is not stable and will be removed in the future.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
queryquerystringsim
experimental_apiquerybooleansim
Respostas

200

PUT/servers/{target}/permissions/default

Set Default Permission

Sets permissions for the default role in this server.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
permissionsintegersim
{
  "permissions": 0
}
Respostas

200

PUT/servers/{target}/permissions/{role_id}

Set Role Permission

Sets permissions for the specified role in the server.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
role_idpathstringsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
permissionsanysim
{
  "permissions": "…"
}
Respostas

200

POST/servers/{target}/roles

Create Role

Creates a new server role.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringsim
rankintegernão
{
  "name": "texto",
  "rank": 0
}
Respostas

200

PATCH/servers/{target}/roles/ranks

Edits server roles ranks

Edit's server role's ranks.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
ranksstring[]sim
{
  "ranks": []
}
Respostas

200

DELETE/servers/{target}/roles/{role_id}

Delete Role

Delete a server role by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
role_idpathstringsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

GET/servers/{target}/roles/{role_id}

Fetch Role

Fetch a role by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
role_idpathstringsim
Respostas

200

PATCH/servers/{target}/roles/{role_id}

Edit Role

Edit a role by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
role_idpathstringsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringnão
colourstringnão
hoistbooleannão
rankintegernão
iconstringnão
removeFieldsRole[]não
{
  "name": "texto",
  "colour": "texto",
  "hoist": true,
  "rank": 0,
  "icon": "texto",
  "remove": []
}
Respostas

200

Usuários

Perfis, amizades e mensagens diretas.

GET/users/@me

Fetch Self

Retrieve your user information.

🔑 Requer autenticação

Respostas

200

PATCH/users/@me/username

Change Username

Change your username.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
usernamestringsim
passwordstringsim
{
  "username": "texto",
  "password": "texto"
}
Respostas

200

GET/users/dms

Fetch Direct Message Channels

This fetches your direct messages, including any DM and group DM conversations.

🔑 Requer autenticação

Respostas

200

POST/users/friend

Send Friend Request

Send a friend request to another user.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
usernamestringsim
{
  "username": "texto"
}
Respostas

200

GET/users/{target}

Fetch User

Retrieve a user's information.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

PATCH/users/{target}

Edit User

Edit currently authenticated user.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Corpo da requisição
CampoTipoObrigatório
display_namestringnão
pronounsstringnão
avatarstringnão
statusanynão
profileanynão
badgesintegernão
flagsintegernão
removeFieldsUser[]não
{
  "display_name": "texto",
  "pronouns": "texto",
  "avatar": "texto",
  "status": "…",
  "profile": "…",
  "badges": 0,
  "flags": 0,
  "remove": []
}
Respostas

200

DELETE/users/{target}/block

Unblock User

Unblock another user by their id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

PUT/users/{target}/block

Block User

Block another user by their id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/users/{target}/default_avatar

Fetch Default Avatar

This returns a default avatar based on the given id.

ParâmetroOndeTipoObrigatório
targetpathstringsim
Respostas

200

GET/users/{target}/dm

Open Direct Message

Open a DM with another user. If the target is oneself, a saved messages channel is returned.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/users/{target}/flags

Fetch User Flags

Retrieve a user's flags.

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

DELETE/users/{target}/friend

Deny Friend Request / Remove Friend

Denies another user's friend request or removes an existing friend.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

PUT/users/{target}/friend

Accept Friend Request

Accept another user's friend request.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/users/{target}/mutual

Fetch Mutual Friends, Servers, Groups and DMs

Retrieve a list of mutual friends, servers, groups and DMs with another user.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

GET/users/{target}/profile

Fetch User Profile

Retrieve a user's profile data. Will fail if you do not have permission to access the other user's profile.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

Convites

Consultar e resgatar convites.

DELETE/invites/{target}

Delete Invite

Delete an invite by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

GET/invites/{target}

Fetch Invite

Fetch an invite by its id.

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

POST/invites/{target}

Join Invite

Join an invite by its ID

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
targetpathIdsim
Respostas

200

Autenticação

Sessões e conta. Bots não usam estas rotas.

GET/auth/account/

Fetch Account

Fetch account information from the current session.

🔑 Requer autenticação

Respostas

200

PATCH/auth/account/change/email

Change Email

Change the associated account email.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
emailstringsim
current_passwordstringsim
{
  "email": "texto",
  "current_password": "texto"
}
Respostas

204

PATCH/auth/account/change/password

Change Password

Change the current account password.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
passwordstringsim
current_passwordstringsim
{
  "password": "texto",
  "current_password": "texto"
}
Respostas

204

POST/auth/account/create

Create Account

Create a new account.

Corpo da requisição
CampoTipoObrigatório
emailstringsim
passwordstringsim
invitestringnão
captchastringnão
{
  "email": "texto",
  "password": "texto",
  "invite": "texto",
  "captcha": "texto"
}
Respostas

204

POST/auth/account/delete

Delete Account

Request to have an account deleted.

🔑 Requer autenticação

Respostas

204

PUT/auth/account/delete

Confirm Account Deletion

Schedule an account for deletion by confirming the received token.

Corpo da requisição
CampoTipoObrigatório
tokenstringsim
{
  "token": "texto"
}
Respostas

204

POST/auth/account/disable

Disable Account

Disable an account.

🔑 Requer autenticação

Respostas

204

PATCH/auth/account/reset_password

Password Reset

Confirm password reset and change the password.

Corpo da requisição
CampoTipoObrigatório
tokenstringsim
passwordstringsim
remove_sessionsbooleannão
{
  "token": "texto",
  "password": "texto",
  "remove_sessions": true
}
Respostas

204

POST/auth/account/reset_password

Send Password Reset

Send an email to reset account password.

Corpo da requisição
CampoTipoObrigatório
emailstringsim
captchastringnão
{
  "email": "texto",
  "captcha": "texto"
}
Respostas

204

POST/auth/account/reverify

Resend Verification

Resend account creation verification email.

Corpo da requisição
CampoTipoObrigatório
emailstringsim
captchastringnão
{
  "email": "texto",
  "captcha": "texto"
}
Respostas

204

POST/auth/account/verify/{code}

Verify Email

Verify an email address.

ParâmetroOndeTipoObrigatório
codepathstringsim
Respostas

200

GET/auth/mfa/

MFA Status

Fetch MFA status of an account.

🔑 Requer autenticação

Respostas

200

GET/auth/mfa/methods

Get MFA Methods

Fetch available MFA methods.

🔑 Requer autenticação

Respostas

200

PATCH/auth/mfa/recovery

Generate Recovery Codes

Re-generate recovery codes for an account.

🔑 Requer autenticação

Respostas

200

POST/auth/mfa/recovery

Fetch Recovery Codes

Fetch recovery codes for an account.

🔑 Requer autenticação

Respostas

200

PUT/auth/mfa/ticket

Create MFA ticket

Create a new MFA ticket or validate an existing one.

🔑 Requer autenticação

Respostas

200

DELETE/auth/mfa/totp

Disable TOTP 2FA

Disable TOTP 2FA for an account.

🔑 Requer autenticação

Respostas

204

POST/auth/mfa/totp

Generate TOTP Secret

Generate a new secret for TOTP.

🔑 Requer autenticação

Respostas

200

PUT/auth/mfa/totp

Enable TOTP 2FA

Generate a new secret for TOTP.

🔑 Requer autenticação

Respostas

204

DELETE/auth/session/all

Delete All Sessions

Delete all active sessions, optionally including current one.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
revoke_selfquerybooleannão
Respostas

204

GET/auth/session/all

Fetch Sessions

Fetch all sessions associated with this account.

🔑 Requer autenticação

Respostas

200

POST/auth/session/login

Login

Login to an account.

Respostas

200

POST/auth/session/logout

Logout

Delete current session.

🔑 Requer autenticação

Respostas

204

DELETE/auth/session/{id}

Revoke Session

Delete a specific active session.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
idpathstringsim
Respostas

204

PATCH/auth/session/{id}

Edit Session

Edit current session information.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
idpathstringsim
Corpo da requisição
CampoTipoObrigatório
friendly_namestringsim
{
  "friendly_name": "texto"
}
Respostas

200

Sincronização

Configurações e estado de leitura.

POST/sync/settings/fetch

Fetch Settings

Fetch settings from server filtered by keys. This will return an object with the requested keys, each value is a tuple of `(timestamp, value)`, the value is the previously uploaded data.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
keysstring[]sim
{
  "keys": []
}
Respostas

200

POST/sync/settings/set

Set Settings

Upload data to save to settings.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
timestampqueryintegernão
Respostas

204

GET/sync/unreads

Fetch Unreads

Fetch information about unread state on channels.

🔑 Requer autenticação

Respostas

200

Notificações

Registro para push.

POST/push/subscribe

Push Subscribe

Create a new Web Push subscription. If an existing subscription exists on this session, it will be removed.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
endpointstringsim
p256dhstringsim
authstringsim
{
  "endpoint": "texto",
  "p256dh": "texto",
  "auth": "texto"
}
Respostas

204

POST/push/unsubscribe

Unsubscribe

Remove the Web Push subscription associated with the current session.

🔑 Requer autenticação

Respostas

204

Integração

Primeiro acesso da conta.

POST/onboard/complete

Complete Onboarding

This sets a new username, completes onboarding and allows a user to start using Revolt.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
usernamestringsim
{
  "username": "texto"
}
Respostas

200

GET/onboard/hello

Check Onboarding Status

This will tell you whether the current account requires onboarding or whether you can continue to send requests as usual. You may skip calling this if you're restoring an existing session.

🔑 Requer autenticação

Respostas

200

Segurança

Denúncias.

POST/safety/report

Report Content

Report a piece of content to the moderation team.

🔑 Requer autenticação

Corpo da requisição
CampoTipoObrigatório
contentanysim
additional_contextstringnão
{
  "content": "…",
  "additional_context": "texto"
}
Respostas

204

Emojis

Emojis personalizados.

DELETE/custom/emoji/{emoji_id}

Delete Emoji

Delete an emoji by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
emoji_idpathIdsim
X-Audit-Log-Reasonheaderstringnão
Respostas

204

GET/custom/emoji/{emoji_id}

Fetch Emoji

Fetch an emoji by its id.

ParâmetroOndeTipoObrigatório
emoji_idpathIdsim
Respostas

200

PATCH/custom/emoji/{emoji_id}

Edit Emoji

Edit an emoji by its id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
emoji_idpathIdsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringnão
{
  "name": "texto"
}
Respostas

200

PUT/custom/emoji/{emoji_id}

Create New Emoji

Create an emoji by its Autumn upload id.

🔑 Requer autenticação

ParâmetroOndeTipoObrigatório
emoji_idpathstringsim
X-Audit-Log-Reasonheaderstringnão
Corpo da requisição
CampoTipoObrigatório
namestringsim
parentanysim
nsfwbooleannão
{
  "name": "texto",
  "parent": "…",
  "nsfw": true
}
Respostas

200

Políticas

Mudanças de termos.

POST/policy/acknowledge

Acknowledge Policy Changes

Accept/acknowledge changes to platform policy.

🔑 Requer autenticação

Respostas

204