Minha proteção (public)
Who receives the alerts (name and tie, never an e-mail), what they receive, what nobody sees, since when, and what happens to the selfie and the voice. token is either the consent link token or the stop link token (protectionLink, returned when consent is given). Either works while its consent is the seat's current one. Limits: reading RATE_CONSENT_READ_PER_LINK / _PER_IP (default 120 and 600 per 10 min), stopping RATE_CONSENT_WRITE_PER_LINK / _PER_IP (default 10 and 30 per hour) — shared with decline.
token*stringthe opaque token from the link
16 <= length <= 4096What is active
application/json- response
success*truetruedata*curl -X GET 'http://localhost:3000/consent-requests/stringstringstri/protection'{ "success": true, "data": { "status": "not_started", "since": "2019-08-24T14:15:22Z", "stoppedAt": "2019-08-24T14:15:22Z", "pausedUntil": "2019-08-24T14:15:22Z", "connected": true, "person": { "firstName": "string" }, "kind": "minor", "relationship": "child", "recipients": [ { "name": "string", "role": "owner", "relationship": "partner" } ], "receives": [ "string" ], "nobodySees": [ "string" ], "evidence": { "kept": true, "retentionDays": 0, "deleteAfter": "2019-08-24T14:15:22Z" }, "canStop": true }}Decline the consent request (public) POST
Closes the pending request as `declined`. The guardian is told that it happened and when (event `consent.declined`, notification `consent.declined`) — never which choice was made. A new link cannot be sent for CONSENT_RESEND_COOLDOWN_HOURS (default 24). Idempotent: declining again answers the first decline. Limits: RATE_CONSENT_WRITE_PER_LINK (default 10 per hour) and RATE_CONSENT_WRITE_PER_IP (default 30 per hour).
Stop protection (public) POST
Ends monitoring for the seat through `stopMonitoring(seat, { kind: "dependent" })`: an open-ended stop only a new consent lifts, the seat's key destroyed (stored messages and alert excerpts become unreadable), unread analysis windows dropped, imports failed, the WhatsApp session logged out. The consent becomes `revoked` by the dependent, and every guardian of the account is told the fact and the time — never a reason (event `seat.stopped { cause: "dependent" }`, notification `consent.stopped`). A new link cannot be sent for CONSENT_RESEND_COOLDOWN_HOURS. Idempotent: stopping again answers the first stop. `token` is either the consent link token or the stop link token (`protectionLink`, returned when consent is given). Either works while its consent is the seat's current one. Limits: reading RATE_CONSENT_READ_PER_LINK / _PER_IP (default 120 and 600 per 10 min), stopping RATE_CONSENT_WRITE_PER_LINK / _PER_IP (default 10 and 30 per hour) — shared with decline.
