Review author validation rules for name requirements, content restrictions, and authenticity checks
Author
AuthorMustBePresent
| Preconditions |
|---|
Review type is USER |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that author is present |
Example Validation Report
{
"code": "VALIDATION__AuthorMustBePresent",
"severity": "VIOLATION",
"message": "Field '{{field}}' must be present",
"context": {
"field": "author"
},
"details": {
"createdDate": "2026-12-01T21:00:59.865Z",
"submitted": [],
"expected": [
{
"field": "$.reviewDetails.review.author"
}
],
"compared": []
}
}
Alternate Name
AlternateNameMustNotBeDummyCharacters
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that alternateName is not exclusively dummy characters | Link |
Example Validation Report
{
"code": "VALIDATION__AlternateNameMustNotBeDummyCharacters",
"message": "'{{field}}' value must not be dummy characters",
"severity": "VIOLATION",
"context": {
"field": "alternateName"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.reviewDetails.review.author.alternateName",
"value": "0"
}
],
"compared": [],
"expected": []
}
}
AlternateNameMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that alternateName is not an empty string |
Example Validation Report
{
"code": "VALIDATION__AlternateNameMustNotBeEmpty",
"severity": "VIOLATION",
"message": "'alternateName' must not be empty string"
}
AlternateNameMustNotIncludeURL
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that alternateName does not include a URL | Link |
Example Validation Report
{
"code": "VALIDATION__AlternateNameMustNotIncludeURL",
"severity": "VIOLATION",
"message": "'{{field}}' is '{{value}}' and includes URL",
"context": {
"field": "alternateName",
"value": "Bad Actor (https://www.badactor.com)"
},
"details": {
"createdDate": "2026-06-10T11:36:02.00Z",
"submitted": [
{
"field": "$.reviewDetails.review.author.alternateName",
"value": "Bad Actor (https://www.badactor.com)"
}
],
"compared": [],
"expected": []
}
}
AlternateNameMustNotExceedMaximum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that alternateName length does not exceed a maximum value (255) |
AlternateNameMustNotIncludeVulgarWord
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that alternateName does not include a vulgar word |
Given Name
GivenNameMustNotBeDummyCharacters
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName is not exclusively dummy characters | Link |
Example Validation Report
{
"code": "VALIDATION__GivenNameMustNotBeDummyCharacters",
"message": "'{{field}}' value must not be dummy characters",
"severity": "VIOLATION",
"context": {
"field": "givenName"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.reviewDetails.review.author.givenName",
"value": "0"
}
],
"compared": [],
"expected": []
}
}
GivenNameMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName is present |
Example Validation Report
{
"code": "VALIDATION__GivenNameMustBePresent",
"severity": "VIOLATION",
"message": "Field '{{field}}' must be present",
"context": {
"field": "givenName"
}
}
GivenNameMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName is not an empty string |
Example Validation Report
{
"code": "VALIDATION__GivenNameMustNotBeEmpty",
"severity": "VIOLATION",
"message": "'givenName' must not be empty string"
}
GivenNameMustNotIncludeURL
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName does not include a URL | Link |
Example Validation Report
{
"code": "VALIDATION__GivenNameMustNotIncludeURL",
"severity": "VIOLATION",
"message": "'{{field}}' is '{{value}}' and includes URL",
"context": {
"field": "givenName",
"value": "Bad Actor (https://www.badactor.com)"
},
"details": {
"createdDate": "2026-06-10T11:36:02.00Z",
"submitted": [
{
"field": "$.reviewDetails.review.author.givenName",
"value": "Bad Actor (https://www.badactor.com)"
}
],
"compared": [],
"expected": []
}
}
GivenNameMustNotExceedMaximum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName length does not exceed a maximum value (255) |
GivenNameMustNotIncludeVulgarWord
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName does not include a vulgar word |
Image URL
FilenameExtensionMustBeValid
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that filename at end of url is valid | Link |
ImageUrlMustPassUrlScan
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that imageUrl passes security checks |
{{reason}} |
|---|
malformed |
not parsable |
includes unsupported fragment |
only http or https schemes accepted |
port not within expected range |
hostname is neither FQDN, IP v4 nor IP v6 |
does not resolve to accepted IP address version (v4 or v6) |
does not resolve to accepted IP address |
file size exceeds maximum |
failed to download |
unrecognizable MIME type |
unexpected content for MIME type |
failed virus scan |
Example Validation Report
{
"code": "VALIDATION__ImageMustPassUrlScan",
"message": "URL rejected for reason: '{{reason}}'",
"severity": "VIOLATION",
"context": {
"reason": "only http or https schemes accepted"
},
"details": {
"createdDate": "2026-09-01T21:00:59.865Z",
"submitted": [
{
"field": "$.reviewDetails.review.author.imageUrl",
"value": "ftp://goodpartner.com/media/images/author_profile_pic/user_id=43767642526I/default-avatar.jpg"
}
],
"compared": [],
"expected": []
}
}
ImageUrlLengthMustNotExceedMaximum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that imageUrl length does not exceed a maximum value (255) | Link |
ImageUrlMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that imageUrl is not an empty string |
ImageUrlMustNotIncludeUtmParameter
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that imageUrl does include UTM parameter(s) | Link |
ImageUrlMustHaveValidFormat
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that imageUrl has valid formatting | Link |
Last Initial
LastInitialMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that lastInitial is not an empty string |
LastInitialMustNotExceedMaximum
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that lastInitial length does not exceed a maximum value (2) |
Unsupported Characters
AlternateNameHasUnsupportedCharacter
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that alternateName does not include an unsupported character | Link |
GivenNameHasUnsupportedCharacter
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that givenName does not include an unsupported character | Link |
LastInitialHasUnsupportedCharacter
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that lastInitial does not include an unsupported character | Link |