Lovable한국어 문서
Deploy & Domains

앱을 다시 빌드하지 않고 게시된 앱의 접근 설정을 변경합니다.

게시 설정 업데이트

플랜: Business 이상

스코프: projects:write

앱을 다시 빌드하지 않고 게시된 앱의 접근 설정을 변경합니다. audiencepublic, workspace, custom 중 하나로 설정합니다. 프로젝트 읽기 응답에서는 이 값이 publish_audience로 보고됩니다. custom audience에서 audience_targets를 보내면 그룹 및 사용자 grant를 대체하고 워크스페이스 전체 접근을 제거합니다. UI에서 관리하는 조직 접근과 이메일 초대는 보존됩니다. 변경 사항은 즉시 적용됩니다. 응답은 결정된 audience와 target을 반환합니다. is_published, publish_audience, publish_audience_targetsGET /v1/projects/{project_id}에서 읽습니다. 새 버전을 빌드하고 게시하려면 POST /v1/projects/{project_id}/publish를 사용합니다. 앱을 오프라인으로 전환하려면 DELETE /v1/projects/{project_id}/publish를 사용합니다.

OpenAPI

항목
MethodPATCH
Path/v1/projects/{project_id}/publish
Operation IDupdatePublishSettings
Source spechttps://api.lovable.dev/v1/openapi.yaml
Local snapshotYAML 스냅샷 (SHA-256: 28d791cced537f52fbfc4b832e72983b22ae33802ded646fc9f2a8335b7df073)
PATCH /v1/projects/{project_id}/publish

인증

Lovable-API-Key: lov_your-api-key 또는 Authorization: Bearer <key>를 보냅니다. 이 엔드포인트는 projects:write 스코프가 필요합니다.

매개변수

이름위치필수타입설명
project_idpathstring프로젝트 ID입니다.
Lovable-Versionheader아니요string제공받을 안정 API 버전입니다. YYYY-MM-DD 날짜 형식으로 보냅니다. 생략하면 현재 가장 오래된 지원 안정 버전인 2026-09-11이 사용됩니다.
Lovable-Betaheader아니요string안정 버전 위에 활성화할 베타 리비전 문자열입니다. 여러 개는 쉼표로 구분합니다.

요청 본문

요청 본문은 필수입니다. Content-Type은 application/json입니다. 본문은 UpdatePublishSettingsRequest 스키마를 사용합니다.

필드타입필수설명
audiencestring아니요게시된 앱을 열 수 있는 대상입니다. public, workspace, custom 중 하나입니다. 프로젝트 읽기 응답에서는 publish_audience로 보고됩니다. UI에서 관리하는 기존 grant를 포함한 custom audience를 사용할 수 있습니다. 생략하면 앱이 게시되지 않은 상태를 포함해 audience를 변경하지 않습니다.
audience_targetsPublishAudienceTarget[]아니요앱을 열 수 있는 그룹입니다. 전달한 audience 또는 현재 audience가 custom일 때만 허용됩니다. 목록을 제공하면 모든 그룹 및 사용자 grant를 대체하고 워크스페이스 전체 접근을 제거합니다. 빈 목록은 해당 grant를 제거합니다. UI에서 관리하는 기존 조직 접근과 이메일 초대는 보존됩니다. 생략하면 audience 변경 중에도 저장된 target을 유지합니다. custom 모드 밖에서는 target이 비활성입니다. null은 허용되지 않습니다. 최대 100개까지 보낼 수 있습니다.

PublishAudienceTargettypeid를 필수로 가집니다. 현재 typegroup만 지원하며 idGET /v1/workspaces/{workspace_id}/groups가 반환한 그룹 ID입니다. id는 빈 문자열일 수 없으며(minLength: 1), audience_targets는 최대 100개까지 보낼 수 있습니다.

예시

curl --request PATCH \
  --url 'https://api.lovable.dev/v1/projects/project-id/publish' \
  --header 'Lovable-API-Key: lov_your-api-key' \
  --header 'Lovable-Version: 2026-09-11' \
  --header 'Content-Type: application/json' \
  --data '{}'
