Skip to content

Admin abuse report queue

GET
/api/v1/admin/abuse-reports
curl --request GET \
--url https://api.deploybase.eu/api/v1/api/v1/admin/abuse-reports \
--header 'Authorization: <Authorization>'

Notices submitted through the public /report-abuse channel (DSA Art. 16), newest first. Defaults to the open queue (new and reviewing). Reported URLs are returned as plain strings and must be rendered as text, never as links; deploybase never fetches them.

status
string

New, reviewing, actioned, rejected, or open (default open)

page
integer

Page number (default 1)

page_size
integer

Page size, 1-100 (default 20)

OK

Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
page
integer
page_size
integer
reports
Array<object>
object
category
string
closed_at

ClosedAt is set exactly when Status is terminal (a CHECK constraint enforces the pair) and starts the 12-month retention clock.

string
created_at
string
description
string
good_faith_declared

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.

boolean
handled_at
string
handled_by

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).

string
id
string
reported_urls

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.

Array<string>
reporter_email

ReporterEmail is where the acknowledgement and the statement of reasons go. Personal data: it is never written to a log line.

string
reporter_name

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.

string
resolution

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.

string
resolved_team_id

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.

string
status
string
total
integer
Example generated
{
"data": {
"page": 1,
"page_size": 1,
"reports": [
{
"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"
}
],
"total": 1
},
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Bad Request

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Unauthorized

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Forbidden

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Internal Server Error

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Service Unavailable

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}