Skip to main content
POST
Create an authorization

Body

application/json
targetUrl
string<uri>
required

Absolute https URL of the paid route. The hostname must be a public name (no IP literal, no single-label name such as localhost, no name ending in .localhost, .local, .internal, .home.arpa or .lan), on the default port, with no user name or password. The authorization covers this exact origin and path.

Maximum string length: 2048
method
enum<string>
required

HTTP method Selo uses to call the target.

Available options:
GET,
POST
project
string
required

Project name, 1 to 80 characters after trimming. It appears in the private report.

Required string length: 1 - 80
contact
string
required

Contact for the target owner, 3 to 200 characters after trimming. Stored, not returned.

Required string length: 3 - 200

Response

Authorization created in PENDING state.

A new authorization and the verification token to publish. The challenge stays open for one hour.

authorizationId
string
required

Authorization ID, auth_ plus 26 Crockford base32 characters.

status
enum<string>
required

PENDING: challenge issued, not yet verified. VERIFIED: Selo found the token and may test the target until expiresAt. EXPIRED: the challenge or the authorization lapsed. REVOKED: the authorization was withdrawn.

Available options:
PENDING,
VERIFIED,
EXPIRED,
REVOKED
origin
string
required

Origin of the target URL, for example https://api.example.com.

routePath
string
required

Path of the target URL, without query string.

method
enum<string>
required

HTTP method Selo uses to call the target.

Available options:
GET,
POST
verificationUrl
string
required

Where Selo looks for the token: <origin>/.well-known/selo-verification.txt.

expectedContent
string
required

The exact line to serve in the verification file: selo-verification= followed by a 43-character base64url token. Selo stores only the SHA-256 of the token.