
# 연결 활성화

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

연결의 `status`를 `active`로 설정합니다. 요청 본문은 선택 사항이며 필드가 없습니다. 이 작업은 멱등성이 있습니다. 연결이 이미 해당 상태이면 아무것도 기록되지 않고 버전은 변경되지 않으며 현재 연결이 반환됩니다. `If-Match`는 사용하지 않습니다. 같은 순간에 다른 작성자가 연결을 변경하면 호출을 몇 차례 재시도합니다. `enterprise`(SAML 또는 OIDC) 연결을 활성화하려면 최근 24시간 이내에 현재 프로토콜 설정과 연결이 가질 `allowed_email_domains`를 모두 포함하는 테스트 로그인이 성공해야 합니다. 그렇지 않으면 호출은 `409 connection_test_required`를 반환하며 아무것도 기록되지 않습니다. 검사를 수행할 수 없으면 연결은 활성화되지 않고 호출은 `503`을 반환합니다. 다른 연결 유형은 검사하지 않습니다.

## 요청

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

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

## 응답

`200 OK`와 함께 연결 및 해당 `ETag`를 반환합니다.

```json
{
  "id": "conn_0k3v8m1q2x9dz4h7s5t6w0y1ab",
  "key": "google",
  "type": "social",
  "strategy": "google",
  "name": "Google",
  "display_name": "Sign in with Google",
  "status": "active",
  "org_id": null,
  "allowed_email_domains": [],
  "allow_external_domains": false,
  "jit_mode": null,
  "email_trust": null,
  "default_role_ids": [],
  "trust_idp_mfa": null,
  "allow_idp_initiated": null,
  "idp_initiated_default_application_id": null,
  "idp_initiated_allowed_application_ids": [],
  "settings": {},
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-05T09:30:00.123456Z"
}
```

## 오류

| HTTP | code | 발생 조건 |
|---|---|---|
| 400 | `unknown_field` | 본문에 필드가 포함되어 있습니다. |
| 404 | `not_found` | 연결이 없거나 다른 환경에 속해 있습니다. |
| 409 | `connection_test_required` | `enterprise` 연결의 현재 설정에 대해 최근 24시간 이내에 성공한 테스트가 없습니다. 테스트 로그인을 실행한 후 다시 시도하십시오. |
| 412 | `precondition_failed` | 연결이 동시에 계속 변경되었습니다. 다시 시도하십시오. |
| 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:activate \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
