> ## Documentation Index
> Fetch the complete documentation index at: https://docs.graphiant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /v1/software/rollouts/{id}

> Returns details about given upgrade rollout

## OpenAPI

````json GET /v1/software/rollouts/{id}
{
  "openapi": "3.0.0",
  "info": {
    "title": "Graphiant APIs",
    "version": "1.0.0",
    "description": "Graphiant API documentation."
  },
  "servers": [
    {
      "url": "https://api.graphiant.com"
    }
  ],
  "security": [
    {
      "jwtAuth": []
    }
  ],
  "tags": [],
  "paths": {
    "/v1/software/rollouts/{id}": {
      "get": {
        "security": [
          {
            "jwtAuth": []
          }
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Authorization",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Bearer token. Format: Bearer <your_token_here>"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Rollout identifier to fetch.",
            "schema": {
              "type": "integer",
              "format": "int64",
              "example": 1234567891011
            },
            "example": 42
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/v1SoftwareRolloutsIdGetResponse"
                }
              }
            }
          }
        },
        "description": "Returns details about given upgrade rollout"
      }
    }
  },
  "components": {
    "schemas": {
      "v1SoftwareRolloutsIdGetResponse": {
        "type": "object",
        "properties": {
          "rollout": {
            "$ref": "#/components/schemas/upgradeRollout"
          }
        },
        "additionalProperties": false
      },
      "upgradeRollout": {
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/upgradeRolloutDevice"
            }
          },
          "hasFailed": {
            "type": "boolean",
            "example": true,
            "description": "True if any device in the rollout has a failed upgrade state."
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 42,
            "description": "Server-assigned rollout identifier."
          },
          "lastRunTs": {
            "$ref": "#/components/schemas/googleProtobufTimestamp"
          },
          "nextRunTs": {
            "$ref": "#/components/schemas/googleProtobufTimestamp"
          },
          "numDevices": {
            "type": "integer",
            "format": "int32",
            "example": 3,
            "description": "Count of devices associated with the rollout."
          },
          "rolloutConfig": {
            "$ref": "#/components/schemas/upgradeRolloutConfig"
          },
          "status": {
            "type": "string",
            "example": "idle",
            "description": "Status of the upgrade rollout group"
          }
        },
        "additionalProperties": false
      },
      "upgradeRolloutDevice": {
        "type": "object",
        "properties": {
          "deviceId": {
            "type": "integer",
            "format": "int64",
            "example": 1001,
            "description": "Device identifier. (required)"
          },
          "hostname": {
            "type": "string",
            "example": "edge-site-01",
            "description": "Device hostname for display."
          }
        },
        "additionalProperties": false
      },
      "googleProtobufTimestamp": {
        "type": "object",
        "properties": {
          "nanos": {
            "type": "integer",
            "format": "int32",
            "example": 123
          },
          "seconds": {
            "type": "integer",
            "format": "int64",
            "example": 1234567891011
          }
        },
        "additionalProperties": false
      },
      "upgradeRolloutConfig": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "example": "InstallActivate",
            "description": "Upgrade action to perform (e.g. install+activate, install only, activate, auto-upgrade). (required)"
          },
          "description": {
            "type": "string",
            "example": "Upgrade branch sites to release 25.4",
            "description": "Optional longer description of the rollout."
          },
          "deviceIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64",
              "example": "1001,1002,1003",
              "description": "Device IDs included in the rollout (field name retained for API compatibility)."
            }
          },
          "name": {
            "type": "string",
            "example": "Q2 edge upgrade",
            "description": "Human-readable rollout name unique within the enterprise. (required)"
          },
          "release": {
            "type": "string",
            "example": "Recommended",
            "description": "Target software release for devices in this rollout. (required)"
          },
          "schedule": {
            "$ref": "#/components/schemas/upgradeRecurringSchedule"
          }
        },
        "additionalProperties": false,
        "required": [
          "action",
          "name",
          "release"
        ]
      },
      "upgradeRecurringSchedule": {
        "type": "object",
        "properties": {
          "monthly": {
            "$ref": "#/components/schemas/upgradeMonthlyRecurrence"
          },
          "startsAtTs": {
            "$ref": "#/components/schemas/googleProtobufTimestamp"
          },
          "weekly": {
            "$ref": "#/components/schemas/upgradeWeeklyRecurrence"
          },
          "yearly": {
            "$ref": "#/components/schemas/upgradeYearlyRecurrence"
          }
        },
        "additionalProperties": false,
        "required": [
          "startsAtTs"
        ]
      },
      "upgradeMonthlyRecurrence": {
        "type": "object",
        "properties": {
          "date": {
            "type": "integer",
            "format": "int32",
            "example": 15,
            "minimum": 0,
            "description": "Calendar day of month (1–31) for fixed-date monthly recurrence; optional if ordinal and weekday are set."
          },
          "ordinal": {
            "type": "string",
            "example": "Second",
            "description": "For nth-weekday-of-month style recurrence; use together with weekday, or use date instead."
          },
          "weekday": {
            "type": "string",
            "example": "Tuesday",
            "description": "Weekday paired with ordinal for monthly nth-weekday recurrence; optional if date is set."
          }
        },
        "additionalProperties": false
      },
      "upgradeWeeklyRecurrence": {
        "type": "object",
        "properties": {
          "interval": {
            "type": "integer",
            "format": "int32",
            "example": 2,
            "minimum": 0,
            "description": "Which occurrence of the weekday in the month applies for weekly-style recurrence (1–52, aligned with schedule validation). (required)"
          },
          "weekday": {
            "type": "string",
            "example": "Monday",
            "description": "Day of week for the weekly recurrence. (required)"
          }
        },
        "additionalProperties": false,
        "required": [
          "interval",
          "weekday"
        ]
      },
      "upgradeYearlyRecurrence": {
        "type": "object",
        "properties": {
          "date": {
            "type": "integer",
            "format": "int32",
            "example": 1,
            "minimum": 0,
            "description": "Calendar day (1–31) for fixed month+date yearly recurrence."
          },
          "month": {
            "type": "integer",
            "format": "int32",
            "example": 3,
            "minimum": 0,
            "description": "Month of year (1–12) for yearly recurrence. (required)"
          },
          "ordinal": {
            "type": "string",
            "example": "First",
            "description": "For nth-weekday-in-month yearly recurrence; use with weekday, or use month + date."
          },
          "weekday": {
            "type": "string",
            "example": "Wednesday",
            "description": "Weekday paired with ordinal for yearly recurrence."
          }
        },
        "additionalProperties": false,
        "required": [
          "month"
        ]
      }
    },
    "securitySchemes": {
      "jwtAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "authorization",
        "description": "Use `Bearer <token>`"
      }
    }
  }
}
````

