Regional Availability
Overview
Poly Lens now operates in multiple data center regions, with Europe (EU-1) added alongside the existing United States (US-1) region.
This change adds new data residency and routing options. Existing queries remain backward compatible.
However, to ensure region-aware behavior, the recommended approach is to query data starting from the tenants
object, which includes region context.
Query Behavior and Recommendations
To align with the new regional model, queries should follow a top-down structure that begins with tenants
.
This approach ensures region context is included before accessing inventory or device data.
The tenants
query now includes a region
field. This identifies which data center (region) each tenant and its associated devices belong to.
query getTenants {
tenants {
name
id
region {
id
}
}
}
- You can query tenants from any region and receive results from all available regions.
- Once a query drills down to devices or inventory, data resolution occurs only within the tenant’s assigned region.
- This ensures all device-level data is retrieved from the correct regional data center.
Performance Note
- The
deviceSearch
query continues to work as before, but since each tenant now includes aregion
, the recommended approach is to first query the tenant to determine its region, then rundeviceSearch
through the tenant’sinventory
field. - This adds minimal query cost while ensuring data resolves in the correct region and avoids partial or cross-region results when tenants span multiple regions.
Example: Query Devices Within a Tenant's Region
With regional support, tenants include a region
object in the GraphQL response.
Sample Query
query getTenantStudioX($tenantId: ID!, $params: DeviceFindArgs) {
tenant(id: $tenantId) {
id
name
region {
id
}
inventory {
deviceSearch(params: $params) {
edges {
node {
id
name
hardwareModel
}
}
}
}
}
}
Variables
{
"tenantId": "12345-c200-2345-1234-c123455667",
"params": {
"filter": {
"contains": "Studio X",
"field": "hardwareModel"
}
}
}
Sample Response
{
"data": {
"tenant": {
"id": "12345-c200-2345-1234-c123455667",
"name": "EU test",
"region": {
"id": "EU-1"
},
"inventory": {
"deviceSearch": {
"edges": [
{
"node": {
"id": "00123456578",
"name": "DFR Dev Lab X52",
"hardwareModel": "Studio X52"
}
}
]
}
}
}
}
}
In this example:
- The tenant resides in the EU-1 region.
- Device-level queries (
deviceSearch
) executes only within that region.
API Endpoints
API endpoints remain unchanged. The same authentication and GraphQL endpoints apply across all regions.
# Authentication Endpoint to retrieve `access_token` (OAuth 2.0)
POST https://login.lens.poly.com/oauth/token
# GraphQL API Endpoint for all Poly Lens API requests
POST https://api.silica-prod01.io.lens.poly.com/graphql