Set a member's site access
all: every site of the organization, with the higher of the member's role and a grant; restricted: only the sites granted to them (in grants, or through a team), each with the highest role granted. Replaces the member's own grants. 400 for restricting an owner or admin, or for a site named twice or not a live site of the organization.
Requires member:update in the organization (an API key, or a signed-in member's role; a member restricted to some sites holds a viewer's permissions here). API keys limited to some sites: 403. Share links: 401.
x-api-key<token>An organization API key (ak_…), with the permissions and the sites it was created with. For servers and scripts: no cookie and no Origin check. Also accepted as Authorization: Bearer ak_… (apiKeyBearer). A request carries one credential: a key sent with a share token or a live session cookie is 400 (details.reason: ambiguous_credentials).
Scope: member:update
orgId*stringmemberId*stringapplication/json- body
siteAccess*string"all""restricted"grants*array<>items <= 500OK
application/json- response
data*curl -X PUT 'https://pilotfox.app/api/v1/orgs/string/members/string/site-access' \ -H 'Content-Type: application/json' \ -d '{ "siteAccess": "all", "grants": [ { "siteId": "string", "role": "editor" } ]}'{ "data": { "siteAccess": "all", "grants": [ { "siteId": "string", "role": "editor" } ] }}