KYC and KYB entity management.
Entities represent persons or businesses on the Column platform. KYC/KYB compliance state gates what operations (transfers, account creation) are available.
Person entity lifecycle
{:ok, person} = Column.Entities.create_person(%{
first_name: "Ada",
last_name: "Lovelace",
email: "ada@example.com",
phone_number: "+14155551234",
date_of_birth: "1815-12-10",
ssn: "123-45-6789",
address: %{
line_1: "123 Main St",
city: "San Francisco",
state: "CA",
postal_code: "94102",
country_code: "US"
}
})Business entity lifecycle
{:ok, biz} = Column.Entities.create_business(%{
business_name: "Acme Corp",
ein: "12-3456789",
business_type: "corporation",
phone_number: "+14155559999",
address: %{...}
})
Summary
Functions
Create a business entity (KYB).
Submit third-party evidence for an entity (e.g. from a KYC provider).
Submit evidence with a file upload (multipart/form-data).
Create a compliance narrative for an entity.
Create a person entity (KYC).
Delete an entity.
Delete a compliance narrative.
Get an entity by ID.
Get the KYC/KYB compliance status for an entity.
Get evidence submitted for an entity.
Get additional KYC/KYB requirements for an entity.
Link an associated person to a business entity.
List all entities. Supports cursor pagination.
List associated persons (beneficial owners) for a business entity.
List compliance narratives for an entity.
Submit additional KYC/KYB requirements.
Update associated persons for a business entity.
Update a business entity.
Update a person entity.
Types
@type id() :: String.t()
@type list_result() :: {:ok, map()} | {:error, Column.Error.t()}
@type opts() :: keyword()
@type params() :: map()
@type result() :: {:ok, map()} | {:error, Column.Error.t()}
Functions
Create a business entity (KYB).
Submit third-party evidence for an entity (e.g. from a KYC provider).
Submit evidence with a file upload (multipart/form-data).
file_path is the local path to the document to upload.
Column.Entities.create_evidence_upload("ent_123",
file_path: "/tmp/passport.pdf",
document_type: "passport"
)
Create a compliance narrative for an entity.
Create a person entity (KYC).
Delete an entity.
Delete a compliance narrative.
Get an entity by ID.
Get the KYC/KYB compliance status for an entity.
@spec get_evidence(id(), opts()) :: list_result()
Get evidence submitted for an entity.
Get additional KYC/KYB requirements for an entity.
Link an associated person to a business entity.
@spec list(opts()) :: list_result()
List all entities. Supports cursor pagination.
@spec list_associated_persons(id(), opts()) :: list_result()
List associated persons (beneficial owners) for a business entity.
@spec list_narratives(id(), opts()) :: list_result()
List compliance narratives for an entity.
Submit additional KYC/KYB requirements.
Update associated persons for a business entity.
Update a business entity.
Update a person entity.