Skip to main content

Upload Release Artifact

POST 

/api/v0/organizations/:organization_slug/projects/:project_slug/release-artifacts

Process a Release Artifact for a given Project after it has been uploaded using POST /api/v0/upload or POST /api/v0/organizations/{org}/projects/{proj}/upload (step 1).

A Release is created automatically based on the passed metadata.


Request Body​

{
"file": { "token": "<opaque token from Prepare Upload>" },
"software_version": {
"version": "1.0.0",
"software_type": "main-firmware",
"revision": "g31cffde2b3"
},
"must_pass_through": false,
"hardware_version": "hwrev1",
"notes": "Fixed a bug in the WiFi driver"
}
FieldTypeDescription
fileObjectRequired. { "token": "<opaque token from Prepare Upload>" }
software_versionObjectRequired. version and software_type, plus an optional revision
hardware_versionStringRequired. The Hardware Version this payload targets
must_pass_throughBooleanForce a Device to update through this version even if a newer version is deployed to its Cohort. Defaults to false
notesStringRelease notes
firmware_typeStringThe role of this payload within the Release: standalone, zchunk_header_swu or zchunk_image. Defaults to standalone. An unknown value returns 400 with the error keyed on firmware_type

A file larger than the Project's OTA payload size limit, 5 GB by default, is rejected with 400.


zchunk Delta Payloads for Linux​

A SWUpdate zchunk delta Release carries two payloads on one Software Version. Prepare and commit each file separately, and name its role with firmware_type:

firmware_typeFileRole
zchunk_header_swu.swusw-description plus the detached zchunk header. The installable payload
zchunk_image.zckThe chunk data the Device fetches byte ranges from
{
"file": { "token": "<opaque token from Prepare Upload>" },
"software_version": {
"version": "1.0.0",
"software_type": "main"
},
"hardware_version": "qemuarm64",
"firmware_type": "zchunk_image"
}

One Artifact carries exactly one firmware_type. The Release is not offered to a Device until both payloads have finished processing. This endpoint does not check that the two files come from the same build; memfault upload-zchunk-ota-payload performs that check before it uploads either file. See SWUpdate Delta OTA for Linux.


Return Value​

Returns 202 - Accepted. Processing is asynchronous.

Request​

Responses​

Accepted

Response Headers