---
title: "List open URL safety findings"
method: GET
path: "/short-url/safety-incidents"
tags: ["Short URLs"]
---

# List open URL safety findings

`GET /short-url/safety-incidents`

## Request

- Base URL: `https://api.qrcodly.de/api/v1`
- URL: `https://api.qrcodly.de/api/v1/short-url/safety-incidents`
- Auth: HTTP bearer

Returns the safety findings the user has not dismissed yet, together with how many of their links are currently blocked and whether the account has already been warned. Only the flagged hostname is exposed, never the full destination URL.

## Response `200`

Default Response

- object
  - `incidents` object[], required
    - `id` string, uuid, required
    - `shortUrlId` string, uuid, nullable, required: Null when the write was refused and no link exists
    - `shortCode` string, nullable, required: Short code of the affected link, or null
    - `name` string, nullable, required: User-defined name of the affected link
    - `qrCodeId` string, uuid, nullable, required: Set when the link belongs to a dynamic QR code, which lives in the QR code list
    - `destinationHost` string, required: Hostname of the flagged destination (never the full URL)
    - `threatTypes` string, nullable, required
    - `source` 'create' | 'update' | 'duplicate' | 'recheck', required
    - `action` 'rejected' | 'blocked' | 'shadow' | 'cleared', required
    - `acknowledgedAt` string, date-time, nullable, required
    - `resolvedAt` string, date-time, nullable, required
    - `createdAt` string, date-time, required
  - `blockedCount` integer, required: Total blocked links, standalone plus QR-linked
  - `blockedStandaloneCount` integer, required: Blocked links shown in the short URL list
  - `blockedQrCodeCount` integer, required: Blocked links belonging to a dynamic QR code
  - `warningActive` boolean, required: True once the account has been warned — the next offence suspends it

## Other responses

- `401`: Unauthorized — missing or invalid Bearer token.
- `429`: Too Many Requests — rate limit exceeded. Retry after the rate limit window resets.

---

[API](https://skmtc.dev/qrcodly/apis/qrcodly-api.md) · [All operations](https://skmtc.dev/qrcodly/apis/qrcodly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qrcodly/apis/qrcodly-api/revisions/b7e95eb68866?raw)