const response = await fetch("https://api.lovable.dev/v1/projects/project-id/publish", {
  method: "PATCH",
  headers: {
    "Lovable-API-Key": process.env.LOVABLE_API_KEY ?? "lov_your-api-key",
    "Lovable-Version": "2026-09-11",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
});
if (!response.ok) {
  throw new Error(`Lovable API ${response.status}: ${await response.text()}`);
}
console.log(await response.json());

응답

상태본문설명
200PublishSettings요청이 성공했습니다.
400ErrorResponse요청 본문 또는 매개변수 형식이 잘못되었거나 검증에 실패했습니다.
401ErrorResponseAPI 키, 세션 토큰 또는 OAuth access token이 없거나 유효하지 않습니다.
402ErrorResponsePublic API 접근에는 Business 이상 플랜이 필요합니다.
403ErrorResponse키 또는 호출자에게 필요한 스코프나 권한이 없습니다.
404ErrorResponse프로젝트가 존재하지 않거나 삭제되었거나 인증된 클라이언트가 접근할 수 없습니다.
406ErrorResponseAccept 헤더가 이 엔드포인트가 생성하는 모든 미디어 타입을 제외합니다.
429ErrorResponse요청이 너무 많습니다. Retry-After가 있으면 해당 간격 뒤에 재시도합니다.
503ErrorResponse서비스를 일시적으로 사용할 수 없거나 처리 기한이 만료되었습니다. 변이가 완료될 수 있으므로 재시도 전에 리소스 상태를 확인하세요.
defaultErrorResponse오류입니다. 응답 본문은 표준 오류 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-Afterminimum: 1입니다. X-RateLimit-Reset은 지연 시간이 아니라 Unix timestamp 초 단위입니다.

스키마

PublishAudienceTarget

필드타입필수제약설명
typestringenum: group대상 유형입니다. 현재 그룹만 설정할 수 있습니다.
idstringminLength: 1GET /v1/workspaces/{workspace_id}/groups가 반환한 그룹 ID입니다.

PublishSettings

필드타입필수설명
audiencestring게시된 앱을 열 수 있는 대상입니다. public, workspace, custom 중 하나입니다. 프로젝트 읽기 응답에서는 publish_audience로 보고됩니다. 새 값이 추가될 수 있으므로 클라이언트는 알 수 없는 값을 허용해야 합니다.
audience_targetsPublishAudienceGrant[]앱이 오프라인이거나 audience가 custom이 아니어도 저장되어 있는 그룹 및 사용자입니다. 이 target은 custom 모드에서만 접근 권한을 부여합니다. 초대 또는 조직 멤버십으로 grant된 사용자는 포함되지만 조직 전체 접근과 대기 중인 이메일 초대는 나열되지 않습니다. 이 읽기 projection은 쓰기 가능한 target 목록이 아닙니다. audience_targets에는 그룹만 제공할 수 있습니다.

PublishAudienceGrant

필드타입필수설명
typestringtarget 타입입니다. group 또는 user입니다. 사용자는 보고되지만 아직 audience_targets로 설정할 수 없습니다.
idstringGET /v1/workspaces/{workspace_id}/groups가 반환한 그룹 ID 또는 다른 응답이 보고하는 사용자 UUID입니다.

ErrorResponse

공통 오류 응답입니다.

필드타입필수설명
detail`string \null`
errors`array \null`
props`object \null`
request_idstringX-Request-Id 응답 헤더에서 반복되는 이 요청의 식별자입니다.
statusinteger본문에 반복되는 HTTP 상태 코드입니다.
titlestring사람이 읽을 수 있는 오류 요약입니다.
typestring안정적인 machine-readable 오류 유형입니다.

원본에 포함된 이 작업의 OpenAPI 스냅샷은 YAML 스냅샷 (SHA-256: 28d791cced537f52fbfc4b832e72983b22ae33802ded646fc9f2a8335b7df073)로 보존했습니다. 최신 전체 OpenAPI 계약은 https://api.lovable.dev/v1/openapi.yaml에서 확인할 수 있습니다.

On this page