{"type":"api","title":"Get MSP Secure Client Upgrade Runs","meta":{"id":"/apps/pubhub/media/cdo-api-documentation/241e37f202cf9838405f7ca5ed9f7d31d807d7bd/9b0e4c9a-48cb-3530-a00a-1f32fbf2438c","info":{"title":"Cisco Security Cloud Control Firewall Manager API","version":"1.22.0","description":"Use the documentation to explore the endpoints Security Cloud Control Firewall Manager has to offer","contact":{"name":"Cisco Security Cloud Control TAC","email":"cdo.tac@cisco.com"}},"openapi":"3.0.1","servers":[{"url":"https://api.us.security.cisco.com/firewall","description":"US"},{"url":"https://api.eu.security.cisco.com/firewall","description":"EU"},{"url":"https://api.apj.security.cisco.com/firewall","description":"APJ"},{"url":"https://api.au.security.cisco.com/firewall","description":"AUS"},{"url":"https://api.in.security.cisco.com/firewall","description":"IN"},{"url":"https://api.uae.security.cisco.com/firewall","description":"UAE"},{"url":"https://api.int.security.cisco.com/firewall","description":"Staging"},{"url":"https://scale.manage.security.cisco.com/api/rest","description":"Scale"},{"url":"https://ci.manage.security.cisco.com/api/rest","description":"CI"},{"url":"https://devfed.cdo.cisco.com/api/rest","description":"Devfed"},{"url":"https://manage.dev.secure.cisco/api/rest","description":"Devf9"},{"url":"https://manage.stg.secure.cisco/api/rest","description":"Stgf9"},{"url":"https://manage.secure.cisco/api/rest","description":"ProdF9"},{"url":"https://manage.securitydod.cisco/api/rest","description":"IL5"}],"securitySchemes":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http"}}},"spec":{"description":"Get a list of MSP Secure Client upgrade runs in the SCC Firewall Manager Tenant. Each upgrade run represents a group of devices across managed tenants having their Secure Client packages upgraded together.","operationId":"getMspSecureClientUpgradeRuns","parameters":[{"description":"Number of results to retrieve.","in":"query","name":"limit","required":false,"schema":{"default":"50","maximum":200,"minimum":0,"type":"string"}},{"description":"Offset of the results retrieved. The Security Cloud Control APIs use the offset field to determine the index of the first result retrieved, and will retrieve `limit` results from the offset specified.","in":"query","name":"offset","required":false,"schema":{"default":"0","minimum":0,"type":"string"}},{"description":"The query to execute. Use the Lucene Query Syntax to construct your query.","example":"fieldName:fieldValue","in":"query","name":"q","required":false,"schema":{"type":"string"}},{"description":"The fields to sort results by.","example":"name:DESC","in":"query","name":"sort","required":false,"schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"count":{"description":"The total number of results available.","example":100,"format":"int32","type":"integer"},"items":{"description":"The list of items retrieved.","items":{"properties":{"devices":{"description":"The devices included in this upgrade run.","items":{"description":"The devices included in this upgrade run.","properties":{"errorMsg":{"description":"Error message if the device encountered a failure during the upgrade.","example":"No CLI result received for device","type":"string"},"name":{"description":"The name of the device.","example":"asa-fw-01","type":"string"},"status":{"description":"The overall status of the device in this upgrade run. One of: PENDING, IN_PROGRESS, SUCCESS, FAILED, CLEANUP_FAILED.","enum":["PENDING","IN_PROGRESS","SUCCESS","FAILED","CLEANUP_FAILED"],"example":"SUCCESS","type":"string"},"uid":{"description":"The unique identifier, represented as a UUID, of the device.","example":"f0a09517-bab1-43e4-adae-2037cf3184e3","format":"uuid","type":"string"}},"type":"object","$$ref":"#/components/schemas/UpgradedDeviceDto"},"type":"array"},"errorMsg":{"description":"Error message if the upgrade run failed.","example":"Timeout error","type":"string"},"lastUpdatedTime":{"description":"Time (UTC; represented using the RFC-3339 standard) at which the upgrade run was last updated.","example":"2026-03-30T14:45:00Z","format":"date-time","type":"string"},"managedTenantUpgrades":{"description":"Per-managed-tenant upgrade progress across this run.","items":{"description":"Per-managed-tenant upgrade progress across this run.","properties":{"errorMsg":{"description":"Error message if the managed tenant's upgrade failed.","example":"One or more devices failed to upgrade","nullable":true,"type":"string"},"managedTenantDisplayName":{"description":"Display name of the managed tenant in Security Cloud Control.","example":"My Managed Tenant","type":"string"},"managedTenantUid":{"description":"The unique identifier, represented as a UUID, of the managed tenant in Security Cloud Control.","example":"7131daad-e813-4b8f-8f42-be1e241e8cdb","format":"uuid","type":"string"},"transactionStatus":{"description":"The status of the managed tenant's upgrade transaction. One of: PENDING, IN_PROGRESS, CANCELLED, DONE, ERROR.","enum":["PENDING","IN_PROGRESS","CANCELLED","DONE","ERROR"],"example":"DONE","type":"string"},"transactionUid":{"description":"The unique identifier, represented as a UUID, of the upgrade transaction on the managed tenant. Null if the upgrade could not be triggered on that tenant.","example":"7131daad-e813-4b8f-8f42-be1e241e8cdb","format":"uuid","nullable":true,"type":"string"},"upgradeRunStatus":{"description":"The current status of the upgrade run on the managed tenant, as reported by the tenant. A granular pipeline step (e.g. UPLOADING_IMAGES, REGISTERING_NEW_RA_VPN_IMAGES, DONE); passed through verbatim from the managed tenant.","example":"REGISTERING_NEW_RA_VPN_IMAGES","nullable":true,"type":"string"},"upgradeRunStepPercentageComplete":{"description":"Percentage completion (0.0 to 1.0) of the managed tenant upgrade run's current step. Null when the tenant reports no active progress for the current step.","example":0.5,"format":"double","nullable":true,"type":"number"},"upgradeRunUid":{"description":"The unique identifier, represented as a UUID, of the upgrade run on the managed tenant. Use it to deep-link into the tenant's own upgrade-run detail. Null if the upgrade could not be triggered on that tenant.","example":"d4e5f6a7-8901-2345-bcde-f12345678901","format":"uuid","nullable":true,"type":"string"}},"type":"object","$$ref":"#/components/schemas/ManagedTenantUpgradeDto"},"type":"array"},"name":{"description":"The name of the upgrade run.","example":"msp-upgrade-run-01","type":"string"},"percentageComplete":{"description":"Percentage completion of the current step (0.0 to 1.0). Null when there is no active progress tracking.","example":0.5,"format":"double","nullable":true,"type":"number"},"secureClientVersion":{"description":"The Secure Client version being upgraded to.","example":"5.1.15.287","type":"string"},"submissionTime":{"description":"Time (UTC; represented using the RFC-3339 standard) at which the upgrade run was submitted.","example":"2026-03-30T14:30:00Z","format":"date-time","type":"string"},"transactionUid":{"description":"The unique identifier, represented as a UUID, of the SCC Firewall Manager transaction that tracks this upgrade run.","example":"7131daad-e813-4b8f-8f42-be1e241e8cdb","format":"uuid","type":"string"},"uid":{"description":"The unique identifier, represented as a UUID, of the upgrade run.","example":"d4e5f6a7-8901-2345-bcde-f12345678901","format":"uuid","type":"string"},"upgradeRunStatus":{"description":"The current status of the upgrade run. One of: VALIDATING_INPUTS, UPLOADING_IMAGES, PERFORMING_UPGRADE, DONE, DONE_WITH_DEVICE_WARNINGS, DONE_WITH_DEVICE_ERRORS, ERROR.","enum":["VALIDATING_INPUTS","UPLOADING_IMAGES","PERFORMING_UPGRADE","DONE","DONE_WITH_DEVICE_WARNINGS","DONE_WITH_DEVICE_ERRORS","ERROR"],"example":"DONE","type":"string"},"upgradeRunType":{"description":"The type of the Secure Client upgrade. One of: ASA_SECURE_CLIENT_UPGRADE, FTD_SECURE_CLIENT_UPGRADE.","enum":["ASA_SECURE_CLIENT_UPGRADE","FTD_SECURE_CLIENT_UPGRADE"],"example":"ASA_SECURE_CLIENT_UPGRADE","type":"string"},"username":{"description":"Username of the user who initiated the upgrade run.","example":"admin.user@my-msp.com","type":"string"}},"type":"object","$$ref":"#/components/schemas/MspSecureClientUpgradeRunDto"},"type":"array"},"limit":{"description":"The number of results retrieved.","example":50,"format":"int32","type":"integer"},"offset":{"description":"The offset of the results retrieved. The Security Cloud Control API uses the offset field to determine the index of the first result retrieved, and will retrieve `limit` results from the offset specified.","example":0,"format":"int32","type":"integer"}},"type":"object","$$ref":"#/components/schemas/MspSecureClientUpgradeRunPage"}}},"description":"List of MSP Secure Client Upgrade Run objects"},"500":{"content":{"application/json":{"schema":{"properties":{"details":{"additionalProperties":{"description":"Additional details, if any, about the error.","example":{},"type":"object"},"description":"Additional details, if any, about the error.","example":{},"type":"object"},"errorCode":{"description":"Unique code that describes the error.","enum":["INVALID_INPUT","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","METHOD_NOT_ALLOWED","CONFLICT","TOO_MANY_REQUESTS","SERVER_ERROR","PROXY_ERROR","BAD_REQUEST","UNPROCESSABLE_ENTITY"],"example":"INVALID_INPUT","type":"string"},"errorMsg":{"description":"Human-readable error description in English.","example":"sample error","type":"string"}},"type":"object","$$ref":"#/components/schemas/CommonApiError"}}},"description":"Internal server error."}},"security":[{"bearerAuth":[]}],"summary":"Get MSP Secure Client Upgrade Runs","tags":["MSP Secure Client Management"],"x-beta":"true","__originalOperationId":"getMspSecureClientUpgradeRuns","method":"get","path":"/v1/msp/inventory/devices/secure-client/upgrades/runs"}}