게시된 앱을 오프라인으로 전환합니다.
프로젝트 게시 취소
플랜:
Business 이상
스코프: projects:write
게시된 앱을 오프라인으로 전환합니다. audience와 visibility 설정은 유지되며 다음 POST /v1/projects/{project_id}/publish 때 다시 적용됩니다. 앱이 온라인이 아니어도 204를 반환하므로 반복 호출해도 안전합니다.
OpenAPI
| 항목 | 값 |
|---|---|
| Method | DELETE |
| Path | /v1/projects/{project_id}/publish |
| Operation ID | unpublishProject |
| Source spec | https://api.lovable.dev/v1/openapi.yaml |
| Local snapshot | YAML 스냅샷 (SHA-256: d7108ea0b427bfdad7e5055c342e6a803ca4ea27bef821feadf38f098b25994e) |
DELETE /v1/projects/{project_id}/publish인증
Lovable-API-Key: lov_your-api-key 또는 Authorization: Bearer <key>를 보냅니다. 이 엔드포인트는 projects:write 스코프가 필요합니다.
매개변수
| 이름 | 위치 | 필수 | 타입 | 설명 |
|---|---|---|---|---|
project_id | path | 예 | string | 프로젝트 ID입니다. |
Lovable-Version | header | 아니요 | string | 제공받을 안정 API 버전입니다. YYYY-MM-DD 날짜 형식으로 보냅니다. 생략하면 현재 가장 오래된 지원 안정 버전인 2026-09-11이 사용됩니다. |
Lovable-Beta | header | 아니요 | string | 안정 버전 위에 활성화할 베타 리비전 문자열입니다. 여러 개는 쉼표로 구분합니다. |
예시
curl --request DELETE \
--url 'https://api.lovable.dev/v1/projects/project-id/publish' \
--header 'Lovable-API-Key: lov_your-api-key' \
--header 'Lovable-Version: 2026-09-11'const response = await fetch("https://api.lovable.dev/v1/projects/project-id/publish", {
method: "DELETE",
headers: {
"Lovable-API-Key": process.env.LOVABLE_API_KEY ?? "lov_your-api-key",
"Lovable-Version": "2026-09-11",
},
});
if (!response.ok) {
throw new Error(`Lovable API ${response.status}: ${await response.text()}`);
}
console.log(response.status);응답
| 상태 | 본문 | 설명 |
|---|---|---|
204 | 없음 | 요청이 성공했습니다. 응답 본문은 없습니다. |
400 | ErrorResponse | 요청 본문 또는 매개변수 형식이 잘못되었거나 검증에 실패했습니다. |
401 | ErrorResponse | API 키, 세션 토큰 또는 OAuth access token이 없거나 유효하지 않습니다. |
402 | ErrorResponse | Public API 접근에는 Business 이상 플랜이 필요합니다. |
403 | ErrorResponse | 키 또는 호출자에게 필요한 스코프나 권한이 없습니다. |
404 | ErrorResponse | 프로젝트가 존재하지 않거나 삭제되었거나 인증된 클라이언트가 접근할 수 없습니다. |
406 | ErrorResponse | Accept 헤더가 이 엔드포인트가 생성하는 모든 미디어 타입을 제외합니다. |
429 | ErrorResponse | 요청이 너무 많습니다. Retry-After가 있으면 해당 간격 뒤에 재시도합니다. |
503 | ErrorResponse | 서비스를 일시적으로 사용할 수 없거나 처리 기한이 만료되었습니다. 변이가 완료될 수 있으므로 재시도 전에 리소스 상태를 확인하세요. |
default | ErrorResponse | 오류입니다. 응답 본문은 표준 오류 envelope을 사용하며 status는 HTTP 상태 코드와 같고 type은 machine-readable 오류 코드입니다. |
응답 헤더
모든 응답에는 상황에 따라 다음 공통 헤더가 포함될 수 있습니다: Lovable-Version, Lovable-Beta, X-Request-Id, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Lovable-Unknown-Query-Params, X-Lovable-Unknown-Query-Params-Omitted. X-Lovable-Unknown-Query-Params는 이 작업이 선언하지 않은 query parameter가 있을 때 URL escape된 이름을 최대 20개까지 쉼표로 제공하며, 20개를 넘으면 X-Lovable-Unknown-Query-Params-Omitted가 누락된 개수(minimum: 1)를 제공합니다. 401 응답은 string인 WWW-Authenticate를, 429 응답은 integer인 Retry-After를 포함합니다. Retry-After는 minimum: 1입니다. X-RateLimit-Reset은 지연 시간이 아니라 Unix timestamp 초 단위입니다.
ErrorResponse
공통 오류 응답입니다.
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
detail | `string \ | null` | 예 |
errors | `array \ | null` | 예 |
props | `object \ | null` | 예 |
request_id | string | 예 | X-Request-Id 응답 헤더에서 반복되는 이 요청의 식별자입니다. |
status | integer | 예 | 본문에 반복되는 HTTP 상태 코드입니다. |
title | string | 예 | 사람이 읽을 수 있는 오류 요약입니다. |
type | string | 예 | 안정적인 machine-readable 오류 유형입니다. |
원본에 포함된 이 작업의 OpenAPI 스냅샷은 YAML 스냅샷 (SHA-256: d7108ea0b427bfdad7e5055c342e6a803ca4ea27bef821feadf38f098b25994e)로 보존했습니다. 최신 전체 OpenAPI 계약은 https://api.lovable.dev/v1/openapi.yaml에서 확인할 수 있습니다.