
# Affecter une application dans une organisation

`POST /v1/organizations/{org_id}/applications/{application_id}/assignments` · permission `organizations:write`

Affecte l'application à une appartenance ou à un groupe d'annuaire de l'organisation. Pour une application en mode `assigned_only`, la connexion par organisation exige en plus que l'appartenance de l'utilisateur, ou l'un de ses groupes d'annuaire, soit affecté. L'application doit d'abord être activée dans l'organisation. Les groupes d'annuaire proviennent de SCIM ; supprimer un groupe supprime ses affectations. `Idempotency-Key` est facultatif.

## Requête

| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| `org_id` | path | oui | Identifiant de l'organisation (`org_…`). |
| `application_id` | path | oui | Identifiant de l'application (`app_…`). |
| `target_type` | string | oui | `membership` ou `directory_group`. |
| `target_id` | string | oui | Identifiant de la cible ; son préfixe doit correspondre à `target_type` (`mem_…` ou `dsg_…`). |

## Réponse

`201 Created` avec l'affectation.

```json
{
  "id": "aas_01j9xq6r0t1v5w7x9y1z3a5b7d",
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "application_id": "app_01j9xm4n8r9s3t5v7w9x1y3z5b",
  "target_type": "membership",
  "target_id": "mem_01j9xn5p9s0t4v6w8x0y2z4a6c",
  "created_at": "2026-10-12T09:31:00.123456Z"
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 404 | `not_found` | L'organisation, l'application ou la cible n'existe pas dans cette organisation. |
| 409 | `application_not_enabled` | L'application n'est pas activée dans l'organisation. |
| 409 | `conflict` | La cible est déjà affectée. |
| 409 | `organization_pending_deletion` | L'organisation est en attente de suppression. |
| 422 | `validation_failed` | `target_type` ou `target_id` est absent ou invalide. |
| 401 | `unauthenticated` | L'identifiant est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant ne dispose pas de la permission requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la période `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la période `Retry-After`. |

## Exemple

```bash
curl -i -X POST "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/applications/app_01j9xm4n8r9s3t5v7w9x1y3z5b/assignments" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target_type":"membership","target_id":"mem_01j9xn5p9s0t4v6w8x0y2z4a6c"}'
```
