> For the complete documentation index, see [llms.txt](https://docs.xibosignage.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xibosignage.com/developer/integrate/openapi/displaygroup.md).

# DisplayGroup

Display Groups

## GET /displaygroup

> Get Display Groups

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}},"paths":{"/displaygroup":{"get":{"tags":["displayGroup"],"summary":"Get Display Groups","operationId":"displayGroupSearch","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"query","description":"Filter by DisplayGroup Id","required":false},{"schema":{"type":"string"},"name":"displayGroup","in":"query","description":"Filter by DisplayGroup Name","required":false},{"schema":{"type":"integer"},"name":"displayId","in":"query","description":"Filter by DisplayGroups containing a specific display","required":false},{"schema":{"type":"integer"},"name":"nestedDisplayId","in":"query","description":"Filter by DisplayGroups containing a specific display in there nesting","required":false},{"schema":{"type":"string"},"name":"dynamicCriteria","in":"query","description":"Filter by DisplayGroups containing a specific dynamic criteria","required":false},{"schema":{"type":"string"},"name":"tags","in":"query","description":"Filter by tags","required":false},{"schema":{"type":"integer"},"name":"exactTags","in":"query","description":"A flag indicating whether to treat the tags filter as an exact match","required":false},{"schema":{"type":"string"},"name":"logicalOperator","in":"query","description":"When filtering by multiple Tags, which logical operator should be used? AND|OR","required":false},{"schema":{"type":"integer"},"name":"isDisplaySpecific","in":"query","description":"Filter by whether the Display Group belongs to a Display or is user created","required":false},{"schema":{"type":"integer"},"name":"forSchedule","in":"query","description":"Should the list be refined for only those groups the User can Schedule against?","required":false},{"schema":{"type":"integer"},"name":"folderId","in":"query","description":"Filter by Folder ID","required":false}],"responses":{"200":{"description":"a successful response","headers":{"X-Total-Count":{"description":"The total number of records","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DisplayGroup"}}}}}}}}}}
```

## Add a Display Group

> Add a new Display Group to the CMS

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}},"paths":{"/displaygroup":{"post":{"tags":["displayGroup"],"summary":"Add a Display Group","description":"Add a new Display Group to the CMS","operationId":"displayGroupAdd","responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new DisplayGroup","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisplayGroup"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayGroup":{"type":"string","description":"The Display Group Name"},"description":{"type":"string","description":"The Display Group Description"},"tags":{"type":"string","description":"A comma separated list of tags for this item"},"isDynamic":{"type":"integer","description":"Flag indicating whether this DisplayGroup is Dynamic"},"dynamicCriteria":{"type":"string","description":"The filter criteria for this dynamic group.\r\n     * A comma separated set of regular expressions to apply"},"logicalOperatorName":{"type":"string","description":"When filtering by multiple dynamic criteria, which logical operator should be used? AND|OR"},"dynamicCriteriaTags":{"type":"string","description":"The filter criteria for this dynamic group.\r\n     * A comma separated set of regular expressions to apply"},"exactTags":{"type":"integer","description":"When filtering by Tags, should we use exact match?"},"logicalOperator":{"type":"string","description":"When filtering by Tags, which logical operator should be used? AND|OR"},"folderId":{"type":"integer","description":"Folder ID to which this object should be assigned to"}},"required":["displayGroup","isDynamic"]}}}}}}}}
```

## Edit a Display Group

> Edit an existing Display Group identified by its Id

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}},"paths":{"/displaygroup/{displayGroupId}":{"put":{"tags":["displayGroup"],"summary":"Edit a Display Group","description":"Edit an existing Display Group identified by its Id","operationId":"displayGroupEdit","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The displayGroupId to edit.","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisplayGroup"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayGroup":{"type":"string","description":"The Display Group Name"},"description":{"type":"string","description":"The Display Group Description"},"tags":{"type":"string","description":"A comma separated list of tags for this item"},"isDynamic":{"type":"integer","description":"Flag indicating whether this DisplayGroup is Dynamic"},"dynamicCriteria":{"type":"string","description":"The filter criteria for this dynamic group.\r\n     * A command separated set of regular expressions to apply"},"logicalOperatorName":{"type":"string","description":"When filtering by multiple dynamic criteria, which logical operator should be used? AND|OR"},"dynamicCriteriaTags":{"type":"string","description":"The filter criteria for this dynamic group.\r\n     * A comma separated set of regular expressions to apply"},"exactTags":{"type":"integer","description":"When filtering by Tags, should we use exact match?"},"logicalOperator":{"type":"string","description":"When filtering by Tags, which logical operator should be used? AND|OR"},"folderId":{"type":"integer","description":"Folder ID to which this object should be assigned to"},"ref1":{"type":"string","description":"Reference 1"},"ref2":{"type":"string","description":"Reference 2"},"ref3":{"type":"string","description":"Reference 3"},"ref4":{"type":"string","description":"Reference 4"},"ref5":{"type":"string","description":"Reference 5"}},"required":["displayGroup","isDynamic"]}}}}}}}}
```

## Delete a Display Group

> Delete an existing Display Group identified by its Id

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}":{"delete":{"tags":["displayGroup"],"summary":"Delete a Display Group","description":"Delete an existing Display Group identified by its Id","operationId":"displayGroupDelete","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The displayGroupId to delete","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Assign one or more Displays to a Display Group

> Adds the provided Displays to the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/display/assign":{"post":{"tags":["displayGroup"],"summary":"Assign one or more Displays to a Display Group","description":"Adds the provided Displays to the Display Group","operationId":"displayGroupDisplayAssign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to assign to","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayId":{"type":"array","description":"The Display Ids to assign"},"unassignDisplayId":{"type":"array","description":"An optional array of Display IDs to unassign"}},"required":["displayId"]}}}}}}}}
```

## Unassigns one or more Displays to a Display Group

> Removes the provided Displays from the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/display/unassign":{"post":{"tags":["displayGroup"],"summary":"Unassigns one or more Displays to a Display Group","description":"Removes the provided Displays from the Display Group","operationId":"displayGroupDisplayUnassign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to unassign from","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayId":{"type":"array","description":"The Display Ids to unassign"}},"required":["displayId"]}}}}}}}}
```

## Assign one or more DisplayGroups to a Display Group

> Adds the provided DisplayGroups to the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/displayGroup/assign":{"post":{"tags":["displayGroup"],"summary":"Assign one or more DisplayGroups to a Display Group","description":"Adds the provided DisplayGroups to the Display Group","operationId":"displayGroupDisplayGroupAssign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to assign to","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayGroupId":{"type":"array","description":"The displayGroup Ids to assign"},"unassignDisplayGroupId":{"type":"array","description":"An optional array of displayGroup IDs to unassign"}},"required":["displayGroupId"]}}}}}}}}
```

## Unassigns one or more DisplayGroups to a Display Group

> Removes the provided DisplayGroups from the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/displayGroup/unassign":{"post":{"tags":["displayGroup"],"summary":"Unassigns one or more DisplayGroups to a Display Group","description":"Removes the provided DisplayGroups from the Display Group","operationId":"displayGroupDisplayGroupUnassign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to unassign from","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayGroupId":{"type":"array","description":"The DisplayGroup Ids to unassign"}},"required":["displayGroupId"]}}}}}}}}
```

## Assign one or more Media items to a Display Group

> Adds the provided Media to the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/media/assign":{"post":{"tags":["displayGroup"],"summary":"Assign one or more Media items to a Display Group","description":"Adds the provided Media to the Display Group","operationId":"displayGroupMediaAssign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to assign to","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"mediaId":{"type":"array","description":"The Media Ids to assign"},"unassignMediaId":{"type":"array","description":"Optional array of Media Id to unassign"}},"required":["mediaId"]}}}}}}}}
```

## Unassign one or more Media items from a Display Group

> Removes the provided from the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/media/unassign":{"post":{"tags":["displayGroup"],"summary":"Unassign one or more Media items from a Display Group","description":"Removes the provided from the Display Group","operationId":"displayGroupMediaUnassign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to unassign from","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"mediaId":{"type":"array","description":"The Media Ids to unassign"}},"required":["mediaId"]}}}}}}}}
```

## Assign one or more Layouts items to a Display Group

> Adds the provided Layouts to the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/layout/assign":{"post":{"tags":["displayGroup"],"summary":"Assign one or more Layouts items to a Display Group","description":"Adds the provided Layouts to the Display Group","operationId":"displayGroupLayoutsAssign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to assign to","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"layoutId":{"type":"array","description":"The Layouts Ids to assign"},"unassignLayoutId":{"type":"array","description":"Optional array of Layouts Id to unassign"}},"required":["layoutId"]}}}}}}}}
```

