curl --request GET \
--url 'https://api.lovable.dev/v1/workspaces/workspace-id/security-center/insights' \
--header 'Lovable-API-Key: lov_your-api-key' \
--header 'Lovable-Version: 2026-09-11'{
"as_of": "2026-01-15T09:30:00Z",
"findings": [
{
"category": "exposure",
"description": "Publicly published projects with error-level security findings.",
"id": "public_security_exposure",
"project_count": 12,
"review_priority": "needs_review",
"title": "Public app with security errors"
}
],
"summary": {
"externally_published": {
"delta_30d": 3,
"delta_window": "30 days",
"value": 42
},
"risk": {
"needs_review": 3,
"no_review_needed": 12,
"review_recommended": 5
},
"total_projects": {
"delta_30d": 3,
"delta_window": "30 days",
"value": 42
},
"workspace_members": {
"delta_30d": 3,
"delta_window": "30 days",
"value": 42
}
}
}{
"detail": "validation failed",
"errors": [
{
"location": "body.members",
"message": "expected array length >= 1"
}
],
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 400,
"title": "Bad Request",
"type": "invalid_request"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 401,
"title": "Authorization header required",
"type": "unauthorized"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 402,
"title": "You need to upgrade your plan to access this feature",
"type": "payment_required"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 403,
"title": "You don't have the permissions to perform this action",
"type": "forbidden"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 404,
"title": "Not Found",
"type": "workspace_not_found"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 406,
"title": "This endpoint produces application/json. Send a matching Accept header, */*, or omit the header.",
"type": "not_acceptable"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 429,
"title": "Too Many Requests",
"type": "rate_limited"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 503,
"title": "Request timed out",
"type": "request_timeout"
}{
"detail": "validation failed",
"errors": [
{
"location": "body.workspace_id",
"message": "expected string"
}
],
"props": {
"finding_refs": [
"supabase/finding-1"
]
},
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 429,
"title": "Too Many Requests",
"type": "rate_limited"
}Get workspace security insights
Plan: Business or higher
Scope: workspaces:read
Prioritize security reviews across your workspace. Findings include public apps with security errors, unresolved personal data detections, projects shared with external collaborators, and projects whose owner is no longer an active workspace member.
Returns workspace project and membership counts, project review priorities, and finding types with matching project counts. Requires Security Center access. The review_priority filter applies only to findings; summary counts remain workspace-wide. Finding types requiring personal data detection access are omitted when that feature is unavailable. Project and membership data is eventually consistent and may not immediately reflect recent changes.
curl --request GET \
--url 'https://api.lovable.dev/v1/workspaces/workspace-id/security-center/insights' \
--header 'Lovable-API-Key: lov_your-api-key' \
--header 'Lovable-Version: 2026-09-11'{
"as_of": "2026-01-15T09:30:00Z",
"findings": [
{
"category": "exposure",
"description": "Publicly published projects with error-level security findings.",
"id": "public_security_exposure",
"project_count": 12,
"review_priority": "needs_review",
"title": "Public app with security errors"
}
],
"summary": {
"externally_published": {
"delta_30d": 3,
"delta_window": "30 days",
"value": 42
},
"risk": {
"needs_review": 3,
"no_review_needed": 12,
"review_recommended": 5
},
"total_projects": {
"delta_30d": 3,
"delta_window": "30 days",
"value": 42
},
"workspace_members": {
"delta_30d": 3,
"delta_window": "30 days",
"value": 42
}
}
}{
"detail": "validation failed",
"errors": [
{
"location": "body.members",
"message": "expected array length >= 1"
}
],
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 400,
"title": "Bad Request",
"type": "invalid_request"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 401,
"title": "Authorization header required",
"type": "unauthorized"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 402,
"title": "You need to upgrade your plan to access this feature",
"type": "payment_required"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 403,
"title": "You don't have the permissions to perform this action",
"type": "forbidden"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 404,
"title": "Not Found",
"type": "workspace_not_found"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 406,
"title": "This endpoint produces application/json. Send a matching Accept header, */*, or omit the header.",
"type": "not_acceptable"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 429,
"title": "Too Many Requests",
"type": "rate_limited"
}{
"detail": null,
"errors": null,
"props": null,
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 503,
"title": "Request timed out",
"type": "request_timeout"
}{
"detail": "validation failed",
"errors": [
{
"location": "body.workspace_id",
"message": "expected string"
}
],
"props": {
"finding_refs": [
"supabase/finding-1"
]
},
"request_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"status": 429,
"title": "Too Many Requests",
"type": "rate_limited"
}Authorizations
Lovable API key. Send its value in the Lovable-API-Key header.
Headers
Stable API version to serve, as a YYYY-MM-DD date. Omit for the oldest supported stable version, currently 2026-09-11.
Comma-separated beta revision strings to enable on top of the stable version.
Path Parameters
ID of the workspace to retrieve security insights for.
Query Parameters
Filter finding types by review priority. Repeat to include any of the specified priorities; omit to include all. Only findings are filtered; summary counts remain workspace-wide.
needs_review, review_recommended, no_review_needed Response
OK
Workspace security insights with project and membership counts, review priorities, and finding types.
Timestamp indicating the freshness of workspace review-priority data. Individual projects may have newer results. Null when unavailable. This is not a security scan completion time.
"2026-01-15T09:30:00Z"
Finding types and their matching project counts, including types with zero matches, ordered by higher review priority first. Related conditions may be combined under a more specific finding. A project can appear under multiple finding types. Types requiring personal data detection access are left out when that feature is unavailable. Empty when no types are included.
Show child attributes
Show child attributes
Workspace project counts, membership counts, and project review priorities.
Show child attributes
Show child attributes
Was this page helpful?