curl --request GET \
--url 'https://api.lovable.dev/v1/projects/project-id' \
--header 'Lovable-API-Key: lov_your-api-key' \
--header 'Lovable-Version: 2026-09-11'{
"created_at": "2026-01-15T09:30:00Z",
"description": "A landing page for Acme with a hero, features, and pricing.",
"id": "prj_01jw3k9m2xq8r5v0c7d4e6f2gh",
"is_published": true,
"last_edited_at": "2026-01-15T09:30:00Z",
"latest_commit_sha": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
"latest_screenshot_url": "https://screenshot2.lovable.dev/acme-landing-page.png",
"name": "Acme Landing Page",
"owner_id": "404666c6-b533-5d2c-9768-c425bf40559b",
"preview_url": "https://id-preview--fa8b85cf-b9ff-4f1c-989a-74c32d1326f4.lovable.app",
"publish_audience": "public",
"publish_audience_targets": [
{
"id": "grp_01jw3k9m2xq8r5v0c7d4e6f2gh",
"type": "group"
}
],
"visibility": "workspace_edit",
"workspace_id": "workspace_01jw3k9m2xq8r5v0c7d4e6f2gh"
}{
"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": "project_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 project
Plan: Business or higher
Scope: projects:read
Returns project details.
curl --request GET \
--url 'https://api.lovable.dev/v1/projects/project-id' \
--header 'Lovable-API-Key: lov_your-api-key' \
--header 'Lovable-Version: 2026-09-11'{
"created_at": "2026-01-15T09:30:00Z",
"description": "A landing page for Acme with a hero, features, and pricing.",
"id": "prj_01jw3k9m2xq8r5v0c7d4e6f2gh",
"is_published": true,
"last_edited_at": "2026-01-15T09:30:00Z",
"latest_commit_sha": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
"latest_screenshot_url": "https://screenshot2.lovable.dev/acme-landing-page.png",
"name": "Acme Landing Page",
"owner_id": "404666c6-b533-5d2c-9768-c425bf40559b",
"preview_url": "https://id-preview--fa8b85cf-b9ff-4f1c-989a-74c32d1326f4.lovable.app",
"publish_audience": "public",
"publish_audience_targets": [
{
"id": "grp_01jw3k9m2xq8r5v0c7d4e6f2gh",
"type": "group"
}
],
"visibility": "workspace_edit",
"workspace_id": "workspace_01jw3k9m2xq8r5v0c7d4e6f2gh"
}{
"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": "project_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
Project ID.
Response
OK
When the project was created; null when unavailable.
"2026-01-15T09:30:00Z"
AI-written summary of what the project does; null until the agent has completed a response for the project.
"A landing page for Acme with a hero, features, and pricing."
Project ID.
"prj_01jw3k9m2xq8r5v0c7d4e6f2gh"
Whether the project is published.
true
When the project last received an edit or a user chat message; null when neither has happened.
"2026-01-15T09:30:00Z"
SHA of the latest commit; null before the first commit.
"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0"
URL of the latest screenshot; null until one has been captured.
"https://screenshot2.lovable.dev/acme-landing-page.png"
Human-readable project name; null when none is set.
"Acme Landing Page"
Project owner user UUID, matching the OAuth subject for clients using derived UUIDs. Null when unavailable.
"404666c6-b533-5d2c-9768-c425bf40559b"
URL of the project's main preview. Serves the latest successful preview build at the same address across commits; it is not pinned to a commit or draft. Uses the workspace's branded hostname unless the project opts out, and may change when branding changes. Null when the environment has no preview host; a URL does not mean a preview build is ready. Contains no authentication token; opening it requires a Lovable login unless the project is publicly remixable. To embed it from a third-party origin, use POST /v1/projects/{project_id}/embed-url.
"https://id-preview--fa8b85cf-b9ff-4f1c-989a-74c32d1326f4.lovable.app"
Who can open the published app: the audience set via POST or PATCH /v1/projects/{project_id}/publish; null while the app is not published. More values may be added; clients must tolerate unknown values.
public, workspace, custom, null "public"
Groups and users who can open the published app when publish_audience is custom; empty for other audiences and while the app is offline. Users granted through invitations or organization membership are included; organization-wide access and pending email invitations are not listed.
Show child attributes
Show child attributes
Who can open the project in the Lovable editor. restricted: only the project owner, invited collaborators, and the workspace owner (Business or Enterprise). workspace_edit: every workspace member, at the access level their workspace role grants. workspace_view: every workspace member, with the access their workspace role grants capped at read; explicit project, folder, and group grants still permit editing (Business or Enterprise). Null when no setting is stored. Published app access is configured separately via publish_audience. More values may be added; clients must tolerate unknown values.
restricted, workspace_edit, workspace_view, null "workspace_edit"
Workspace the project belongs to.
"workspace_01jw3k9m2xq8r5v0c7d4e6f2gh"
Was this page helpful?