## Unassign one or more Layout items from a Display Group

> Removes the provided from the Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/layout/unassign":{"post":{"tags":["displayGroup"],"summary":"Unassign one or more Layout items from a Display Group","description":"Removes the provided from the Display Group","operationId":"displayGroupLayoutUnassign","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group to unassign from","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"layoutId":{"type":"array","description":"The Layout Ids to unassign"}},"required":["layoutId"]}}}}}}}}
```

## Action: Collect Now

> Send the collect now action to this DisplayGroup

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/collectNow":{"post":{"tags":["displayGroup"],"summary":"Action: Collect Now","description":"Send the collect now action to this DisplayGroup","operationId":"displayGroupActionCollectNow","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The display group id","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Action: Clear Stats and Logs

> Clear all stats and logs on this Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/clearStatsAndLogs":{"post":{"tags":["displayGroup"],"summary":"Action: Clear Stats and Logs","description":"Clear all stats and logs on this Group","operationId":"displayGroupActionClearStatsAndLogs","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The display group id","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Action: Change Layout

> Send a change layout action to the provided Display Group. This will be sent to Displays in that Group via XMR.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/changeLayout":{"post":{"tags":["displayGroup"],"summary":"Action: Change Layout","description":"Send a change layout action to the provided Display Group. This will be sent to Displays in that Group via XMR.","operationId":"displayGroupActionChangeLayout","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"This can be either a Display Group or the Display specific Display Group","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"layoutId":{"type":"integer","description":"The ID of the Layout to change to. Either this or a campaignId must be provided."},"campaignId":{"type":"integer","description":"The Layout specific campaignId of the Layout to change to. Either this or a layoutId must be provided."},"duration":{"type":"integer","description":"The duration in seconds for this Layout change to remain in effect, after which normal scheduling is resumed."},"downloadRequired":{"type":"integer","description":"Flag indicating whether the player should perform a collect before playing the Layout."},"changeMode":{"type":"string","description":"Whether to queue or replace with this action. Queuing will keep the current change layout action and switch after it is finished. If no active change layout action is present, both options are actioned immediately"}},"required":["changeMode"]}}}}}}}}
```

