---
title: "Run Discovery"
slug: "run-discovery"
updated: 2026-03-22T16:42:58Z
published: 2026-03-22T16:42:58Z
---

> ## 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.

<select class='api-response-data' aria-label='Media type'><option value='dcb69950-ab13-4161-86f1-d698450202a4'>application/json</option>
</select>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

<select class='api-response-data' aria-label='Media type'><option value='db5e4393-f90d-43ac-87a4-b8ff93080b3e'>application/json</option>
</select><select class='select-example' aria-label='Media type'><option value='00ea8a53-439c-435c-992f-404e797160e0'>PopDoesNotBelongToEnvironment</option>
<option value='f4e2552f-1a3d-495e-89de-2cc9391efb0e'>DiscoveryAlreadyInProgressError</option>
</select>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
