An error is always:
{ "error" : { "type" : " invalid_request_error " , "code" : " phone_invalid " , "message" : " Give the signer's Nepali mobile number, for example +9779841234567. " , "param" : " signer[phone] " } }
code is stable: build on it. message is written for a developer reading a log and may change. param names the field at fault.
Code
Status
Meaning
api_key_missing
401
No Authorization: Bearer header.
invalid_api_key
401
The key is unknown, revoked, past its roll time, or used in the other mode.
secret_key_required
403
A publishable key tried something only a secret key may do.
client_secret_invalid
401
A publishable key without the request’s client_secret, or with another request’s.
Code
Status
Meaning
parameter_missing, parameter_invalid
400
A field is missing or wrong; see param.
phone_invalid
400
Not a Nepali mobile number.
file_missing, file_invalid
400
No PDF, or a PDF that cannot be signed: over 20 MB or 300 pages, password-protected, or with scripts, actions or attached files.
resource_missing
400, 404
No such file, request or document in this mode.
certificate_application_required
400
The signer holds no certificate; include their application form with purpose: certificate_application and their identity.
signer_already_certified
400
The signer holds a certificate; leave the application form out.
signer_identity_mismatch
409
The phone number belongs to a signer with a different identity document.
signature_placement_invalid
400
The page does not exist, or the signature does not fit on it.
live_signing_unavailable
403
Live signing is not yet open. Use test mode.
Code
Status
Meaning
signing_request_unexpected_state
409
The request is already signed, declined, canceled, expired or failed.
code_incorrect
400
Wrong code; the message says how many tries are left.
code_expired
400
The code is over 10 minutes old; send another.
code_attempts_exhausted
400
Five wrong codes; the request has failed.
code_resend_too_soon
429
Wait a minute between codes.
pin_required
400
Live mode: send the signer’s eSign PIN with the code (code.requires has pin).
pin_incorrect
400
The PIN is wrong; the message says how many tries are left. Offer a PIN reset.
account_locked
423
Too many wrong PINs. The signer resets their PIN (pin-reset).
new_pin_invalid
400
A first signing’s PIN: 6 to 8 digits, not a run or a repeat.
subscriber_agreement_required
400
A first signing: send subscriber_agreement_version from the session.
code_resend_limit
429
Five codes have been sent for this request.
code_rate_limited
429
Too many codes to this number recently.
code_not_sent
502
The SMS could not be sent; try again.
signing_in_progress
409
A confirm is already signing; fetch the request in a moment.
signing_failed
500
Signing could not be completed and nothing was signed; create a new request.
Code
Status
Meaning
idempotency_key_reused
409
The Idempotency-Key was used with a different request within 24 hours.
internal_error
500
Our fault. Retry with the same Idempotency-Key; a server error is never replayed.
Every call, with its code, is listed under Signing → Logs in the console.
Code
Status
Meaning
mobile_confirmation_required
409
The customer is registered with another mobile. Send the code to /mobile-confirmation, then accept again.
mobile_in_use
409
The mobile belongs to another person’s account.
kyc_mismatch_under_review
409
Your KYC names the customer differently from their registration. NCC reviews it; nothing was changed.
certificate_suspended
409
The certificate is suspended; nothing can be signed until that ends.
certificate_application_required
409
The certificate has to be issued, and the request has no KYC to draw the application from.
signer_blocked
409
You stopped signings for this customer. Lift the block first.
signer_unknown
404
You have had no live signings with this customer.
live_mode_only
400
Certificates at Radiant exist in live mode only.
otp_incorrect, otp_attempts_exhausted
400
The customer’s confirmation code was wrong, or wrong three times.