| Property | Type | Description |
|---|---|---|
| username | string | Client username. |
| password | string | Client password. |
| Property | Type | Description |
|---|---|---|
| accessToken | string | Access token used for API authentication. Valid for 20 minutes. |
| refreshToken | string | Token used to obtain a new access token without resending credentials. Valid for 1 day. |
| Property | Type | Description |
|---|---|---|
| refreshToken | string | Refresh token from the previous authentication. |
| Property | Type | Description |
|---|---|---|
| accessToken | string | Access token used for API authentication. Valid for 20 minutes. |
| refreshToken | string | Token used to obtain a new access token without resending credentials. Valid for 1 day. |
| Property | Type | Description |
|---|---|---|
| categoryKPKONPI | array<object> | KPKONPI categories. |
| categoryZMIP | array<object> | ZMIP categories. |
| organization | array<object> | Organization categories. |
| position | array<object> | Position categories. |
| docCount | int | Number of people in the category. |
| id | int | Category identifier. |
| name | string | Category name. |
| order | int | Category display order. |
| Property | Type | Description |
|---|---|---|
| searchText | string | Search text: person name, EGN, or company EIK/BULSTAT. |
| ident | string | Person identifier: EGN, LNCH, or assumed EGN. |
| identType | int | Identifier type. Possible values: 1 – EGN; 2 – LNCH; 3 – assumed EGN; 4 – not found; 5 – ChFL; 6 – unknown. |
| rootClassifier.type | int | Root classifier type. Possible values: 1 – ZPKONPI; 2 – ZMIP; 3 – Position; 4 – Organization. |
| rootClassifier.id | int | Sub-classifier identifier. |
| yearTo | int | Upper year boundary for the search. |
| classifiers.categoryKPKONPI | array<int> | ZPKONPI classifier identifiers. |
| classifiers.categoryZMIP | array<int> | ZMIP classifier identifiers. |
| classifiers.position | array<int> | Position classifier identifiers. |
| classifiers.organization | array<int> | Organization classifier identifiers. |
| pageSize | int | Number of results per page. Default: 20. |
| page | int | Page number. Default: 1. |
| withAggs | bool | Whether classifier aggregations/filters are returned. Possible values: true, false. Default: true. |
| searchAfter | array<string> | Cursor used when the result set exceeds 1000 documents. Supply two values: the last document name and identifier. |
When you search by EGN, you have to send field "ident" with searching EGN.
Optional parameters are: "identType" (1 - EGN, 2 - LNCH or 3 - Assumed EGN), "yearTo", "classifiers" (1 - ZPKONPI, 2 - ZMIP, 3 - Position and 4 - Organization), "pageSize", "page" and "withAggs".
Example 1.1:
In the example below, we search "6510243709".
Example 1.2:
In the example below, we search assumed EGN (identType = 3) to year 2020.
Example 1.3:
In the example below, we search EGN (identType = 1) to year 2020. Page size is 20 per page and result return classifiers (withAggs = true). We search only in ZPKONPI category (classifiers.categoryKPKONPI) and sub-category (1 and 2).
When you search by EGN, you have to send field "searchText" with searching name or EIK/Bulstat.
Optional parameters are: "yearTo", "classifiers" (1 - ZPKONPI, 2 - ZMIP, 3 - Position and 4 - Organization), "pageSize", "page" and "withAggs".
Example 2.1:
In the example below, we search "Иван".
Example 2.2:
In the example below, we search "Иван" to year 2020.
Example 2.3:
In the example below, we search "Иван" to year 2020. Page size is 20 per page and result return classifiers (withAggs = true).We search only in ZPKONPI category (classifiers.categoryKPKONPI) and sub-category (1 and 2).
When you search by classifiers, you have to send field "rootClassifier" and "yearTo".
Optional parameters are: "classifiers" "classifiers" (1 - ZPKONPI, 2 - ZMIP, 3 - Position and 4 - Organization), "pageSize", "page" and "withAggs".
Example 3.1:
In the example below, we search by classifier "ЗПКОНПИ" (type = 1) and sub-category "Президент и вицепрезидент" to year 2020.
Example 3.2:
In the example below, we search by classifier "ЗПКОНПИ" (type = 1) and sub-category "Народни представители" to year 2021.г. Page size is 20 per page and result return classifiers (withAggs = true).We search only in Organization category (classifiers.organization) and sub-category (1 and 2).
Example 3.3:
In the example below, we search by classifier "ЗМИП" (type = 2) in all sub-categories to year 2024. Page size is 20 per page and result return classifiers (withAggs = true).We search only in Organization category (classifiers.organization) and sub-category (1 and 2).
WARNING! If you set fields "ident", "searchText" and "rootClassifier", the result will take into account only the "ident" field.
Example 4.1:
WARNING! If you set fields "searchText" and "rootClassifier", the result will take into account only the "searchText" field.
Example 4.2:
WARNING! If you want to go to next page, you have to send request with different page.
Example 4.3:
WARNING! If the result returns more than 1000 documents, if you want to go to next page, you have to add field "searchAfter". "searchAfter" is array from 2 elements. First one element is the "name" and the second one element is the field "identifier" of the last document.
Example 4.4:
| Property | Type | Description |
|---|---|---|
| totalDocsCount | int | Total number of matching documents. |
| pageSize | int | Documents per page. |
| highlights.linkedPersons.kpkonpi | array<string> | Highlighted linked persons from ZPKONPI declarations. |
| highlights.linkedPersons.bulstat | array<string> | Highlighted linked persons from Commercial Register/BULSTAT data. |
| highlights.name | array<string> | Highlighted matching person name. |
| lastRecord.classifZpkonpiCategory.id | int | ZPKONPNI category identifier. |
| lastRecord.classifZpkonpiCategory.name | string | ZPKONPNI category name. |
| lastRecord.classifZpkonpiCategory.order | int | ZPKONPNI category order. |
| lastRecord.classifZmipCategory.id | int | ZMIP category identifier. |
| lastRecord.classifZmipCategory.name | string | ZMIP category name. |
| lastRecord.classifZmipCategory.order | int | ZMIP category order. |
| lastRecord.classifOrganizations.id | int | Organization category identifier. |
| lastRecord.classifOrganizations.name | string | Organization category name. |
| lastRecord.classifOrganizations.order | int | Organization category order. |
| lastRecord.classifPosition.id | string | Position category identifier. |
| lastRecord.classifPosition.name | string | Position category name. |
| lastRecord.classifPosition.order | int | Position category order. |
| lastRecord.crawlerId | int | Source crawler identifier. Possible documented values: 2 – CCUAAF/ZPKONPI declaration; 3 – State Gazette; 4 – Presidential decree; 5 – Supreme Judicial Council declaration; 7 – Commercial Register/BULSTAT; 9 – Register of political parties. |
| lastRecord.recordYear | int | Record year. |
| lastRecord.recordDate | string (date-time) | Record date and time. |
| lastRecord.classifZpkonpiCategoryId | int | ZPKONPI category id. |
| lastRecord.classifZmipCategoryId | int | ZMIP category id. |
| lastRecord.classifOrganizationIds | array<int> | Organization category id. |
| lastRecord.classifPositionId | int | Position category id. |
| lastRecord.placeOfBirth | string | Place of birth. |
| lastRecord.xmlWork | string | Place of work. |
| lastRecord.xmlPosition | string | Position. |
| lastRecord.biographyUrl | string | Biography URL. |
| lastRecord.xmlWorkCode | string | Law number of ZKPONKI. |
| lastRecord.declarationUrl | string | Declaration URL. |
| lastRecord.identifier | string | Identifier. |
| lastRecord.dvDocsMeta.title | string | Title (State Gazette source). |
| lastRecord.dvDocsMeta.action | string | >Action (State Gazette source). |
| lastRecord.dvDocsMeta.politicalParty | string | Political party (State Gazette source). |
| lastRecord.dvDocsMeta.actDate | string (date-time) | Document act date (State Gazette source). |
| lastRecord.dvDocsMeta.docCaption | string | Document caption (State Gazette source). |
| lastRecord.dvDocsMeta.docCode | string | APIS metadata for link web.apis.bg - https://web.apis.bg//p.php?base={docBase}&doccode={docCode}. |
| lastRecord.dvDocsMeta.docBase | string | APIS metadata for link web.apis.bg - https://web.apis.bg//p.php?base={docBase}&doccode={docCode}. |
| lastRecord.dvDocsMeta.dvBr | int | State Gazette number. |
| lastRecord.kpDeclMeta.kpDeclClassifs.mainCategory | string | null | Declaration main category. |
| lastRecord.kpDeclMeta.kpDeclClassifs.category | string | ZPKONPI official classifier. |
| lastRecord.kpDeclMeta.kpDeclClassifs.institution | string | Institution category from declaration. |
| lastRecord.kpDeclMeta.kpDeclClassifs.position | string | Position category from declaration.. |
| lastRecord.kpDeclMeta.declarationKind | int | Declaration kind: appointment, dismissal, or annual declaration. |
| lastRecord.kpDeclMeta.entryNumber | string | Declaration entry number. |
| lastRecord.kpDeclMeta.entryDate | string (date) | Declaration date. |
| lastRecord.kpDeclMeta.declarationType | string | Declaration type under ZPKONPI (annual, dismissal, or appointment). |
| lastRecord.kpDeclMeta.actNumber | string | null | Declaration act number. |
| lastRecord.kpDeclMeta.actData | string | null | Declaration date. |
| lastRecord.kpDeclMeta.year | string | Declaration year. |
| lastRecord.kpDeclMeta.declarationDate | string (date) | Declaration date. |
| lastRecord.companyMeta.func | int | Company record state. Possible values: 0 – inactive; 1 – development; 3 – archive. |
| lastRecord.companyMeta.docUniqueId | int | APIS metadata - unique id. |
| lastRecord.companyMeta.eik | string | Company EIK/Bulstat. |
| lastRecord.linkedPersons.ident | string | Linked person EGN or LNCH or Assumed EGN. |
| lastRecord.linkedPersons.identType | int | Identifier type. Possible values: 1 – EGN; 2 – LNCH; 3 – assumed EGN; 4 – not found; 5 – ChFL; 6 – unknown. |
| lastRecord.linkedPersons.firstName | string | Linked person first name. |
| lastRecord.linkedPersons.secondName | string | Linked person middle name. |
| lastRecord.linkedPersons.thirdName | string | Linked person last name. |
| lastRecord.linkedPersons.birthDate | string (date-time) | null | Linked person date of birth. |
| lastRecord.linkedPersons.recordYears | array<int> | Linked person record years. |
| id | string | Identifier. |
| uniqueId | string | Unique identifier. |
| name | string | Name. |
| ident | string | EGN or LNCH or Assumed EGN. |
| identType | int | Identifier type. Possible values: 1 – EGN; 2 – LNCH; 3 – assumed EGN; 4 – not found; 5 – ChFL; 6 – unknown. |
| birthDate | string (date-time) | null | Date of birth. |
| personType | int | Person type. Possible values: 0 – None; 1 – ZPKONPI; 2 – ZMIP; 3 – ZPKONPI + ZMIP; 4 – Archive ZPKONPI; 5 – ZPKONPI + Archive ZPKONPI; 6 – ZMIP + Archive ZPKONPI; 7 – ZPKONPI + ZMIP + Archive ZPKONPI; 8 – Archive ZMIP; 9 – ZPKONPI + Archive ZMIP; 10 – ZMIP + Archive ZMIP; 11 – ZPKONPI + ZMIP + Archive ZMIP; 12 – Archive ZPKONPI + Archive ZMIP; 13 – ZPKONPI + Archive ZPKONPI + Archive ZMIP; 14 – ZMIP + Archive ZPKONPI + Archive ZMIP; 15 – ZPKONPI + ZMIP + Archive ZPKONPI + Archive ZMIP. |
| sorts | array<number|string> | null | First element is relevance, the second is person identifier. |
| rootClassifier.name | string | Classifier name. |
| rootClassifier.years | array<int> | Classifier years. |
| rootClassifier.id | int | Classifier identifier. |
| rootClassifier.type | int | Root classifier type. Possible values: 1 – ZPKONPI; 2 – ZMIP; 3 – Position; 4 – Organization. |
| classifiers.categoryKPKONPI | array<object> | KPKONPI classifier. |
| classifiers.categoryZMIP | array<object> | ZMIP classifier. |
| classifiers.organization | array<object> | Organization classifier. |
| classifiers.position | array<object> | Position classifier. |
| classifiers.docCount | int | Total found people in the classifier. |
| classifiers.id | int | Classifier identifier. |
| classifiers.name | string | Classifier name. |
| classifiers.order | int | Classifier display order. |
| pageNumber | int | Page number. |
| totalPages | int | Total pages. |
| Property | Type | Description |
|---|---|---|
| biography.content | string | Biography. |
| biography.contactInfo | string | Person contact info. |
| biography.biographyUrl | string | Biography URL. |
| biography.image | string | Person image. |
| records | array<object> | Person record history. Uses the shared person-record structure documented in the Search response. |
| recordsLinkedPersonsDistinct | array<object> | Distinct linked people. |
| linkedPersonsMeta | object | Meta linked people. |
| ofacData.id | int | OFAC - id. |
| ofacData.tableTypeId | int | OFAC - table type id. |
| ofacData.name | string | OFAC - name. |
| ofacData.num | int | OFAC - number. |
| ofacData.country | string | OFAC - country. |
| ofacData.ident | string | OFAC - EIK/Bulstat. |
| ofacData.linkedPerson | object | null | OFAC - Linked person. |
| ofacData.tableType | string | OFAC - description. |
| id | string | Identifier. |
| uniqueId | string | Unique identifier. |
| name | string | Name. |
| ident | string | EGN or LNCH or Assumed EGN. |
| identType | int | Identifier type. Possible values: 1 – EGN; 2 – LNCH; 3 – assumed EGN; 4 – not found; 5 – ChFL; 6 – unknown. |
| birthDate | string (date-time) | null | Date of birth. |
| personType | int | Person type. Possible values: 0 – None; 1 – ZPKONPI; 2 – ZMIP; 3 – ZPKONPI + ZMIP; 4 – Archive ZPKONPI; 5 – ZPKONPI + Archive ZPKONPI; 6 – ZMIP + Archive ZPKONPI; 7 – ZPKONPI + ZMIP + Archive ZPKONPI; 8 – Archive ZMIP; 9 – ZPKONPI + Archive ZMIP; 10 – ZMIP + Archive ZMIP; 11 – ZPKONPI + ZMIP + Archive ZMIP; 12 – Archive ZPKONPI + Archive ZMIP; 13 – ZPKONPI + Archive ZPKONPI + Archive ZMIP; 14 – ZMIP + Archive ZPKONPI + Archive ZMIP; 15 – ZPKONPI + ZMIP + Archive ZPKONPI + Archive ZMIP. |
| sorts | array<number|string> | null | First element is relevance, the second is person identifier. |
| Property | Type | Description |
|---|---|---|
| eik | string | EIK/Bulstat. |
| caption | string | Company name. |
| uniqueId | int | Company unique identifier. |
| type | int | Company identifier type. Possible values: 1 – BULSTAT; 2 – EIK. |
| linkedData.linkedPersons.name | string | Linked person name. |
| linkedData.linkedPersons.egn | string | Linked person EGN. |
| linkedData.linkedPersons.linkedIndirectOwnershipChain | array<object> | Indirect ownership chain for the linked person. |
| linkedData.linkedPersons.positions | int | Role bitmask. Possible values: 0 – none; 1 – owner; 2 – shareholder; 3 – owner + shareholder; 4 – beneficial owner; 5 – owner + beneficial owner; 6 – shareholder + beneficial owner; 7 – owner + shareholder + beneficial owner; 8 – representative; 9 – owner + representative; 10 – shareholder + representative; 11 – owner + shareholder + representative; 12 – beneficial owner + representative; 13 – owner + beneficial owner + representative; 14 – shareholder + beneficial owner + representative; 15 – owner + shareholder + beneficial owner + representative. |
| linkedData.linkedPersons.peps | object | PEP/SPOH data for the linked person. Uses the shared person search-result structure. |
| linkedData.allSubjects | array<object> | All linked subjects. Uses the linked-person structure. |
| linkedData.pepsPersons | array<object> | Linked PEP persons. Uses the linked-person structure. |
| linkedData.pepsKPKONPI.identifier | string | Linked person identifier from a declaration. |
| linkedData.pepsKPKONPI.name | string | Linked person name from a declaration. |
| linkedData.pepsKPKONPI.ident | string | Linked person EGN/LNCH/assumed EGN from a declaration. |
| linkedData.pepsKPKONPI.posititions | array<string> | Positions of the linked person from a declaration. |
| linkedData.pepsKPKONPI.kPKONPIPersons | array<object> | Nested linked persons from ZPKONPI. |
| linkedData.registeredBeneficialOwners.identifier | string | Registered beneficial owner identifier. |
| linkedData.registeredBeneficialOwners.name | string | Registered beneficial owner name. |
| linkedData.registeredBeneficialOwners.ident | string | Registered beneficial owner EGN/LNCH/assumed EGN. |
| linkedData.registeredBeneficialOwners.role | string | Registered beneficial owner role. |
| linkedData.registeredBeneficialOwners.personType | int | Person category. Possible values: 1 – senior public office holder (SPOH); 2 – politically exposed person (PEP); 3 – PEP/SPOH. |
| linkedData.beneficialOwners.id | string | Identifier of beneficial owners with at least 25% equity or equity interest. |
| linkedData.beneficialOwners.identifier | string | EGN of beneficial owners with at least 25% equity or equity interest. |
| linkedData.beneficialOwners.identifierType | string | Beneficial-owner identifier type: EGN, LNCH, or assumed EGN. |
| linkedData.beneficialOwners.name | string | Name of beneficial owners with at least 25% equity or equity interest. |
| linkedData.beneficialOwners.isPublic | bool | Whether the beneficial owner is a public entity. |
| linkedData.beneficialOwners.isMunicipal | bool | Whether the beneficial owner is municipal. |
| linkedData.beneficialOwners.percent | int | Ownership percentage. |
| linkedData.beneficialOwners.isCoop | bool | Whether the beneficial owner is a cooperative. |
| linkedData.beneficialOwners.isNonProfit | bool | Whether the beneficial owner is non-profit. |
| linkedData.beneficialOwners.isManagerOwner | bool | Whether the beneficial owner is also a manager. |
| linkedData.beneficialOwners.selfDeclared | bool | Whether the beneficial owner is self-declared. |
| ofacData | array<object> | OFAC data. Uses the OFAC structure documented above. |
true/false
| Property | Type | Description |
|---|---|---|
string | Email address. | |
| data | string | Input rows in identifier;name format. Identifier is optional; name is required. Separate rows with \r\n. |
| Property | Type | Description |
|---|---|---|
| id | int | Notification id. |
string | Email address. | |
| lastModifyDate | string (date-time) | Date and time of the last modification. |
| data | string | Input rows in identifier;name format. Identifier is optional; name is required. Separate rows with \r\n. |
| messageType | int | Message status. Possible values: 0 – no exceptions; 1 – user does not exist; 3 – notification was saved successfully; 4 – notification did not saved; 7 – notification was modified successfully; 8 – notification did not modified. |
| username | string | Username. |
| Property | Type | Description |
|---|---|---|
| id | int | Notification id. |
string | Email address. | |
| lastModifyDate | string (date-time) | Date and time of the last modification. |
| data | string | Submitted data content. |
| messageType | int | Message status. Possible values: 0 – no exceptions; 1 – user does not exist; 2 – notification does not exist. |
| username | string | Username. |
| Property | Type | Description |
|---|---|---|
| id | int | Notification id. |
string | Email address. | |
| lastModifyDate | string (date-time) | Date and time of the last modification. |
| data | string | null | Submitted data content. |
| messageType | int | Message status. Possible values: 0 – no exceptions; 1 – user does not exist; 2 – notification does not exist; 5 – notification was deleted successfully; 6 – notification did not deleted. |
| username | string | Username. |
| Property | Type | Description |
|---|---|---|
| type | int | Report type. Possible values: 1 – quick report (fewer than 1000 rows, not saved to logs); 2 – daily report (saved to logs and delivered by email). Default: 1. |
| data | string | Input rows in identifier;name format. Identifier is optional; name is required. Separate rows with \r\n. |
| Property | Type | Description |
|---|---|---|
string | Email address. | |
| reportDate | string (date-time) | Date and time when the report was generated. |
| data | string | Input rows in identifier;name format. Identifier is optional; name is required. Separate rows with \r\n. |
| result | array<object> | Matched results only. |
| result.identifier | string | Person identifier. |
| result.name | string | Person name. |
| result.match | int | Match level. Possible values: 100 – full match by name and identifier; 75 – full match by name and assumed identifier; 50 – full match by name and birth date; 25 – match by name only. |
| messageType | int | Message status. Possible values: 0 – no exceptions; 1 – user does not exist; 2 – notification does not exist; 11 – rows are more than 1000. |
| username | string | Username. |
| Property | Type | Description |
|---|---|---|
| logs.id | int | Log identifier. |
| logs.insertDate | string (date-time) | Date and time when the log was created. |
| messageType | int | Message status. Possible values: 0 – no exceptions; 1 – user does not exist; 9 – logs did not exist. |
| username | string | Username. |
| Property | Type | Description |
|---|---|---|
| id | int | Log identifier. |
| insertDate | string (date-time) | Date and time when the log was created. |
| data | string | Submitted data content. |
| result | array<object> | Matched results only. |
| result.identifier | string | Person identifier. |
| result.name | string | Person name. |
| result.match | int | Match level. Possible values: 100 – full match by name and identifier; 75 – full match by name and assumed identifier; 50 – full match by name and birth date; 25 – match by name only. |
| messageType | int | Message status. Possible values: 0 – no exceptions; 1 – user does not exist; 10 – log does not exist. |
| username | string | Username. |
Вижте още: