Access Groups

Update a custom access group

Updates the name and/or description of a custom access group. At least one field must be provided.

Scope-managed groups (type 'scope') cannot be modified via the API — attempting to update one returns 403 Forbidden.

PATCH /access-groups/{groupId}

Update a custom access group

curl --request PATCH \
  --url 'https://api.sotion.so/api/v1/access-groups/{GROUPID}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "key": "value"
}'
{
  "data": {
    "id": "<uuid>",
    "name": "<string>",
    "description": "<string>",
    "type": "custom",
    "memberCount": 1,
    "createdAt": "<date-time>",
    "updatedAt": "<date-time>"
  }
}

Access group updated.

Authorizations

  • Authorization string required header

    Per-site API key (prefix: so_...). Each key is scoped to exactly one Sotion site — the site context is determined entirely by the key. No site ID is needed in any URL. Pass as: Authorization: Bearer so_...

Path Parameters

  • groupId string (uuid) required

    UUID of the access group. Get group IDs from listAccessGroups or createAccessGroup responses.

Request Body

application/json
  • name string

    New display name. Must be unique per site. 1-100 characters.

  • description string nullable

    New description, or null to clear. Max 500 characters.

Response

application/json
  • X-RateLimit-Limit integer response header

    Maximum requests allowed in the current window.

  • X-RateLimit-Remaining integer response header

    Requests remaining in the current window.

  • X-RateLimit-Reset integer response header

    Unix timestamp (seconds) when the rate limit window resets.

  • X-Request-Id string (uuid) response header

    Unique request identifier for support and debugging.

  • data object
    + Show Child Attributes
    • id string (uuid)

      Unique identifier (UUID) for the access group.

    • name string

      Display name of the access group.

    • description string nullable

      Optional description of the group's purpose.

    • type string enum enum

      'custom' = user-created via API or dashboard, can be modified and deleted. 'scope' = automatically created from a Notion collection, read-only via API. Allowed values: custom, scope.

    • memberCount integer

      Number of members currently in this group.

    • createdAt string (date-time) nullable

      When the group was created.

    • updatedAt string (date-time) nullable

      When the group was last modified.