Validation errors
When submitting API calls to the bronID API, you might encounter validation errors. The error response should contain enough information for you to understand what the issue is and to be able to correct it.
Some examples if invalid requests are:
- missing a required field
- using an invalid field value
Sample validation errors
Using an invalid value
The sample below is using an invalid ABN.
Request body
{
"userId": "test-user",
"country": "AUS",
"type": "partnership",
"subType": "generalPartnership",
"name": "info partnership",
"industry": "Test Industry",
"website": "https://test.com",
"inputRisk": "unknown",
"identifiers": {
"abn": "123456789__"
},
"addresses": {
"registeredAddress": "123 Main St, Australia",
"principalPlaceOfBusiness": "123 Main St, Australia",
"other": "123 Main St, Australia"
}
}
The API response includes the cause of the issue, explaining the the ABN must be exactly 11 digits.
API response
{
"timestamp": "2026-01-07T23:47:55.773Z",
"serviceUid": "5qA5Hq0n1JQTY2TASItxYXSRyND3",
"trace": "uEGS5rX4YvhWAA0nRgrKa",
"path": "/v5/forms",
"statusCode": 422,
"message": "Validation error",
"status": "error",
"data": null,
"help": null,
"error": {
"type": "validation_error",
"details": [
{
"message": "ABN must be exactly 11 digits.",
"code": "invalid_format",
"path": ["identifiers", "abn"]
}
]
}
}
Missing a required value
This sample illustrates a missing required field. There is a typo in the key website.
Request body
{
"userId": "test-user",
"country": "AUS",
"type": "trust",
"subType": "discretionaryTrust",
"name": "Info Discretionary Trust",
"industry": "Test Industry",
"website_": "https://test.com",
"inputRisk": "unknown",
"identifiers": {
"abn": "12345678901"
},
"addresses": {
"registeredAddress": "123 Main St, Australia",
"principalPlaceOfBusiness": "123 Main St, Australia",
"other": "123 Main St, Australia"
},
"documents": [
{
"kind": "trustDeed",
"source": "url",
"data": "https://external-storage.com/the-file.pdf?Signature=123123",
"fileName": "my-file-name.pdf",
"mimeType": "application/pdf",
"description": "File stored on an external platform."
}
],
"stakeholders": [
{
"role": "trustee",
"entity": {
"country": "AUS",
"type": "company",
"name": "Trustee Pty Ltd",
"identifiers": {
"acn": "123456789"
},
"addresses": {}
}
}
]
}
The API response includes the cause of the issue, explaining that the field website is missing i.e. undefined.
API response
{
"timestamp": "2026-01-07T23:56:06.024Z",
"serviceUid": "5qA5Hq0n1JQTY2TASItxYXSRyND3",
"trace": "PTBHOb-FZXQuQOqd6cVfL",
"path": "/v5/verifications",
"statusCode": 422,
"message": "Validation error",
"help": null,
"status": "error",
"data": null,
"error": {
"type": "validation_error",
"details": [
{
"message": "Invalid input: expected string, received undefined",
"code": "invalid_type",
"path": ["website"]
}
]
}
}
Missing a required document
This sample illustrates an API call that is missing a required document. The trustDeed is a required document when submitting a trust.
Request body
{
"userId": "test-user",
"country": "AUS",
"type": "trust",
"subType": "discretionaryTrust",
"name": "Info trust name",
"industry": "Test Industry",
"website": "https://test.com",
"inputRisk": "unknown",
"identifiers": {
"abn": "12345678901"
},
"addresses": {
"registeredAddress": "123 Main St, Australia",
"principalPlaceOfBusiness": "123 Main St, Australia",
"other": "123 Main St, Australia"
},
"documents": [],
"stakeholders": [
{
"role": "trustee",
"entity": {
"type": "company",
"country": "AUS",
"name": "Trustee Pty Ltd",
"identifiers": {
"acn": "123456789"
},
"addresses": {}
}
}
]
}
The API response includes the cause of the issue, explaining that there are documents which are required, but have not been included in the request.
API response
{
"timestamp": "2026-01-11T00:50:04.761Z",
"serviceUid": "3Fis7CWEHsVcGEJTYqKcW5dCF393",
"trace": "ZtgVE_q_9GE7UFFDhomkj",
"path": "/v5/verifications",
"statusCode": 422,
"message": "Validation error",
"help": null,
"status": "error",
"data": null,
"error": {
"type": "validation_error",
"details": [
{
"message": "All required document types must have at least one document with file upload",
"code": "custom",
"path": ["documents"]
}
]
}
}
Empty required value
This sample illustrates an empty required field. The value of the key website is an empty string i.e. “”.
Request body
{
"userId": "test-user",
"country": "AUS",
"type": "trust",
"subType": "discretionaryTrust",
"name": "info Discretionary Trust",
"industry": "Test Industry",
"website": "",
"inputRisk": "unknown",
"identifiers": {
"abn": "12345678901"
},
"addresses": {
"registeredAddress": "123 Main St, Australia",
"principalPlaceOfBusiness": "123 Main St, Australia",
"other": "123 Main St, Australia"
},
"documents": [
{
"kind": "trustDeed",
"source": "url",
"data": "https://external-storage.com/the-file.pdf?Signature=123123",
"fileName": "my-file-name.pdf",
"mimeType": "application/pdf",
"description": "File stored on an external platform."
}
],
"stakeholders": [
{
"role": "trustee",
"entity": {
"type": "company",
"country": "AUS",
"name": "Trustee Pty Ltd",
"identifiers": {
"acn": "123456789"
},
"addresses": {}
}
}
]
}
The API response includes the cause of the issue, explaining that the field website is required.
API response
{
"timestamp": "2026-01-08T00:03:08.103Z",
"serviceUid": "5qA5Hq0n1JQTY2TASItxYXSRyND3",
"trace": "YhN8s4WvGLWFYY1nILkmG",
"path": "/v5/verifications",
"statusCode": 422,
"message": "Validation error",
"help": null,
"status": "error",
"data": null,
"error": {
"type": "validation_error",
"details": [
{
"message": "Website is required.",
"code": "too_small",
"path": ["website"]
}
]
}
}
Value too long
The sample illustrates providing a value that is longer than the maximum allowed characters.
Request body
{
"userId": "test-user",
"country": "AUS",
"type": "trust",
"subType": "discretionaryTrust",
"name": "A name that is too long for the validation to accept it",
"industry": "Test Industry",
"website": "https://test.com",
"inputRisk": "unknown",
"identifiers": {
"abn": "12345678901"
},
"addresses": {
"registeredAddress": "123 Main St, Australia",
"principalPlaceOfBusiness": "123 Main St, Australia",
"other": "123 Main St, Australia"
},
"documents": [
{
"kind": "trustDeed",
"source": "url",
"data": "https://external-storage.com/the-file.pdf?Signature=123123",
"fileName": "my-file-name.pdf",
"mimeType": "application/pdf",
"description": "File stored on an external platform."
}
],
"stakeholders": [
{
"role": "trustee",
"entity": {
"type": "company",
"country": "AUS",
"name": "Trustee Pty Ltd",
"identifiers": {
"acn": "123456789"
},
"addresses": {}
}
}
]
}
The error response explains that the field is longer than the validation allows.
API response
{
"timestamp": "2026-01-08T00:09:43.463Z",
"serviceUid": "5qA5Hq0n1JQTY2TASItxYXSRyND3",
"trace": "B89FVqhQLZhPsc4l7UAqE",
"path": "/v5/verifications",
"statusCode": 422,
"message": "Validation error",
"help": null,
"status": "error",
"data": null,
"error": {
"type": "validation_error",
"details": [
{
"message": "Name must be less than 50 characters.",
"code": "too_big",
"path": ["name"]
}
]
}
}
Error types
Whenever a request is unsuccessful, the bronID API will return an error response with an error type and message. You can use this information to understand better what has gone wrong and how to fix it. Most of the error messages are pretty helpful and actionable.
- Name
validation_error- Description
This means that the request is invalid.
Error response
{
"type": "validation_error",
"message": "Validation error",
"help": "http://v5.docs.bronid.com/kyb-api/errors"
}