## Action: Revert to Schedule

> Send the revert to schedule action to this DisplayGroup

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/revertToSchedule":{"post":{"tags":["displayGroup"],"summary":"Action: Revert to Schedule","description":"Send the revert to schedule action to this DisplayGroup","operationId":"displayGroupActionRevertToSchedule","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"This can be either a Display Group or the Display specific Display Group","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Action: Overlay Layout

> Send the overlay layout action to this DisplayGroup, you can pass layoutId or layout specific campaignId

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/overlayLayout":{"post":{"tags":["displayGroup"],"summary":"Action: Overlay Layout","description":"Send the overlay layout action to this DisplayGroup, you can pass layoutId or layout specific campaignId","operationId":"displayGroupActionOverlayLayout","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"This can be either a Display Group or the Display specific Display Group","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"layoutId":{"type":"integer","description":"The ID of the Layout to change to. Either this or a campaignId must be provided."},"campaignId":{"type":"integer","description":"The Layout specific campaignId of the Layout to change to. Either this or a layoutId must be provided."},"duration":{"type":"integer","description":"The duration in seconds for this Overlay to remain in effect"},"downloadRequired":{"type":"integer","description":"Whether to queue or replace with this action. Queuing will keep the current change layout action and switch after it is finished. If no active change layout action is present, both options are actioned immediately"}},"required":["layoutId"]}}}}}}}}
```

## Send Command

> Send a predefined command to this Group of Displays

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/command":{"post":{"tags":["displayGroup"],"summary":"Send Command","description":"Send a predefined command to this Group of Displays","operationId":"displayGroupActionCommand","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The display group id","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"commandId":{"type":"integer","description":"The Command Id"}},"required":["commandId"]}}}}}}}}
```

## Copy Display Group

