List workspace security project inventory
Plan: Enterprise
Returns the review-priority-ranked project inventory for the workspace, sorted by the selected sort_by (default last_edited, or relevance when query is set) with offset-based paging behind the cursor.
Path parameters
Workspace ID
Workspace ID
Query parameters
Max results per page.
Max results per page.
Opaque cursor from a prior response. Omit on the first page.
Opaque cursor from a prior response. Omit on the first page.
Free-text search across project name and owner.
Free-text search across project name and owner.
Sort axis. When omitted, results sort by last_edited (or by relevance when 'query' is set).
Sort axis. When omitted, results sort by last_edited (or by relevance when 'query' is set).
Activity bucket filter.
Activity bucket filter.
Filter by publishing status. Omit for no filter.
Filter by publishing status. Omit for no filter.
Filter by project visibility.
Filter by project visibility.
Filter to projects flagged with PII.
Filter to projects flagged with PII.
Filter to projects with at least one connector.
Filter to projects with at least one connector.
Repeat to include multiple publishing statuses. Omit for all.
Repeat to include multiple publishing statuses. Omit for all.
Repeat to include multiple review priorities (needs_review=critical, review_recommended=high+medium, no_review_needed=low+minimal). Unscored projects are not filterable but may appear in results.
Repeat to include multiple review priorities (needs_review=critical, review_recommended=high+medium, no_review_needed=low+minimal). Unscored projects are not filterable but may appear in results.
Repeat to filter to projects matching any of the listed catalog findings (e.g. public_pii_exposure, abandoned_published). Unknown finding ids return 400.
Repeat to filter to projects matching any of the listed catalog findings (e.g. public_pii_exposure, abandoned_published). Unknown finding ids return 400.
Response
OK
Example response
{
"activity_as_of": {
"edits_as_of": "2026-01-15T09:30:00Z",
"visitors_as_of": "2026-01-15T09:30:00Z"
},
"applied_finding": {
"category": "data",
"description": "A public table has row-level security disabled, exposing all rows to anonymous callers.",
"id": "public_pii_exposure",
"project_count": 12,
"severity": "needs_review",
"title": "Row-level security disabled on a public table"
},
"as_of": "2026-01-15T09:30:00Z",
"data": [
{
"activity_group": "active",
"description": "Marketing landing page for the Q1 product launch.",
"display_name": "Acme Landing Page",
"edge_functions": [
{
"name": "send-welcome-email"
}
],
"edit_count": 128,
"edits_24h": 4,
"edits_30d": 67,
"edits_7d": 21,
"generated_description": "A single-page marketing site with a hero, feature grid, and signup form.",
"id": "prj_01jw3k9m2xq8r5v0c7d4e6f2gh",
"is_published": true,
"last_edited_at": "2026-01-15T09:30:00Z",
"last_security_scan_at": "2026-01-15T09:30:00Z",
"matched_reason": {
"category": "data",
"detail": "A public table exposes personal data to anonymous callers.",
"id": "public_pii_exposure",
"label": "Public PII exposure",
"severity": "needs_review",
"values": {
"connector_count": 2,
"edge_function_count": 3,
"error_count": 2,
"info_count": 8,
"open_pii_finding_count": 3,
"secret_count": 4,
"shared_user_count": 6,
"warning_count": 5
}
},
"message_count": 56,
"name": "Acme Landing Page",
"og_image_url": "https://lovable.dev/cdn/projects/acme-landing-page/og.png",
"owner": {
"display_name": "Jane Cooper"
},
"publish_visibility": "external",
"review_priority": "needs_review",
"review_priority_explanation": [
{
"category": "data",
"detail": "A public table exposes personal data to anonymous callers.",
"id": "public_pii_exposure",
"label": "Public PII exposure",
"severity": "needs_review",
"values": {
"connector_count": 2,
"edge_function_count": 3,
"error_count": 2,
"info_count": 8,
"open_pii_finding_count": 3,
"secret_count": 4,
"shared_user_count": 6,
"warning_count": 5
}
}
],
"signals": {
"chat_attachment_count": 7,
"connector_count": 2,
"edge_function_count": 3,
"error_count": 2,
"external_collaborators_known": true,
"has_chat_attachment": true,
"has_external_collaborators": true,
"has_pii": true,
"has_project_asset": true,
"has_project_secret": true,
"info_count": 8,
"is_public_published": true,
"is_published": true,
"lovable_cloud_enabled": true,
"open_pii_finding_count": 3,
"project_asset_count": 10,
"project_secret_count": 4,
"shared_user_count": 6,
"supabase_rls_enabled_table_count": 10,
"supabase_signals_fetched_at": "2026-01-15T09:30:00Z",
"supabase_storage_bucket_count": 2,
"supabase_table_count": 12,
"supply_chain_error_count": 1,
"supply_chain_info_count": 4,
"supply_chain_warning_count": 3,
"warning_count": 5
},
"url": "https://acme-landing-page.lovable.app",
"visibility": "public",
"visitors_24h": 35,
"visitors_30d": 840,
"visitors_7d": 210
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJ2IjoxLCJpZCI6InByal8wMWp3M2s5In0"
},
"total": 42
}