> ## 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.
# Get a List of POPs (V2)
> This is an API call that fetches a list of Policy Orchestration Points (POP) by Environment ID with query parameters.
Notice
Accessing the APIs is through a dedicated domain/URL, according to your PlainID Tenant LocationUnited 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"` |
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 for a full list.
## OpenAPI
````json GET /orchestrator/2.0/pops/{envId}
{
"openapi": "3.0.3",
"info": {
"title": "Management APIs",
"version": "1.0.0",
"contact": {
"name": "PlainID",
"url": "https://plainid.com",
"email": "contact@plainid.com"
},
"license": {
"name": "Commercial",
"url": "https://plainid.com/license"
},
"termsOfService": "https://www.plainid.com/terms/",
"description": "The PlainID Authorization Platform provides Management capabilities through the APIs below.
To access the Management APIs, make sure to enter your dedicated domain according to your PlainID Tenant Location:
| Region | Base URL |
|---|
| United States (US) | https://api.us1.plainid.io |
| Canada (CA) | https://api.ca1.plainid.io |
| Europe (EU) | https://api.eu1.plainid.io |
| Local PAA | https://api.plainid.local |
"
},
"servers": [
{
"description": "United States",
"url": "https://api.us1.plainid.io"
},
{
"description": "Europe",
"url": "https://api.eu1.plainid.io"
},
{
"description": "Canada",
"url": "https://api.ca1.plainid.io"
},
{
"description": "Local PAA",
"url": "https://api.plainid.local"
}
],
"tags": [
{
"name": "access-file-authorizer-oas",
"description": "access-file-authorizer-oas"
},
{
"name": "authz-packager-oas",
"description": "authz-packager-oas"
},
{
"name": "SQL Database Authorizer",
"description": "API for modifying SQL queries based on authorization policies"
},
{
"name": "delegated-admin-oas",
"description": "delegated-admin-oas"
},
{
"name": "Discovery",
"description": "Discovery APIs"
},
{
"name": "Enrichment",
"description": "Enrichment APIs"
},
{
"name": "env-mgmt-oas",
"description": "env-mgmt-oas"
},
{
"name": "hybrid-commander-oas",
"description": "hybrid-commander-oas"
},
{
"name": "auth-keys",
"description": "Auth key operations"
},
{
"name": "components",
"description": "Component operations"
},
{
"name": "paas",
"description": "PAA operations"
},
{
"name": "paa-groups",
"description": "PAA group operations"
},
{
"name": "packages",
"description": "Package configuration operations"
},
{
"name": "secret-stores",
"description": "Secret store operations"
},
{
"name": "Table Mapping",
"description": "Table Mapping"
},
{
"name": "Column Mapping",
"description": "Column Mapping"
},
{
"name": "Api Mapping",
"description": "Api Mapping"
},
{
"name": "notifier-oas",
"description": "notifier-oas"
},
{
"name": "shadow-tracker",
"description": "Shadow tracker SSE stream"
},
{
"name": "orchestrator-oas",
"description": "orchestrator-oas"
},
{
"name": "POP",
"description": "pop operations"
},
{
"name": "org-mgmt-oas",
"description": "org-mgmt-oas"
},
{
"name": "pip-mgmt-oas",
"description": "pip-mgmt-oas"
},
{
"name": "monitor-loggers",
"description": "monitor-loggers"
},
{
"name": "Policy Management APIs",
"description": "Policy Management APIs"
},
{
"name": "Policy Management APIs 1.0",
"description": "Policy Management APIs 1.0"
},
{
"name": "Policy Management APIs 2.0",
"description": "Policy Management APIs 2.0"
},
{
"name": "Policy Building Blocks Management APIs 2.0",
"description": "Policy Building Blocks Management APIs 2.0"
},
{
"name": "Audit",
"description": "Audit"
},
{
"name": "Asset Template",
"description": "Asset Template"
},
{
"name": "Application",
"description": "Application"
},
{
"name": "Api Mapper",
"description": "Api Mapper"
},
{
"name": "Identity Template",
"description": "Identity Template"
},
{
"name": "Identity Sources",
"description": "Identity Sources"
},
{
"name": "Mapper Sets",
"description": "Mapper Sets"
},
{
"name": "Identity Template V2",
"description": "Identity Template V2"
},
{
"name": "PAA Sources",
"description": "PAA Sources"
},
{
"name": "PAA Views",
"description": "PAA Views"
},
{
"name": "PAA Groups",
"description": "PAA Groups"
},
{
"name": "Scope",
"description": "Managed Scope APIs"
},
{
"name": "Authentication for Management APIs",
"description": "Authentication for Management APIs"
},
{
"name": "runtime",
"description": "runtime"
},
{
"name": "Cache Management",
"description": "Cache invalidation operations for Runtime service"
}
],
"externalDocs": {
"url": "https://docs.plainid.io/apidocs/policy-management-apis"
},
"paths": {
"/orchestrator/2.0/pops/{envId}": {
"get": {
"security": [
{
"bearerAuth": []
}
],
"summary": "Get a List of POPs (V2)",
"operationId": "getPopListV2",
"tags": [
"POP"
],
"description": "This is an API call that fetches a list of Policy Orchestration Points (POP) by Environment ID with query parameters.
Notice
Accessing the APIs is through a dedicated domain/URL, according to your PlainID Tenant LocationUnited 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\"` |
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 for a full list.
",
"parameters": [
{
"name": "envId",
"in": "path",
"required": "true",
"schema": {
"type": "string"
},
"description": "Environment ID. You can find the Environment ID in your Environment Settings."
},
{
"name": "offset",
"in": "query",
"description": "Offset for pagination.",
"schema": {
"type": "integer",
"default": "0"
}
},
{
"name": "limit",
"in": "query",
"description": "Limit for pagination.",
"schema": {
"type": "integer",
"default": "10"
}
},
{
"name": "sort[name]",
"in": "query",
"description": "Sort by name in ascending order (ASC) or descending order (DESC).",
"schema": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PopListResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
},
"500": {
"description": "Internal Server Error"
}
}
}
}
},
"components": {
"schemas": {
"PopListResponse": {
"type": "object",
"description": "Response object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pop"
}
},
"meta": {
"$ref": "#/components/schemas/meta"
}
}
},
"pop": {
"type": "object",
"additionalProperties": "false",
"properties": {
"id": {
"type": "string",
"readOnly": "true",
"description": "Internal PlainID property. Not intended for external use. Use popId as the required identifier for all SaaS Management API operations."
},
"popId": {
"type": "string",
"description": "POP ID for the POP"
},
"name": {
"type": "string",
"maxLength": "50",
"description": "POP Name"
},
"orchestrationWorkspaceId": {
"type": "string",
"format": "uuid",
"description": "The Integrations Workspace ID (formerly Orchestration Workspace ID) can be found in the Workspace Settings."
},
"identityWorkspaceId": {
"type": "string",
"nullable": "true",
"format": "uuid",
"description": "The Identities Workspace ID (formerly Identity Workspace ID) can be found in the Workspace Settings."
},
"authorizationWorkspaceId": {
"type": "string",
"format": "uuid",
"nullable": "true",
"description": "The Policies Workspace ID (formerly Authorization Workspace ID) can be found in the Workspace Settings."
},
"description": {
"type": "string",
"description": "POP Description",
"maxLength": "200"
},
"vendorName": {
"type": "string",
"description": "Vendor Name",
"enum": [
"PowerBI",
"ZScaler",
"Snowflake",
"Databricks",
"mcp",
"mcp-v2",
"pinecone",
"aws-agentcore",
"microsoft-foundry",
"googlebigquery"
]
},
"popConnectionCredentials": {
"$ref": "#/components/schemas/PopConnectionCredentials"
},
"mode": {
"type": "string",
"description": "POP Mode.",
"enum": [
"LEARN",
"MANAGE"
]
},
"state": {
"type": "string",
"enum": [
"DISCOVERY_FAILED",
"DISCOVERY_DONE",
"DISCOVERY_IN_PROGRESS",
"DISCOVERY_ABORTED",
"DISCOVERY_PENDING"
]
},
"settings": {
"type": "object",
"description": "POP settings. Present when configured for the vendor and mode."
}
}
},
"meta": {
"type": "object",
"description": "Response Meta",
"properties": {
"total": {
"type": "integer",
"description": "Total number of records"
},
"limit": {
"type": "integer",
"description": "Limit the number of records returned"
},
"offset": {
"type": "integer",
"description": "The starting point for return of records"
}
}
},
"PopConnectionCredentials": {
"description": "Refer to the SaaS Management Vendors article for instructions and examples on how to configure your vendor credentials with your Policy Orchestration Points (POP).",
"type": "object",
"required": [
"authenticationMethod"
],
"properties": {
"authenticationMethod": {
"type": "string"
},
"credentials": {
"type": "object"
},
"discoveryScopeRule": {
"type": "object",
"description": "This parameter is specific to Power BI. See the SaaS Management Vendors article for more information."
}
},
"example": {
"authenticationMethod": "method",
"credentials": {}
}
}
},
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": " 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`"
}
}
}
}
````