Go to developer

OAuth Verify / Start verification

Start verification

POST/verify/start

Starts PKCE verification for paste script and createKeyraServer. Default scope is verify. Returns verification_id + status (+ auth_request_id). HTTP 201.

Authentication

BROWSER OK

Publishable client_idSend publishable cp_* in JSON body. No secret.

Request

Request body

Content-Type: application/json · required

  • app_idstring

    Alternate alias for client_id

  • client_idstringrequired
  • code_challengestringrequired
  • code_challenge_methodstring

    Enum: S256

  • modestring

    Enum: popup, redirect, auto

  • redirect_uristringrequired
  • response_typestring

    Enum: code

  • scopestring
  • statestringrequired

Response

201 Verification challenge created

  • auth_request_idstring (uuid)

    Compatibility field equal to verification_id

  • authorize_urlstring (uri)required
  • expires_inintegerrequired
  • statusstringrequired

    Enum: pending

  • verification_idstring (uuid)required

400 Invalid request or redirect_uri

  • errorstring
  • error_descriptionstring
  • validboolean

401 Unknown publishable client

  • errorstring
  • error_descriptionstring
  • validboolean

SDK equivalent

Examples

Bash
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

response.jsonJSON
{
  "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"
}