Build a custom updater on the public contract.
The Generic REST adapter returns version, notes, publication time, download URL, size, SHA-256, and the optional signature for the selected target.
Dynamic updater endpoint
GET https://{public-slug}.mateality.app/releases/{channel}/{target}/{arch}/{current-version}
The edge combines {target} and {arch} unless the target already ends with
that architecture. For example, linux plus x86_64 selects
linux-x86_64.
Update available
{
"version": "1.4.2",
"notes": "Release notes",
"pub_date": "2026-07-28T10:00:00.000Z",
"url": "https://{public-slug}.mateality.app/releases/download/{release-id}/linux-x86_64",
"size": "8459217",
"sha256": "64-lowercase-hex-characters",
"signature": null
}
The response is application/json. size currently originates from the
database’s bigint text representation, so clients should accept it as a decimal
string. signature is null when no signature was uploaded.
No update
The endpoint returns 204 No Content when no release exists or the supplied
current version is equal to or newer than the latest published version.
Client responsibilities
- Send the installed version and correct target.
- Treat
204as “no applicable update.” - Parse and validate the
200JSON. - Download
url. - Verify byte size and SHA-256.
- Verify
signaturewhen your application uses a signing scheme. - Install using the application’s own trusted update mechanism.
Multi-platform metadata
Use the public latest endpoint without a target filter to
receive a platforms map containing every active artifact in the latest
release.