--- title: "Run Discovery" slug: "run-discovery" updated: 2026-03-22T16:42:58Z published: 2026-03-22T16:42:58Z canonical: "docs.plainid.io/run-discovery" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.plainid.io/llms.txt > Use this file to discover all available pages before exploring further. # Run Discovery Post/orchestrator/2.0/pop-operations/discovery/{envId}/{popId} This API call triggers the POP Discovery Process using the POP and Environment IDs. ## Notice Accessing the APIs is through a dedicated domain/URL, according to your PlainID Tenant Location**United States (US)** - `https://api.us1.plainid.io`**Canada (CA)** - `https://api.ca1.plainid.io`**Europe (EU)** - `https://api.eu1.plainid.io` ### Important note about headers Refer to the headers below to modify your cURL sample. Check if the following headers are in the sample, if not, ensure you add it to your cURL sample before pasting into your API tool. #### Headers *Required | Header | Value | cURL Line | | --- | --- | --- | | Accept | `application/json` | `-H"Accept: application/json"` | | Content Type | `application/json` | `-H"Content-Type: application/json"` | ### cURL Sample Guidelines In order for the relevant parameters to appear in the cURL sample, you can input the values in the interactive API console on the right in the Try It or Code Sample tabs. You can then copy the cURL sample from the Code Sample tab in the correct format. ### Using HTML Encoded Special Characters Use HTML encoded patterns when working with values that contain special characters like spaces, dashes, etc. Refer to this [HTML URL Encoding Reference](https://www.w3schools.com/tags/ref_urlencode.ASP) for a full list. SecurityHTTPType bearer For more details about Administration API Authentication, check out the Authentication APIs documentation Provide your bearer token in the Authorization header when making requests to protected resources. Example: `Authorization: Bearer 123` Path parametersenvIdstringRequired Environment ID. You can find the Environment ID in your Environment Settings. popIdstringRequired POP ID. You can find the POP ID using the [GET List of POPs API](https://docs.plainid.io/v1-api/apidocs/get-pop-list) or through the UI under your POP settings. Body parameters These optional execution parameters are required to run Discovery and immediately deploy. If omitted, the endpoint performs discovery only. This is also backwards compatible. object Optional discovery execution parameters. `deployMethod` is required.when the parameter `discoveryAndDeploy` is set to `true. discoveryAndDeployboolean If set to `true`, triggers discovery and deploy, only when in MANAGE mode. deployMethodstring Deployment method to use when the previous `discoveryAndDeploy` is set to `true`. Take note of the valid values - **DEPLOY_ALL** - Deploys all Policies from PlainID to the vendor. - Policies with the Vendor Changes Detected flag are overridden. **SAFE_DEPLOY** - Deploys Policies from PlainID to the vendor, but skips any Policy with the Vendor Changes Detected flag. Valid values[ "DEPLOY_ALL", "SAFE_DEPLOY" ] Responses202 The Discovery Process has been triggered and is being processed. 400 Bad Request PopDoesNotBelongToEnvironment ```json { "errors": [ { "code": "ORC-027", "id": "E880D0", "status": 400, "name": "PopDoesNotBelongToEnvironment", "message": "Pop [POP1P00XFYS0NVJ] does not belong to Environment [ec3ff4ee-81f9-4e7f-9037-6fa9fde62cc8]", "args": { "popId": "POP1P00XFYS0NVJ", "envId": "ec3ff4ee-81f9-4e7f-9037-6fa9fde62cc8" } } ] } ``` DiscoveryAlreadyInProgressError ```json { "errors": [ { "code": "ORC-015", "id": "E28087", "status": 400, "name": "DiscoveryAlreadyInProgressError", "message": "Discovery is currently in progress, and parallel discoveries for the same POP are not allowed", "args": { "name": "PowerBI" } } ] } ``` object codestring messagestring detailsstring 401 Unauthorized 404 Not Found 500 Internal Server Error