Projects

Set or clear a project's Site Manager

Sets or clears the per-project Site Manager flag for an assigned crew member (Admin or the project's existing Site Manager). The user must already be on the roster.

POST
/projects/{id}/crew/{userId}/site-manager

Sets or clears the per-project Site Manager flag for an assigned crew member (Admin or the project's existing Site Manager). The user must already be on the roster.

Authorization

x-api-key<token>

The per-tenant API key, copied from Settings → API & integrations. Sent as the x-api-key request header. The key is tenant-scoped and acts with Admin-equivalent, tenant-wide access.

In: header

Path Parameters

id*string

Resource id.

userId*string

The assigned crew member's user id.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08/crew/497f6eca-6276-4993-bfeb-53cbbbba6f08/site-manager" \  -H "Content-Type: application/json" \  -d '{    "isSiteManager": true  }'
{  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",  "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",  "isSiteManager": true}
{  "error": {    "code": "unauthorized",    "message": "Missing or invalid API key."  }}
{  "error": {    "code": "read_only",    "message": "Your subscription is inactive. This action is read-only."  }}
{  "error": {    "code": "not_found",    "message": "Not found."  }}
{  "error": {    "code": "validation",    "message": "One or more inputs are invalid.",    "fields": {      "fieldName": "A message explaining what's wrong with this field."    }  }}