Remover assinante
Remove um assinante de uma operação em andamento, com justificativa registrada na trilha de auditoria.
Remove um assinante de uma operação em andamento. O membro é marcado como cancelado (deixa de poder assinar e sai da fila), a justificativa fica registrada na trilha de auditoria e, em operações sequenciais, a ordem é reajustada automaticamente — se a vez era dele e ninguém mais dividia a posição, o próximo grupo da fila é notificado.
Quem já assinou não pode ser removido — a assinatura faz parte do registro da operação. Também não é possível remover o único membro restante da operação (quem já assinou conta nesse total); nesse caso, cancele a operação.
Endpoint
Authorization
ApiKey Token de integracao. Envie no header X-Api-Key.
In: header
Path Parameters
int64int64Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X DELETE "https://example.com/api/v2/operation/0/members/0" \ -H "Content-Type: application/json" \ -d '{}'{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}O {operationId} na URL é o ID da operação — o campo id retornado em
Criar operação.
Como obter o memberId
O ID de cada membro vem no retorno da criação da operação
(members[].id). Se você não guardou, liste os membros da operação:
Authorization
ApiKey Token de integracao. Envie no header X-Api-Key.
In: header
Path Parameters
int64Header Parameters
Response Body
curl -X GET "https://example.com/api/v2/operation/0/members"{
"data": [
{
"id": 99201,
"name": "Claudio Nogueira",
"email": "[email protected]",
"role": "Contratante",
"status": "InProgress",
"signedAt": null
},
{
"id": 99202,
"name": "Maria Santos",
"email": "[email protected]",
"role": "Testemunha",
"status": "Completed",
"signedAt": "2026-06-09T18:42:10"
}
]
}Membros já removidos não aparecem na lista; observadores da operação aparecem,
no mesmo formato. status pode ser Create, InProgress ou Completed —
apenas membros não Completed podem ser removidos. signedAt é preenchido
apenas quando status é Completed.
Body
{
"reason": "Participante substituído por mudança de responsável."
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
reason | string | Sim | Justificativa da remoção. Fica registrada na trilha de auditoria da operação. |
Exemplo
curl -X DELETE "https://api.forsign.digital/api/v2/operation/4821/members/99201" \
-H "X-Api-Key: $FORSIGN_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "reason": "Participante substituído por mudança de responsável." }'await fetch(`https://api.forsign.digital/api/v2/operation/${operationId}/members/${memberId}`, {
method: 'DELETE',
headers: {
'X-Api-Key': apiKey,
'Content-Type': 'application/json',
},
body: JSON.stringify({ reason: 'Participante substituído por mudança de responsável.' }),
});var req = new HttpRequestMessage(HttpMethod.Delete,
$"/api/v2/operation/{operationId}/members/{memberId}")
{
Content = JsonContent.Create(new { reason = "Participante substituído por mudança de responsável." }),
};
var resp = await http.SendAsync(req);
resp.EnsureSuccessStatusCode();Resposta de sucesso (204)
204 No Content — corpo vazio. O membro foi removido.
Comportamento e gotchas
- A remoção não apaga o histórico: o membro fica como cancelado na operação, com a justificativa na trilha de auditoria.
- Ordem sequencial se reajusta sozinha: se a posição do removido ficou vazia, as posições seguintes são compactadas. Se a vez era dele, o próximo grupo da fila é notificado automaticamente.
- Remover um membro já notificado é permitido — equivale a ele "abrir mão da vez". O link de assinatura dele deixa de funcionar.
- A operação pode finalizar: se o removido era o único pendente e a operação
está em finalização automática, a remoção dispara a conclusão — com os
webhooks correspondentes (
CompletedOperation,DocumentReady), se configurados.
Erros comuns
| Status | Causa | Como resolver |
|---|---|---|
400 | reason vazio ou ausente | Envie uma justificativa não vazia no corpo. |
400 | O membro já assinou (Completed) | Assinaturas concluídas são definitivas — não há remoção. |
400 | É o único membro restante da operação | Cancele a operação em vez de remover o membro. |
401 | API key ausente ou inválida | Confira o header X-Api-Key. |
404 | Operação ou membro não encontrado | Confira operationId e memberId (liste os membros, acima). |
409 | Operação não está em andamento | Operações concluídas/canceladas/expiradas não podem ser alteradas. |
Fluxo típico: substituir um assinante
GET /api/v2/operation/{operationId}/members— localize omemberIddo assinante a substituir e confira que ostatusdele não éCompleted.POST /api/v2/operation/{operationId}/members— adicione o substituto (se a operação for sequencial, use oorderPositionadequado).DELETE /api/v2/operation/{operationId}/members/{memberId}— remova o antigo com a justificativa.