> Copy an existing Display Group

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}},"paths":{"/displaygroup/{displayGroupId}/copy":{"post":{"tags":["displayGroup"],"summary":"Copy Display Group","description":"Copy an existing Display Group","operationId":"displayGroupCopy","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group ID","required":true}],"responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new record","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisplayGroup"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"displayGroup":{"type":"string","description":"The name for the copy"},"description":{"type":"string","description":"The description for the copy"},"copyMembers":{"type":"integer","description":"Flag indicating whether to copy all display and display group members"},"copyAssignments":{"type":"integer","description":"Flag indicating whether to copy all layout and media assignments"},"copyTags":{"type":"integer","description":"Flag indicating whether to copy all tags"}},"required":["displayGroup"]}}}}}}}}
```

## Display Group Select folder

> Select Folder for Display Group, can also be used with Display specific Display Group ID

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}},"schemas":{"DisplayGroup":{"properties":{"displayGroupId":{"description":"The displayGroup Id","type":"integer"},"displayGroup":{"description":"The displayGroup Name","type":"string"},"description":{"description":"The displayGroup Description","type":"string"},"isDisplaySpecific":{"description":"A flag indicating whether this displayGroup is a single display displayGroup","type":"integer"},"isDynamic":{"description":"A flag indicating whether this displayGroup is dynamic","type":"integer"},"dynamicCriteria":{"description":"Criteria for this dynamic group. A comma separated set of regular expressions to apply","type":"string"},"dynamicCriteriaLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple dynamic criteria? OR|AND","type":"string"},"dynamicCriteriaTags":{"description":"Criteria for this dynamic group. A comma separated set of tags to apply","type":"string"},"dynamicCriteriaExactTags":{"description":"Flag indicating whether to filter by exact Tag match","type":"integer"},"dynamicCriteriaTagsLogicalOperator":{"description":"Which logical operator should be used when filtering by multiple Tags? OR|AND","type":"string"},"userId":{"description":"The UserId who owns this display group","type":"integer"},"tags":{"description":"Tags associated with this Display Group, array of TagLink objects","type":"array","items":{"$ref":"#/components/schemas/TagLink"}},"bandwidthLimit":{"description":"The display bandwidth limit","type":"integer"},"groupsWithPermissions":{"description":"A comma separated list of groups/users with permissions to this DisplayGroup","type":"string"},"createdDt":{"description":"The datetime this entity was created","type":"string"},"modifiedDt":{"description":"The datetime this entity was last modified","type":"string"},"folderId":{"description":"The id of the Folder this Display Group belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this Display Group","type":"integer"},"ref1":{"description":"Optional Reference 1","type":"string"},"ref2":{"description":"Optional Reference 2","type":"string"},"ref3":{"description":"Optional Reference 3","type":"string"},"ref4":{"description":"Optional Reference 4","type":"string"},"ref5":{"description":"Optional Reference 5","type":"string"}}},"TagLink":{"properties":{"tag":{"description":"The Tag","type":"string"},"tagId":{"description":"The Tag ID","type":"integer"},"value":{"description":"The Tag Value","type":"string"}}}}},"paths":{"/displaygroup/{id}/selectfolder":{"put":{"tags":["displayGroup"],"summary":"Display Group Select folder","description":"Select Folder for Display Group, can also be used with Display specific Display Group ID","operationId":"displayGroupSelectFolder","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The Display Group ID or Display specific Display Group ID","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisplayGroup"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"folderId":{"type":"integer","description":"Folder ID to which this object should be assigned to"}},"required":[]}}}}}}}}
```

## Action: Trigger Web hook

> Send the trigger webhook action to this DisplayGroup

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/{displayGroupId}/action/triggerWebhook":{"post":{"tags":["displayGroup"],"summary":"Action: Trigger Web hook","description":"Send the trigger webhook action to this DisplayGroup","operationId":"displayGroupActionTriggerWebhook","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The display group id","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"triggerCode":{"type":"string","description":"The trigger code that should be sent to the Player"}},"required":["triggerCode"]}}}}}}}}
```

## Action: Push Criteria Update

> Send criteria updates to the specified DisplayGroup or to all displays if displayGroupId is not> \
> &#x20;    \*                  provided.

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"displayGroup","description":"Display Groups"}],"servers":[{"url":"/api"}],"security":[{"auth":["write:all","read:all"]}],"components":{"securitySchemes":{"auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/api/authorize","tokenUrl":"/api/authorize/access_token","scopes":{"read:all":"read access","write:all":"write access"}}}}}},"paths":{"/displaygroup/criteria[/{displayGroupId}]":{"post":{"tags":["displayGroup"],"summary":"Action: Push Criteria Update","description":"Send criteria updates to the specified DisplayGroup or to all displays if displayGroupId is not\r\n     *                  provided.","operationId":"ScheduleCriteriaUpdate","parameters":[{"schema":{"type":"integer"},"name":"displayGroupId","in":"path","description":"The display group id","required":true}],"responses":{"204":{"description":"Successful operation"},"400":{"description":"Invalid criteria format"}},"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"metric":{"type":"string"},"value":{"type":"string"},"ttl":{"type":"integer"}},"type":"object"}}}},"description":"The criteria updates to send to the Player","required":true}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xibosignage.com/developer/integrate/openapi/displaygroup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
