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"
}
| Field | Type | Description |
|---|---|---|
file | Object | Required. { "token": "<opaque token from Prepare Upload>" } |
software_version | Object | Required. version and software_type, plus an optional revision |
hardware_version | String | Required. The Hardware Version this payload targets |
must_pass_through | Boolean | Force a Device to update through this version even if a newer version is deployed to its Cohort. Defaults to false |
notes | String | Release notes |
firmware_type | String | The 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_type | File | Role |
|---|---|---|
zchunk_header_swu | .swu | sw-description plus the detached zchunk header. The installable payload |
zchunk_image | .zck | The 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
- 202
Accepted