Skip to main content
The Users Creation module lets you manage the complete onboarding lifecycle of users through your API integration with Vita. This covers creating users (natural persons or businesses), capturing required documentation, triggering identity verification (KYC for individuals, KYB for businesses), and tracking the verification status throughout its lifecycle. The module is designed to support secure, standardized, regulation-compliant onboarding directly from your application, with full control over when verification is initiated and full visibility into its outcome.

What you can do

Create users

Natural persons or businesses, in a single call or progressively.

Capture data progressively

Initial registration, documentation uploads, identity verification, regulatory compliance.

Patch existing users

Complete missing fields before submitting for verification.

Trigger verification on demand

Submit for verification via the submit_for_verification field.

Query verification status

Check any user’s status at any time.

Receive webhooks

Automatic notifications when verification status changes.

User types

Vita Business supports two user categories, each with its own verification flow: Both types must complete their respective verification flow before being authorized to operate on the platform.

User lifecycle

A user created via the API moves through the following statuses, tracked in the profile_verification field:

Lifecycle flow

1

Creation

A new user is created with category set to natural or business.
2

Initial state

If required information is missing, the user enters the initial status. They can be updated via PATCH to add the missing fields.
3

Submission

When all required fields are present, your integration triggers verification by sending submit_for_verification: true. This moves the user to started.
4

Resolution

Once Vita’s team reviews the user, the status moves to accepted, verification_required, or rejected.
At any point in the lifecycle, your integration can query the user’s status to determine whether they’re approved, rejected, or pending information.

How submit_for_verification works

  • Set submit_for_verification: true in the user creation (POST) or update (PATCH) request to instruct the API to initiate verification once all required fields are present.
  • If the field is omitted or set to false, the user is created (or updated) without starting verification, so you can build the profile progressively across multiple requests.
  • Once verification has been triggered and the user is in started, accepted, or rejected, this flag has no further effect.

When to use it

Progressive onboarding (PATCH flow)

For integrations that collect user information across multiple steps (e.g., a multi-screen onboarding flow), Vita supports progressive updates via PATCH. You can build the user’s profile incrementally without triggering verification until you’re ready.
1

Create the user with initial data

2

Patch as additional fields arrive

3

Trigger verification when complete

This flow gives you full flexibility to design the onboarding experience while ensuring verification only runs when the user’s data is complete.

Data model

Represents the legal and commercial information of the company linked to the user — general company data, activity, physical address, legal documentation, and legal representative details.
Ultimate Beneficial Owners — natural persons who own or control a significant percentage of the company.
Include this object only if accept_pep is true. It identifies the person and their relation to relevant public activities.

Permitted values for specific fields

Use the exact values below when creating or updating users.

Verification status notification

Whenever a user changes their profile_verification status, Vita Wallet sends an HTTP POST notification to the url_notify_kyc URL you provided. The merchant must validate the notification by calculating the signature from the request body and headers (Authorization, X-Date, X-Login, X-Trans-Key).
Vita Business sends the notification every 10 minutes for up to 3 days, until it receives a 200 response from the merchant’s server.

Security (important)

Requests to the Users module are signed using HMAC-SHA256, the same algorithm used by the rest of the Vita API — but with one critical difference.
Do not sort or concatenate the request body keys. For the Users module, the request body must be used exactly as a JSON string when generating the HMAC signature.
All other aspects of the signature process remain the same (x-login, x-date, API keys, Authorization header format).
Use the request body exactly as shown above (as a JSON string) when generating the signature. This requirement applies only to the Users module — it’s the only part of the API that must be signed this way.