Bir üye davet edin
POST /fapi/v1/organizations/{org_id}/invitations · ortamın oturum açma sunucusundan çağrılır
Kuruluşa bir e-posta adresi davet eder. Davet e-postasını KeenAuth gönderir; davet belirteci ve kabul bağlantısı size hiçbir zaman döndürülmez. Aynı adres ve aynı rollerle bekleyen bir davet zaten varsa, yeniden gönderilir ve yanıt 200 OK olur; yeni bir davet ise 201 Created döner.
Kullanıcının __Host-idp_session çerezi ve tam eşleşen bir Origin gereklidir; ya da birinci taraf bir uygulamanın ön yüz API erişim belirteci (Authorization: DPoP <token> ve bir DPoP kanıtıyla; bkz. Ön yüz API erişim belirteci). Kullanıcı kuruluşun aktif bir üyesi olmalı ve idp_members:invite iznine sahip olmalıdır. Üye olmayan bir kullanıcı 404 not_found alır; izni olmayan bir üye ise 403 insufficient_permissions alır. Yalnızca yönetici rolüne sahip bir üye, ayrıcalıklı bir rolle davet edebilir (403 role_not_assignable).
@keenauth/js ile: const { invitation, resent } = await keenauth.organizations.invite(orgId, { email, roleIds: [roleId] }).
İstek
Başlıklar:
| Başlık | Zorunlu | Açıklama |
|---|---|---|
Idp-Client |
evet | SDK tanımlayıcısı. |
Origin |
çerezle birlikte evet | https://<sign-in host>. |
org_id: kuruluş tanımlayıcısı (org_…).
Gövde:
| Alan | Zorunlu | Açıklama |
|---|---|---|
email |
evet | Davet edilecek adres, en fazla 254 karakter. |
role_ids |
hayır | En fazla 10 rol (rol_…); belirtilmezse kuruluşun varsayılan rolü kullanılır. |
ttl_days |
hayır | Davetin ne kadar geçerli kalacağı, 1–30 gün; belirtilmezse ortamın varsayılanı. |
Yanıt
Location ve ETag ile birlikte 201 Created; ya da bekleyen bir davet yeniden gönderildiğinde 200 OK. Gövde davetin kendisidir:
id (inv_…), email (yalnızca beklemedeyken, aksi halde null), role_ids, delivery, delivery_status (queued, sent, bounced veya not_sent), status (pending, accepted, revoked veya expired), send_count, last_sent_at, expires_at, accepted_user_id, accepted_at, revoked_at, created_at, updated_at, version.
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 400 | unknown_field |
Gövdede yukarıda listelenmeyen bir alan varsa. |
| 401 | unauthenticated |
Geçerli bir oturum çerezi veya belirteci yoksa. |
| 403 | insufficient_permissions |
Kullanıcının kuruluşta idp_members:invite izni yoksa. |
| 403 | role_not_assignable |
Bir rol ayrıcalıklıysa ve kullanıcı yönetici rolüne sahip değilse. |
| 403 | origin_not_allowed |
Origin eşleşmiyorsa. |
| 404 | not_found |
Bu kullanıcı için böyle bir kuruluş veya rol yoksa. |
| 409 | invitation_already_pending |
Bu adres için farklı rollerle bekleyen bir davet varsa. |
| 409 | membership_already_exists |
Adres kuruluşun bir üyesine aitse. |
| 409 | organization_membership_limit_reached |
Kuruluş üye sınırına ulaştıysa. |
| 409 | organization_disabled |
Kuruluş devre dışıysa veya silinmeyi bekliyorsa (organization_pending_deletion). |
| 422 | validation_failed |
email, role_ids veya ttl_days eksik veya geçersizse. |
| 429 | invite_rate_limited |
Çok fazla davet veya yeniden gönderme varsa; Retry-After sonrası yeniden deneyin. |
| 501 | not_implemented |
Bu ortamda davet e-postası ayarlanmamışsa. |
| 503 | service_unavailable |
Geçici olarak kullanılamıyorsa; Retry-After sonrası yeniden deneyin. |
Örnek
curl -X POST "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/invitations" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H "Content-Type: application/json" \
-b cookies.txt \
-d '{"email":"new.member@example.com","role_ids":["rol_01jbz6x8kq3m2n4p5r6s7t8v9w"],"ttl_days":7}'
{
"id": "inv_01jbz6x8kq3m2n4p5r6s7t8v9d",
"email": "new.member@example.com",
"role_ids": ["rol_01jbz6x8kq3m2n4p5r6s7t8v9w"],
"delivery": "email",
"delivery_status": "queued",
"status": "pending",
"send_count": 1,
"last_sent_at": "2026-11-03T10:00:00Z",
"expires_at": "2026-11-10T10:00:00Z",
"accepted_user_id": null,
"accepted_at": null,
"revoked_at": null,
"created_at": "2026-11-03T10:00:00Z",
"updated_at": "2026-11-03T10:00:00Z",
"version": 1
}
Kişisel veriler
Bu uç nokta kişisel veri içerir: kuruluş üyelikleri ve davetler. KeenAuth API'lerinde kişisel veriler, 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.