Create a collection share
const url = 'https://firma.company-gpt.com/companygpt/rag/api/api/collections/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shares';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"type":"user","target":"example","targetDisplay":"example","role":"viewer"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://firma.company-gpt.com/companygpt/rag/api/api/collections/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shares \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "type": "user", "target": "example", "targetDisplay": "example", "role": "viewer" }'Share a collection with a user, an Entra group, or the public. Only collection owners may create shares.
Authorizations
Abschnitt betitelt „Authorizations“Parameters
Abschnitt betitelt „Parameters“Path Parameters
Abschnitt betitelt „Path Parameters“Collection UUID
Request Bodyrequired
Abschnitt betitelt „Request Bodyrequired“Target is required unless type is “public”
object
“owner” is only accepted for “user”/“entra_user” shares
Responses
Abschnitt betitelt „Responses“Share created
A collection share (handlers.ShareResponse)
object
Email for “user” shares, Entra object ID for “entra_user”/“entra_group” shares, empty for “public”
Human-readable label (e.g. resolved Entra group name); falls back to “target”
Display name of the principal, when known
Address of the principal, when known (groups usually have none)
“owner” shares express collection ownership; a collection always has at least one and they are only valid for “user”/“entra_user” shares.
Example
{ "type": "user", "role": "viewer"}Invalid request (bad type/role, or missing target for a non-public share)
Unauthorized
Forbidden — only collection owners may create shares
Collection not found
Share already exists for this target