
# Bağlantının öznitelik eşlemelerini getir

`GET /v1/connections/{connection_id}/attribute-mappings` · izin `connections:read`

Kurumsal (SAML ya da OIDC) bağlantının öznitelik eşleme kurallarını hedefe göre sıralı döndürür. Her kural kimlik sağlayıcının gönderdiği bir özniteliği ya da claim'i (`source_name`) bir kullanıcı alanına (`target`) eşler. `ETag` başlığı listenin sürümünü taşır; listeyi değiştirirken ya da hazır profil uygularken bu değeri `If-Match` olarak gönderin. Kayıtlı kuralı olmayan bağlantıda liste boştur: girişte şablon varsayılanı uygulanır (OIDC'de `generic` profili; SAML'de hiçbir şey eşlenmez). Okumalar audit'e yazılmaz.

## İstek

| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| `connection_id` | yol | evet | Kurumsal bağlantı kimliği (`conn_…`). |

## Yanıt

`200 OK`; liste ve `ETag`.

```json
{
  "attribute_mappings": [
    {
      "target": "email",
      "source_name": "email",
      "source_name_format": null,
      "overwrite": "always",
      "profile": "okta"
    },
    {
      "target": "user_metadata.department",
      "source_name": "department",
      "source_name_format": "urn:oasis:names:tc:SAML:2.0:attrname-format:basic",
      "overwrite": "if_empty",
      "profile": "generic"
    }
  ]
}
```

| Alan | Açıklama |
|---|---|
| `target` | `email`, `given_name`, `family_name`, `name`, `locale`, `zoneinfo`, `phone`, `groups` ya da `user_metadata.<anahtar>`. |
| `source_name` | SAML öznitelik `Name` değeri ya da OIDC claim adı (nokta yollu, derinlik ≤ 3). |
| `source_name_format` | Özniteliğin okunduğu SAML `NameFormat`; `null` yalnız adla eşler. |
| `overwrite` | `always` (her girişte), `if_empty` (yalnız alan boşsa) ya da `never` (yalnız oluşturmada). |
| `profile` | Kuralın geldiği hazır profil; elle yazılan kurallarda `generic`. |

## Hatalar

| HTTP | code | Ne zaman |
|---|---|---|
| 404 | `not_found` | Bağlantı bu ortamda yok ya da kurumsal bağlantı değil. |
| 401 | `unauthenticated` | Kimlik bilgisi yok, geçersiz ya da iptal edilmiş. |
| 403 | `insufficient_permissions` | Kimlik bilgisinde gerekli izin yok. |
| 429 | `rate_limited` | Hız sınırı aşıldı; `Retry-After` süresinden sonra yeniden deneyin. |
| 503 | `service_unavailable` | Bir bağımlılık geçici olarak kullanılamıyor; `Retry-After` süresinden sonra yeniden deneyin. |

## Örnek

```bash
curl -i "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/attribute-mappings" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

```bash
keenauth connections attribute-mappings get conn_01j9xp6q0r1s5t7v9w1x3y5z7b
```
