---
title: "List events"
method: GET
path: "/services/{serviceId}/events"
tags: ["Services"]
---

# List events

`GET /services/{serviceId}/events`

List recent events that occurred for the service with the provided ID.

## Path parameters

- `serviceId` string, required

## Query parameters

- `type` 'artifact_fetch_failed' | 'artifact_source_changed' | 'autoscaling_config_changed' | 'autoscaling_ended' | 'autoscaling_started' | 'branch_deleted' | 'build_ended' | 'build_started' | 'commit_ignored' | 'cron_job_run_ended' | 'cron_job_run_started' | 'deploy_ended' | 'deploy_started' | 'disk_created' | 'disk_updated' | 'disk_deleted' | 'image_pull_failed' | 'initial_deploy_hook_ended' | 'initial_deploy_hook_started' | 'instance_count_changed' | 'job_run_ended' | 'maintenance_mode_enabled' | 'maintenance_mode_uri_updated' | 'maintenance_ended' | 'maintenance_started' | 'pipeline_minutes_exhausted' | 'plan_changed' | 'pre_deploy_ended' | 'pre_deploy_started' | 'server_available' | 'server_failed' | 'server_hardware_failure' | 'server_restarted' | 'service_resumed' | 'service_suspended' | 'suspender_added' | 'suspender_removed' | 'zero_downtime_redeploy_ended' | 'zero_downtime_redeploy_started' | 'auto_deploy_disabled' | 'auto_deploy_enabled'
- `startTime` string, date-time
- `endTime` string, date-time
- `cursor` string
- `limit` integer — Defaults to 20

## Response `200`

Successful response

