Take an invitation back
Only before it is accepted; after that it is a removal (DELETE /admin/members/{uid}). The row stays as canceled and the address can be invited again. Owner only, audited as member.invite_cancel.
BearerAuthorizationBearer <JWT>uid*string1 <= lengthThe member
application/json- response
success*truetruedata*curl -X DELETE 'http://localhost:3000/admin/members/string/invite'{ "success": true, "data": { "uid": "string", "email": "string", "role": "owner", "status": "active", "invitedAt": "string", "inviteExpiresAt": "string", "acceptedAt": "string", "removedAt": "string" }}Give an invitation another week POST
For an invitation nobody accepted, open or lapsed: it lives seven more days from now, and the resender becomes `invitedBy`. Operator invitations are not e-mailed — the invitee signs in at the backoffice with their address — so this renews the window rather than sending anything. Owner only, audited as `member.invite_resend`.
Customers, newest first GET
State only — what a conversation contains never appears here. Every filter runs on the server and `counts` covers the whole population the search, campaign and dates leave. `protected` names each live seat by FIRST NAME and age band only ("Quem é protegido"). `q` matches an account name, a member's email, the account uid, or a dependent's phone BY EQUALITY: a partial phone would let an operator sweep for numbers. A search that resolves a phone is written to the audit trail, because it reveals which family is monitored, and it is the one read that earns a row.
