Admin abuse report detail
const url = 'https://api.deploybase.eu/api/v1/api/v1/admin/abuse-reports/example';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.deploybase.eu/api/v1/api/v1/admin/abuse-reports/example \ --header 'Authorization: <Authorization>'One notice plus, for each reported URL, the team and project it maps to. Custom domains and *.sites.deploybase.eu subdomains resolve; previews, function hostnames and share links come back unresolved, because no reverse index from those hostnames to a project exists and guessing would point an operator at the wrong team.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Abuse report ID
Responses
Section titled “ Responses ”OK
object
object
object
ClosedAt is set exactly when Status is terminal (a CHECK constraint enforces the pair) and starts the 12-month retention clock.
GoodFaithDeclared is the Art. 16(2)(d) declaration. Always true on a stored row, kept so the record shows the declaration was actually made rather than assumed.
HandledBy is the Zitadel subject of the admin who last moved the row. Text, not uuid: there is no users table (same reasoning as notices.created_by).
ReportedURLs are the flagged URLs, 1 to 10, deduplicated case-insensitively at submission. NEVER fetched by us — see the service’s validation comment. The admin UI renders them as plain text, never as links.
ReporterEmail is where the acknowledgement and the statement of reasons go. Personal data: it is never written to a log line.
ReporterName is optional and empty when not given: Art. 16(2)(c) requires a name only for notices that are not about certain offences, so a blank is a lawful notice.
Resolution is what we did and why, in the operator’s own words. It is the raw material for the Art. 17 statement of reasons, so it should name the acceptable-use clause that was breached, or say plainly why the notice was rejected.
ResolvedTeamID is the team the notice turned out to be about. ON DELETE SET NULL in the schema: an account erasure must neither be blocked by this record nor destroy it.
object
Resolved is false when we could not map the URL to a team without guessing. Honest rather than helpful: there is no reverse index from a preview or function hostname to a project, so pretending otherwise would send an operator to the wrong team.
Example generated
{ "data": { "category": "example", "closed_at": "example", "created_at": "example", "description": "example", "good_faith_declared": true, "handled_at": "example", "handled_by": "example", "id": "example", "reported_urls": [ "example" ], "reporter_email": "example", "reporter_name": "example", "resolution": "example", "resolved_team_id": "example", "status": "example", "url_lookups": [ { "project_id": "example", "resolved": true, "team_id": "example", "team_name": "example", "url": "example" } ] }, "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Bad Request
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Unauthorized
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Forbidden
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Not Found
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Internal Server Error
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Service Unavailable
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}