Skip to main content
An entity is the foundational object in Nuvion. Everything — accounts, transactions, payouts — belongs to an entity. Before an entity can hold funds or move money, they must complete verification through Nuvion’s onboarding flow.

Entity types


Entity statuses

Entities move through a defined lifecycle from creation to activation.
An entity must be approved before it or its associated API can be used

The entity object

The full response schema is pending confirmation. The fields below reflect what is currently known. This section will be updated.
string
Unique identifier for the entity. ULID format.
string
Always entity.
string
The entity type. Either individual or business.
string
The entity’s current verification status. One of incomplete, pending, approved, rejected, suspended.
array
A list of items still required before the entity can be submitted for verification. Empty when the entity is ready to submit.
string
ISO 8601 timestamp of when the entity was created.
string
ISO 8601 timestamp of the last update to the entity.

Creating a business entity

Business entity creation is a three-step process: create the entity, upload documents, then submit for verification.

Step 1: Create the entity

Request fields

string
required
A display name for the entity. 1–255 characters.
object
required
Core business information.
object
Registered address of the business.
object
The address where the business physically operates, if different from the registered address. Same structure as address.
array
The individuals associated with the business. At least one officer is required.
object
Additional compliance and business metadata.
string
The ID of a parent entity, if this entity is a subsidiary or related entity. The parent_relationship field is set by Nuvion based on the relationship type.

Person object

The person object is used within business_officers to capture individual details.
string
required
1–100 characters.
string
required
1–100 characters.
string
Max 100 characters.
string
required
Format: YYYY-MM-DD.
string
required
Valid email address.
string
required
ISO 3166-1 alpha-2 country code. e.g. NG, GH, US.
string
required
m for male, f for female.
string
required
Phone number including country code. 10–14 characters.
string
Bank Verification Number (BVN) required for Nigerian nationals.
string
National Identity Number (NIN) required for Nigerian nationals.
string
Social Security Number (SSN) required for U.S. nationals.
object
Identity verification documents for this person.
object
Residential address of this person. Same structure as the business address object.

Step 2: Upload documents

Upload the required documents for the business and each officer. Documents must be base64-encoded. Required business documents Required per officer
BVN and NIN are required for Nigerian nationals. SSN is required for U.S. nationals.
To link a document to a specific officer, include link_to_identity with the officer’s person_id:

Request fields

string
ULID of the entity to attach the document to. Required when uploading via the API.
string
required
Base64-encoded file content. Accepted formats: PDF, JPG, JPEG, PNG, DOC, DOCX.
string
Base64-encoded back side of the document. Use for identity documents that have information on both sides.
string
required
A human-readable description of the document. 1–500 characters.
string
The document type. One of identity, proof_of_address, tax_verification, certificate_of_incorporation, memorandum_of_association.
object
Additional document metadata.
Links this document to a specific business officer. Required when uploading identity or address documents for an officer.

Step 3: Submit for verification

Once all required documents are uploaded, submit the entity for review.
The entity status moves to pending. Nuvion’s compliance team reviews the submission and updates the status to approved or rejected.
Don’t poll GET /entities/:id to check status. Listen for the entities.updated webhook event instead.

Resubmitting after rejection

If an entity is rejected, the rejection response includes the reasons. Correct the relevant information or documents and call POST /onboarding-submissions again.
The full resubmission flow is pending confirmation with engineering. This section will be updated.

Creating an individual entity

Individual entities represent natural persons on your platform. Onboarding follows the same three-step flow as business entities: create the entity, upload identity documents, then submit for verification.

Step 1: Create the entity

The response includes an entity_id and a person_id. You will need the person_id to link identity documents to this individual in Step 2.

Request fields

string
required
A display name for the entity. 1–255 characters.
object
required
Personal details for the individual.
object
Residential address of the individual.
object
Identity and address verification documents.
object
Business context for the individual, if applicable (e.g. a sole trader or freelancer).
object
Additional compliance and risk metadata.
string
The ID of a parent entity, if this individual is associated with a business entity. 26-character ULID.
string
Description of the relationship to the parent entity. 1–100 characters.

Step 2: Upload documents

Upload two required documents for the individual via POST /documents. Documents must be base64-encoded.

Step 3: Submit for verification

Once both documents are uploaded, submit the entity for review.
The entity status moves to pending. Listen for the entities.updated webhook to be notified when verification completes.

Webhooks

Nuvion emits events when entity state changes. Subscribe to these to keep your platform in sync without polling.
Full event payload schemas are pending confirmation with engineering. This section will be updated.

What’s next

Create an account

Issue a multi-currency account for an approved entity.

Entities API reference

Full endpoint documentation for creating and managing entities.

Webhooks

Set up webhook listeners for entity and document events.