---
title: "Set member access"
method: POST
path: "/v1/commands/set_member_access"
tags: ["Projects and access"]
---

# Set member access

`POST /v1/commands/set_member_access`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/commands/set_member_access`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Shared command transport. All logical arguments in JSON; no query or Idempotency-Key header. See canonical operation reference.

## Headers

- `X-Workspace-ID` string

## Request body

- SetMemberAccessInput
  - `userId` string, required: user ID from create/list.
  - `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`

Command result, including queued admission.

- SetMemberAccessOutput
  - `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)
