Actor runs

Metamorph Actor run

Changed on

Transforms an Actor run into a run of another Actor with a new input.

This is useful if you want to use another Actor to finish the work of your current Actor run, without the need to create a completely new run and waiting for its finish.

For the users of your Actors, the metamorph operation is transparent, they will just see your Actor got the work done.

Internally, the system stops the Docker container corresponding to the Actor run and starts a new container using a different Docker image.

All the default storages are preserved and the new input is stored under the INPUT-METAMORPH-1 key in the same default key-value store.

For more information, see the Actor docs.

post/v2/actor-runs/{runId}/metamorph

Request

  • Base URL
    https://api.apify.com
  • Auth
    • HTTP bearer
    • or API key in query parameter token

Path parameters

runIdstring required
Example:3KH8gEpp4d8uQSe8T

Actor run ID.

Query parameters

targetActorIdstring required
Example:HDSasDasz78YcAPEB

ID of a target Actor that the run should be transformed into.

buildstring
Example:beta

Optional build of the target Actor.

It can be either a build tag or build number. By default, the run uses the build specified in the default run configuration for the target Actor (typically latest).

Response

Example response

{
  "data": {
    "id": "HG7ML7M8z78YcAPEB",
    "actId": "HDSasDasz78YcAPEB",
    "userId": "7sT5jcggjjA9fNcxF",
    "actorTaskId": "KJHSKHausidyaJKHs",
    "startedAt": "2019-11-30T07:34:24.202Z",
    "finishedAt": "2019-12-12T09:30:12.202Z",
    "statusMessage": "Actor is running",
    "meta": {
      "actorRunId": "HG7ML7M8z78YcAPEB",
      "webhookDispatchId": "asdLZtadYvn4mBZmm",
      "scheduledAct2Id": "c6KfSgoQzFhMk3etc",
      "scheduledActorTaskId": "c6KfSgoQzFhMk3etc"
    },
    "pricingInfo": {
      "apifyMarginPercentage": 0.2
    },
    "stats": {
      "inputBodyLen": 240,
      "resurrectCount": 2,
      "memAvgBytes": 267874071.9,
      "memMaxBytes": 404713472,
      "cpuAvgUsage": 33.7532101107538,
      "cpuMaxUsage": 169.650735534941,
      "netRxBytes": 103508042,
      "netTxBytes": 4854600,
      "durationMillis": 248472,
      "runTimeSecs": 248.472,
      "computeUnits": 0.13804
    },
    "chargedEventCounts": {
      "actor-start": 1,
      "page-crawled": 150,
      "data-extracted": 75
    },
    "accountedChargedEventCounts": {
      "actor-start": 1,
      "page-crawled": 150
    },
    "externalChargedTotalUsd": 0.5,
    "standby": {
      "deployment": "MULTI_TENANT_PAYING_USERS"
    },
    "integrationTracking": {
      "platform": "zapier"
    },
    "createdByOrganizationMemberUserId": "7sT5jcggjjA9fNcxF",
    "consoleUrl": "https://console.apify.com/view/runs/HG7ML7M8z78YcAPEB",
    "output": {
      "results": "https://api.apify.com/v2/datasets/wmKPijuyDnPZAPRMk/items"
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048,
      "maxItems": 1000,
      "maxTotalChargeUsd": 5,
      "isMaxTotalChargeUsdSetByUser": true
    },
    "buildId": "7sT5jcggjjA9fNcxF",
    "generalAccess": "RESTRICTED",
    "defaultKeyValueStoreId": "eJNzqsbPiopwJcgGQ",
    "defaultDatasetId": "wmKPijuyDnPZAPRMk",
    "defaultRequestQueueId": "FL35cSF7jrxr3BY39",
    "storageIds": {
      "datasets": {
        "default": "wmKPijuyDnPZAPRMk"
      },
      "keyValueStores": {
        "default": "eJNzqsbPiopwJcgGQ"
      },
      "requestQueues": {
        "default": "FL35cSF7jrxr3BY39"
      }
    },
    "buildNumber": "0.0.36",
    "containerUrl": "https://g8kd8kbc5ge8.runs.apify.net",
    "isContainerServerReady": true,
    "gitBranchName": "master",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 3,
      "DATASET_READS": 4,
      "DATASET_WRITES": 4,
      "KEY_VALUE_STORE_READS": 5,
      "KEY_VALUE_STORE_WRITES": 3,
      "KEY_VALUE_STORE_LISTS": 5,
      "REQUEST_QUEUE_READS": 2,
      "REQUEST_QUEUE_WRITES": 1,
      "DATA_TRANSFER_INTERNAL_GBYTES": 1,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 3,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 34,
      "PROXY_SERPS": 3
    },
    "usageTotalUsd": 0.2654,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0.0003,
      "DATASET_READS": 0.0001,
      "DATASET_WRITES": 0.0001,
      "KEY_VALUE_STORE_READS": 0.0001,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0.0001,
      "REQUEST_QUEUE_READS": 0.0001,
      "REQUEST_QUEUE_WRITES": 0.0001,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0.001,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0.003,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0.034,
      "PROXY_SERPS": 0.003
    },
    "metamorphs": [
      {
        "createdAt": "2019-11-30T07:39:24.202Z",
        "actorId": "nspoEjklmnsF2oosD",
        "buildId": "ME6oKecqy5kXDS4KQ",
        "inputKey": "INPUT-METAMORPH-1",
        "buildTags": [
          "latest"
        ]
      }
    ],
    "platformUsageBillingModel": "USER"
  }
}

Changes

    • warning

      added the new MULTI_TENANT_FREE_USERS enum value to the /// response property for the response status

    • warning

      added the new MULTI_TENANT_OWNER_PAID enum value to the /// response property for the response status

    • warning

      added the new MULTI_TENANT_PAYING_USERS enum value to the /// response property for the response status

    • warning

      added the new SINGLE_TENANT enum value to the /// response property for the response status

    • breaking

      the / response's property type changed from object to no type for status

    • breaking

      removed the required property // from the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added subschema #2 to the / response property anyOf list for the response status