Open browser verification
Open a message check that runs in the reader’s browser.
/verify- Access
- Public access
- Client
- Open as a page
Parameters#
| Name | Location | Meaning |
|---|---|---|
lang | Query | en or it. English is the default. |
Request examples#
curl -fsS 'https://veil.rip/verify'A fragment can contain b with base64url of the full signature block, or u, m and s together. u is the card number; m is base64url of the message’s UTF-8 bytes; s is base64url of the signature bytes. Omit base64 padding.
https://veil.rip/verify#b=BASE64URL_BLOCK
https://veil.rip/verify#u=1&m=BASE64URL_MESSAGE&s=BASE64URL_SIGNATUREResponse#
A page that accepts pasted signature blocks and fragment links. Data after # is not sent to the server.
Response headers#
| Header | Value | Meaning |
|---|---|---|
Content-Type | text/html | Use the declared media type before choosing a parser. |
Date | HTTP date | Server time. Compare it with your clock when signing requests. |
Retry-After | integer seconds, on rate_limited or busy | Wait at least this long before retrying. Other 429/503 codes do not necessarily include it. |
Usage notes#
- The page’s sharing controls produce supported fragment links. A message sent to the API or a /v/ preview URL reaches the server.
Errors#
API errors return an error object. Use error.code for program logic; error.message is English text for people and can change. Response and error guide
Shared request errors
| HTTP | Code | Meaning and next step |
|---|---|---|
| 429 | rate_limited | An anonymous, signed-request or API-key allowance was exceeded. Wait at least |
| 500 | internal_error | An unexpected server error occurred. Internal details are not returned. Retry reads with bounded backoff. Check write results before sending a new signed operation. |
| 503 | busy | The application has reached a temporary concurrency or database limit. Wait |