
# Önerilen kuruluşa katılın

`POST /fapi/v1/me/organization-suggestions/{domain_id}:join` · environment'ın giriş ana bilgisayarından çağrılır

[Kuruluş önerilerimi listele](/docs/api/fapi/me/organization-suggestions/list) bölümündeki bir öneriyi kabul eder: kimliği doğrulanmış kullanıcı, önerilen kuruluşun bir üyesi olur ve environment'ın varsayılan üye rolünü alır. Üyeliğin kaynağı `domain_capture` olur ve kullanıcı işlemi yapan olarak kaydedilir; bir `organization_membership.created` olayı gönderilir. Aynı anda yapılan iki katılımdan yalnızca biri başarılı olur. Katılım için yakın zamanda doğrulanmış bir oturum gerekmez: yalnızca varsayılan üye rolünü verir ve yalnızca kullanıcının e-posta adresini doğruladığı bir alan adı için geçerlidir. Kimliği doğrulanmış kullanıcının `__Host-idp_session` çerezi gereklidir; çerez yoksa, süresi dolmuşsa veya iptal edilmişse `401 unauthenticated` döndürür. Farklı bir kökenden gelen birinci taraf uygulama, bunun yerine ön yüz API erişim belirtecini gönderebilir (DPoP kanıtıyla birlikte `Authorization: DPoP <token>`; bkz. [Ön yüz API erişim belirteci](/docs/api/fapi/front-api-token)).

`@keenauth/js` ile: `await keenauth.organizations.joinSuggestion(id)`.

## İstek

Üstbilgiler:

| Üstbilgi | Zorunlu | Açıklama |
| --- | --- | --- |
| `Idp-Client` | evet | SDK tanımlayıcısı. |
| `Origin` | evet | Tam olarak `https://<giriş ana bilgisayarı>` olmalıdır. |

`domain_id`: önerinin `id` değeri (`odm_…`).

Gövde yoktur (boş bir JSON nesnesi kabul edilir).

## Yanıt

`{"membership_id": "mem_…", "organization_id": "org_…"}` içeren `200 OK`.

## Hatalar

| Durum | Kod | Ne zaman |
| --- | --- | --- |
| 401 | `unauthenticated` | Geçerli bir oturum çerezi veya ön yüz API erişim belirteci yoksa. |
| 403 | `origin_not_allowed` | `Origin` eksikse veya yanlışsa. |
| 403 | `role_not_assignable` | Varsayılan üye rolü alan adı yakalamasıyla verilemiyorsa. |
| 403 | `user_not_active` | Kullanıcı etkin değilse. |
| 404 | `not_found` | Alan adı bu kullanıcı için bir öneri değilse (bilinmiyorsa, hatalı biçimdeyse, `suggest` modunda değilse, içinde doğrulanmış bir adres yoksa veya üç kez kapatılmışsa). |
| 409 | `membership_already_exists` | Kullanıcının bu kuruluşta zaten bir üyeliği varsa. |
| 409 | `organization_disabled` | Kuruluş devre dışıysa veya silinmekteyse. |
| 409 | `membership_limit_reached` | Kullanıcı üyelik sınırına ulaştıysa. |
| 409 | `organization_membership_limit_reached` | Kuruluş üyelik sınırına ulaştıysa. |
| 503 | `temporarily_unavailable` | Üyelik dizini yanıt vermediyse; daha sonra yeniden deneyin. |

## Örnek

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/organization-suggestions/odm_01j9a5c4000000000000000001:join \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt
```

```json
{
  "membership_id": "mem_01j9yyyyyyyyyyyyyyyyyyyyyy",
  "organization_id": "org_01j9xxxxxxxxxxxxxxxxxxxxxx"
}
```

## Kişisel veriler

Bu uç nokta kişisel veri içerir: kuruluş üyelikleri ve davetler. [KeenAuth API'lerinde kişisel veriler](/docs/policies/personal-data) neyin saklandığını, ne kadar süre tutulduğunu ve nasıl silindiğini açıklar. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.
