PilotFoxDocs

Set a member's site access

PUT
/api/v1/orgs/{orgId}/members/{memberId}/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.

Authorization

headerx-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

Path Parameters

orgId*string
memberId*string

Request Body

application/json
  1. body
siteAccess*string
Value in"all""restricted"
grants*array<>
Itemsitems <= 500

Response Body

OK

application/json
  1. response
data*
Example Request
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"    }  ]}'
Example Response200
{  "data": {    "siteAccess": "all",    "grants": [      {        "siteId": "string",        "role": "editor"      }    ]  }}