- ServiceEventWithCursor[]
  - `event` object, required
    - `id` Schema, required — unresolved $ref
    - `timestamp` string, date-time, required
    - `serviceId` string, required
    - `type` 0, required — unresolved $ref
    - `details` union, required
      - object
        - `artifactId` string, required
        - `message` string, required
      - object
        - `fromArtifactSourceId` string — The previously linked artifact source. Absent when the service was newly attached.
        - `toArtifactSourceId` string — The newly linked artifact source. Absent when the service was detached.
      - object
        - `fromConfig` Autoscaling — unresolved $ref
        - `toConfig` Autoscaling, required — unresolved $ref
      - object
        - `fromInstances` integer, required
        - `toInstances` integer, required
      - object
        - `fromInstances` integer, required
        - `toInstances` integer, required
        - `currentCPU` integer
        - `targetCPU` integer
        - `currentMemory` integer
        - `targetMemory` integer
      - object
        - `deletedBranch` string, required
        - `newBranch` string, required
      - object
        - `buildId` string, required
        - `buildStatus` 'succeeded' | 'failed' | 'canceled', required
        - `reason` object, required
          - `buildFailed` NewBuild — unresolved $ref
          - `newBuild` object
            - `id` string, required
          - `newDeploy` NewBuild — unresolved $ref
          - `failure` Reason — unresolved $ref
        - `status` integer, required
      - object
        - `buildId` string, required
        - `trigger` object, required
          - `firstBuild` boolean, required — Deploy was triggered by service creation
          - `envUpdated` boolean, required — Deploy was triggered by an environment update
          - `manual` boolean, required — Deploy was triggered manually from the dashboard
          - `user` User — unresolved $ref
          - `updatedProperty` string — Updated property that triggered the deploy
          - `newCommit` string — Commit that triggered the deploy
          - `deployedByRender` boolean, required — Deploy was triggered by Render
          - `clearCache` boolean, required — Whether the cache was cleared for the deploy
          - `rollback` boolean, required — Whether the deploy was triggered by a rollback
          - `rollbackTargetDeployId` string — Deploy ID that was rolled back to
      - object
        - `id` string, required — the commit id
        - `url` string, required — the commit url
      - object
        - `cronJobRunId` string, required
        - `status` 'canceled' | 'pending' | 'successful' | 'unsuccessful', required
        - `reason` object
          - `evicted` boolean, required
          - `evictionReason` string — Details about why the application was evicted.
          - `nonZeroExit` integer — If present, the application exited with the specified non-zero status.
          - `earlyExit` boolean — If true, the application exited early. Services besides cron jobs should not exit unless receiving a `SIGTERM` signal from Render.
          - `oomKilled` object
            - `memoryLimit` string, required
          - `timedOutSeconds` integer
          - `unhealthy` string
          - `timedOutReason` string
        - `user` object — User who triggered the action
          - `id` string, required
          - `email` string, required
      - object
        - `cronJobRunId` string, required
      - object
        - `deployId` string, required
        - `reason` Reason, required — unresolved $ref
        - `deployStatus` BuildStatus, required — unresolved $ref
        - `status` integer, required
        - `artifactId` string — Set when the deploy shipped an artifact published by the service's linked artifact source.
      - object
        - `deployId` string, required
        - `trigger` Trigger, required — unresolved $ref
        - `artifactId` string — Set when the deploy ships an artifact published by the service's linked artifact source.
      - object
        - `diskId` Schema, required — unresolved $ref
        - `sizeGB` integer, required
      - object
        - `diskId` Schema, required — unresolved $ref
        - `fromSizeGB` integer, required
        - `toSizeGB` integer, required
      - object
        - `diskId` Schema, required — unresolved $ref
      - object
        - `message` string, required
        - `imageURL` string, required
      - object
        - `deployId` string, required
      - object
        - `deployId` string, required
      - object
        - `fromInstances` integer, required
        - `toInstances` integer, required
      - object
        - `jobId` Schema, required — unresolved $ref
        - `status` Items, required — unresolved $ref
        - `reason` Reason — unresolved $ref
      - object
        - `enabled` boolean, required
      - object
        - `fromURI` string, required
        - `toURI` string, required
      - object
      - object
        - `trigger` object, required
          - `user` User — unresolved $ref
          - `manual` boolean, required — Maintenance was triggered manually
          - `startedByRender` boolean, required — Maintenance was triggered by Render
      - object
        - `buildId` string, required
        - `trigger` Trigger, required — unresolved $ref
      - object
        - `from` string, required
        - `to` string, required
      - object
        - `deployCommandExecutionId` string, required
        - `deployId` string, required
        - `preDeployStatus` BuildStatus, required — unresolved $ref
        - `reason` Reason, required — unresolved $ref
        - `status` integer, required
      - object
        - `deployCommandExecutionId` string, required
        - `deployId` string, required
      - object
      - object
        - `instanceID` string
        - `reason` Reason — unresolved $ref
      - object
      - object
        - `triggeredByUser` string, nullable, required
      - object
      - object
      - object
        - `actor` string, required
        - `suspendedByUser` User — unresolved $ref
      - object
        - `actor` string, required
        - `resumedByUser` User — unresolved $ref
      - object
      - object
        - `trigger` string, required
      - object
        - `trigger` object, required
          - `manual` boolean, required — Edge Cache change was triggered manually from the dashboard
          - `user` User — unresolved $ref
          - `system` boolean, required — Edge Cache Change was triggered by Render
      - object
        - `trigger` Trigger, required — unresolved $ref
      - object
        - `trigger` Trigger, required — unresolved $ref
      - object
        - `reason` string, required — Why auto-deploy was disabled (manual_deploy, rollback, or setting_change)
        - `fromTrigger` NewTrigger — unresolved $ref
      - object
        - `newTrigger` 'commit' | 'off' | 'checksPass' — The auto-deploy trigger value after it was re-enabled

## Other responses

- `400` — The request could not be understood by the server.
- `401` — Authorization information is missing or invalid.
- `404` — Unable to find the requested resource.
- `429` — Rate limit has been surpassed.
- `500` — An unexpected server error has occurred.
- `503` — Server currently unavailable.

---

[API](https://skmtc.dev/render/apis/render-public-api.md) · [All operations](https://skmtc.dev/render/apis/render-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/render/render-public-api/revisions/80e0ff74d033/schema)
