trigger support package creation on a device.md
Trigger support package creation on a device
Fleets API · Devices
POST https://app.mk.io/api/v1/projects/{project_name}/fleet/devices/{name}/supportPackages
Requests the device to generate a support package and upload it to cloud storage. Returns 202 with a timestamp and upload URL (SAS token stripped). Only one support package operation can be in progress at a time per device.
RBAC Capability Required: fleet.device.update
Authentication
Authorizationheader — Bearer authentication of the formBearer <token>.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
project_name |
string | Yes | — |
name |
string | Yes | — |
Request body
Content type: application/json
metadata· object · Required — Resource metadata.displayName· string · Required — A human-readable name for the resource.labels· map from strings to string · Optional — A dictionary of labels associated with the resource. Maximum number of labels: 32. Maximum length of a label or value: 256 characters. Label: alphanumeric, hyphens and underscores. Value: alphanumeric, hyphens, underscores and spaces.[any key]· string — map of additional properties
spec· object · Required — Support package specificationcollectors· list of strings · Optional — Optional list of collector components to include in the support package. If omitted, all available collectors on the device will be included.- Array items (string):
description· string · Required · <=2048 characters — A description explaining the reason for generating the support package.name· string · Optional · <=255 characters — A user-friendly name for the support package. Choose a name that describes the issue, e.g. 'pcr-timing-issue-2026-02-23'. If omitted, a name is auto-generated from the request timestamp.
Example request
curl -X POST "https://app.mk.io/api/v1/projects/{project_name}/fleet/devices/{name}/supportPackages" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"metadata": {
"displayName": "string",
"labels": {
"key": "string"
}
},
"spec": {
"collectors": [
"Kube",
"Host",
"Logs",
"RabbitMQ"
],
"description": "PCR timing drift observed on output stream.",
"name": "pcr-timing-issue-2026-02-23"
}
}'
Responses
202 — Support package creation triggered.
No response body.
400 — Bad Request
error· object · Required — Pertinent information about the errorcode· string · Required — The error code.detail· string · Required — The error message.extraDetail· map from strings to any · Optional — Extra information regarding this error.[any key]· any — map of additional properties
ref· string · Required — A reference to the request that caused the error.status· integer · Required — The HTTP status code
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
401 — Unauthorized
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
403 — Forbidden
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
404 — Not Found
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
409 — Conflict
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
429 — Too Many Requests
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
500 — Internal Server Error
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
Source spec: fleets-api · operationId: [post]_/api/v1/projects/{project_name}/fleet/devices/{name}/supportPackages