
# 삭제된 연결 복원

`POST /v1/connections/{connection_id}:restore` · 권한 `connections:write`

삭제된 연결을 복원합니다. 삭제된 연결은 30일 동안 복원할 수 있습니다. 이 기간에는 목록에 표시되지 않고, 조회할 수 없으며(`404`), 로그인에 사용할 수 없습니다. 30일이 지나면 영구적으로 삭제됩니다.

복원된 연결은 삭제 전 설정과 `status` = `inactive`를 유지한 상태로 돌아옵니다. 자동으로 활성화되지 않으므로, 준비되면 `:activate`를 호출하십시오(기업 연결의 경우 테스트 요건과 요금제 할당량이 이 단계에서 확인됩니다). 연결이 삭제될 때 애플리케이션 연결 목록과 연결의 역할 매핑은 제거되며 복원되지 않습니다.

요청 본문은 선택 사항이며 필드가 없습니다. 이 작업은 멱등성을 가집니다. 연결이 삭제되지 않은 상태라면 아무것도 기록되지 않으며 현재 연결이 반환됩니다.

## 요청

| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| `connection_id` | string | 예 | 연결 식별자(`conn_…`)입니다. |
| `Idempotency-Key` | header | 아니요 | 재시도된 요청을 안전하게 처리하기 위한 선택적 키(16~64자)입니다. |

본문은 선택 사항이며, 포함하는 경우 반드시 `{}`여야 합니다.

## 응답

연결 정보와 `ETag`를 포함한 `200 OK`를 반환합니다.

```json
{
  "id": "conn_0k3v8m1q2x9dz4h7s5t6w0y1ab",
  "key": "acme-saml",
  "type": "enterprise",
  "strategy": "saml",
  "name": "Acme SAML",
  "display_name": null,
  "status": "inactive",
  "org_id": "org_0k3v8m1q2x9dz4h7s5t6w0y1ac",
  "allowed_email_domains": ["acme.example"],
  "allow_external_domains": false,
  "jit_mode": "create",
  "email_trust": false,
  "default_role_ids": [],
  "trust_idp_mfa": false,
  "allow_idp_initiated": false,
  "idp_initiated_default_application_id": null,
  "idp_initiated_allowed_application_ids": [],
  "settings": {},
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-26T17:00:00.123456Z"
}
```

## 오류

| HTTP | code | 발생 조건 |
|---|---|---|
| 400 | `unknown_field` | 본문에 허용되지 않는 필드가 포함되어 있습니다. |
| 404 | `not_found` | 연결이 존재하지 않거나, 다른 환경에 속해 있거나, 30일 이상 전에 삭제되었습니다. |
| 409 | `conflict` | 다른 연결이 같은 `key` 또는 `name`을 사용하고 있거나(단일 패스키 또는 소셜 공급자 슬롯 포함), 연결을 소유한 조직이 삭제되었습니다. |
| 403 | `quota_exceeded` | 환경이 이미 최대 연결 수에 도달했습니다. |
| 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/connections/conn_0k3v8m1q2x9dz4h7s5t6w0y1ab:restore \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth connections restore conn_0k3v8m1q2x9dz4h7s5t6w0y1ab`
