Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 56 Next »

Table of Contents


ℹ️ Getting started

This API’s main goal is to provide detailed information about the company. API provides various information about the company such as:

  • Company name

  • Type

  • Address

  • Contacts

  • Representatives

  • Shareholders

  • Beneficial owners

To access this API you need to provide:

  1. OAuth2 Access Tokens in each request. (Please see Authorization block to learn how to acquire the token)

  2. Your Application-Id*.

*If you don’t have Application ID, please contact support@ondato.com.


🔑 Authorization

Request to the authorization server must contain the following information:

Key

Value

Description

client_id

<client_id>

Your ID that will be provided by Ondato.

client_secret

<secret>

Your secret that will be provided by Ondato.

grant_type

client_credentials

Machine-to-machine grant flow.

scope

<reuqested_scopes_separated_by_space>

Access to requested recourses. Will be provided by Ondato.

Discovery endpoint - https://id.ondato.com/.well-known/openid-configuration


🖥️ Authorization request example (production)

For in-depth reference see specification about authorization request and response.

curl --location --request POST 'https://id.ondato.com/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={your client_id}' \
--data-urlencode 'client_secret=secret_that_only_you_know' \
--data-urlencode 'scope=registries_api'

☁️ Endpoints and Environments

Environment

Swagger URL

Base URL

Sandbox

 

https://sandbox-registries.ondato.com/swagger/index.html

https://sandbox-registries.ondato.com/

Prod

https://registries.ondato.com/swagger/index.html

https://registries.ondato.com

This API consists of the following endpoint:

POST /v1/legal/company-details - get detailed company information.


🚦 Request limit

Check the agreement to find your request limit. If you cannot find it, please contact support@ondato.com.


🤙 Calling endpoint

POST /v1/legal/company-details - get detailed company information.

🔠 Header

Parameter

Type

Required

Description

1

Correlation-Id

string

No

A unique identifier assigned to the request.

2

Application-Id

string

Yes

Your application Id. Please contact support@ondato.com you don’t have one.

3

Access token

string

Yes

Described in the Authentication part

4

useCache

string

No

Request cached data of the company.

Possible values:

  • true (Default)

  • false

true - will return cached data of the company

false - will make a call to registry for actual data.

If parameter not provided, the cached data will be returned.

Caching logic explained in the section Data Caching.


🎯 Request body

Name

Description

Mandatory/Optional

1

country

ISO2 country code where the company is originated.

Accepted values:

  • LT 🇱🇹

  • LV 🇱🇻

  • EE 🇪🇪

  • PL 🇵🇱

  • GB 🇬🇧

MANDATORY

2

companyCode

Company code of the searched company.

MANDATORY

3

useCache

Request chached data of the company.

Possible values:

  • true (Default)

  • false

true - will return cached data of the company

false - will make a call to registry for actual data.

If parameter not provided, the cached data will be returned.

Caching logic explained in the section Data Caching.

OPTIONAL

4

scopes

For Lithuanian companies data scope can be defined to return data only for selected objects. Data objects that were not selected will return Null value in the response.


Possible values (multiple values can be selected):

  • All (default)

  • GeneralInformation

  • Representatives

  • Shareholders

  • BeneficialOwners

This parameter will have no affect for the response when requesting data for other than Lithuanian companies.

OPTIONAL


🗒️ Example

 Example
{
  "country": "LT",
  "companyCode": "303342439",
  "useCache": true,
  "scopes": [
    "GeneralInformation",
    "Representatives"]
}

🥫 Response data

Field

Description

Source of data

1

id

Unique Id of the response.

2

generalInformation

Block with general information about the company.

JAR

3

generalInformation.code

Company code.

4

generalInformation.name

Company name.

5

generalInformation.registeredDate

Date when company was registered.

6

generalInformation.type

Company type.

7

generalInformation.status

Company status.

8

generalInformation.address

Block with information about company address.

9

generalInformation.address.fullAddress

Full address of the company.

10

generalInformation.address.country

Country of the company's address.

11

generalInformation.address.flatNumber

Flat number of the company's address.

12

generalInformation.address.houseNumber

House number of the company's address.

