Zum Inhalt springen

Update a collection share

PUT
/api/collections/{id}/shares/{shareId}
curl --request PUT \
--url https://firma.company-gpt.com/companygpt/rag/api/api/collections/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shares/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "role": "viewer" }'

Change a share’s role, including handing over ownership. Only collection owners may update shares.

id
required
string format: uuid

Collection UUID

shareId
required
string format: uuid

Share UUID

Media typeapplication/json
object
role
required

Set “owner” to hand over (or add) ownership. Moving the last owner off “owner” is rejected with 409 — a collection must keep an owner.

string
Allowed values: viewer admin owner

Share updated

Media typeapplication/json

A collection share (handlers.ShareResponse)

object
id
required
string format: uuid
collection_id
required
string format: uuid
type
required
string
Allowed values: user entra_user entra_group public
target
required

Email for “user” shares, Entra object ID for “entra_user”/“entra_group” shares, empty for “public”

string
targetDisplay
required

Human-readable label (e.g. resolved Entra group name); falls back to “target”

string
name

Display name of the principal, when known

string
email

Address of the principal, when known (groups usually have none)

string
role
required

“owner” shares express collection ownership; a collection always has at least one and they are only valid for “user”/“entra_user” shares.

string
Allowed values: viewer admin owner
created_at
required
string format: date-time
Example
{
"type": "user",
"role": "viewer"
}

Invalid request

Unauthorized

Forbidden — only collection owners may update shares

Collection or share not found

Conflict — the collection would be left without an owner