---
title: "Get link status"
method: GET
path: "/v1/links/{id}"
tags: ["Links"]
---

# Get link status

`GET /v1/links/{id}`

## Request

- Base URL: `https://xn--s7y.xn--3ds443g`
- URL: `https://xn--s7y.xn--3ds443g/v1/links/{id}`
- Auth: none required

Public status lookup by short code. No authentication required. States: active | quarantined | disabled | blocked | expired. Destination, short_url, and short_url_ascii omitted unless state is active. Unknown/deleted codes → 404 with problem type /problems/link-not-found. User-alias lookup folds case to lowercase; system short codes remain case-sensitive as stored. No credential is required. A presented API key must be valid and include `links:read` (otherwise 403). Any other presented Bearer, including an OAuth access token, is 401 and is not treated as anonymous.

## Path parameters

- `id` string, required

## Headers

- `X-Request-Id` string

## Response `200`

Current link state. Non-active responses include type/title/code problem fields and omit destination.

- union: Active links include destination. Other states omit it.
  - LinkStatusActive
    - `id` string, required
    - `state` 'active', required
    - `created_at` string, date-time, required
    - `status_url` string, uri, required
    - `short_url` string, uri, required
    - `short_url_ascii` string, uri, required
    - `destination` string, uri, required: Absolute http or https URL for create, batch, and PATCH destinations. Scheme is lowercase http:// or https:// with no surrounding whitespace.
    - `request_id` string, required: Same value as the X-Request-Id response header: the inbound X-Request-Id if it matches [A-Za-z0-9._-]{1,128}, otherwise a fresh server-generated id.
  - LinkStatusNonActive
    - `id` string, required
    - `state` 'quarantined' | 'disabled' | 'blocked' | 'expired', required
    - `created_at` string, date-time, required
    - `status_url` string, uri, required
    - `expired_at` string, date-time
    - `type` string, uri
    - `title` string
    - `code` string
    - `request_id` string, required: Same value as the X-Request-Id response header: the inbound X-Request-Id if it matches [A-Za-z0-9._-]{1,128}, otherwise a fresh server-generated id.

## Other responses

- `404`: Unknown or deleted short code (/problems/link-not-found)

---

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