Upload package to tenant
POST /v1/tenant/{id}/upload
Uploads a specific package to an Intune tenant. This is a manual upload and will not be kept up-to-date by Robopack. Use the /v1/flow endpoints to set up a patch flow that is automatically kept up-to-date in Intune. Returns an object representing the task that will upload the package to Intune.
Source: Robopack public API v1 OpenAPI definition · OpenAPI 3.0.1 · Snapshot: 2026-10-01. Download this snapshot.
Servers
https://api.robopack.com/
Authentication
| Scheme | Type | Location | Name | Description |
|---|---|---|---|---|
| API key | apiKey | header | X-API-Key | Robopack API key generated for account |
Send your API key in the X-API-Key header. Examples read it from ROBOPACK_API_KEY.
Parameters
| Name | In | Required | Type | Nullable | Constraints / default | Description |
|---|---|---|---|---|---|---|
id | path | Yes | string (uuid) | Not declared | — | ID of the Intune tenant. |
packageId | query | Yes | string (uuid) | Not declared | — | ID of the package to upload. |
uploadMsixAsWin32 | query | No | boolean | Not declared | default: true | [only applies to MSIX packages] Indicates if the package should be wrapped in an installation script and created as a Win32 app in Intune rather than a LoB (line-of-business) app. |
wait | query | No | boolean | Not declared | default: false | If specified, the request will not complete until the package has been fully uploaded to Intune. |
Parameter names and capitalization follow the source definition. Required status follows the parameter's explicit required flag; optional does not imply a server default.
Request body
No request body is declared in the source definition.
Responses
200 response
OK
Response media type: application/json
Type: V1TaskViewModel
Follow the model link for its complete properties, enum values, and schema definition.
Only response statuses declared in the snapshot are listed. The source does not define a complete error contract.
curl example
Mutation example: this POST request can change Robopack or Intune state. Review the operation and target identifiers before running it. Set ROBOPACK_API_KEY in your shell and set ID, PACKAGE_ID to the target values. Query values must be URL encoded. Optional query parameters are omitted.
curl --request POST \
--url "https://api.robopack.com/v1/tenant/${ID}/upload?packageId=${PACKAGE_ID}" \
--header "X-API-Key: ${ROBOPACK_API_KEY}" \
--header "Accept: application/json"
Related models
Complete operation definition
{
"description": "Uploads a specific package to an Intune tenant. This is a manual upload and will not be kept up-to-date by Robopack. Use the /v1/flow endpoints to set up a patch flow that is automatically kept up-to-date in Intune. Returns an object representing the task that will upload the package to Intune.",
"parameters": [
{
"description": "ID of the Intune tenant.",
"in": "path",
"name": "id",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "ID of the package to upload.",
"in": "query",
"name": "packageId",
"required": true,
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"description": "[only applies to MSIX packages] Indicates if the package should be wrapped in an installation script and created as a Win32 app in Intune rather than a LoB (line-of-business) app.",
"in": "query",
"name": "uploadMsixAsWin32",
"schema": {
"default": true,
"type": "boolean"
}
},
{
"description": "If specified, the request will not complete until the package has been fully uploaded to Intune.",
"in": "query",
"name": "wait",
"schema": {
"default": false,
"type": "boolean"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/V1TaskViewModel"
}
}
},
"description": "OK"
}
},
"summary": "Upload package to tenant.",
"tags": [
"Tenant"
]
}