> For the complete documentation index, see [llms.txt](https://doc.youverify.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.youverify.co/core-concepts.md).

# Core concepts

#### Entities

An **entity** is any subject your team needs to track, verify or monitor: an individual or a business. It is the central object; everything else references an entity.

An entity can be created from a full payload or from almost nothing. The only hard requirements are the entity type and a consent flag. For an individual, a name, phone and date of birth complete a basic profile; for a business, an incorporation name and number. The very thin case, creating an entity from **just an email**, is reserved for entities **tagged as downstream entities** (the payment-processor customer case). Entities carry an ent\_… ID and a lifecycle status (status, e.g. not\_approved/approved; profileStatus, e.g. pending).

**Two ways to add an entity**, both producing a scored, tracked record:

• **Manual**: you supply the data yourself.

• **Authoritative government data**: you create the entity from an official source (national ID or company registry). This route also dynamically retrieves data from authoritative government sources: an individual’s identity data, and for a business its UBOs into the ownership graph.

Adding an entity runs **CDD to compute a risk score** at creation (PEP, sanctions and adverse-media screening, combined per the weighted model). For a payment-processor customer with only an email, the platform scores on whatever is present and tightens as the entity is enriched. The outcome is always a **Created** entity, never an approve/reject decision.

**Working with existing entities**. Once an entity exists you do not recreate it. Search for or fetch it and continue operating: run further checks, attach activities, post transactions, open a case. Any check or activity can **reference the entity’s ID** so its result folds into the 360 rather than living as an orphaned report. Create once, reference forever.

#### Relationships

Entities fall into two groups: **Base Entities** and **Relationship Entities**. Both resolve to an Individual or a Business; the difference is whether the entity stands on its own or relates to a parent.

**Base Entities** (the subject in its own right):

• Individual: a natural person.

• Business: a legal entity, with incorporation details and an ownership graph.

**Relationship Entities** (an Individual or Business that relates to a parent, **mapped to that parent via parentId**):

• **UBO** **(Ultimate Beneficial Owner)**: a party that owns or controls a business. A UBO can itself be an **individual or a business**, mapped to the business it controls via parentId, alongside a designation and share data. This is what lets ownership chains be walked.

• **Downstream Entity**: an individual or business that belongs to a **platform** customer rather than directly to you, mapped to the platform via parentId ([see here](/the-entity-360.md#the-platform-hierarchy)). This is the canonical name for the merchants and fintechs a payment processor or BaaS monitors.

An entity can hold more than one classification at once: a business can be a Downstream Entity of a platform and have its own UBOs.

**How UBOs arrive and their state**. Dynamic UBO retrieval is part of accessing authoritative government data: the authoritative-data (premium) business route retrieves UBOs from the official registry

and appends them to Ownership, **listed but not yet verified or scored**. From there you either promote a UBO (make it its own entity and run KYC/KYB/AML so it gets verified and scored) or **initiate a data request** to the owner. Coverage is country-dependent (governed by [Get Supported Countries and Regions Endpoint](/api-reference/api-reference/entity-management/verify-entity-kyb/get-supported-countries-and-regions.md)); where dynamic retrieval is unavailable, **Add UBO** manually in the dashboard or API. Manually added UBOs follow the same lifecycle.

Keeping creation and decisioning separate is what lets you start monitoring an entity, and building its history, before any onboarding decision has been made.

Eight ideas that let you navigate the entire reference.

<table data-card-size="large" data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><h4>Entity</h4><p>Any subject you track: an <code>individual</code> or <code>business</code>. The central object. Carries an <code>ent_…</code> ID and a lifecycle status. Can be created from a full payload, or from just an email if tagged as a <strong>downstream entity</strong>.</p></td></tr><tr><td><h4>Add Entity (two routes)</h4><p><strong>Manual</strong> (you supply the data) or <strong>authoritative government data</strong> (profile populated from an official source). The authoritative route also dynamically retrieves an individual's data and/or a business's UBOs from authoritative government sources.</p></td></tr><tr><td><h4>Risk score at creation</h4><p>Adding an entity runs CDD (PEP, sanctions, adverse media) to compute an initial score from whatever data is present. Limited-data PSP customers are scored on what's available</p></td></tr><tr><td><h4>Created, not approved</h4><p>The outcome is a <strong>Created</strong> entity with a score and a 360 canvas, not an approve/reject decision. Approval runs separately as an automated AI-agent workflow.</p></td></tr><tr><td><h4>Reference, don't recreate</h4><p>Search or fetch an existing entity and keep operating on it. Any check or activity can reference the entity ID so its result tracks on the 360. Create once, reference forever.</p></td></tr><tr><td><h4>Entity types</h4><p>Four classifications: <strong>Individual</strong> and <strong>Business</strong> (base types), plus <strong>UBO</strong> and <strong>Downstream Entity</strong> (relationship types). A "payment-processor customer" is just a Downstream Entity, often created with only an email.</p></td></tr><tr><td><h4>Downstream Entity</h4><p>The merchants and fintechs a <strong>platform</strong> customer (PSP, aggregator, BaaS) monitors. A <mark style="color:$primary;"><code>business</code></mark>/<mark style="color:$primary;"><code>individual</code></mark> entity linked to its platform via <mark style="color:$primary;"><code>parentId</code></mark>. UI alias: "Sub-merchant" (card) or "Partner" (BaaS).</p></td></tr><tr><td><h4>Platform hierarchy (recursive)</h4><p>"Platform" is a role, not a level. Via <mark style="color:$primary;"><code>parentId</code></mark> the model nests to any depth: processor → fintech → that fintech's own customers. The 360 rolls up the chain.</p></td></tr><tr><td><h4>UBO lifecycle</h4><p>Authoritative business data lists UBOs under Ownership <strong>unverified and unscored</strong>. Pick one to process (promote to its own entity) or send it a data request. Dynamic retrieval is country-dependent; where unsupported, use <strong>Add UBO</strong> (dashboard or API).</p></td></tr><tr><td><h4>Two meters: entities + tokens</h4><p>Plans include a prepaid allowance of <strong>new entities per month</strong> plus a <strong>Vyra AI token allocation</strong>. Add Entity is the primary meter; reading and monitoring existing entities don't cost more. Overage applies past either bundle. <a href="/pages/w61mAHYHYipUgM5DP7vn">See plans →</a></p></td></tr><tr><td><h4>Verification</h4><p>A check run on an entity under one of three frameworks: KYC, KYB or AML. Results attach to the entity instead of becoming a loose report.</p></td></tr><tr><td><h4>Signals (umbrella)</h4><p>The monitoring umbrella grouping <strong>Activities</strong>, <strong>Behavioural Insights</strong>, <strong>Transactions</strong>, <strong>Alerts</strong> and <strong>Cases</strong> for an entity. A signal is a detected event, pattern or trigger that warrants attention.</p></td></tr><tr><td><h4>Behavioural insights</h4><p>Patterns in <em>how</em> an entity behaves over time (transaction rhythm, channel, counterparties, device/access). The "user behaviours" layer of the 360.</p></td></tr><tr><td><h4>Fraud Traps</h4><p>The detection models and rules that decide when a signal or alert fires: velocity, structuring, mismatch, watchlist proximity, behavioural anomalies.</p></td></tr><tr><td><h4>AI Agents (Vyra)</h4><p>Deployable AI workflows that automate compliance end to end: Customer Onboarding and Transaction Monitoring agents built from verification templates. The <strong>entity approval workflow</strong> is itself an AI agent.</p></td></tr><tr><td><h4>Activity</h4><p>Any recorded interaction: a verification attempt, a case update, an entity change. Forms a traceable, immutable audit log.</p></td></tr><tr><td><h4>Case</h4><p>An investigation opened on an entity, with an AI-generated summary. The human-in-the-loop layer over signals and alerts.</p></td></tr><tr><td><h4>Affiliates</h4><p>The ownership graph (<mark style="color:$primary;"><code>ubos[]</code></mark>) and relationships between entities. Lets investigators see a subject and its affiliates together.</p></td></tr><tr><td><h4>Progressive enrichment</h4><p>Create early, learn continuously. Each verification, transaction and signal adds to the record; <mark style="color:$primary;"><code>potentialEntityMatch</code></mark> hints at duplicates to consolidate.</p></td></tr></tbody></table>

### The response envelope

Every response shares one shape, so you write your client once.

```json
{
  "success": true,
  "status_code": 200,
  "message": "Human-readable outcome.",
  "data": { },
  "links": []
}
```

#### Entity lifecycle

An entity moves through clearly separated stages:&#x20;

1. **Created**: added(manually or from authoritative data)and scored at creation. This is a tracking state, not an approval.&#x20;
2. **Enriched**: as more data and checks arrive (referencing the entity ID), the profile fills out and the score tightens.
3. **Decisioned**: approve / reject / restrict / escalate, driven by an **AI-agent workflow** ([see here](/monitoring-model.md#workflows-and-decisions)), escalating edge cases to a human or a case.&#x20;
4. **Monitored**: the entity stays live; re-screening and transaction monitoring continue, raising signals and alerts over time.

Keeping creation and decisioning separate is what lets you start monitoring an entity, and building its history, before any onboarding decision has been made.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.youverify.co/core-concepts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