13

generalInformation.address.city

City of the company's address.

14

generalInformation.address.street

Street of the company's address.

15

generalInformation.address.postCode

Post code of the company's address.

16

generalInformation.industry

Name of the industry company is part of.

17

generalInformation.contacts

Block of company's contacts.

18

generalInformation.contacts.type

Type of the contact.

Example: Email.

19

generalInformation.contacts.value

The contact.

20

beneficialOwners

Block with information about company's beneficial owners.

JANGIS

21

beneficialOwners.actualBeneficialOwners

Block with actual beneficial owners.

22

beneficialOwners.actualBeneficialOwners.subjectCode

Code of the beneficial owner.

  • For legal entity - company code;

  • For natural entity - personal code.

23

beneficialOwners.actualBeneficialOwners.companyName

Name of the company.

If beneficial owner is a 🏛️ legal entity.

Otherwise field is empty and has value "null".

24

beneficialOwners.actualBeneficialOwners.fullName

Full name of the beneficial owner.

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

25

beneficialOwners.actualBeneficialOwners.firstName

First name of the beneficial owner.

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

26

beneficialOwners.actualBeneficialOwners.lastName

Last name of the beneficial owner.

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

27

dateOfBirth

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

28

documentCountryCode

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

29

documentCountryName

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

30

nationalityCountryCode

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

31

nationalityCountryName

If beneficial owner is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

32

assetsControl

How many assets does natural or legal entity controls directly

33

votePercentage

Percentage of votes that beneficial owners have

34

beneficialOwners.actualBeneficialOwners.dateRegisteredFrom

Date when beneficial owner was registered.

35

beneficialOwners.actualBeneficialOwners.relationshipTypes

Relationship type of the beneficial owner. It describes how beneficial owner relates to the company.

36

beneficialOwners.actualBeneficialOwners.natureOfControl

Nature of control of the beneficial owner.

37

beneficialOwners.actualBeneficialOwners.countryCode

Country code of beneficial owners residence country

38

beneficialOwners.actualBeneficialOwners.countryName

Country of residence of the beneficial owner.

39

beneficialOwners.actualBeneficialOwners.ownershipPercent

Percentage of the shares beneficial owner holds in the company.

40

beneficialOwners.actualBeneficialOwners.owners

Block of higher level beneficial owners.

The deepest level beneficialOwners.actualBeneficialOwners.owners block contains the Ultimate beneficial owner.

41

shareholders

Block with information about company shareholders.

JADIS

42

shareholders.actualShareholders

Block with actual shareholders.

43

shareholders.actualShareholders.firstName

First name of the shareholder.

If shareholder is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

44

shareholders.actualShareholders.lastName

Last name of the shareholder.

If shareholder is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

45

shareholders.actualShareholders.title

Name of the company.

If shareholder is a 🏛️ legal entity.

Otherwise field is empty and has value "null".

46

shareholders.actualShareholders.type

Entity type of the shareholder.

Possible values are:

  1. NaturalEntity

  2. LegalEntity

  3. ForeignNaturalEntity

  4. ForeignLegalEntity

  5. StateMunicipality

  6. State

  7. InvestmentFund.

47

shareholders.actualShareholders.typeDescription

Type of the shareholder.

Example: ,,Akcininkas”.

48

shareholders.actualShareholders.code

Code of the shareholder.

  • For legal entity - company code;

  • For natural entity - personal code.

49

shareholders.actualShareholders.address

Block with information about shareholder’s address.

50

shareholders.actualShareholders.address.fullAddress

Full address of the shareholder.

51

shareholders.actualShareholders.address.country

Country of the shareholder's address.

52

shareholders.actualShareholders.address.flatNumber

Flat number of the shareholder's address.

53

shareholders.actualShareholders.address.houseNumber

House number of the shareholder's address.

54

shareholders.actualShareholders.address.city

City of the shareholder's address.

55

shareholders.actualShareholders.address.street

Street of the shareholder's address.

56

shareholders.actualShareholders.address.postCode

Post code of the shareholder's address.

57

shareholders.actualShareholders.shares

Block with information about shareholder’s shares.

58

