Skip to main content
POST
/
scanner
/
api
/
v1
/
resolve-url
Resolve a QR code URL
curl --request POST \
  --url https://www.closient.com/scanner/api/v1/resolve-url \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "url": "<string>"
}
'
{
  "initial_url": "<string>",
  "final_url": "<string>",
  "hops": 1,
  "error_message": "<string>",
  "succeeded": true,
  "chain": [
    "<string>"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.closient.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

Body

application/json

Request body for following the redirect chain of a captured QR URL.

url
string
required

QR code URL to resolve. Must be http:// or https://; non-HTTP schemes are rejected with error_message populated in the response (the request itself does not 4xx — failure modes are surfaced uniformly so the UI can render a single error path).

Required string length: 1 - 2048

Response

OK

Result of following the redirect chain for a QR code URL.

initial_url
string
required

The URL submitted by the caller.

final_url
string
required

Final URL after following all redirects. Equal to initial_url when no redirects were followed and when an error short-circuited the chain (so the UI always has a URL to show alongside error_message).

hops
integer
required

Number of HTTP 3xx redirects followed before reaching the final URL. Capped at 10 — chains longer than that surface as an error_message rather than a partial result.

Required range: x >= 0
error_message
string
required

Empty on success. On failure, a human-readable description of the error (timeout, connection refused, too many redirects, malformed URL). The UI surfaces this string directly to the operator.

succeeded
boolean
required

True when error_message is empty.

chain
string[]

Ordered list of URLs visited, starting with initial_url and ending with final_url. Empty when an error short-circuited resolution before any response was received.