OAuth Verify / Start verification
/verify/startStarts PKCE verification for paste script and createKeyraServer. Default scope is verify. Returns verification_id + status (+ auth_request_id). HTTP 201.
Publishable client_id — Send publishable cp_* in JSON body. No secret.
Content-Type: application/json · required
app_idstringAlternate alias for client_id
client_idstringrequiredcode_challengestringrequiredcode_challenge_methodstringEnum: S256
modestringEnum: popup, redirect, auto
redirect_uristringrequiredresponse_typestringEnum: code
scopestringstatestringrequired201 Verification challenge created
auth_request_idstring (uuid)Compatibility field equal to verification_id
authorize_urlstring (uri)requiredexpires_inintegerrequiredstatusstringrequiredEnum: pending
verification_idstring (uuid)required400 Invalid request or redirect_uri
errorstringerror_descriptionstringvalidboolean401 Unknown publishable client
errorstringerror_descriptionstringvalidboolean@keyra/typescript-sdk: createVerification({...})ie.keyra:keyra-java-sdk: verification().createVerification(...)curl -X POST "https://auth.keyra.ie/verify/start" \
-H "Content-Type: application/json" \
-d '{"client_id":"cp_test_xxxxxxxx","redirect_uri":"http://localhost:3000/auth/keyra/callback","state":"state_abc123","code_challenge":"E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM","code_challenge_method":"S256","mode":"auto","scope":"verify"}'Response
{
"verification_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending",
"authorize_url": "https://get-started.keyra.ie/oauth/authorize?auth_request_id=550e8400-e29b-41d4-a716-446655440000&mode=auto&scope=verify",
"expires_in": 600,
"auth_request_id": "550e8400-e29b-41d4-a716-446655440000"
}