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
<<KS: Are the fields the same for AU and NZ addresses? Need to specify which fields actually populate for businesses - seems to only be country code, and sometimes none>>
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) | String | "NELSON" |
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 applicable 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?>> | String | "Verified" |
Relationships
The following section gives details on the fields in each relationship structure.
Relationship Object
Field Name | Description | Type | Example |
---|---|---|---|
businessRelatedTo | The ID of the business entity in this relationship. An example would be a business that is owned by a shareholder in a shareholding relationship. | Integer | 789587 |
fields | A list of fields associated with this 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 this relationship means that verification is not required for the associated entity | Boolean | "true" or "false" |
verificationNotRequiredReason | If present this will detail why this relationship exempts the associated entity | String | "Ownership percentage is below threshold of 25" |
Field Object
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 | String | "Director" |
verificationThreshold | If present, gives the percentage verification threshold for this field | String | "25" |
rootBusiness Object
This object gives details on the root business that was originally searched for.
Field Name | Description | Type | Example |
---|---|---|---|
address | A structure encoding the address of the entity | Address | - |
businessNumber | The business number for this entity | String | "111307361" |
businessStatus | The status of the business as returned from a business register | String | "Registered" |
businessType | The type of business | String | "company" |
countryOfRegistration | The country where the business is registered, in the form of a two-letter country code | String | "AU" |
dataSource | Details on the data source (e.g. a company register) used for getting information on this entity. | DataSource | - |
documents | A list of documents associated with this entity | List of Documents | - |
entityType | The type of this entity | String | "business" |
existenceVerified | Whether or not the existence of this entity has been verified or not | Boolean | "true" or "false" |
foundInRegister | Whether or not this entity was found in a company register | Boolean | "true" or "false" |
fromDataSource | Whether or not this entity came from a data source (e.g. a lookup of a company register). | Boolean | "true" or "false" |
id | The ID of this entity | 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 | Verification | - |
verificationNeverRequired | Whether or not verification is required for this entity | Boolean | "true" or "false" |