jonathon.adler
08/17/2026, 8:38 PMAsk Inkeep
08/17/2026, 8:38 PMAsk Inkeep
08/17/2026, 8:39 PMPOST /facts/tenants) but tenant-user association endpoints aren't listed among the supported synced APIs (1) . The supported list is:
# Users
POST /facts/users
PUT /facts/users/{user_id}
PATCH /facts/users/{user_id}
# Tenants
POST /facts/tenants
# Role Assignments
POST /facts/users/{user_id}/roles
POST /facts/role_assignments
# Resource Instances
POST /facts/resource_instances
PATCH /facts/resource_instances/{instance_id}
# Relationship Tuples
POST /facts/relationship_tuples
Tenant assignment isn't in this list, but role assignments are — and role assignments include a tenant. You can assign a user to a tenant via a role assignment call:
POST /facts/users/{user_id}/roles
or
POST /facts/role_assignments
Also note: "When using the User APIs (POST /facts/users, PUT /facts/users/{user_id}, PATCH /facts/users/{user_id}) , the role_assignments attribute will not be awaited in the request. To ensure role assignments are properly synchronized, we recommend using a separate Role Assignment API request after creating or updating the user."
APIs not listed in the supported set are still forwarded through the PDP to the Permit API, but without waiting for synchronization . So a direct tenant-user association call (like the one shown in the Tenants API) is not one of the synced operations, meaning it won't block for read-your-own-writes consistency the way the listed endpoints do (1) (2) .
To troubleshoot this further with our engineering team, could you share:
1. Which Workspace / Project / Env you're using
2. The exact SDK code or CURL calls you're performing
3. Which PDP version you're running
4. Any relevant PDP logsAsk Inkeep
08/17/2026, 8:39 PMOr Weis
08/17/2026, 8:41 PMjonathon.adler
08/17/2026, 8:44 PMOr Weis
08/17/2026, 8:47 PMjonathon.adler
08/17/2026, 8:47 PM