---
title: "Resurrect run"
method: POST
path: "/v2/actor-runs/{runId}/resurrect"
tags: ["Actor runs"]
---

# Resurrect run

`POST /v2/actor-runs/{runId}/resurrect`

Resurrects a finished Actor run and returns an object that contains all the details about the resurrected run.
Only finished runs, i.e. runs with status `FINISHED`, `FAILED`, `ABORTED` and `TIMED-OUT` can be resurrected.
Run status will be updated to RUNNING and its container will be restarted with the same storages
(the same behaviour as when the run gets migrated to the new server).

For more information, see the [Actor docs](https://docs.apify.com/platform/actors/running/runs-and-builds#resurrection-of-finished-run).

## Path parameters

- `runId` string, required

## Query parameters

- `build` string
- `timeout` number, double
- `memory` number, double
- `maxItems` number, double
- `maxTotalChargeUsd` number, double
- `restartOnError` boolean

## Response `200`

- RunResponse
  - `data` Run, required — Represents an Actor run and its associated data.
    - `id` string, required — Unique identifier of the Actor run.
    - `actId` string, required — ID of the Actor that was run.
    - `userId` string, required — ID of the user who started the run.
    - `actorTaskId` string, nullable — ID of the Actor task, if the run was started from a task.
    - `startedAt` string, date-time, required — Time when the Actor run started.
    - `finishedAt` string, date-time, nullable — Time when the Actor run finished.
    - `status` 'READY' | 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'TIMING-OUT' | 'TIMED-OUT' | 'ABORTING' | 'ABORTED', required — Status of an Actor job (run or build).
    - `statusMessage` string, nullable — Detailed message about the run status.
    - `isStatusMessageTerminal` boolean, nullable — Whether the status message is terminal (final).
    - `meta` RunMeta, required
      - `origin` 'DEVELOPMENT' | 'WEB' | 'API' | 'SCHEDULER' | 'TEST' | 'WEBHOOK' | 'ACTOR' | 'CLI' | 'CI' | 'STANDBY' | 'MCP', required
      - `clientIp` string, nullable — IP address of the client that started the run.
      - `userAgent` string, nullable — User agent of the client that started the run.
      - `scheduleId` string, nullable — ID of the schedule that triggered the run.
      - `scheduledAt` string, date-time, nullable — Time when the run was scheduled.
    - `pricingInfo` union
      - PayPerEventActorPricingInfo
        - `apifyMarginPercentage` number, required — In [0, 1], fraction of pricePerUnitUsd that goes to Apify
        - `createdAt` string, date-time, required — When this pricing info record has been created
        - `startedAt` string, date-time, required — Since when is this pricing info record effective for a given Actor
        - `notifiedAboutFutureChangeAt` string, date-time, nullable
        - `notifiedAboutChangeAt` string, date-time, nullable
        - `reasonForChange` string, nullable
        - `isPriceChangeNotificationSuppressed` boolean
        - `forceContainsSignificantPriceChange` boolean
        - `pricingModel` 'PAY_PER_EVENT', required
        - `pricingPerEvent` object, required
          - `actorChargeEvents` object
        - `minimalMaxTotalChargeUsd` number, nullable
      - PricePerDatasetItemActorPricingInfo
        - `apifyMarginPercentage` number, required — In [0, 1], fraction of pricePerUnitUsd that goes to Apify
        - `createdAt` string, date-time, required — When this pricing info record has been created
        - `startedAt` string, date-time, required — Since when is this pricing info record effective for a given Actor
        - `notifiedAboutFutureChangeAt` string, date-time, nullable
        - `notifiedAboutChangeAt` string, date-time, nullable
        - `reasonForChange` string, nullable
        - `isPriceChangeNotificationSuppressed` boolean
        - `forceContainsSignificantPriceChange` boolean
        - `pricingModel` 'PRICE_PER_DATASET_ITEM', required
        - `unitName` string, required — Name of the unit that is being charged
        - `pricePerUnitUsd` number — Price per unit in USD. Mutually exclusive with `tieredPricing` - exactly one of the two is present on a pricing record.
        - `tieredPricing` TieredPricingPerDatasetItem — Tiered price-per-dataset-item pricing, keyed by subscription tier (e.g. `FREE`, `BRONZE`, `SILVER`, `GOLD`, `PLATINUM`, `DIAMOND`). The actual price applied to a run is resolved from the user's tier.
      - FlatPricePerMonthActorPricingInfo
        - `apifyMarginPercentage` number, required — In [0, 1], fraction of pricePerUnitUsd that goes to Apify
        - `createdAt` string, date-time, required — When this pricing info record has been created
        - `startedAt` string, date-time, required — Since when is this pricing info record effective for a given Actor
        - `notifiedAboutFutureChangeAt` string, date-time, nullable
        - `notifiedAboutChangeAt` string, date-time, nullable
        - `reasonForChange` string, nullable
        - `isPriceChangeNotificationSuppressed` boolean
        - `forceContainsSignificantPriceChange` boolean
        - `pricingModel` 'FLAT_PRICE_PER_MONTH', required
        - `trialMinutes` integer, required — For how long this Actor can be used for free in trial period
        - `pricePerUnitUsd` number, required — Monthly flat price in USD
      - FreeActorPricingInfo
        - `apifyMarginPercentage` number, required — In [0, 1], fraction of pricePerUnitUsd that goes to Apify
        - `createdAt` string, date-time, required — When this pricing info record has been created
        - `startedAt` string, date-time, required — Since when is this pricing info record effective for a given Actor
        - `notifiedAboutFutureChangeAt` string, date-time, nullable
        - `notifiedAboutChangeAt` string, date-time, nullable
        - `reasonForChange` string, nullable
        - `isPriceChangeNotificationSuppressed` boolean
        - `forceContainsSignificantPriceChange` boolean
        - `pricingModel` 'FREE', required
    - `stats` RunStats, required
      - `inputBodyLen` integer, nullable
      - `migrationCount` integer
      - `rebootCount` integer
      - `restartCount` integer
      - `resurrectCount` integer
      - `memAvgBytes` number
      - `memMaxBytes` integer
      - `memCurrentBytes` integer
      - `cpuAvgUsage` number
      - `cpuMaxUsage` number
      - `cpuCurrentUsage` number
      - `netRxBytes` integer
      - `netTxBytes` integer
      - `durationMillis` integer
      - `runTimeSecs` number
      - `metamorph` integer
      - `computeUnits` number
    - `chargedEventCounts` object — A map of charged event types to their counts. The keys are event type identifiers defined by the Actor's pricing model (pay-per-event), and the values are the number of times each event was charged during this run.
    - `options` RunOptions, required
      - `build` string, required
      - `timeoutSecs` integer, required
      - `memoryMbytes` integer, required
      - `diskMbytes` integer, required
      - `maxItems` integer, nullable
      - `maxTotalChargeUsd` number, nullable
    - `buildId` string, required — ID of the Actor build used for this run.
    - `exitCode` integer, nullable — Exit code of the Actor run process.
    - `generalAccess` 'ANYONE_WITH_ID_CAN_READ' | 'ANYONE_WITH_NAME_CAN_READ' | 'FOLLOW_USER_SETTING' | 'RESTRICTED', required — Defines the general access level for the resource.
    - `defaultKeyValueStoreId` string, required — ID of the default key-value store for this run.
    - `defaultDatasetId` string, required — ID of the default dataset for this run.
    - `defaultRequestQueueId` string, required — ID of the default request queue for this run.
    - `storageIds` object — A map of aliased storage IDs associated with this run, grouped by storage type.
      - `datasets` object — Aliased dataset IDs for this run.
        - `default` string — ID of the default dataset for this run.
      - `keyValueStores` object — Aliased key-value store IDs for this run.
        - `default` string — ID of the default key-value store for this run.
      - `requestQueues` object — Aliased request queue IDs for this run.
        - `default` string — ID of the default request queue for this run.
    - `buildNumber` string, nullable — Build number of the Actor build used for this run.
    - `containerUrl` string, uri — URL of the container running the Actor.
    - `isContainerServerReady` boolean, nullable — Whether the container's HTTP server is ready to accept requests.
    - `gitBranchName` string, nullable — Name of the git branch used for the Actor build.
    - `usage` RunUsage
      - `ACTOR_COMPUTE_UNITS` number, nullable
      - `DATASET_READS` integer, nullable
      - `DATASET_WRITES` integer, nullable
      - `KEY_VALUE_STORE_READS` integer, nullable
      - `KEY_VALUE_STORE_WRITES` integer, nullable
      - `KEY_VALUE_STORE_LISTS` integer, nullable
      - `REQUEST_QUEUE_READS` integer, nullable
      - `REQUEST_QUEUE_WRITES` integer, nullable
      - `DATA_TRANSFER_INTERNAL_GBYTES` number, nullable
      - `DATA_TRANSFER_EXTERNAL_GBYTES` number, nullable
      - `PROXY_RESIDENTIAL_TRANSFER_GBYTES` number, nullable
      - `PROXY_SERPS` integer, nullable
    - `usageTotalUsd` number, nullable — Total cost in USD for this run. Represents what you actually pay. For run owners: includes platform usage (compute units) and/or event costs depending on the Actor's pricing model. For run non-owners: only available for Pay-Per-Event Actors (event costs only). Requires authentication token to access.
    - `usageUsd` RunUsageUsd — Resource usage costs in USD. All values are monetary amounts in US dollars.
      - `ACTOR_COMPUTE_UNITS` number, nullable
      - `DATASET_READS` number, nullable
      - `DATASET_WRITES` number, nullable
      - `KEY_VALUE_STORE_READS` number, nullable
      - `KEY_VALUE_STORE_WRITES` number, nullable
      - `KEY_VALUE_STORE_LISTS` number, nullable
      - `REQUEST_QUEUE_READS` number, nullable
      - `REQUEST_QUEUE_WRITES` number, nullable
      - `DATA_TRANSFER_INTERNAL_GBYTES` number, nullable
      - `DATA_TRANSFER_EXTERNAL_GBYTES` number, nullable
      - `PROXY_RESIDENTIAL_TRANSFER_GBYTES` number, nullable
      - `PROXY_SERPS` number, nullable
    - `metamorphs` Metamorph[], nullable — List of metamorph events that occurred during the run.
      - `createdAt` string, date-time, required — Time when the metamorph occurred.
      - `actorId` string, required — ID of the Actor that the run was metamorphed to.
      - `buildId` string, required — ID of the build used for the metamorphed Actor.
      - `inputKey` string, nullable — Key of the input record in the key-value store.
    - `platformUsageBillingModel` string — Indicates which party covers platform usage costs for this run.

## Other responses

- `400` — Bad request - invalid input parameters or request body.
- `401` — Unauthorized - authentication required or invalid token.
- `402` — Payment required - the user has exceeded their usage limit, does not have enough credits, or the request lacks authentication and payment credentials.
- `403` — Forbidden - insufficient permissions to perform this action.
- `404` — Not found - the requested resource does not exist.
- `405` — Method not allowed.
- `429` — Too many requests - rate limit exceeded.

---

[API](https://skmtc.net/apify/apis/apify-api.md) · [All operations](https://skmtc.net/apify/apis/apify-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apify/apify-api/versions/01a71794279b/schema)
