Skip to content

How to confirm contact details with Myaza Trust

Verify contact access with an email or phone code. Use the workflow step for capture journeys, or the standalone API when your app needs a separate contact check.

Charles Archibong

, Co-founder

· 3 min read

Myaza Trust editorial illustration: A contact you can actually reach.

Key takeaways

  • Correct, wrong and expired codes take different paths.
  • A verified challenge can be reconciled after response loss.
  • Repeated sends respect rate limits.
  • A proved contact is recorded only against its intended customer.

Verify contact access with an email or phone code. Use the workflow step for capture journeys, or the standalone API when your app needs a separate contact check.

Before you begin

  • Supported delivery channel

  • Customer access to the email address or phone

Use a team member with permission for this control. Check the organisation and environment before changing a setting. Review the current price before a paid check or ongoing enrolment. Screenshots show an example workspace or the public integration reference; they do not show a real customer or a completed paid check.

Set up and use the capability

Step 1: Choose workflow or standalone verification

For a verification journey, open your workflow and enable Email Verification, Phone Verification, or both. Use a contact-scoped workflow when you only need to refresh an existing customer’s contacts. For an independent code entry screen in your app, use the standalone contact API on your backend. Do not mix its proof with a separately billed SDK contact step.

Step 1: Workflows in the example organisation, with Sandbox selected

Dashboard example: Choose workflow or standalone verification

Step 2: Configure the workflow code step

Select Email Verification → Setup. Review Required to proceed, Code length, Max attempts and Code input style. Configure the enabled phone step separately. Keep the attempt limit and expiry recovery clear to customers. Review contact-specific rules such as disposable-email findings, then save and publish the workflow before creating new sessions.

Dashboard example: Configure the workflow code step

Dashboard example: Configure the workflow code step

Step 3: Send a standalone code from your backend

Call POST /api/kyc/contact/verifications with channel set to email or phone and the destination. Include country for national phone formats and your stable externalUserId when recording proof on an existing customer. Store the returned challenge ID, normalised destination and expiry. Sandbox does not send a real message; its delivery channel is test.

Integration reference: Send a code

Integration reference: Send a code

Step 4: Check the code against its challenge

Ask the person to enter the code, then call POST /api/kyc/contact/verifications/{id}/check with code. Use the challenge ID returned by the send call. Do not mark the contact verified when a message is sent. Check for status: verified. In Sandbox the code is all zeros at the configured length. Never expose a secret key in the code-entry screen.

Integration reference: Check the code

Integration reference: Check the code

Step 5: Handle expiry, wrong codes and uncertainty

Codes last five minutes. Show the remaining attempts for a wrong code; an exhausted or expired challenge needs a new send. After a lost check response, retrieve GET /api/kyc/contact/verifications/{id} to reconcile it. Re-checking a verified challenge does not charge again. Avoid repeated sends to the same destination; the documented hourly limits are separate from wrong-code attempts.

Integration reference: Read a challenge

Integration reference: Read a challenge

Step 6: Store the proved contact and interpret signals

Store the normalised destination and verified timestamp in your application. With a matching existing entity, externalUserId lets the service record OTP-verified evidence there; it does not create a missing entity. Use disposable, virtual and other signals only when present. Possession of a mailbox or phone is not a complete identity check. Review the current rate before using Production.

Integration reference: What the signals tell you

Integration reference: What the signals tell you

Get more from the capability

  • Keep the send, challenge and customer bound together so a code cannot verify another customer’s contact.

  • Treat unknown line type or MX evidence as unknown. Fire policies on recorded findings, not missing values.

  • Use workflow contact steps before expensive capture checks when that sequence fits your onboarding policy.

Test before relying on it

Run the supported Sandbox or simulator scenarios for this product. Where a tool is Production only, check access and scope first, then use only a permitted, deliberately reviewed Production test. A documentation screenshot or a successful page load is not an end-to-end integration test.

  • Correct, wrong and expired codes take different paths.

  • A verified challenge can be reconciled after response loss.

  • Repeated sends respect rate limits.

  • A proved contact is recorded only against its intended customer.

Troubleshooting

No Sandbox message arrived

That is expected. Sandbox uses the test delivery channel and an all-zero code.

A national phone number is invalid

Supply the correct two-letter country or use an international dial-code format.

The contact is not on a customer record

Check externalUserId and that the customer already exists in the same organisation and environment.

Open the setup and integration references

Open Workflows

Read the integration reference

Back to Solutions. Choose the capability you want to activate, then follow its own guide.

Sources

Charles Archibong

About the author

Charles Archibong

Co-founder

Charles Archibong co-founded Myaza Trust. He writes about identity verification, financial technology, and the practical work of building trusted digital services.

  • Myaza Trust editorial illustration: Know the company. Check who controls it.

    Identity Verification

    How to verify a business with Myaza Trust

    Verify a business against a supported registry and choose the additional evidence your onboarding policy needs. Company existence and authority to represent it are different questions.

Build your product.We'll handle the rest.

Identity and compliance, end to end, built to global standards, priced for founders.