veil

Read the OpenID configuration

The discovery document of Sign in with Veil: issuer https://veil.rip, the endpoints, scopes, algorithms and methods.

GET/.well-known/openid-configuration
Access
Public; API key optional
Client
Browser fetch supported

Request examples#

cURL
curl -fsS 'https://veil.rip/.well-known/openid-configuration'

Response#

HTTP 200application/json

The provider's metadata (OpenID Connect Discovery 1.0).

FieldTypeMeaning
issuerstringhttps://veil.rip. Compare it with the iss of every token and of the authorization response.
authorization_endpointstring/oidc/authorize.
token_endpointstring/oidc/token.
userinfo_endpointstring/oidc/userinfo.
jwks_uristring/oidc/jwks.
registration_endpointstring/oidc/register.
end_session_endpointstring/oidc/logout.
revocation_endpointstring/oidc/revoke.
introspection_endpointstring/oidc/introspect.
scopes_supportedarray<string>openid profile veil veil:accounts veil:orgs veil:keys.
id_token_signing_alg_values_supportedarray<string>EdDSA and ES256.
code_challenge_methods_supportedarray<string>S256 only: PKCE is required for every app.
authorization_response_iss_parameter_supportedbooleantrue: the response carries iss (RFC 9207).

Response headers#

HeaderValueMeaning
Cache-Controlpublic, max-age=3600One hour.

Usage notes#

  • Cache-Control: public, max-age=3600. CORS allows any origin.
  • No API key is read here: an Authorization header on /oidc/ is the app's or the person's own credential.

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

HTTPCodeMeaning and next step
404not_found

The requested card, key, alias, code or resource was not found.

Check the identifier. Temporary codes and previews may already have expired or been used.

Shared request errors
HTTPCodeMeaning and next step
429rate_limited

An anonymous, signed-request or API-key allowance was exceeded.

Wait at least Retry-After seconds. Share a queue and retry budget across your workers.

500internal_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.

503busy

The application has reached a temporary concurrency or database limit.

Wait Retry-After seconds and retry with bounded backoff.