Skip to content
Hypamoon
API docs

Start for free. Sign up without a card and you'll get a test project and a test key right away. Once your company (or, for a personal account, you) is verified, you can create a live key in the portal.

Errors

verification_required

Status
403
Type
https://hypamoon.com/docs/errors/verification_required

This needs a verification level the project does not have yet.

The first time a project uses a function with real-world effects (a phone number, outbound calls, SMS, email to other people, payments, buying a domain), this error carries function (phone, outbound, sms, email, payments or domains), missing, next_step and verify_url: a link to exactly the step in the Hypamoon portal that is still open. Nothing was done or charged. Once the user has finished it, send the same request again with the same arguments; from then on that function is real for the project.

For a number or SMS, the error can also say more: required_level names the level (number_documents for a number with a local area code, and for SMS from a personal account; company with missing: ["kvk_check"] for a national number or SMS from a business that has not passed the business register check), verification_status says where it stands (submitted, in_review or rejected), reason says why we rejected it, and missing lists what is still needed. See verification in GET /api/v1/project. When we are still reviewing, try again later; when we rejected it, fix what reason says in the Hypamoon portal under Verification.

A business gets a national number and sends SMS once it has passed a business register check (kvk_check): the user picks the company from the register under Settings, Company in the Hypamoon portal, or, if it is not listed, our team checks the registration number by hand. A personal account sends SMS and gets a number with a local area code once our team has approved its identity documents (proof of address and an ID); uploading them is not enough. next_step in the error says what to tell the user.

The company level (and personal for a personal account) also asks for two things besides a balance or a saved card. A saved card or a balance alone is not enough:

  • phone_verification: a verified phone number on the account. Verify your phone at https://app.hypamoon.com/verify-phone by calling us once from your own phone; verify_url is in the error.
  • payment_authentication: one payment confirmed with your bank. Complete card authentication by topping up at https://app.hypamoon.com/tegoed with iDEAL, or with a card that completes 3D Secure at your bank.

Until both are there, a live key, ordering a number, outbound calls, text messages and buying a domain return this error with required_level company and the missing items in missing. Test mode needs neither.

For outbound calls (POST /api/v1/calls) with a live key, required_level is full: we check by hand who the project calls and why before its assistant calls real people. Request it in the Hypamoon portal under Verification (https://app.hypamoon.com/verificatie); it cannot be requested through the API. Until it is approved, nobody is called. Test mode needs no verification: build and test with a test key and test numbers in the meantime.

With required_level company and verification_status rejected, we rejected the company behind a live project. Then every live request gets this error, on every route, and no number can be ordered; the project's live keys and OAuth connections were revoked when we rejected it. Test mode keeps working. Fix what reason says in the portal at https://app.hypamoon.com/verificatie; once the company is approved again, create a new live key (or reconnect with OAuth).