Skip to main content
The Owners object holds the users and groups that own a resource. It has two lists, users and groups, and each entry is a user or a group. Owners don’t have endpoints of their own. You read and set them on the resource they belong to.
The Owners object

Resources with owners

Attributes

Each id is the same ID that Get User or Get Group takes. Owners are users and groups directly, so a group’s members aren’t listed. Use List Group Members to read them.

Expanding fields with expand

A resource’s read endpoints leave owners out of the response unless you ask for it with expand. Without expand, the key is missing, not null.
  • Each path expands only its own list.
  • owners.users and owners.groups include owners, so you don’t need to send owners with them.
  • Expanding only adds fields. A {id} reference becomes the full object, and nothing is renamed or moved.
  • Expanded users are the same object that List Users returns, without custom_attributes. Expanded groups are the same object that List Groups returns.
  • Any other path under owners, such as owners.users.custom_attributes, returns 400.
On a list endpoint, expand applies to every item on the page. With expand=owners.users:
With expand=owners.users,owners.groups:

Setting owners

Send owners with {id} references in both lists. The same shape works for users and groups:
owners always replaces the full owner set: A write that sends owners returns the resource with owners as {id} references, so you can confirm the change without a second read. A write that leaves owners out returns the resource without it. Each resource decides what happens when you leave owners out, and which methods accept it. Its page, linked from Resources with owners, covers that.

Who can do what

Reading owners. Even an {id} reference shows which users and groups exist. So every owners path, including plain expand=owners, needs the same permissions as List Users and List Groups, on top of permission to read the resource. Of the built-in roles, Admin, Read Only Admin, App Admin, and AppStore Read Only Admin have both. A caller missing either permission gets 403 for the whole request. This differs from most expand fields, which a response leaves out when you can’t read them, as Requesting fields with expand describes. Setting owners. Changing owners needs its own permission, separate from editing the rest of the resource. Being an owner doesn’t give it. It comes from your role in the organization, such as Admin. A caller without it gets 403, before Lumos looks up any owner ID, so the response doesn’t reveal which IDs exist.