curl --request GET \ --url 'https://api.e2enetworks.com/myaccount/api/v1/gpu/notebooks/autoscale-groups/{group_id}/scale-events/?project_id=<PROJECT_ID>&location=<LOCATION>&apikey=<API_KEY>' \ --header 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( "https://api.e2enetworks.com/myaccount/api/v1/gpu/notebooks/autoscale-groups/{group_id}/scale-events/", params={"project_id": "<PROJECT_ID>", "location": "<LOCATION>", "apikey": "<API_KEY>"}, headers={"Authorization": "Bearer <API_TOKEN>"},)print(response.json())const url = new URL("https://api.e2enetworks.com/myaccount/api/v1/gpu/notebooks/autoscale-groups/{group_id}/scale-events/");url.search = new URLSearchParams({ project_id: "<PROJECT_ID>", location: "<LOCATION>", apikey: "<API_KEY>" });
const response = await fetch(url, { method: "GET", headers: { "Authorization": "Bearer <API_TOKEN>" },});console.log(await response.json());Returns the changes in the number of VMs of an Auto Scaling Group, and changes to its minimum and maximum, newest first. Send page or page_size to get the list in pages; without them every event comes back.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Auto Scaling Group ID
Query Parameters
Section titled “Query Parameters”Project ID
Page number, starting at 1. Send page, page_size or both to get the list in pages; send neither to get every entry as a plain array.
Entries per page. At most 200; a larger number is treated as 200.
Active IAM ID (To access contact person account) Find your Active IAM ID here
Location
Responses
Section titled “Responses”The list
object
Without page and page_size: every entry, newest first.
object
scale_up or scale_down when the number of VMs changed; band_change when the group’s minimum and maximum changed and the number of VMs did not.
Number of VMs before the change.
Number of VMs after the change.
For example {"min": 2, "max": 5}, before the change. Set when the minimum and maximum changed, including on a scale_up or scale_down event that the change caused; otherwise null.
object
For example {"min": 3, "max": 5}, after the change. Set when the minimum and maximum changed, including on a scale_up or scale_down event that the change caused; otherwise null.
object
What caused it: metric for usage-based scaling, schedule for a schedule, manual for a person (Scale Now or an edit).
ID of the person who did it. null for metric and schedule events and for a manual hold that ran out.
Email of that person. null when performed_by is null.
When the change was noticed.
Extra facts about the event, such as the schedule’s policy_id and policy_name. The keys vary by event.
object
{"id": 12, "name": "Morning"} when a schedule caused it. null otherwise. It keeps the name the schedule had at that time.
object
The reading that triggered a usage-based change: cpu, memory, network, or the name of the group’s custom metric. null for schedule and manual events.
The value of that reading when the change was noticed.
The target of the group for that reading.
When the change finished. null while it is pending, if it failed, and on older records.
Seconds from occurred_at to completed_at. null when completed_at is null.
With page or page_size: one page of entries.
object
Entries in all, across pages.
Number of the next page. null on the last page.
Number of the previous page. null on the first page.
object
scale_up or scale_down when the number of VMs changed; band_change when the group’s minimum and maximum changed and the number of VMs did not.
Number of VMs before the change.
Number of VMs after the change.
For example {"min": 2, "max": 5}, before the change. Set when the minimum and maximum changed, including on a scale_up or scale_down event that the change caused; otherwise null.
object
For example {"min": 3, "max": 5}, after the change. Set when the minimum and maximum changed, including on a scale_up or scale_down event that the change caused; otherwise null.
object
What caused it: metric for usage-based scaling, schedule for a schedule, manual for a person (Scale Now or an edit).
ID of the person who did it. null for metric and schedule events and for a manual hold that ran out.
Email of that person. null when performed_by is null.
When the change was noticed.
Extra facts about the event, such as the schedule’s policy_id and policy_name. The keys vary by event.
object
{"id": 12, "name": "Morning"} when a schedule caused it. null otherwise. It keeps the name the schedule had at that time.
object
The reading that triggered a usage-based change: cpu, memory, network, or the name of the group’s custom metric. null for schedule and manual events.
The value of that reading when the change was noticed.
The target of the group for that reading.
When the change finished. null while it is pending, if it failed, and on older records.
Seconds from occurred_at to completed_at. null when completed_at is null.
object
Example
{ "code": 200, "message": "Success", "data": { "count": 1, "next": null, "previous": null, "page": 1, "page_size": 50, "results": [ { "id": 318, "event_type": "scale_up", "from_replicas": 2, "to_replicas": 3, "band_before": null, "band_after": null, "triggered_by": "metric", "performed_by": null, "actor": null, "occurred_at": "2026-10-21T11:17:42+00:00", "detail": {}, "scheduled_policy": null, "trigger_metric": "cpu", "trigger_value": 72.4, "trigger_target": 60, "completed_at": "2026-10-21T11:19:05+00:00", "duration_seconds": 83 } ] }, "errors": {}}page or page_size is not a whole number. errors is “Project ID is missing or invalid” when project_id is missing or not a number.
object
object
Example
{ "code": 400, "message": "Bad Request", "data": {}, "errors": "page and page_size must be integers."}No Auto Scaling Group with that ID in the project and region.
object
object
Example
{ "code": 404, "message": "Bad Request", "data": {}, "errors": "Autoscale Group not found"}