---
title: "Update data-access role"
method: PATCH
path: "/v4/data-access/roles/{role_id}"
tags: ["v4", "Data Access"]
---

# Update data-access role

`PATCH /v4/data-access/roles/{role_id}`

## Path parameters

- `role_id` union, required
  - string, uuid
  - string

## Request body

- UpdateDataAccessRoleRequest
  - `name` string, nullable — New role name
  - `isDefault` boolean, nullable — Whether this role is the team default
  - `accessMode` 'read_write' | 'read_only', nullable — If provided, switches the role between read_write and read_only

## Response `200`

Success

- SuccessResponseDataAccessRole
  - `success` true, required — Flag for it request was successful
  - `data` DataAccessRole, required
    - `id` union — Unique role identifier (DB-generated)
      - string, uuid
      - string
    - `teamId` union, required — Owning team
      - string, uuid
      - string
    - `name` string, required — Human-readable role name
    - `isDefault` boolean — Whether this role is automatically assigned to new team members
    - `accessMode` 'read_write' | 'read_only' — Whether the role may issue write statements (INSERT/UPDATE/DELETE/MERGE/DDL/COPY) against visible tables. Defaults to read_write.
    - `createdAt` string, date-time, nullable — Creation timestamp (DB-generated)
  - `meta` ResponseMeta
    - `requestId` string — Unique request identifier for tracing
    - `timestamp` string, date-time — Response timestamp (UTC)
    - `durationMs` integer, nullable — Request processing time in milliseconds

## Other responses

- `401` — Auth Invalid Token
- `403` — Forbidden Insufficient Permissions
- `404` — Resource Not Found
- `409` — Resource Conflict
- `422` — Validation Failed
- `426` — Business Quota Exceeded
- `500` — Internal Error

---

[API](https://skmtc.dev/definite/apis/defapi.md) · [All operations](https://skmtc.dev/definite/apis/defapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/definite/defapi/revisions/3943d8deb3be/schema)
