Convites
Rotas para gerenciar convites de organização. As rotas em /v1/invitations agem em nome do usuário autenticado, que é quem recebeu o convite. As rotas em /v1/organizations/{orgId}/members/invitations são da organização que convidou. Para criar um convite, use Convidar membro.
Todo convite vale por 7 dias a partir da criação ou do reenvio. Depois disso ele não pode mais ser aceito nem recusado, mesmo que continue aparecendo com status PENDING. Confira sempre o campo expiresAt.
Listar convites pendentes (usuário)
Retorna os convites com status PENDING enviados para o e-mail do usuário autenticado.
Requisição
GET /v1/invitations/pending
URL completa: https://api.tapsign.com.br/v1/invitations/pending
Headers
| Header | Valor |
|---|---|
Authorization | Bearer {token} |
Exemplo de requisição
curl -X GET https://api.tapsign.com.br/v1/invitations/pending \
-H "Authorization: Bearer {token}"
Resposta
Status: 200 OK
A resposta é uma lista simples (array), sem paginação. Ela pode incluir convites com expiresAt já vencido.
[
{
"id": 15,
"email": "[email protected]",
"role": "MEMBER",
"token": "3f6c2a1e-8b7d-4c1a-9e2f-5d4b3a2c1b0a",
"status": "PENDING",
"organizationName": "Empresa Exemplo LTDA",
"inviterName": "Joao Silva",
"expiresAt": "2026-09-19T14:30:00Z",
"createdAt": "2026-09-12T14:30:00Z"
}
]
Campos do convite
| Campo | Tipo | Descrição |
|---|---|---|
id | integer | ID do convite |
email | string | E-mail convidado |
role | string | Papel que o convidado terá: ADMIN, MEMBER ou VIEWER |
token | string | Token (UUID) do convite, usado nas rotas desta página |
status | string | Status do convite (veja a tabela no fim da página) |
organizationName | string | Nome da organização |
inviterName | string | Nome de quem convidou |
expiresAt | string | Data de expiração (ISO 8601, UTC) |
createdAt | string | Data de criação (ISO 8601, UTC) |
Aceitar convite
Aceita o convite e torna o usuário autenticado membro da organização.
Requisição
POST /v1/invitations/{token}/accept
URL completa: https://api.tapsign.com.br/v1/invitations/{token}/accept
Headers
| Header | Valor |
|---|---|
Authorization | Bearer {token} |
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
token | string | Sim | Token do convite |
Exemplo de requisição
curl -X POST https://api.tapsign.com.br/v1/invitations/3f6c2a1e-8b7d-4c1a-9e2f-5d4b3a2c1b0a/accept \
-H "Authorization: Bearer {token}"
Resposta
Status: 200 OK
Retorna o novo membro da organização.
{
"id": 9,
"userId": 1003,
"userName": "Ana Oliveira",
"userEmail": "[email protected]",
"userImgUrl": null,
"role": "MEMBER",
"active": true,
"joinedAt": "2026-09-12T15:00:00Z"
}
- O e-mail do usuário autenticado precisa ser o mesmo do convite. Caso contrário, a API retorna
403. - O convite precisa estar
PENDINGe dentro da validade. Caso contrário,400. - Se o usuário já tem registro de membro nessa organização,
409.
Recusar convite
Recusa o convite. O status passa para DECLINED.
Requisição
POST /v1/invitations/{token}/decline
URL completa: https://api.tapsign.com.br/v1/invitations/{token}/decline
Headers
| Header | Valor |
|---|---|
Authorization | Bearer {token} |
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
token | string | Sim | Token do convite |
Exemplo de requisição
curl -X POST https://api.tapsign.com.br/v1/invitations/3f6c2a1e-8b7d-4c1a-9e2f-5d4b3a2c1b0a/decline \
-H "Authorization: Bearer {token}"
Resposta
Status: 204 No Content
O convite precisa ter sido enviado para o e-mail do usuário autenticado e estar PENDING e dentro da validade. Nos dois casos contrários, a API retorna 400.
Listar convites pendentes (organização)
Retorna, com paginação, os convites da organização com status PENDING, inclusive os que já passaram de expiresAt.
Permissão necessária: MEMBERS:READ
Requisição
GET /v1/organizations/{orgId}/members/invitations
URL completa: https://api.tapsign.com.br/v1/organizations/{orgId}/members/invitations
Headers
| Header | Valor |
|---|---|
Authorization | Bearer {token} |
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
orgId | integer | Sim | ID da organização |
Query parameters
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | integer | Não | Número da página, começando em 0. Padrão: 0 |
size | integer | Não | Itens por página. Padrão: 20. Valores acima de 200 são reduzidos para 200 |
Exemplo de requisição
curl -X GET "https://api.tapsign.com.br/v1/organizations/42/members/invitations?page=0&size=20" \
-H "Authorization: Bearer {token}"
Resposta
Status: 200 OK
{
"content": [
{
"id": 15,
"email": "[email protected]",
"role": "MEMBER",
"token": "3f6c2a1e-8b7d-4c1a-9e2f-5d4b3a2c1b0a",
"status": "PENDING",
"organizationName": "Empresa Exemplo LTDA",
"inviterName": "Joao Silva",
"expiresAt": "2026-09-19T14:30:00Z",
"createdAt": "2026-09-12T14:30:00Z"
}
],
"totalElements": 1,
"totalPages": 1,
"size": 20,
"number": 0
}
Cancelar convite
Cancela um convite da organização. O status passa para CANCELLED.
Permissão necessária: MEMBERS:INVITE
Requisição
DELETE /v1/organizations/{orgId}/members/invitations/{token}
URL completa: https://api.tapsign.com.br/v1/organizations/{orgId}/members/invitations/{token}
Headers
| Header | Valor |
|---|---|
Authorization | Bearer {token} |
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
orgId | integer | Sim | ID da organização |
token | string | Sim | Token do convite |
Exemplo de requisição
curl -X DELETE https://api.tapsign.com.br/v1/organizations/42/members/invitations/3f6c2a1e-8b7d-4c1a-9e2f-5d4b3a2c1b0a \
-H "Authorization: Bearer {token}"
Resposta
Status: 204 No Content
Se o convite pertence a outra organização, a API retorna 403.
Reenviar convite
Cancela o convite atual e cria um novo para o mesmo e-mail e papel, com novo token e nova validade de 7 dias. O e-mail de convite é enviado novamente.
Permissão necessária: MEMBERS:INVITE
Requisição
POST /v1/organizations/{orgId}/members/invitations/{token}/resend
URL completa: https://api.tapsign.com.br/v1/organizations/{orgId}/members/invitations/{token}/resend
Headers
| Header | Valor |
|---|---|
Authorization | Bearer {token} |
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
orgId | integer | Sim | ID da organização |
token | string | Sim | Token do convite atual |
Exemplo de requisição
curl -X POST https://api.tapsign.com.br/v1/organizations/42/members/invitations/3f6c2a1e-8b7d-4c1a-9e2f-5d4b3a2c1b0a/resend \
-H "Authorization: Bearer {token}"
Resposta
Status: 200 OK
Retorna o novo convite, no mesmo formato dos campos do convite.
{
"id": 16,
"email": "[email protected]",
"role": "MEMBER",
"token": "9b1d4e7a-2c3f-4a5b-8d6e-7f8091a2b3c4",
"status": "PENDING",
"organizationName": "Empresa Exemplo LTDA",
"inviterName": "Joao Silva",
"expiresAt": "2026-09-19T15:00:00Z",
"createdAt": "2026-09-12T15:00:00Z"
}
O token antigo deixa de valer (status CANCELLED). Use o token retornado nesta resposta. As regras de Convidar membro também valem aqui, como o limite de membros da organização.
Status do convite
| Status | Descrição |
|---|---|
PENDING | Aguardando resposta |
ACCEPTED | Aceito pelo convidado |
DECLINED | Recusado pelo convidado |
CANCELLED | Cancelado pela organização ou substituído por um reenvio |
EXPIRED | Existe na lista de status, mas hoje não é aplicado automaticamente. O vencimento é conferido pela data expiresAt. |
Erros comuns
| Código | Quando acontece |
|---|---|
400 | Convite não está PENDING ou já venceu (aceitar ou recusar), ou o convite não foi enviado para o e-mail do usuário (recusar) |
401 | Token ausente, inválido ou chave de API desativada |
403 | E-mail do usuário diferente do convite (aceitar), convite de outra organização (cancelar), ou falta de permissão na organização |
404 | Token de convite não encontrado |
409 | Usuário já tem registro de membro na organização (aceitar), ou limite de membros atingido (reenviar) |
O formato do corpo de erro está em Status de Erros.