shareholders.actualShareholders.shares.typeDescription

Name of the share type.

59

shareholders.actualShareholders.shares.amount

Total amount of shares shareholder have.

60

shareholders.actualShareholders.shares.percent

Percentage of the shares shareholder holds in the company.

61

shareholders.actualShareholders.shares.pricePerShare

Block with information about share price.

62

shareholders.actualShareholders.shares.pricePerShare.value

Price for one share.

63

shareholders.actualShareholders.shares.pricePerShare.currency

Currency of the share price.

64

representatives

Block with information about company's representatives.

JAR

65

representatives.actualRepresentatives

Block with actual representatives.

66

representatives.actualRepresentatives.fullName

Full name of the representative.

If representative is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

67

representatives.actualRepresentatives.firstName

First name of the representative.

If representative is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

68

representatives.actualRepresentatives.lastName

Last name of the shareholder.

If representative is a 🧑‍🦱 natural entity.

Otherwise field is empty and has value "null".

69

representatives.actualRepresentatives.title

Name of the company.

If representative is a 🏛️ legal entity.

Otherwise field is empty and has value "null".

70

representatives.actualRepresentatives.code

Code of the representative.

  • For legal entity - company code;

  • For natural entity - personal code.

71

representatives.actualRepresentatives.birthDate

Date of birth of the representative.

72

representatives.actualRepresentatives.state

Name of representative’s country of residence.

73

representatives.actualRepresentatives.position

Representative’s position at the company.

74

representatives.actualRepresentatives.address

Block with information about representative’s address.

75

representatives.actualRepresentatives.address.fullAddress

Full address of the representative.

76

representatives.actualRepresentatives.address.country

Country of the representative’s address.

77

representatives.actualRepresentatives.address.flatNumber

Flat number of the representative’s address.

78

representatives.actualRepresentatives.address.houseNumber

House number of the representative’s address.

79

representatives.actualRepresentatives.address.city

City of the representative’s address.

80

representatives.actualRepresentatives.address.street

Street of the representative’s address.

81

representatives.actualRepresentatives.address.postCode

Post code of the representative’s address.

82

representatives.actualRepresentatives.type

Type of representative indicating that he/she is the head of the company.

Example: “Manager“.

83

representatives.actualRepresentatives.appointedOn

Date when representative was appointed.

84

representatives.actualRepresentatives.entityType

Entity type of the representative.

Possible values are:

  1. NaturalEntity

  2. LegalEntity.

85

representatives.actualRepresentatives.representationDescriptions

The description of representative role.


🗒️ Example

 Example
{
  "id": "60aa7002-7deb-4d1f-a6e3-d5ba51c5f0ac",
  "generalInformation": {
    "code": "303342439",
    "name": "UAB ONDATO",
    "registeredDate": "2014-07-03T00:00:00",
    "type": "Uždaroji akcinė bendrovė",
    "status": "Teisinis statusas neįregistruotas",
    "address": {
      "fullAddress": "Vilnius, Tolminkiemio g. 999-9",
      "country": "Lithuania",
      "flatNumber": "9",
      "houseNumber": "999",
      "city": "Vilnius",
      "street": "Tolminkiemio g.",
      "postCode": "LT11111"
    },
    "industry": "string",
    "contacts": [
      {
        "type": "Email",
        "value": "info@ondato.com"
      }
    ]
  },
  "beneficialOwners": {
    "actualBeneficialOwners": [
      {
        "subjectCode": "47702070740",
        "companyName": "ONDATO LTD",
        "firstName": "Jane",
        "lastName": "Doe",
        "dateRegisteredFrom": "2021-01-08T00:00:00",
        "relationshipTypes": [
          "Shareholder",
          "Member"
        ],
        "countryCode": "GB",
        "countryName": "United Kingdom",
        "ownershipPercent": "100",
        "owners": [
          "string"
        ]
      }
    ]
  },
  "shareholders": {
    "actualShareholders": [
      {
        "firstName": "Jane",
        "lastName": "Doe",
        "title": "ONDATO LTD",
        "type": "ForeignLegalEntity",
        "typeDescription": "Akcininkas",
        "code": "13018132",
        "address": {
          "fullAddress": "Vilnius, Tolminkiemio g. 999-9",
          "country": "Lithuania",
          "flatNumber": "9",
          "houseNumber": "999",
          "city": "Vilnius",
          "street": "Tolminkiemio g.",
          "postCode": "LT11111"
        },
        "shares": [
          {
            "typeDescription": "Vardinės paprastosios akcijos",
            "amount": 4125,
            "percent": 100,
            "pricePerShare": {
              "value": 2.9,
              "currency": "EUR"
            }
          }
        ]
      }
    ]
  },
  "representatives": {
    "actualRepresentatives": [
      {
        "fullName": "Jane Doe",
        "firstName": "Jane",
        "lastName": "Doe",
        "title": "ONDATO LTD",
        "code": "50001018865",
        "birthDate": "1985-05-05",
        "state": "Lietuvos Respublika",
        "position": "Narys",
        "address": {
          "fullAddress": "Vilnius, Tolminkiemio g. 999-9",
          "country": "Lithuania",
          "flatNumber": "9",
          "houseNumber": "999",
          "city": "Vilnius",
          "street": "Tolminkiemio g.",
          "postCode": "LT11111"
        },
        "type": "Manager",
        "appointedOn": "2022-01-05",
        "entityType": "NaturalEntity"
      }
    ]
  }
}

