
# 브랜딩 롤백

`POST /v1/branding:rollback` · 권한 `branding:write`

이전 버전을 다시 게시합니다. 해당 스냅샷이 `source: rollback`과 `rolled_back_from`이 설정된 새 버전이 됩니다. 초안은 변경되지 않습니다. 최근 50개 버전만 복원할 수 있습니다.

## 요청

| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| `version` | 정수 | 예 | 다시 게시할 버전 번호(1 이상). |

## 응답

`200 OK`와 새 버전의 메타데이터 (스냅샷 자체는 반환되지 않습니다).

```json
{
  "version": 4,
  "snapshot_sha256": "3f1c…",
  "source": "publish",
  "rolled_back_from": null,
  "actor_type": "api_key",
  "actor_id": "key_01jb…",
  "published_at": "2026-10-05T09:31:00Z"
}
```

## 오류

| HTTP | code | 조건 |
|---|---|---|
| 400 | `unknown_field` | 본문에 알 수 없는 필드가 있거나 JSON 객체가 아닙니다. |
| 404 | `not_found` | 버전이 없거나 더 이상 보관되지 않습니다. |
| 422 | `validation_failed` | `version`이 없거나(`required`) 1보다 작습니다(`out_of_range`). |
| 401 | `unauthenticated` | 자격 증명이 없거나 유효하지 않거나 폐기되었습니다. |
| 403 | `insufficient_permissions` | 자격 증명에 필요한 권한이 없습니다. |
| 429 | `rate_limited` | 속도 제한을 초과했습니다. `Retry-After` 기간 후에 다시 시도하세요. |
| 503 | `service_unavailable` | 종속 서비스를 일시적으로 사용할 수 없습니다. `Retry-After` 기간 후에 다시 시도하세요. |

## 예제

```bash
curl -X POST https://api.eu.keenauth.com/v1/branding:rollback \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"version":3}'
```
