Organizations
The customer side of your bank. Three core entities: OrganizationInvitation, Organization, and the per-organization ExtendedInformation.
OrganizationInvitation
Represents a prospective customer that hasn't yet completed onboarding. Created via createOrganizationInvitation, then sent via startInvitationFlow.
Key fields
id,organizationName,vatNumber,branchIdentifier,externalId— identifiers.- Contact person — exposed as flat fields
chairmanFirstName,chairmanLastName,chairmanEmail,chairmanCallingCode,chairmanPhoneNumber. (On the input side ofcreateOrganizationInvitationyou pass a nestedcontactPersonobject — the API flattens it to these fields on the entity.) invitationBankAccounts— list of bank accounts linked to the invitation; each entry has an innerbankAccountwithisPrimary,registrationNumber,accountNumber,accountName. The legacybankAccounts: Stringfield is deprecated.riskGroup— your bank's risk classification for this prospect.branchOffice— optional association (flat field, not via extended information).invitationDate— when the flow was started.isInvitationFlowStarted— true oncestartInvitationFlowhas run.isInvitationValidplusinvalidReasons— surfaces missing required fields without throwing.surrenderedTime,isSurrendered,surrenderedReason— set if the invitation was withdrawn.
Lifecycle: created → sent (flow started) → accepted (becomes an Organization) | surrendered | deleted.
The bank has a configured ceiling on invitations per month and per week; startInvitationFlow enforces both and the response surfaces remaining quota.
Organization
The accepted customer. Once an invitation is accepted, the Organization is the canonical record going forward.
Key fields
id,name,vatNumber,branchIdentifier— identifiers.type—AssociationType(legal form: ApS, A/S, foundation, …). Names live onassociationTypeLocalizations.creationDate— when onboarding completed.bankAccounts: [BankAccount!]!— the organization's bank accounts; each hasaccountName,registrationNumber,accountNumber, and (optionally)attorneys.bankRelation— theBankOrganizationRelationthat holds your bank's view of the customer (isAjour,ajourDate,riskGroup,isSurrendered,surrenderedReason, …).extendedInformation: [ExtendedInformation!]!— see below. Note this is a list — there can be more than one entry.administrators: [Administrator!]!— board members and external administrators (theAdministratorinterface).taxResidencies: [OrganizationTaxResidency!]!.bankReports(order)— ordered list of bank reports for this organization.
BankOrganizationRelation
Holds the bank-specific state for an organization. This is where ajour status, surrender info, and the assigned risk group live — not on the Organization itself.
Key fields
isAjour,ajourDate— current ajour status.riskGroup: [RiskGroup!]!— assigned risk classification.isSurrendered,surrenderedTime,surrenderedReason— surrender state.externalId— your bank's identifier for the relation.selfDeclaration,marketingConsent,legalDocuments— assorted documents.
ExtendedInformation
Per-organization metadata maintained by your bank. Created lazily when first needed. Exposed as a list on Organization.extendedInformation.
Key fields
id.branchOffice— theBranchOfficethis organization belongs to (optional).isFirstTimeReporting.
Relationships at a glance
OrganizationInvitation ──(accepted)──> Organization ──┬─> bankRelation (BankOrganizationRelation) ─> riskGroup
│
├─> extendedInformation[] ──> branchOffice
├─> bankAccounts[]
├─> administrators[] (BoardMember | ExternalAdministrator)
└─> bankReports[] (see Bank packages concept)