Entity types
Entity statuses
Entities move through a defined lifecycle from creation to activation.The Entity object
person or business, and person_meta or business_meta) alongside entity in create and retrieve responses.
Creating a business entity
Onboard a business entity in three steps: 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
Description of this entity’s relationship to its parent, if it’s a subsidiary or related entity. You can’t set the parent via a request field: it’s always the authenticating entity. See Managing child entities.
Person object
Theperson 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
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
Optional business documents
Required per officer
BVN and NIN are required for Nigerian nationals. SSN is required for U.S. nationals.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.
object
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.pending. Nuvion’s compliance team reviews the submission and updates the status to approved or rejected.
Creating an individual entity
Individual entities represent natural persons on your platform. Onboard one in the same three steps as a business entity: create the entity, upload identity documents, then submit for verification.Step 1: Create the entity
entity_id and a person_id. You 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
Description of this individual’s relationship to its parent, if associated with a business entity. 1–100 characters. You can’t set the parent via a request field: it’s always the authenticating entity. See Managing child entities.
Step 2: Upload documents
Upload two required documents for the individual viaPOST /documents. Documents must be base64-encoded.
Step 3: Submit for verification
Once both documents are uploaded, submit the entity for review.pending. Listen for the entities.updated webhook to be notified when verification completes.
Webhooks
Nuvion firesentities.created when a new entity is created, and entities.updated whenever its state changes afterward, for example when status moves from pending to approved. Subscribe to these to keep your platform in sync without polling. See Event types for full payload schemas.
Managing child entities
Creating an entity via the API with another entity’s API keys establishes a parent-child relationship: the authenticating entity becomes the parent, and the new entity becomes the child. To act on behalf of a child entity using the parent’s API keys, pass the child’sentity_id on every request:
- POST, PUT, PATCH: include
entity_idin the request body. - GET: append
entity_idas a query parameter.
Omitting
entity_id evaluates the request against the authenticating (parent) entity, not the child. Referencing a child’s resource IDs (account_id, counterparty_id, payment_detail_id) without the child’s entity_id fails, because Nuvion validates those resources against the parent entity, where they don’t exist. This is a common cause of unexpected 404 errors.Example
Say a parent entity has already onboarded a child entity,01HP3MMTGM973EHJMA9K4F4CJK. Using the parent’s API key, create an account for that child by passing its entity_id:
01HP4NHTE7HHYDD4MHVT0ZZ3CH) now belongs to the child entity, not the parent. Fetching it with the parent’s API key but no entity_id fails, because Nuvion looks for the account under the parent (the authenticating entity), where it doesn’t exist:
404 Not Found:
entity_id resolves it:
entity_id consistently across every request in a workflow, and make sure every resource ID belongs to that same entity.
Webhooks follow the same hierarchy: a child entity without its own webhook has its events delivered to its parent’s webhook instead. See Child entities for details.
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.
