You can list the sites connected to your PowerSEC account with the PowerSEC CLI or the API.
Create an API key
Open Dashboard → Settings → API Keys and click New API Key. Keys start with psec_live_. Use them for both the CLI and direct API calls, and keep them secret.
Using the CLI
# Install once
npm install -g @powersec/cli
psec login --api-key psec_live_xxx
# List all sites
psec sites list
# Details for one site
psec sites status example.com
Via the API
GET https://powersec.io/api/sites
Authorization: Bearer <your-api-key>
The endpoint returns every site on your account, newest first. It takes no filter or paging parameters; filter the result yourself (see the example below).
Example response
{
"success": true,
"data": {
"sites": [
{
"id": "site_abc",
"name": "My Store",
"url": "https://example.com",
"status": "online",
"packageCode": "pro_protection",
"securityScore": 92,
"lastSync": "2026-05-01T12:00:00Z"
}
],
"total": 12
}
}
A site that has never synced has no lastSync yet; treat its score as not evaluated rather than as a low score.
Example: sites with a score below 70
TOKEN="psec_live_xxx"
curl -s "https://powersec.io/api/sites" \
-H "Authorization: Bearer $TOKEN" | \
jq '.data.sites[] | select(.lastSync != null and .securityScore < 70) | {name, url, securityScore}'