Public API and SDK reference
Explore the public API contract and generate verified Java, TypeScript, Python, C#, and Go clients or SDK archives for SpecTestEngine testing.
Explore the public API contract and generate verified Java, TypeScript, Python, C#, and Go clients or SDK archives for SpecTestEngine testing.
Explore the versioned OpenAPI contract and generate typed clients for Java, TypeScript, Python, C#, or Go.
/browser/visual/comparisons/{comparisonId}Returns one immutable comparison generation, its evidence lineage, normalized exclusions, and currently available review actions.
getBrowserVisualComparisoncomparisonIdpathstring · uuidRequiredIdentifier of an immutable Browser visual comparison generation.
No request body is required.
application/jsonBrowserVisualComparisoncomparisonIdrequiredstring · uuidstatusrequireddecisionStatusrequiredscopeTyperequiredcompareModerequiredstopPolicyrequiredbaselineArtifactIdoptionalstring · uuidactualArtifactIdoptionalstring · uuiddiffArtifactIdoptionalstring · uuiddiffPixelsoptionalinteger · int64diffPixelRatiooptionalnumber · doublemessageoptionalstringchangedDetailsoptionalarray<string>changedRegionsoptionalarray<BrowserVisualDiffRegion>createdAtrequiredstring · date-timereviewedAtoptionalstring · date-timeassertionRevisionrequiredinteger · int64baselineRevisionIdoptionalstring · uuidappliedBaselineRevisionIdoptionalstring · uuidgenerationNumberrequiredintegersourceComparisonIdoptionalstring · uuidrootComparisonIdrequiredstring · uuidexcludedRegionsrequiredarray<BrowserVisualExcludedRegion>changedExcludedRegionIndexesrequiredarray<integer>reviewCapabilitiesrequired{
"comparisonId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"status": "PASSED",
"decisionStatus": "UNREVIEWED",
"scopeType": "PAGE",
"compareMode": "STRICT",
"stopPolicy": "STOP_RUN",
"baselineArtifactId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"actualArtifactId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"diffArtifactId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"diffPixels": 0,
"diffPixelRatio": 0,
"message": "string",
"changedDetails": [
"string"
],
"changedRegions": [
{
"x": 0,
"y": 0,
"width": 0,
"height": 0,
"diffPixels": 0,
"leftRatio": 0,
"topRatio": 0,
"widthRatio": 0,
"heightRatio": 0
}
],
"createdAt": "2026-07-16T12:00:00Z",
"reviewedAt": "2026-07-16T12:00:00Z",
"assertionRevision": 0,
"baselineRevisionId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"appliedBaselineRevisionId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"generationNumber": 0,
"sourceComparisonId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"rootComparisonId": "0197f0ab-42e7-7a31-8a9c-591a8ee54c12",
"excludedRegions": [
{
"xRatio": 0,
"yRatio": 0,
"widthRatio": 0,
"heightRatio": 0,
"reason": "string"
}
],
"changedExcludedRegionIndexes": [
0
],
"reviewCapabilities": {
"useCurrentAsNewBaseline": {
"available": true,
"state": "AVAILABLE",
"disabledReason": "string"
},
"excludeAreaAndRecompare": {
"available": true,
"state": "AVAILABLE",
"disabledReason": "string"
},
"keepAsRegression": {
"available": true,
"state": "AVAILABLE",
"disabledReason": "string"
}
}
}application/jsonProblemDetailstimestamprequiredstring · date-timestatusrequiredintegererrorrequiredstringmessagerequiredstringpathrequiredstringerrorCoderequiredstringtranslationKeyoptionalstringrequestIdoptionalstringviolationsoptionalarray<object>{
"timestamp": "2026-07-16T12:00:00Z",
"status": 0,
"error": "string",
"message": "string",
"path": "string",
"errorCode": "string",
"translationKey": "string",
"requestId": "string",
"violations": [
{}
]
}