---
title: "set_member_access"
method: PATCH
path: "/v1/members/{userId}"
---

# set_member_access

`PATCH /v1/members/{userId}`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/members/{userId}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Remaining arguments go in a JSON object body.

## Path parameters

- `userId` string, required: user ID from create/list.

## Headers

- `X-Workspace-ID` string

## Request body

- object
  - `role` 'owner' | 'admin' | 'member' | 'viewer': Workspace access role; cannot exceed the acting member’s authority.
  - `projectIds` string[], nullable: Accessible project IDs. Where nullable, null grants all projects.

## Response `200`

Remaining arguments go in a JSON object body.

- object
  - `user_id` string, required
  - `role` string, required
  - `project_ids` string[], nullable, required: Accessible project identifiers; null grants access to all workspace projects.
  - `changed_at` string, required

## Other responses

- `429`: Request-rate or usage refusal. Inspect error.code and recovery details before retrying.
- `default`: Error envelope. Non-configuration 5xx messages are masked and details omitted; allowlisted configuration errors retain static operator recovery.

---

[API](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api.md) · [All operations](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/revisions/2a712a1dcfa7?raw)
