Skip to main content

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​

SchemeTypeLocationNameDescription
API keyapiKeyheaderX-API-KeyRobopack API key generated for account

Send your API key in the X-API-Key header. Examples read it from ROBOPACK_API_KEY.

Parameters​

NameInRequiredTypeNullableConstraints / defaultDescription
idpathYesstring (uuid)Not declared—ID of the Intune tenant.
packageIdqueryYesstring (uuid)Not declared—ID of the package to upload.
uploadMsixAsWin32queryNobooleanNot declareddefault: 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.
waitqueryNobooleanNot declareddefault: falseIf 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"

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"
]
}