🏬 Data Caching

We implement a data caching system for JAR, JAIDS, and JANGIS registry responses in our database. This system enables our clients to choose between receiving cached data or actual data for a company.


⚙️ Caching Mechanism

Our caching mechanism stores responses from the JAR, JAIDS, and JANGIS registries in our database. We retain cached data for 24 hours, after which it is automatically removed.


🛒 Retrieving Cached Data

If a client chooses in the request for cached company information, we first check if we have cached data for the requested company from the JAR, JAIDS, or JANGIS registries acquired within the last 24 hours.

If we have cached data for the requested company, we return it to the client.


📥 Acquiring Actual Data

If we do not have cached data for the requested company, we make a call to the relevant registry and acquire actual data.


👀 Monitoring Beneficial Owners (Pre-development version)

Our software provides a way for clients to monitor changes in the beneficial owners of companies. The process starts with the client adding a company to the monitoring list and setting the frequency of the checks. At the specified frequency, our API will call Registru centras (RC) to check for any changes in beneficial owners on a particular date. RC will return a list of companies that have had changes in beneficial owners.

Our API will then search for the company that the client is monitoring in the list returned by RC. If the company is found, an event will be generated containing information about the change in beneficial ownership.


☁️ Endpoints

To get the response of beneficial owner change you need to call this endpoint: GET /events/vital/{companyCode}.


🔠 Headers

Parameter

Type

Required

Description

companyCode

integer

YES

The code of the company which has changes in its beneficial owners.

Application-Id

string

YES

Your application Id. Please contact support@ondato.com you don’t have one.

Access token

string

YES

Described in the Authentication part


🥫 Response

Field

Type

Description

page

integer

The page number of the result set

pageSize

integer

The number of events per page

count

integer

The total number of events returned

events.eventId

integer

The ID of the event

events.companyName

string

The name of the company which has changes in its beneficial owners

events.companyCode

integer

The code of the company which has changes in its beneficial owners

events.changeType

string

The type of change that occurred

For beneficial owners value will be: beneficialOwner

events.previousValue

string

The previous value of the changeType

events.newValue

string

The new value of the changeType

events.changeDate

string (date-time)

The date and time when the change occurred

events.isReviewed

boolean

Indicates whether the event has been reviewed or not

events.country

string

The country associated with the event


🗂️ Code Examples

🗒️ Example response

 Expand to see the example response
{
  "page": 1,
  "pageSize": 20,
  "count": 1,
  "events": [
    {
      "eventId": 123,
      "companyName": "ABC",
      "companyCode": 111222333,
      "changeType": "beneficialOwner",
      "previousValue": "",
      "newValue": "",
      "changeDate": "2023-03-14T13:34:02.055Z",
      "isReviewed": true,
      "country": "LT"
    }
  ]
}

  • No labels