API Versions
This documentation relates to Version 1, the current version of the greenID Business API. Version 1 became available to customers as of .
Authentication
HTTP basic authentication is used for accessing the endpoint. The username is your greenID customer account ID that you use for greenID Business, and the password is your greenID web services password for that account.
<<KS: Is the above sufficient for a developer to know how to use this?>>
Exceptions and Error Handling
We return an error response in JSON format if an exception occurs. An example of this is as follows:
{ "error": "Not found", "message": "No verification with ID: 1775", "status": 404 }
Example errors include:
<<KS: I think we need to include details of what is validated and the status/error codes returned for each? Check std API docs>>
- Not Found (404)
- Unauthorized (401)
- Internal Server Error (500)
Methods Available
The following webservice methods are available for the greenID Business API version 1:
get BusinessVerification: <<KS - make this a link to the new page for this. Text below can be an 'excerpt' and use 'excerpt include' here?>>
The greenID Business API ‘get Business Verification’ method allows customers to extract the current details of a business verification. Given a greenID Business reference number, the API call returns information about the top-level business, sub-businesses, and all associated individuals (including their verification status).
Additional methods will be made available in future, for example a method to create a new business verification via the API.
get BusinessVerification. <<KS - I think this needs to be split out to a new page?>>
<<KS: Add this text as an 'excerpt on the new page'>>
The greenID Business API ‘get Business Verification’ method allows you to extract the current details of a business verification, including it's verification status. Given a greenID Business reference number, the API call returns information about the business to be verified (i.e. the 'top level' or 'root business'), it's sub-businesses (for example shareholder businesses), and all associated individuals (including their verification status).
The 'get BusinessVerification' method is available as a RESTful endpoint. The URL to call is as follows:
<<KS: Do we need to specify something in the above text about using 'get' in conjunction with the below url?? Jo to advise... >>
http://au.vixverify.com/vixbiz/api/v1/businessVerification/<verification_reference_id>
Input Parameters
Name | Type | Required | Description |
---|---|---|---|
verification_reference_id | String | Yes | The <verification_reference_id> is the unique 'Ref. No' of the business verification within the greenID Business system. This must be obtained from the greenID Admin Panel version of the system. It can be found on the greenID Business Admin page where all your business verifications are listed, or on the 'Verify a business' details page of the required business verification. |
Output
The output from the get BusinessVerification call will be in JSON format, and contains four main sections:
- businessVerificationReference
- Entities
- Relationships
- rootBusiness
An entity could be an individual or business, and relationships are the connections between different entities. Each of these will have a unique ID.
<<KS: Describe rootBusiness. Should it be listed first? Think maybe we need a bit more info in this section to describe each section?>>
businessVerificationReference
Field Name | Description | Type | Example |
---|---|---|---|
businessVerificationReference | The value of the verification_reference_id that was requested | Integer | 1097 |
Entities
The 'entities' section contains details of the relevant parties within the business. There are two types of entities which can be contained within this section - individuals and businesses. The type of entity is specified by the 'entityType'. A particular entity may be present within multiple 'relationships' within the business (for example as a director and as a shareholder), but they should only be represented once within the entities section. For example: If individual 'Jack Black' is both a director and shareholder, there will only be one entity returned for him*
*Note: For an individual occurring in multiple places within a business structure to be recognised as the same 'entity', their name and address as retrieved from the business register (or manually captured for manually added individuals) must be identical - else they will be assumed to be different 'entities' (i.e. different people) and there will then be more than one entry in the entities section for them.
The following section provides details of the fields in each entity structure.
Entity Object (individual)
<<KS: since order of the fields returned is not guaranteed, should we order them logically within the docs e.g. all name fields together? They do however generally appear in the order specified below, so perhaps we leave it?
Also - there are many fields repeated for business and for individual, could they rather be defined only once?>>
Field Name | Description | Type | Example |
---|---|---|---|
address | A structure encoding the address of the entity | Address | - |
dataSource | Details of the data source (e.g. a company register) from which this entity's details were retrieved. <<KS: I can't see that a 'Datasource' structure is being returned. Has this changed? 'dataSource' seems to just have the description of the data source now - no 'type'>> | <<??>> | - |
dob | Date of birth for this individual | String | "25/05/1947" |
entityType | The type of this entity. (Possible values are 'individual' and 'business') | String | "individual" |
fromDataSource | Whether or not details about this entity were obtained from a business register* (i.e. this will be 'true' if if the results from a lookup of a business on a business register included details of this individual. Example: The results of lookup of a company included details of an individual who is a director). | Boolean | "true" or "false" |
givenName | The given name of this individual | String | "John" |
id | The unique ID of this entity | Integer | 789112 |
middleNames | Middle name(s) for this individual | String | "Clive" |
notes | A list of notes associated with this entity | List of Notes | - |
surname | The surname of this individual | String | "Smith" |
verification | A structure encoding verification details for the entity | Verification | - |
verificationNeverRequired | Whether or not verification is required for this entity If 'true', then this entity does not need to be verified within any relationship within the business structure in order for the overall business verification to be 'verified'. | Boolean | "true" or "false" |
Entity Object (Business)
Field Name | Description | Type | Example |
---|---|---|---|
address | A structure encoding the address of the entity <<KS: Clarify this... if a business, does it only have country code? Doesn't always seem to have this though?>> | Address | - |
businessNumber | The business number for this entity. This will be the business number for the business as registered on the stated 'dataSource'. Example: if the business was retrieved from the NZBN Register, then the business number will be the NZBN. | String | "111307361" |
businessStatus | The status of the business as returned from a business register. (Possible values will differ dependent on the business register) | String | "Registered" |
businessSubtype | The business subtype | String | "AU Limited Company" |
businessType | The type of business | String | "company" |
countryOfRegistration | The country where the business is registered, in the form of a two-letter country code. This will only be populated if the business is registered on the stated business register (see dataSource). | String | "AU" |
dataSource | Details of the data source (i.e. business register) from which this entity's details were retrieved. | String | "the New Zealand Business Number Register" |
documents | A list of documents associated with this business | List of Documents | - |
entityType | The type of this entity | String | "business" |
existenceVerified | Whether or not the existence of this business has been verified. Existence is verified either by the business being found on a business register (see foundInRegister), or by the upload and verification of supporting documents. | Boolean | "true" or "false" |
foundInRegister | Whether or not this business was found on a business register (i.e. this will be 'true' if a lookup was performed against a business register using the business number, the business was successfully found and it's details retrieved) | Boolean | "true" or "false" |
fromDataSource |
Whether or not details about this entity were obtained from a business register (i.e. this will be 'true' if:
| Boolean | "true" or "false" |
id | The unique ID of this entity | Integer | 1096 |
name | The name of this business (i.e. the legal entity name) | String | "Acme Pty Ltd" |
notes | A list of notes associated with this entity | List of Notes | - |
verification | A structure encoding verification details for the entity | Verification | - |
verificationNeverRequired | Whether or not verification is required for this entity If 'true', then this entity does not need to be verified within any relationship within the business structure in order for the overall business verification to be 'verified'. | Boolean | "true" or "false" |
Address Object
For business entities: if the business was not found on a business register via a search, then the 'location' of the business is indicated by the country code within the Address. No other address fields are currently provided for a business. If the business was found on a business register, then the Address will be empty but the 'country of registration' will be provided.
For individual entities: If the address was not validated, then only the country and the 'full address' will be provided. If the address was validated, then the individual address fields populated will depend on the country and the type of address.
Field Name | Description | Type | Example |
---|---|---|---|
countryCode | The address country code i.e. a two digit code. | String | "NZ" |
countryName | The human-readable version of the country name. | String | "New Zealand" |
fullAddress | The full address in a single String | String | "67 HAVEN ROAD, NELSON 7010, NEW ZEALAND" |
postcode | The address postcode (only available if address has been validated) | String | "7010" |
streetName | The address street name (only available if address has been validated) | String | "HAVEN" |
streetNumber | The street number (only available if address has been validated) | String | "67" |
streetType | The type of street (only available if address has been validated) | String | "ROAD" |
townCity | The town or city of the address (only available if address has been validated) Only applicable to New Zealand addresses | String | "NELSON" |
suburb | The suburb of the address (only available if address has been validated) | String | "PAPAMOA BEACH" |
state | The abbreviation for the state (only available if address has been validated) Only applicable to Australian addresses | String | "NSW" |
DataSource Object
<<KS: Don't think this exists anymore...>>
Field Name | Description | Type | Example |
---|---|---|---|
name | The human-readable name of this data source | String | "the New Zealand Business Number Register" |
type | The type of the business returned | String | "company (nzco)" |
Document Object
Field Name | Description | Type | Example |
---|---|---|---|
creationTime | The date and time when this document was created (uploaded). Format is UTC (Universal Time Coordinated) | String | "2018-08-15 06:18:19.929+0000" |
documentURL | A URL where this document can be downloaded from | String | "https://au.vixverify.com/vixbiz/api/v1/document/1854" |
evidenceType | The type of evidence that this document provides | String | "Statutory declaration" |
fileSize | The size of the document file, in bytes. | Integer | 297054 |
name | The original document filename | String | "file.pdf" |
verification | The verification associated with this document | Verification | - |
Note Object
Field Name | Description | Type | Example |
---|---|---|---|
author | The author of a note | String | john.doe@example.com |
context | If present, the context in which the note was added e.g. when exempting an entity from verification etc. <<KS: Do we know the possible values? If so, we should list these here>> | String | exemptFromVerification |
creationTime | A timestamp for when this note was created. Format is UTC (Universal Time Coordinated) | String | 2018-08-08 00:00:09.217+0000 |
text | The note text | String | "A note" |
Verification Object
Field Name | Description | Type | Example |
---|---|---|---|
dateDue | The due date for this verification | String | 2018-08-08 00:00:09.217+0000 |
dateNominated | The date that this verification was nominated (created) | String | 2018-08-07 23:16:47.065+0000 |
greenIDVerificationId | Only returned if the verification is for an Individual, and the individual is being verified via greenID. This is the verification identifier within the greenID core system for the individual. | String | pnP7urdr |
status | The status of this verification <<KS: Can we list all possible values and what object types applicable to?>> | String | "Verified" |
Relationships
Within a business structure, there are numerous 'relationships' between the entities (individuals and businesses). Each of the entities are defined within the 'Entities' structure, and then details of how they are related to each other will be provided in this section. A single entity (e.g. a particular individual or business) may be involved in multiple relationships within the business.
Each relationship has a relationship 'type', and the 2 participants in that relationship - the 'relatedEntity' and the 'businessRelatedTo.
For example:
A business 'Superclean Windows' has two shareholders 'Peter Jones' and 'Wonderful Windows'. 'Wonderful Windows' in turn has a shareholder of 'Jack Jones'. The relationships will be as follows:
- a relationship with a type of' 'shareholder', Peter Jones will be the 'relatedEntity' and Superclean Windows will be the 'businessRelatedTo'.
- a relationship with a type of' 'shareholder', Wonderful Windows will be the 'relatedEntity' and Superclean Windows will be the 'businessRelatedTo'.
- a relationship with a type of' 'shareholder', Jack Jones will be the 'relatedEntity' and Wonderful Windows will be the 'businessRelatedTo'.
Relationship Object
The following section gives details on the fields in each relationship structure.
Field Name | Description | Type | Example |
---|---|---|---|
businessRelatedTo | The ID of the business entity in which the relationship exists. An example would be the company that is owned by a shareholder (specified as the 'relatedEntity') in a shareholding relationship. | Integer | 789587 |
fields | A list of fields associated with this relationship. These provide information about the relationship, for example the percentage of shares held in a 'shareholder' relationship. | List of Fields | - |
id | The ID of this relationship | Integer | 789557 |
relatedEntity | The ID of the entity which is related to the business specified in the "businessRelatedTo" field. An example would be the shareholder in a shareholding relationship. A related entity can be a business or an individual. | Integer | 789558 |
type | The type of this relationship | String | "Company office holder", "Shareholder", "Ultimate Holding Company" etc. |
verificationNotRequired | Whether or not the 'related entity' requires verification within the context of this relationship. Note: an entity may be 'verificationNotRequired' in one relationship within the business, but still require verification due to their involvement in another relationship. For example: Peter as a 10% shareholder does not require verification, but Peter as a director does require verification | Boolean | "true" or "false" |
verificationNotRequiredReason | If 'verificationNotRequired' is true, this will detail why the entity is exempt from verification within the context of this relationship | String | "Ownership percentage is below threshold of 25" |
Field Object
'Fields' are a collection of name / value pairs providing information about a relationship. The fields will vary depending on the country, business type, and the type of the relationship.
For example: A shareholder relationship may have fields for "allocationNumber", "ownershipPercentage" and "shareClassTitle", but a company office holder relationship may just have "type".
Field Name | Description | Type | Example |
---|---|---|---|
name | The name of this field | String | "controllerType", "additionalInformation", "allocationNumber", "shareAllocation", "totalSharesInCapitalGroup", "ownershipPercentage" etc. |
value | If present, gives the value of this field. If a field is not populated, then 'value' will not be present or will be empty. | String | "Director" |
verificationThreshold | If present, gives the verification threshold for this field. Any value less than the verificationThreshold will result in the relationship defaulting to 'verification not required'. Generally this only exists in relation to an ownership percentage. | String | "25" |
rootBusiness Object
This object provides details about the 'root business' that this overall business verification pertains to. This would be the business that you are aiming to verify and originally searched for or manually created.
Please note that this business is also contained within the 'entities' section of the results. It is has been extracted to this 'rootBusiness' section for ease of reference if you simply require the summary details for the business you are aiming to verify (i.e. the root business or top level business).
Field Name | Description | Type | Example |
---|---|---|---|
address | A structure encoding the address of the entity. Only the country details will be populated. | Address | - |
businessNumber | The business number for this entity. This will be the business number for the business as registered on the stated 'dataSource'. Example: if the business was retrieved from the NZBN Register, then the business number will be the NZBN. | String | "111307361" |
businessStatus | The status of the business as returned from a business register. (Possible values will differ dependent on the business register) | String | "Registered" |
businessType | The type of business | String | "company" |
businessSubtype | The business subtype | String | "AU Limited Company" |
countryOfRegistration | The country where the business is registered, in the form of a two-letter country code. This will only be populated if the business is registered on the stated business register (see dataSource). | String | "AU" |
dataSource | Details of the data source (i.e. business register) from which this entity's details were retrieved. | DataSource | - |
documents | A list of documents associated with this entity | List of Documents | - |
entityType | The type of this entity - this will always be "business" | String | "business" |
existenceVerified | Whether or not the existence of this entity has been verified. Existence is verified either by the business being found on a business register (see foundInRegister), or by the upload and verification of supporting documents. | Boolean | "true" or "false" |
foundInRegister | Whether or not this business was found on a business register (i.e. this will be 'true' if a lookup was performed against a business register using the business number, the business was successfully found and it's details retrieved) | Boolean | "true" or "false" |
fromDataSource | Whether or not details about this entity were obtained from a business register (i.e. this will be 'true' if:
| Boolean | "true" or "false" |
id | The unique ID of this entity (i.e. the legal entity name) | Integer | 1097 |
name | The name of this business | String | "Acme Pty Ltd" |
notes | A list of notes associated with this entity | List of Notes | - |
verification | A structure encoding verification details for the entity. This will provide the overall verification status for this 'business verification' (i.e. for the root business) | Verification | - |
verificationNeverRequired | Whether or not verification is required for this entity. This will always be "false" for the root business. | Boolean | "true" or "false" |