Skip to content

Instantly share code, notes, and snippets.

@devmarkpro
Created August 24, 2021 09:52
Show Gist options
  • Select an option

  • Save devmarkpro/9b3577b20c34738c0f10a6458fdc2fcf to your computer and use it in GitHub Desktop.

Select an option

Save devmarkpro/9b3577b20c34738c0f10a6458fdc2fcf to your computer and use it in GitHub Desktop.
openapi: 3.0.0
info:
description: "UBO investigation gateway"
version: "0.0.1"
title: UBO API
termsOfService: 'https://companyinfo.nl/algemene-voorwaarden/'
contact:
email: service@company.info
servers:
# Added by API Auto Mocking Plugin
# Added by API Auto Mocking Plugin
- description: SwaggerHub API Auto Mocking
url: https://virtserver.swaggerhub.com/devmarkpro/ubo/0.0.1
- description: SwaggerHub API Auto Mocking
url: https://virtserver.swaggerhub.com/devmarkpro/UBO/1.0.0
- url: 'https://acc-ubo.nl.ci.fdmg.org'
description: "sandbox environment"
- url: 'https://prod-ubo.nl.ci.fdmg.org'
description: "production environment"
tags:
- name: investigation
description: Every action related to investigation
externalDocs:
description: Find out more
url: 'https://bit.ly/2W7qWof'
paths:
/healthz:
get:
operationId: health_check
responses:
"200":
description: everything's fine
"500":
$ref: "#/components/responses/InternalServerError"
/metrics:
get:
operationId: list_metrics
responses:
"200":
description: current metrics
"500":
$ref: "#/components/responses/InternalServerError"
/investigation:
post:
operationId: "start_investigation"
summary: "Start new UBO investigation"
description: >
Starts a UBO investigation. Note that a fixed price is subtracted from the user’s account in lieu of a reservation. The actual cost of the investigation is calculated when the final product is returned.
tags:
- investigation
requestBody:
$ref: '#/components/requestBodies/StartInvestigation'
responses:
200:
$ref: '#/components/responses/StartInvestigation'
500:
$ref: '#/components/responses/InternalServerError'
404:
$ref: '#/components/responses/NotFound'
/investigation/{token}:
get:
operationId: "pick_investigation"
summary: get an investigation by token
description: >
Pick up the results of the UBO investigation. Note that results are available for a finite amount of time.
tags:
- investigation
parameters:
- $ref: "#/components/parameters/UBOToken"
- name: source
in: query
required: false
description: >
When set the original source is added to the extracts [optional, defaults to false] Note: currently only a PDF is returned in the `document` field
schema:
type: boolean
default: false
responses:
200:
$ref: '#/components/responses/InvestigationResult'
404:
$ref: '#/components/responses/NotFound'
500:
$ref: '#/components/responses/InternalServerError'
/investigation/{token}/status:
get:
operationId: "investigation_status"
summary: Check the status of the investigation
description: >
Checks the status of an (ongoing) UBO investigation. The status can either be: pending, finished, expired, error
tags:
- investigation
parameters:
- $ref: "#/components/parameters/UBOToken"
responses:
200:
$ref: '#/components/responses/InvestigationStatus'
404:
$ref: '#/components/responses/NotFound'
500:
$ref: '#/components/responses/InternalServerError'
/investigation/{token}/receipt:
get:
operationId: "investigation_receipt"
summary: Get investigation receipt
description: >
Returns a receipt with specification of costs made for a successfully completed UBO investigation.
tags:
- investigation
parameters:
- $ref: "#/components/parameters/UBOToken"
responses:
200:
$ref: '#/components/responses/InvestigationReceipt'
404:
$ref: '#/components/responses/NotFound'
500:
$ref: '#/components/responses/InternalServerError'
/investigation/{token}/classify:
get:
operationId: "investigation_classify"
summary: Classifies natural persons
description: >
Classifies natural persons and tries to resolve the real UBO. By evaluating all the returned business against a set of rules (called a scenario), the system tries to resolve who is most likely to be the UBO.
tags:
- investigation
parameters:
- $ref: "#/components/parameters/UBOToken"
- name: scenario
in: query
required: false
description: >
the scenario to run. If left empty the default scenario will be used
schema:
type: string
responses:
200:
$ref: '#/components/responses/InvestigationClassify'
404:
$ref: '#/components/responses/NotFound'
500:
$ref: '#/components/responses/InternalServerError'
externalDocs:
description: Find out more Company.info APIs
url: 'https://companyinfo.nl/apis/'
components:
schemas:
UBOToken:
type: string
description: "The UBO investigation token. you should keep that token and use it when you want to get the result or the status of the investigation"
DossierNumber:
type: string
description: The dossier number of the organization under investigation
RSIN:
type: string
description: >
The 9 number RSIN (`Rechtspersonen Samenwerkingsverbanden Informatie Nummer`) identifying the business’ legal entity. Optional, businesses with a sole proprietor (`eenmanszaken`) do not have a rsin_number.
maxLength: 9
minLength: 9
EstablishmentNumber:
type: string
description: The establishment number
maxLength: 12
minLength: 12
Role:
type: object
properties:
dossier_number:
$ref: '#/components/schemas/DossierNumber'
title:
type: string
description: The title of the role
role_type:
type: string
description: The type of role [optional]
competency:
type: string
description: Information on the competency of this person
start_role_date:
type: string
description: The start date of the role [optional]
Person:
type: object
properties:
key:
type: string
description: A unique hash key. Can be used to find persons inside the result tree. Note that the key is only unique in context of the investigation
first_name:
type: string
description: The first name of the person
middle_names:
type: string
description: The middle names of the person [optional]
last_name:
type: string
description: The last name of the person
gender:
type: string
description: The gender of the person. Might be either male, female or empty [optional]
# enum:
# - male
# - female
# - " "
date_of_birth:
type: string
format: date-time
description: The date of birth of the person [optional]
place_of_birth:
type: string
description: The place of birth of the person [optional]
country_of_birth:
type: string
description: The country of birth of the person [optional]
date_of_death:
type: string
format: date-time
description: The date of death of the person [optional]
roles:
type: array
items:
$ref: '#/components/schemas/Role'
description: the roles which are associated with this person
Organization:
type: object
properties:
dossier_number:
$ref: '#/components/schemas/DossierNumber'
name:
type: string
description: The business name
legal_form_code:
type: string
description: Registered legal form used by the organisation.
legal_form_text:
type: string
description: Description of the legal form (in Dutch) [optional]
city:
type: string
description: The city of the business [optional]
extract:
$ref: '#/components/schemas/Extract'
Extract:
type: object
properties:
document:
type: string
format: byte
description: A base64 encoded pdf of the extract
source:
type: string
format: byte
description: The base64 encoded source html on which the extract is based
data:
$ref: '#/components/schemas/ExtractDocumentData'
extract_date:
type: string
format: date-time
ExtractDocumentData:
type: object
properties:
document:
type: string
format: byte
description: Base64 encoded document in PDF format
dossier_number:
$ref: '#/components/schemas/DossierNumber'
establishment_number:
$ref: '#/components/schemas/EstablishmentNumber'
status:
type: string
description: Status description of the business, optional. Can contain additional information, such as bankrtcy details.
document_date:
format: date-time
description: The date and time on which the document was generated
legal_entity:
$ref: '#/components/schemas/LegalEntity'
enterprise:
$ref: '#/components/schemas/Enterprise'
partnership:
type: array
items:
$ref: '#/components/schemas/Partnership'
description: >
an array of entries, optional. (Dutch: samenwerkingsverband) Each of the entries contains data on the partners/partnerships
establishments:
type: array
items:
$ref: '#/components/schemas/Establishment'
description: >
an array of entries, optional. (Dutch: vestigingen)
positions:
type: array
items:
$ref: '#/components/schemas/Positions'
description: >
an array of entries, optional. (Dutch: personen/posities)
Date:
type: object
properties:
year:
type: integer
month:
type: integer
day:
type: integer
LegalEntity:
type: object
description: >
The legal entity of the requested dossier (`Rechtspersoon`). All elements are optional.
properties:
rsin_number:
$ref: '#/components/schemas/RSIN'
name:
type: string
description: Name of the business
alternative_name:
type: string
description: >
Alternative name of the business Not yet available: ook genoemd
shortened_name:
type: string
description: >
Short name of the business Not yet available: verkorte naam
registration:
type: string
description: >
Description of the registration of the business (Dutch: geregistreerd/ingeschreven in)
status:
type: string
description: >
Status of the legal entity. Can contain details about the legal entity. For example, bankruptcy information (Dutch: status/bijzonderheden)
legal_form_text:
type: string
description: >
Description of the legal form (Dutch: rechtsvorm)
legal_form_change:
type: string
description: >
Description when the legal form changed Not yet available: rechtsvorm wijziging
foreign_legal_form_description:
type: string
description: >
How the business is registered abroad (Dutch: beschrijving buitenlandse rechtsvorm)
sbi_codes:
type: array
items:
type: string
description: >
The sbi code(s) for the business, can contain more than one code (Dutch: SBI-codes)
sbi_codes_text:
type: array
items:
type: string
description: >
The description(s) of the sbi code(s) as given in sbi_codes (Dutch: SBI-beschrijvingen)
activity:
type: string
description: Description of the activity
company_arrangement:
type: string
description: >
The company arrangement (Dutch: stelsel inrichting)
legal_name:
type: string
description: >
The legal name of the business (Dutch: statutaire naam)
statutory_seat:
type: string
description: >
The place where the business is legally seated (Dutch: statutaire zetel)
registration_date:
description: >
Date when the business was registered (Dutch: datum eerste inschrijving handelsregister)
allOf:
- $ref: "#/components/schemas/Date"
founding_date:
description: >
Date when the business was founded (Dutch: datum van oprichting)
allOf:
- $ref: "#/components/schemas/Date"
discontinuation_date:
description: >
Date when the business was discontinued (Dutch: datum wanneer de activiteiten gestaakt zijn)
allOf:
- $ref: "#/components/schemas/Date"
dissolution_date:
description: >
Date when the business was dissolved (Dutch: datum van ontbinding)
allOf:
- $ref: "#/components/schemas/Date"
dissolution_reason:
type: string
description: >
The reason why the business was dissolved (Dutch: reden van ontbinding)
removal_date:
description: >
The business removal date Not yet available: datum opheffing
allOf:
- $ref: "#/components/schemas/Date"
registration_end_date:
description: >
Date when the business was unregistered Not yet available: datum einde inschrijving
allOf:
- $ref: "#/components/schemas/Date"
legal_entity_end_date:
description: >
Date when the legal entity was removed or has ended Not yet available: datum einde rechtspersoon
allOf:
- $ref: "#/components/schemas/Date"
liquidation_closure_date:
description: >
End date of the liquidation Not yet available: datum einde liquidatie
allOf:
- $ref: "#/components/schemas/Date"
liquidation_reopening_date:
description: >
Reopening date of the liquidation Not yet available: datum heropening liquidatie
allOf:
- $ref: "#/components/schemas/Date"
deed_incorporation_date:
description: >
Date of the incorporation deed (Dutch: datum akte van oprichting)
allOf:
- $ref: "#/components/schemas/Date"
deed_last_statutes_amendment_date:
description: >
Date of the last deed statutes amendment (Dutch: datum akte laatste statutenwijziging)
allOf:
- $ref: "#/components/schemas/Date"
last_statutes_amendment_date:
description: >
Date of the last status amendment (Dutch: datum laatste statutenwijziging)
allOf:
- $ref: "#/components/schemas/Date"
liability:
type: string
description: >
Description of the business liability (Dutch: aansprakelijkheid)
merger_description:
type: string
description: >
Merger or demerger information ((Dutch: fusie/splitsing beschrijving)
annual_report_submission:
type: string
description: >
Description of the annual report submission (Dutch: deponering jaarstuk)
authorized_share_capital:
type: number
format: double
description: >
Number indicating the amount of authorized share capital. The amount of money for which the company is allowed to give out shares. Dutch: `maatschappelijk kapitaal`.
authorized_share_capital_currency:
type: string
description: >
Currency for authorized_share_capital.
issued_share_capital:
type: number
format: double
description: >
Number indicating the amount of issued share capital. This is the amount for which the company has issued shares. Dutch: `geplaatst kapitaal`.
issued_share_capital_currency:
type: string
description: Currency for issued_share_capital.
paid_up_share_capital:
type: number
format: double
description: >
Number indicating the amount of paid up share capital. The amount of money the share holders paid to the company for their shares. Dutch: `gestort kapitaal`.
paid_up_share_capital_currency:
type: string
description: Currency for paid_up_share_capital.
establishment_postcode:
type: string
description: >
Postcode of the establishment address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
establishment_city:
type: string
description: City of the establishment address of the business
establishment_street:
type: string
description: Street of the establishment address of the business
establishment_house_number:
type: integer
description: House number of the establishment address of the business
establishment_house_number_addition:
type: string
description: House number addition of the establishment address of the business
establishment_country:
type: string
description: Country of the establishment address of the business
correspondence_postcode:
type: string
description: >
Postcode of the correspondence address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
correspondence_city:
type: string
description: City of the correspondence address of the business
correspondence_street:
type: string
description: Streetname the correspondence address of the business
correspondence_house_number:
type: integer
description: House number of the correspondence address of the business
correspondence_house_number_addition:
type: string
description: House number addition of the correspondence address of the business
correspondence_country:
type: string
description: >
Country of the the correspondence address.
duration:
type: string
description: >
Description of the duration (Dutch: duur)
duration_end_date:
description: >
The end date of the duration Not yet available: datum wanneer de duur eindigd
allOf:
- $ref: "#/components/schemas/Date"
shares:
type: string
description: >
Description of the shares (Dutch: aandelen beschrijving)
share_holders:
type: string
description: >
Description of the share holders Not yet available: houders aandelen beschrijving
telephone_numbers:
type: array
items:
type: string
description: >
The telephone numbers of the business
fax_numbers:
type: array
items:
type: string
description: >
The fax numbers of the business
email_addresses:
type: array
items:
type: string
description: >
The email addresses of the business
domain_names:
type: array
items:
type: string
description: >
The domain names of the business
Enterprise:
type: object
description: >
The enterprise (`onderneming`) of the requested dossier. All output elements are optional.
properties:
rsin_number:
$ref: '#/components/schemas/RSIN'
name:
type: string
description: Name of the business
registration:
type: string
description: >
Description of the registration of the business (Dutch: geregistreerd/ingeschreven in)
status:
type: string
description: >
Status of the legal entity. Can contain details about the legal entity. For example, bankruptcy information (Dutch: status/bijzonderheden)
legal_form_text:
type: string
description: >
Description of the legal form (Dutch: rechtsvorm)
trade_names:
type: array
items:
type: string
description: >
The trade names of the enterprise (Dutch: handelsnamen)
activity:
type: string
description: >
Description of the activity (Dutch: activiteit)
description:
type: string
description: >
Description of the business (Dutch: bedrijfsomschrijving)
sbi_codes:
type: array
items:
type: string
description: >
The sbi code(s) for the business, can contain more than one code (Dutch: SBI-codes)
sbi_codes_text:
type: array
items:
type: string
description: >
The description(s) of the sbi code(s) as given in sbi_codes (Dutch: SBI-beschrijvingen)
establishment_postcode:
type: string
description: >
Postcode of the establishment address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
establishment_city:
type: string
description: City of the establishment address of the business
establishment_street:
type: string
description: Street of the establishment address of the business
establishment_house_number:
type: integer
description: House number of the establishment address of the business
establishment_house_number_addition:
type: string
description: House number addition of the establishment address of the business
establishment_country:
type: string
description: Country of the establishment address of the business
correspondence_postcode:
type: string
description: >
Postcode of the correspondence address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
correspondence_city:
type: string
description: City of the correspondence address of the business
correspondence_street:
type: string
description: Streetname the correspondence address of the business
correspondence_house_number:
type: integer
description: House number of the correspondence address of the business
correspondence_house_number_addition:
type: string
description: House number addition of the correspondence address of the business
correspondence_country:
type: string
description: >
Country of the the correspondence address.
telephone_numbers:
type: array
items:
type: string
description: >
The telephone numbers of the business
fax_numbers:
type: array
items:
type: string
description: >
The fax numbers of the business
email_addresses:
type: array
items:
type: string
description: >
The email addresses of the business
domain_names:
type: array
items:
type: string
description: >
The domain names of the business
establishment_date:
description: >
Date when the establishment was started (Dutch: datum vestiging)
allOf:
- $ref: "#/components/schemas/Date"
incorporation_date:
description: >
Date when the business was started (Dutch: startdatum onderneming)
allOf:
- $ref: "#/components/schemas/Date"
founding_date:
description: >
Date when the business was founded (Dutch: datum van oprichting)
allOf:
- $ref: "#/components/schemas/Date"
discontinuation_date:
description: >
Date when the business was discontinued (Dutch: datum wanneer de activiteiten gestaakt zijn)
allOf:
- $ref: "#/components/schemas/Date"
date_since:
description: >
Date the enterprise is managed or owned by the business (Dutch: datum vanaf wanneer de onderneming bestuurd wordt of in eigendom is)
allOf:
- $ref: "#/components/schemas/Date"
personnel:
type: integer
description: >
The number of personnel (Dutch: werkzame personen)
Partnership:
type: object
description: >
A partnership of the requested dossier (`samenwerkingsverband`). All output elements are optional.
properties:
dossier_number:
$ref: '#/components/schemas/DossierNumber'
rsin_number:
$ref: '#/components/schemas/RSIN'
name:
type: string
description: Name of the partnership
registration:
type: string
description: >
The description of the registration data, only occures when the registration is no dutch chamber of commerce registration (Dutch: geregistreerd/ingeschreven in)
status:
type: string
description: >
Status of the partnership. Can contain any details that about the partnership (Dutch: status/bijzonderheden)
legal_form_text:
type: string
description: >
Description of the legal form (Dutch: rechtsvorm)
founding_date:
description: >
Date when the business was founded (Dutch: datum van oprichting)
allOf:
- $ref: "#/components/schemas/Date"
dissolution_date:
description: >
Date when the business was dissolved (Dutch: datum van ontbinding)
allOf:
- $ref: "#/components/schemas/Date"
function_start_date:
description: >
Start date when the business occupies the current position (Dutch: datum in functie)
allOf:
- $ref: "#/components/schemas/Date"
duration:
type: string
description: >
Description of the duration (Dutch: duur)
limited_partnership_capital:
type: number
format: double
description: >
The limited partnership capital issued (Dutch: commanditair kapitaal)
limited_partnership_capital_currency:
type: string
description: >
The currency of limited partnership capital (Dutch: commanditair kapitaal valuta)
establishment_postcode:
type: string
description: >
Postcode of the establishment address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
establishment_city:
type: string
description: City of the establishment address of the business
establishment_street:
type: string
description: Street of the establishment address of the business
establishment_house_number:
type: integer
description: House number of the establishment address of the business
establishment_house_number_addition:
type: string
description: House number addition of the establishment address of the business
establishment_country:
type: string
description: Country of the establishment address of the business
silent_partners:
type: integer
description: >
Number of silent partners (Dutch: aantal stille vennoten)
Establishment:
type: object
description: >
A establishment (vestiging) of the dossier, dossier can contain more than one establishment. The output elements within the DutchBusinessEstablishment is optional.
properties:
establishment_number:
$ref: '#/components/schemas/EstablishmentNumber'
main_establishment:
type: boolean
description: >
Indicates that the establishment is the main establishment (Dutch: hoofdvestigings indicator)
status:
type: string
description: >
Status of the establishment. Can contain details about the establishment (Dutch: status/bijzonderheden)
legal_form_text:
type: string
description: >
Description of the legal form (Dutch: rechtsvorm)
trade_names:
type: array
items:
type: string
description: >
The trade names of the enterprise (Dutch: handelsnamen)
activity:
type: string
description: >
Description of the activity (Dutch: activiteit)
description:
type: string
description: >
Description of the business (Dutch: bedrijfsomschrijving)
sbi_codes:
type: array
items:
type: string
description: >
The sbi code(s) for the business, can contain more than one code (Dutch: SBI-codes)
sbi_codes_text:
type: array
items:
type: string
description: >
The description(s) of the sbi code(s) as given in sbi_codes (Dutch: SBI-beschrijvingen)
establishment_postcode:
type: string
description: >
Postcode of the establishment address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
establishment_city:
type: string
description: City of the establishment address of the business
establishment_street:
type: string
description: Street of the establishment address of the business
establishment_house_number:
type: integer
description: House number of the establishment address of the business
establishment_house_number_addition:
type: string
description: House number addition of the establishment address of the business
establishment_country:
type: string
description: Country of the establishment address of the business
correspondence_postcode:
type: string
description: >
Postcode of the correspondence address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
correspondence_city:
type: string
description: City of the correspondence address of the business
correspondence_street:
type: string
description: Streetname the correspondence address of the business
correspondence_house_number:
type: integer
description: House number of the correspondence address of the business
correspondence_house_number_addition:
type: string
description: House number addition of the correspondence address of the business
correspondence_country:
type: string
description: >
Country of the the correspondence address.
curator_postcode:
type: string
description: >
Postcode of the correspondence address of the business. A postcode consists of 4 numbers representing the neighborhood code, and a lettercombination of length 2.
curator_city:
type: string
description: City of the correspondence address of the business
curator_street:
type: string
description: Streetname the correspondence address of the business
curator_house_number:
type: integer
description: House number of the correspondence address of the business
curator_house_number_addition:
type: string
description: House number addition of the correspondence address of the business
curator_country:
type: string
description: >
Country of the the correspondence address.
telephone_numbers:
type: array
items:
type: string
description: >
The telephone numbers of the business
fax_numbers:
type: array
items:
type: string
description: >
The fax numbers of the business
email_addresses:
type: array
items:
type: string
description: >
The email addresses of the business
domain_names:
type: array
items:
type: string
description: >
The domain names of the business
establishment_date:
description: >
Date when the establishment was started (Dutch: datum vestiging)
allOf:
- $ref: "#/components/schemas/Date"
date_since:
description: >
Date from which the establishment is managed or owned by the business (Dutch: datum vanaf de vestiging bestuurd wordt of in eigendom is)
allOf:
- $ref: "#/components/schemas/Date"
personnel:
type: integer
description: >
The number of personnel (Dutch: werkzame personen)
Positions:
type: object
description: >
A business position can contain data about a person or business that holds a position within the business. All output fields for are optional.
properties:
trade_names:
type: array
items:
type: string
description: >
The trade names of the enterprise (Dutch: handelsnamen)
dossier_number:
$ref: '#/components/schemas/DossierNumber'
establishment_number:
$ref: '#/components/schemas/EstablishmentNumber'
name:
type: string
description: >
Name of the position, can be a business name or person name
first_name:
type: string
description: Frist Name
title:
type: string
description: >
Title (Dutch: titulatuur)
initials:
type: string
description: Initials
last_name:
type: string
description: Last Name
function_type:
type: string
description: Function type
function_title:
type: string
description: Function title
function_description:
type: string
description: Description op the function
function_start_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Start date function (Dutch:datum in functie)
function_registration_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Registration date of the function (Dutch:datum functie registratie bij kvk)
function_end_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Date when the function was resigned Not yet available: datum uit functie
function_authorization:
type: string
description: >
Description of function authorization (Dutch:functie bevoegdheid)
function_authorization_description:
type: string
description: >
Description of the function authorization Not yet available: inhoud bevoegdheid
function_authorization_start_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Start date of the function authorization (Dutch: aanvang bevoegdheid)
function_authorization_signing_power:
type: string
description: >
Description of the signing authority Not yet available: tekenings bevoegdheid
function_authorization_end_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
End date of the function authorization Not yet available: einde bevoegdheid
authorization_description:
type: string
description: >
Description of the authorization (Dutch: inhoud volmacht)
authorization_start_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Start date of the authorization (Dutch: aanvang (huidige) volmacht)
authorization_end_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
End date of the authorization Not yet available: einde volmacht
inauguration:
type: string
description: >
Not yet available: beëdigd in
inauguration_function:
type: string
description: >
Description of the function inauguration Not yet available: beëdigd als
inauguration_duration:
type: string
description: >
Duration of the inauguration Not yet available: duur beëdiging
inauguration_date:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Date of the inauguration Not yet available: datum beëdiging
inauguration_body:
type: string
description: >
Not yet available: instelling beëdiging
under_receivership:
type: string
description: >
Description of the under receivership Not yet available: onderbewindstelling
rights_against_third_parties:
type: string
description: >
Description of the rights against third parties Not yet available: rechten_tov_derden
release_of_covenant:
type: string
description: >
Release of covenant is only set wen the business owner is a minor, it contains the person that is legally liable for the business Not yet available: handlichting_persoon
date_deceased:
allOf:
- $ref: '#/components/schemas/Date'
description: >
Date the person was deceased Not yet available: datum van overlijden
date_of_birth:
allOf:
- $ref: '#/components/schemas/Date'
description: >
The date of birth
place_of_birth:
type: string
description: The place of birth
country_of_birth:
type: string
description: The country of birth
postcode:
type: string
description: Postcode of the address of the business position
city:
type: string
description: City of the address
street:
type: string
description: Street of the address
house_number:
type: string
description: House number of the address
house_number_addition:
type: string
description: House number addition of the address
country:
type: string
description: Country of the address
telephone_numbers:
type: array
items:
type: string
description: >
The telephone numbers of the address
date_since:
description: >
The date on which the person became owner/director or share holder of the business
allOf:
- $ref: "#/components/schemas/Date"
date_joined:
description: >
The date on which the person or director joined the company (Dutch: datum toetreding)
allOf:
- $ref: "#/components/schemas/Date"
status:
type: string
description: >
Status of the position. Can contain any details about the position (Dutch: status/bijzonderheden)
OrganizationNode:
type: object
properties:
level:
type: string
description: The level of the reference inside the tree
id:
type: string
description: >
The id related to the organisation. If the organisation type is a `Company`, the key will correspond to a dossier number, which can be found in the `Organisation` list. If the organisation type is a `Person` the key will be an automatically **generated key** with which the person can be found inside the `Person list`
note: this key is only usable in the context of this request). When a the type is `ForeignCompany` the id will be marked as N/A.
type:
type: string
enum:
- ForeignCompany
- Company
- Person
description: The type of the organisation in relation to its child.
role_type:
type: string
description: The role type of the business in relation to its parent [optional]
registered_in:
type: string
format: date-time
name:
type: string
description: The business name
parents:
type: array
items:
$ref: '#/components/schemas/OrganizationNode'
description: a array of nodes with a stake inside the current business
ReceiptItem:
type: object
properties:
description:
type: string
quantity:
type: integer
unit_price:
type: string
total_price:
type: string
Payment:
type: object
description: >
Breakdown of UBO Payment
properties:
pre:
type: string
description: pre payment
cost:
type: string
description: actual cost for the investigation
refund:
type: string
description: the amount to be refunded
Receipt:
type: object
properties:
total_price:
type: string
description: total price
items:
type: array
items:
$ref: '#/components/schemas/ReceiptItem'
description: list of items
UBOStatus:
type: string
description: latest status of the investigation
enum:
- new
- pending
- ready
- finished
- expired
- error
Suspect:
type: object
description: A classified suspect
properties:
key:
type: string
description: A unique hash key. Can be used to find persons inside the result tree
person:
allOf:
- $ref: '#/components/schemas/Person'
description: 'personal information for the suspect'
role:
allOf:
- $ref: '#/components/schemas/Role'
description: 'role information for the suspect'
classification:
type: string
description: >
The classification as determined by the scenario
# Response schemas
InvestigationResult:
type: object
properties:
name:
type: string
description: The name of the organization under investigation
dossier_number:
$ref: '#/components/schemas/DossierNumber'
persons:
type: array
items:
$ref: '#/components/schemas/Person'
description: the people who have been found during the investigation
organizations:
type: array
items:
$ref: '#/components/schemas/Organization'
description: the companies who have been found during the investigation
tree:
allOf:
- $ref: '#/components/schemas/OrganizationNode'
description: |
The tree discovered while performing the investigation.
The first node always contains the data of the company under investigation. with owning companies included under `parents`
InvestigationStatus:
type: object
properties:
status:
$ref: '#/components/schemas/UBOStatus'
date_since:
type: string
format: date-time
description: The date of the last change to the status
description:
type: string
description: A message regarding the current status [optional]
InvestigationReceipt:
type: object
description: The costs of the UBO investigation.
properties:
token:
$ref: '#/components/schemas/UBOToken'
status:
$ref: '#/components/schemas/UBOStatus'
receipt:
$ref: '#/components/schemas/Receipt'
payment:
$ref: '#/components/schemas/Payment'
InvestigationClassify:
type: object
description: Result of a UBO classification
properties:
token:
$ref: '#/components/schemas/UBOToken'
scenario:
type: string
description: 'The scenario used'
suspects:
type: array
items:
$ref: '#/components/schemas/Suspect'
description: A list of classified suspects
# Request schemas
StartInvestigationRequest:
type: object
properties:
dossier_number:
$ref: '#/components/schemas/DossierNumber'
oldest_extract_date:
type: string
format: date-time
description: >
Oldest date from which extracts are allowed to be collected from the cache [optional, YYYY-MM-DD], defaults to 6 months ago
use_updates:
type: boolean
default: false
description: >
Use a real-time extract if an update has occurred between the oldest extract date and now, meaning a possible cached extract is not up to date anymore [optional, defaults to false]
requestBodies:
StartInvestigation:
content:
application/json:
schema:
$ref: "#/components/schemas/StartInvestigationRequest"
application/hal+json:
schema:
$ref: "#/components/schemas/StartInvestigationRequest"
description: The input to process
required: true
responses:
InvestigationResult:
description: "investigation result"
content:
application/hal+json:
schema:
$ref: "#/components/schemas/InvestigationResult"
application/problem+json:
schema:
$ref: "#/components/schemas/InvestigationResult"
InvestigationClassify:
description: "investigation result"
content:
application/hal+json:
schema:
$ref: "#/components/schemas/InvestigationClassify"
application/problem+json:
schema:
$ref: "#/components/schemas/InvestigationClassify"
InvestigationStatus:
description: "investigation status"
content:
application/hal+json:
schema:
$ref: "#/components/schemas/InvestigationStatus"
application/problem+json:
schema:
$ref: "#/components/schemas/InvestigationStatus"
StartInvestigation:
description: "UBO token"
content:
application/hal+json:
schema:
type: object
properties:
token:
$ref: '#/components/schemas/UBOToken'
application/problem+json:
schema:
type: object
properties:
token:
$ref: '#/components/schemas/UBOToken'
InvestigationReceipt:
description: "UBO Investigatin receipt"
content:
application/hal+json:
schema:
$ref: "#/components/schemas/InvestigationReceipt"
application/problem+json:
schema:
$ref: "#/components/schemas/InvestigationReceipt"
BadRequest:
description: Bad Request
content:
application/hal+json:
schema:
$ref: https://s3.eu-central-1.amazonaws.com/de.company.info.prod.api.resource.bucket/schema/Problem.json#/definitions/Problem
application/problem+json:
schema:
$ref: https://s3.eu-central-1.amazonaws.com/de.company.info.prod.api.resource.bucket/schema/Problem.json#/definitions/Problem
NotFound:
description: Not Found
content:
application/hal+json:
schema:
$ref: https://s3.eu-central-1.amazonaws.com/de.company.info.prod.api.resource.bucket/schema/Problem.json#/definitions/Problem
application/problem+json:
schema:
$ref: https://s3.eu-central-1.amazonaws.com/de.company.info.prod.api.resource.bucket/schema/Problem.json#/definitions/Problem
InternalServerError:
description: Internal Server Error
content:
application/hal+json:
schema:
$ref: https://s3.eu-central-1.amazonaws.com/de.company.info.prod.api.resource.bucket/schema/Problem.json#/definitions/Problem
application/problem+json:
schema:
$ref: https://s3.eu-central-1.amazonaws.com/de.company.info.prod.api.resource.bucket/schema/Problem.json#/definitions/Problem
parameters:
UBOToken:
name: token
in: path
description: The UBO Investigation Token
required: true
schema:
$ref: '#/components/schemas/UBOToken'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment