responses:delete scope. An erasure reaches every survey, so an app whose approving member has a role with access to selected surveys only gets 403 with AUTHZ-007-001.
Erasure runs in the background. The request returns 202 Accepted immediately with a job, which you follow until it finishes.
What gets erased
For each response, Usertick erases:- its answers, its AI analysis and the event itself,
- its status, assignees, notes, stars and corrections,
- its links to Jira or Linear issues and to contacts, and the workflow runs and webhook deliveries it caused,
- the copy of a Microsoft Teams card that showed it, and the record of which Google Sheets row it went to (the row in your spreadsheet stays),
- the in-app notifications and notification emails that quoted its notes or answers, from a mention or a Notify teammates step,
- the files the respondent sent with it.
Erase one response
404 with RSP-002-007. See Erase a response.
Erase everything one person sent
- with an answer that is exactly that address, in any case, or with that email from
identify(), - to an email survey sent to the contact with that address,
- linked to that contact,
- sent with that contact’s external id as its user id.
userId, which is the id your site passes to identify():
email or userId. A body with both or neither returns 400 with PUB-003-007, and a user id over 256 characters returns 400 with PUB-003-008. See Erase a respondent.
Usertick stores the email or user id encrypted only while the job needs it and clears it when the job ends. The job shows it masked, as in m***@example.com or user id us***71.
Follow the job
Both calls return202 with the job and a Location header that points to it:
GET /jobs/{jobId} until status is succeeded or failed. A few seconds between polls is enough.
type is responses.delete for one response and responses.erase for a respondent. Reading a job needs the same responses:delete scope, and a credential sees only its own organization’s jobs.