Projects
프로젝트 삭제
Plan:
Business or higher
Scope: projects:write
프로젝트를 삭제합니다. 휴지통을 사용할 수 있는 경우 Lovable 에디터에서 프로젝트를 복원할 수 있습니다. 그렇지 않으면 삭제는 영구 처리되며 custom domain은 즉시 연결 해제됩니다. 이미 삭제된 프로젝트를 다시 삭제하면 404와 type: project_not_found가 반환됩니다. 삭제 결과를 모르는 클라이언트가 재시도하다가 이 404를 받으면 성공으로 취급해야 합니다.
OpenAPI
| 항목 | 값 |
|---|---|
| Method | DELETE |
| Path | /v1/projects/{project_id} |
| Operation ID | deleteProject |
| Source spec | https://api.lovable.dev/v1/openapi.yaml |
| Local snapshot | YAML 스냅샷 (SHA-256: d5f180b7f6e942a9b16e651bc5f7988bf35c49c127bc82ca710969833703c81f) |
DELETE /v1/projects/{project_id}인증 및 media type
- 인증은
Lovable-API-Keyheader에 API 키를 보내거나Authorization: Bearer <key>형식으로 보냅니다. - 키는 하나의 워크스페이스에 바인딩되고
public:v1audience를 가집니다. 다른 워크스페이스의 리소스는 존재하지 않는 리소스와 마찬가지로404를 반환합니다. - 응답 본문이 있는
public:v1엔드포인트는application/json을 반환합니다.Accept: application/json,Accept: */*를 보내거나Acceptheader를 생략하세요. JSON을 제외하는Acceptheader는406을 반환합니다. - 쓰기 스코프는 대응하는 읽기 스코프를 포함합니다.
projects:write는projects:read를,workspaces:write는workspaces:read를 포함합니다. 프로젝트 계열과 워크스페이스 계열 사이에는 권한이 넘어가지 않습니다.
매개변수
| 이름 | 위치 | 필수 | 타입 | 제약 | 설명 |
|---|---|---|---|---|---|
project_id | path | 예 | string | - | 프로젝트 ID입니다. |
Lovable-Version | header | 아니요 | string | - | 제공받을 안정 API 버전입니다. YYYY-MM-DD 날짜 형식으로 보냅니다. 생략하면 현재 가장 오래된 지원 안정 버전인 2026-09-11이 사용됩니다. |
Lovable-Beta | header | 아니요 | string | - | 안정 버전 위에 활성화할 베타 리비전 문자열입니다. 여러 개는 쉼표로 구분합니다. |
요청 본문
요청 본문은 없습니다.
응답
| 상태 | 본문 schema | 설명 |
|---|---|---|
204 | 없음 | 응답 본문 없이 요청이 성공했습니다. |
400 | ErrorResponse | 요청 본문이나 매개변수 형식이 잘못되었거나 검증에 실패했습니다. 실패한 각 필드는 errors에 나열됩니다. |
401 | ErrorResponse | API 키, session token, OAuth access token이 없거나 유효하지 않습니다. |
402 | ErrorResponse | Public API 접근에는 Business 이상 플랜이 필요합니다. 일부 작업이나 구성에는 추가 기능 권한이 필요합니다. |
403 | ErrorResponse | 키 또는 호출자에게 필요한 스코프나 권한이 없습니다. email_not_verified인 경우 계정 이메일을 인증한 뒤 다시 시도하세요. |
404 | ErrorResponse | 프로젝트가 존재하지 않거나 삭제되었거나 인증된 클라이언트가 접근할 수 없습니다. |
406 | ErrorResponse | Accept 헤더가 이 엔드포인트가 생성하는 모든 media type을 제외했습니다. |
429 | ErrorResponse | 요청이 너무 많습니다. Retry-After가 있으면 해당 간격 뒤에 다시 시도하세요. |
503 | ErrorResponse | 서비스를 일시적으로 사용할 수 없거나 처리 기한이 만료되었습니다(request_timeout). mutation은 완료될 수 있으므로 다시 시도하기 전에 리소스 상태를 확인하세요. |
default | ErrorResponse | 오류입니다. 응답 본문은 표준 오류 envelope을 사용합니다. status는 HTTP 상태 코드와 같고 type은 machine-readable 오류 코드입니다. |
응답 헤더
| 상태 | 헤더 | 타입 | 설명 |
|---|---|---|---|
204 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
204 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
204 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
204 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
204 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
204 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
204 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
204 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
400 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
400 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
400 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
400 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
400 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
400 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
400 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
400 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
401 | WWW-Authenticate | string | 지원되는 인증 scheme을 식별하는 authentication challenge입니다. |
401 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
401 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
401 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
401 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
401 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
401 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
402 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
402 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
402 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
402 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
402 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
402 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
403 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
403 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
403 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
403 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
403 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
403 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
404 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
404 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
404 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
404 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
404 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
404 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
404 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
404 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
406 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
406 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
406 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
406 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
406 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
406 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
406 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
406 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
429 | Retry-After | integer | 다시 시도하기 전에 기다릴 초 단위 시간입니다. minimum: 1입니다. limiter가 재시도 지연 시간을 계산할 수 있을 때 제공됩니다. |
429 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
429 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
429 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
429 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
429 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
429 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
503 | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
503 | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
503 | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
503 | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
503 | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
503 | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
503 | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
503 | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
default | Lovable-Beta | string | 요청에 적용된 beta revision입니다. 쉼표로 구분됩니다. 요청이 beta revision을 선택한 경우에만 있습니다. |
default | Lovable-Version | string | 요청을 처리한 안정 API 버전입니다. 버전 선택 전에 요청이 거부되었거나 버전 선택 자체가 실패한 경우에는 없습니다. |
default | X-Lovable-Unknown-Query-Params | string | 요청에 이 작업이 선언하지 않은 query parameter가 포함된 경우에만 있습니다. 무시된 매개변수 이름을 URL escape 후 쉼표로 구분해 최대 20개까지 제공합니다. |
default | X-Lovable-Unknown-Query-Params-Omitted | integer | 알 수 없는 매개변수가 20개를 넘어 무시되었을 때 X-Lovable-Unknown-Query-Params와 함께 제공됩니다. 해당 헤더에서 빠진 이름의 수입니다. |
default | X-RateLimit-Limit | integer | 소진에 가장 가까운 속도 제한에서 시간 창마다 허용되는 최대 요청 수입니다. 세 X-RateLimit 헤더는 모두 같은 제한을 설명합니다. |
default | X-RateLimit-Remaining | integer | X-RateLimit-Limit가 설명하는 제한 안에서 아직 사용할 수 있는 요청 수입니다. |
default | X-RateLimit-Reset | integer | X-RateLimit-Limit가 설명하는 제한이 다음에 용량을 회복하는 시각입니다. Unix timestamp 초 단위입니다. 알 수 없으면 생략됩니다. |
default | X-Request-Id | string | 이 요청의 식별자입니다. 오류 envelope의 request_id와 일치합니다. 실패를 보고할 때 이 값을 인용하세요. |
Schema
필드 이름과 enum 값은 OpenAPI contract의 식별자를 그대로 유지합니다. 설명은 한국어로 옮겼습니다. null이 타입에 포함된 필드는 값이 없을 수 있습니다.
ErrorResponse
공통 오류 응답입니다. 작업에 따라 특정 상태 코드에 다른 응답 본문이 문서화될 수 있습니다. 예를 들어 멤버별 credit 한도 일괄 업데이트 결과가 해당됩니다.
| 필드 | 필수 | 타입 | 제약 | 설명 | 예시 |
|---|---|---|---|---|---|
detail | 예 | `string \ | null` | - | 이번 오류에 대한 사람이 읽을 수 있는 안내입니다. 적용되지 않으면 null입니다. invalid_request에서는 validation failed이며 실행 가능한 필드 메시지는 errors에 있습니다. 다른 오류 유형은 재인증 안내 같은 정보를 제공할 수 있습니다. |
errors | 예 | `array \ | null` | - | 검증 실패 시 필드 단위 오류 상세 정보입니다. 필드 단위 상세 정보가 적용되지 않으면 null입니다. |
props | 예 | `object \ | null` | - | 오류별 metadata입니다. 적용되지 않으면 null입니다. key는 type에 따라 달라집니다. security_critical_findings에는 finding_refs 문자열 배열이 포함되고, retired_version과 retired_beta에는 migration_url 문자열 URL이 포함될 수 있습니다. 인식하지 못한 key는 무시하세요. |
request_id | 예 | string | - | X-Request-Id 응답 헤더에서 반복되는 이 요청의 식별자입니다. 실패를 보고할 때 이 값을 인용하세요. | 4bf92f3577b34da6a3ce929d0e0e4736 |
status | 예 | integer | - | 본문에 반복되는 HTTP 상태 코드입니다. | 429 |
title | 예 | string | - | 사람이 읽을 수 있는 오류 요약입니다. 문구는 바뀔 수 있으므로 애플리케이션의 오류 처리는 type을 기준으로 결정하세요. | Too Many Requests |
type | 예 | string | - | 안정적인 machine-readable 오류 유형입니다. URI가 아니라 rate_limited 같은 snake_case token입니다. 클라이언트는 이 값으로 분기할 수 있으며 새 유형은 추가될 수 있습니다. | rate_limited |