Skip to navigation

Validate Corporate KYC OTP

View as Markdown

Confirms the OTP and finalises BVN verification. Returns a kyc_id — pass this into Create Corporate Sub-account.

Body

FieldTypeRequiredRules
session_idstringyes*Session id from Initiate Corporate KYC. *kyc_id is accepted as an alias when session_id is absent.
otpstringyesOTP received on the BVN phone. Not validated locally - it is sent straight to the provider.

Behaviour

  • On success a final corporate KYC record is created and the session is marked VERIFIED. The returned data.kyc_id is a new id (different from session_id) - store it and pass it to Create Corporate Sub-account.
  • A wrong, expired or missing OTP all return the same 400 BVN OTP validation failed; the session stays open, so you can call Resend Corporate KYC OTP (subject to the attempt limit) and try again. Validate calls themselves are not counted against the attempt limit.
  • Calling again after success does not return the existing kyc_id: the session is no longer awaiting an OTP and the request fails.
  • Unknown/foreign session (Session not found, 404) and already-verified session (Session not awaiting OTP, 400) are raised outside any error handler in the current build, so they are not returned as the standard JSON envelope - expect a framework default error response (or a timeout) rather than {status,message}.

Authentication

AuthorizationBearer

Access token from Generate Access Token (valid 15 minutes).

Request

This endpoint expects an object.
session_idstringOptional
otpstringOptional

Response

OK
statusstringOptional
messagestringOptional
dataobjectOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error