---
title: "Add an entry to the block list"
method: POST
path: "/v1/block-list"
tags: ["lists"]
---

# Add an entry to the block list

`POST /v1/block-list`

## Request

- Base URL: `https://api.skanqrcode.com`
- URL: `https://api.skanqrcode.com/v1/block-list`
- Auth: HTTP bearer

Adds a URL, host, domain or IP to the block list. A blocked URL, host, domain or IP is always returned as `malicious` (`BLOCK_LIST_MATCH`). Adding an entry that already exists returns the existing entry. Requires a key with the `admin` scope. Available on every plan. Takes effect within about a minute.

## Request body

- AddListEntryRequest
  - `matchType` 'url' | 'host' | 'domain' | 'ip', required: What the entry matches: an exact URL, a hostname, a registrable domain (including its subdomains), or an IP address.
  - `value` string, required

## Response `200`

The entry already existed.

- ListEntry
  - `id` string, required
  - `matchType` 'url' | 'host' | 'domain' | 'ip', required: What the entry matches: an exact URL, a hostname, a registrable domain (including its subdomains), or an IP address.
  - `value` string, required: The host, domain or IP as entered. For URL entries only the registrable domain and a short hash hint are shown.
  - `createdAt` string, required: RFC 3339, UTC.

## Other responses

- `201`: The entry was created.
- `400`: The request failed validation (malformed JSON, bad field, unparseable target, or a body over 8 KB).
- `401`: The API key is missing, malformed, unknown or revoked.
- `402`: The tenant is suspended for non-payment.
- `403`: The request is not allowed: the key lacks the required scope or the account has been blocked (`forbidden`), or the plan does not include the feature (`plan_feature_unavailable`).
- `429`: The per-minute rate limit (`rate_limited`) or the monthly quota (`quota_exceeded`) was exceeded. Blocked requests are not billed. Back off for `Retry-After` seconds.
- `500`: Unexpected failure. Never contains stack traces, internal hostnames or upstream error bodies.
- `503`: Authentication is temporarily unavailable for a key that has not been seen recently. Retry shortly.

---

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