> 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/dataset.md).

# Dataset

DataSets

## DataSet Search

> Search this users DataSets

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSet":{"properties":{"dataSetId":{"description":"The dataSetId","type":"integer"},"dataSet":{"description":"The dataSet Name","type":"string"},"description":{"description":"The dataSet description","type":"string"},"userId":{"description":"The userId of the User that owns this DataSet","type":"integer"},"lastDataEdit":{"description":"Timestamp indicating the date/time this DataSet was edited last","type":"integer"},"owner":{"description":"The user name of the User that owns this DataSet","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this DataSet","type":"string"},"code":{"description":"A code for this Data Set","type":"string"},"isLookup":{"description":"Flag to indicate whether this DataSet is a lookup table","type":"integer"},"isRemote":{"description":"Flag to indicate whether this DataSet is Remote","type":"integer"},"isRealTime":{"description":"Flag to indicate whether this DataSet is Real time","type":"integer"},"dataConnectorSource":{"description":"Indicates the source of the data connector. Requires the Real time flag. Can be null,\r\n     * user-defined, or a connector.","type":"string"},"method":{"description":"Method to fetch the Data, can be GET or POST","type":"string"},"uri":{"description":"URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.","type":"string"},"postData":{"description":"Data to send as POST-Data to the remote host with the same Replacements as in the URI.","type":"string"},"authentication":{"description":"Authentication method, can be none, digest, basic","type":"string"},"username":{"description":"Username to authenticate with","type":"string"},"password":{"description":"Corresponding password","type":"string"},"customHeaders":{"description":"Comma separated string of custom HTTP headers","type":"string"},"userAgent":{"description":"Custom User agent","type":"string"},"refreshRate":{"description":"Time in seconds this DataSet should fetch new Datas from the remote host","type":"integer"},"clearRate":{"description":"Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed","type":"integer"},"truncateOnEmpty":{"description":"Flag whether to truncate DataSet data if no new data is pulled from remote source","type":"integer"},"runsAfter":{"description":"DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched","type":"integer"},"lastSync":{"description":"Last Synchronisation Timestamp","type":"integer"},"lastClear":{"description":"Last Clear Timestamp","type":"integer"},"dataRoot":{"description":"Root-Element form JSON where the data are stored in","type":"string"},"summarize":{"description":"Optional function to use for summarize or count unique fields in a remote request","type":"string"},"summarizeField":{"description":"JSON-Element below the Root-Element on which the consolidation should be applied on","type":"string"},"sourceId":{"description":"The source id for remote dataSet, 1 - JSON, 2 - CSV","type":"integer"},"ignoreFirstRow":{"description":"A flag whether to ignore the first row, for CSV source remote dataSet","type":"integer"},"rowLimit":{"description":"Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.","type":"integer"},"limitPolicy":{"description":"Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate","type":"string"},"csvSeparator":{"description":"Custom separator for CSV source, comma will be used by default","type":"string"},"folderId":{"description":"The id of the Folder this DataSet belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this DataSet","type":"integer"}}}}},"paths":{"/dataset":{"get":{"tags":["dataset"],"summary":"DataSet Search","description":"Search this users DataSets","operationId":"dataSetSearch","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"query","description":"Filter by DataSet Id","required":false},{"schema":{"type":"string"},"name":"dataSet","in":"query","description":"Filter by DataSet Name","required":false},{"schema":{"type":"string"},"name":"code","in":"query","description":"Filter by DataSet Code","required":false},{"schema":{"type":"integer"},"name":"isRealTime","in":"query","description":"Filter by real time","required":false},{"schema":{"type":"integer"},"name":"userId","in":"query","description":"Filter by user Id","required":false},{"schema":{"type":"string"},"name":"embed","in":"query","description":"Embed related data such as columns","required":false},{"schema":{"type":"integer"},"name":"folderId","in":"query","description":"Filter by Folder ID","required":false}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataSet"}}}}}}}}}}
```

## Add DataSet

> Add a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSet":{"properties":{"dataSetId":{"description":"The dataSetId","type":"integer"},"dataSet":{"description":"The dataSet Name","type":"string"},"description":{"description":"The dataSet description","type":"string"},"userId":{"description":"The userId of the User that owns this DataSet","type":"integer"},"lastDataEdit":{"description":"Timestamp indicating the date/time this DataSet was edited last","type":"integer"},"owner":{"description":"The user name of the User that owns this DataSet","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this DataSet","type":"string"},"code":{"description":"A code for this Data Set","type":"string"},"isLookup":{"description":"Flag to indicate whether this DataSet is a lookup table","type":"integer"},"isRemote":{"description":"Flag to indicate whether this DataSet is Remote","type":"integer"},"isRealTime":{"description":"Flag to indicate whether this DataSet is Real time","type":"integer"},"dataConnectorSource":{"description":"Indicates the source of the data connector. Requires the Real time flag. Can be null,\r\n     * user-defined, or a connector.","type":"string"},"method":{"description":"Method to fetch the Data, can be GET or POST","type":"string"},"uri":{"description":"URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.","type":"string"},"postData":{"description":"Data to send as POST-Data to the remote host with the same Replacements as in the URI.","type":"string"},"authentication":{"description":"Authentication method, can be none, digest, basic","type":"string"},"username":{"description":"Username to authenticate with","type":"string"},"password":{"description":"Corresponding password","type":"string"},"customHeaders":{"description":"Comma separated string of custom HTTP headers","type":"string"},"userAgent":{"description":"Custom User agent","type":"string"},"refreshRate":{"description":"Time in seconds this DataSet should fetch new Datas from the remote host","type":"integer"},"clearRate":{"description":"Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed","type":"integer"},"truncateOnEmpty":{"description":"Flag whether to truncate DataSet data if no new data is pulled from remote source","type":"integer"},"runsAfter":{"description":"DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched","type":"integer"},"lastSync":{"description":"Last Synchronisation Timestamp","type":"integer"},"lastClear":{"description":"Last Clear Timestamp","type":"integer"},"dataRoot":{"description":"Root-Element form JSON where the data are stored in","type":"string"},"summarize":{"description":"Optional function to use for summarize or count unique fields in a remote request","type":"string"},"summarizeField":{"description":"JSON-Element below the Root-Element on which the consolidation should be applied on","type":"string"},"sourceId":{"description":"The source id for remote dataSet, 1 - JSON, 2 - CSV","type":"integer"},"ignoreFirstRow":{"description":"A flag whether to ignore the first row, for CSV source remote dataSet","type":"integer"},"rowLimit":{"description":"Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.","type":"integer"},"limitPolicy":{"description":"Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate","type":"string"},"csvSeparator":{"description":"Custom separator for CSV source, comma will be used by default","type":"string"},"folderId":{"description":"The id of the Folder this DataSet belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this DataSet","type":"integer"}}}}},"paths":{"/dataset":{"post":{"tags":["dataset"],"summary":"Add DataSet","description":"Add a DataSet","operationId":"dataSetAdd","responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new record","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataSet":{"type":"string","description":"The DataSet Name"},"description":{"type":"string","description":"A description of this DataSet"},"code":{"type":"string","description":"A code for this DataSet"},"isRemote":{"type":"integer","description":"Is this a remote DataSet?"},"isRealTime":{"type":"integer","description":"Is this a real time DataSet?"},"dataConnectorSource":{"type":"string","description":"Source of the data connector"},"method":{"type":"string","description":"The Request Method GET or POST"},"uri":{"type":"string","description":"The URI, without query parameters"},"postData":{"type":"string","description":"query parameter encoded data to add to the request"},"authentication":{"type":"string","description":"HTTP Authentication method None|Basic|Digest"},"username":{"type":"string","description":"HTTP Authentication User Name"},"password":{"type":"string","description":"HTTP Authentication Password"},"customHeaders":{"type":"string","description":"Comma separated string of custom HTTP headers"},"userAgent":{"type":"string","description":"Custom user Agent value"},"refreshRate":{"type":"integer","description":"How often in seconds should this remote DataSet be refreshed"},"clearRate":{"type":"integer","description":"How often in seconds should this remote DataSet be truncated"},"truncateOnEmpty":{"type":"integer","description":"Should the DataSet data be truncated even if no new data is pulled from the source?"},"runsAfter":{"type":"integer","description":"An optional dataSetId which should be run before this Remote DataSet"},"dataRoot":{"type":"string","description":"The root of the data in the Remote source which is used as the base for all remote columns"},"summarize":{"type":"string","description":"Should the data be aggregated? None|Summarize|Count"},"summarizeField":{"type":"string","description":"Which field should be used to summarize"},"sourceId":{"type":"integer","description":"For remote DataSet, what type data is it? 1 - json, 2 - csv"},"ignoreFirstRow":{"type":"integer","description":"For remote DataSet with sourceId 2 (CSV), should we ignore first row?"},"rowLimit":{"type":"integer","description":"For remote DataSet, maximum number of rows this DataSet can hold, if left empty the CMS Setting for DataSet row limit will be used."},"limitPolicy":{"type":"string","description":"For remote DataSet, what should happen when the DataSet row limit is reached? stop, fifo or truncate"},"csvSeparator":{"type":"string","description":"Separator that should be used when using Remote DataSets with CSV source, comma will be used by default."},"dataConnectorScript":{"type":"string","description":"If isRealTime then provide a script to connect to the data source"},"folderId":{"type":"integer","description":"Folder ID to which this object should be assigned to"}},"required":["dataSet","isRemote","isRealTime","dataConnectorSource"]}}}}}}}}
```

## Edit DataSet

> Edit a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSet":{"properties":{"dataSetId":{"description":"The dataSetId","type":"integer"},"dataSet":{"description":"The dataSet Name","type":"string"},"description":{"description":"The dataSet description","type":"string"},"userId":{"description":"The userId of the User that owns this DataSet","type":"integer"},"lastDataEdit":{"description":"Timestamp indicating the date/time this DataSet was edited last","type":"integer"},"owner":{"description":"The user name of the User that owns this DataSet","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this DataSet","type":"string"},"code":{"description":"A code for this Data Set","type":"string"},"isLookup":{"description":"Flag to indicate whether this DataSet is a lookup table","type":"integer"},"isRemote":{"description":"Flag to indicate whether this DataSet is Remote","type":"integer"},"isRealTime":{"description":"Flag to indicate whether this DataSet is Real time","type":"integer"},"dataConnectorSource":{"description":"Indicates the source of the data connector. Requires the Real time flag. Can be null,\r\n     * user-defined, or a connector.","type":"string"},"method":{"description":"Method to fetch the Data, can be GET or POST","type":"string"},"uri":{"description":"URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.","type":"string"},"postData":{"description":"Data to send as POST-Data to the remote host with the same Replacements as in the URI.","type":"string"},"authentication":{"description":"Authentication method, can be none, digest, basic","type":"string"},"username":{"description":"Username to authenticate with","type":"string"},"password":{"description":"Corresponding password","type":"string"},"customHeaders":{"description":"Comma separated string of custom HTTP headers","type":"string"},"userAgent":{"description":"Custom User agent","type":"string"},"refreshRate":{"description":"Time in seconds this DataSet should fetch new Datas from the remote host","type":"integer"},"clearRate":{"description":"Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed","type":"integer"},"truncateOnEmpty":{"description":"Flag whether to truncate DataSet data if no new data is pulled from remote source","type":"integer"},"runsAfter":{"description":"DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched","type":"integer"},"lastSync":{"description":"Last Synchronisation Timestamp","type":"integer"},"lastClear":{"description":"Last Clear Timestamp","type":"integer"},"dataRoot":{"description":"Root-Element form JSON where the data are stored in","type":"string"},"summarize":{"description":"Optional function to use for summarize or count unique fields in a remote request","type":"string"},"summarizeField":{"description":"JSON-Element below the Root-Element on which the consolidation should be applied on","type":"string"},"sourceId":{"description":"The source id for remote dataSet, 1 - JSON, 2 - CSV","type":"integer"},"ignoreFirstRow":{"description":"A flag whether to ignore the first row, for CSV source remote dataSet","type":"integer"},"rowLimit":{"description":"Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.","type":"integer"},"limitPolicy":{"description":"Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate","type":"string"},"csvSeparator":{"description":"Custom separator for CSV source, comma will be used by default","type":"string"},"folderId":{"description":"The id of the Folder this DataSet belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this DataSet","type":"integer"}}}}},"paths":{"/dataset/{dataSetId}":{"put":{"tags":["dataset"],"summary":"Edit DataSet","description":"Edit a DataSet","operationId":"dataSetEdit","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataSet":{"type":"string","description":"The DataSet Name"},"description":{"type":"string","description":"A description of this DataSet"},"code":{"type":"string","description":"A code for this DataSet"},"isRemote":{"type":"integer","description":"Is this a remote DataSet?"},"isRealTime":{"type":"integer","description":"Is this a real time DataSet?"},"dataConnectorSource":{"type":"string","description":"Source of the data connector"},"method":{"type":"string","description":"The Request Method GET or POST"},"uri":{"type":"string","description":"The URI, without query parameters"},"postData":{"type":"string","description":"query parameter encoded data to add to the request"},"authentication":{"type":"string","description":"HTTP Authentication method None|Basic|Digest"},"username":{"type":"string","description":"HTTP Authentication User Name"},"password":{"type":"string","description":"HTTP Authentication Password"},"customHeaders":{"type":"string","description":"Comma separated string of custom HTTP headers"},"userAgent":{"type":"string","description":"Custom user Agent value"},"refreshRate":{"type":"integer","description":"How often in seconds should this remote DataSet be refreshed"},"clearRate":{"type":"integer","description":"How often in seconds should this remote DataSet be truncated"},"truncateOnEmpty":{"type":"integer","description":"Should the DataSet data be truncated even if no new data is pulled from the source?"},"runsAfter":{"type":"integer","description":"An optional dataSetId which should be run before this Remote DataSet"},"dataRoot":{"type":"string","description":"The root of the data in the Remote source which is used as the base for all remote columns"},"summarize":{"type":"string","description":"Should the data be aggregated? None|Summarize|Count"},"summarizeField":{"type":"string","description":"Which field should be used to summarize"},"sourceId":{"type":"integer","description":"For remote DataSet, what type data is it? 1 - json, 2 - csv"},"ignoreFirstRow":{"type":"integer","description":"For remote DataSet with sourceId 2 (CSV), should we ignore first row?"},"rowLimit":{"type":"integer","description":"For remote DataSet, maximum number of rows this DataSet can hold, if left empty the CMS Setting for DataSet row limit will be used."},"limitPolicy":{"type":"string","description":"For remote DataSet, what should happen when the DataSet row limit is reached? stop, fifo or truncate"},"csvSeparator":{"type":"string","description":"Separator that should be used when using Remote DataSets with CSV source, comma will be used by default."},"dataConnectorScript":{"type":"string","description":"If isRealTime then provide a script to connect to the data source"},"folderId":{"type":"integer","description":"Folder ID to which this object should be assigned to"}},"required":["dataSet","isRemote","isRealTime","dataConnectorSource"]}}}}}}}}
```

## Delete DataSet

> Delete a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/{dataSetId}":{"delete":{"tags":["dataset"],"summary":"Delete DataSet","description":"Delete a DataSet","operationId":"dataSetDelete","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Edit DataSet Data Connector

> Edit a DataSet Data Connector

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSet":{"properties":{"dataSetId":{"description":"The dataSetId","type":"integer"},"dataSet":{"description":"The dataSet Name","type":"string"},"description":{"description":"The dataSet description","type":"string"},"userId":{"description":"The userId of the User that owns this DataSet","type":"integer"},"lastDataEdit":{"description":"Timestamp indicating the date/time this DataSet was edited last","type":"integer"},"owner":{"description":"The user name of the User that owns this DataSet","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this DataSet","type":"string"},"code":{"description":"A code for this Data Set","type":"string"},"isLookup":{"description":"Flag to indicate whether this DataSet is a lookup table","type":"integer"},"isRemote":{"description":"Flag to indicate whether this DataSet is Remote","type":"integer"},"isRealTime":{"description":"Flag to indicate whether this DataSet is Real time","type":"integer"},"dataConnectorSource":{"description":"Indicates the source of the data connector. Requires the Real time flag. Can be null,\r\n     * user-defined, or a connector.","type":"string"},"method":{"description":"Method to fetch the Data, can be GET or POST","type":"string"},"uri":{"description":"URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.","type":"string"},"postData":{"description":"Data to send as POST-Data to the remote host with the same Replacements as in the URI.","type":"string"},"authentication":{"description":"Authentication method, can be none, digest, basic","type":"string"},"username":{"description":"Username to authenticate with","type":"string"},"password":{"description":"Corresponding password","type":"string"},"customHeaders":{"description":"Comma separated string of custom HTTP headers","type":"string"},"userAgent":{"description":"Custom User agent","type":"string"},"refreshRate":{"description":"Time in seconds this DataSet should fetch new Datas from the remote host","type":"integer"},"clearRate":{"description":"Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed","type":"integer"},"truncateOnEmpty":{"description":"Flag whether to truncate DataSet data if no new data is pulled from remote source","type":"integer"},"runsAfter":{"description":"DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched","type":"integer"},"lastSync":{"description":"Last Synchronisation Timestamp","type":"integer"},"lastClear":{"description":"Last Clear Timestamp","type":"integer"},"dataRoot":{"description":"Root-Element form JSON where the data are stored in","type":"string"},"summarize":{"description":"Optional function to use for summarize or count unique fields in a remote request","type":"string"},"summarizeField":{"description":"JSON-Element below the Root-Element on which the consolidation should be applied on","type":"string"},"sourceId":{"description":"The source id for remote dataSet, 1 - JSON, 2 - CSV","type":"integer"},"ignoreFirstRow":{"description":"A flag whether to ignore the first row, for CSV source remote dataSet","type":"integer"},"rowLimit":{"description":"Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.","type":"integer"},"limitPolicy":{"description":"Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate","type":"string"},"csvSeparator":{"description":"Custom separator for CSV source, comma will be used by default","type":"string"},"folderId":{"description":"The id of the Folder this DataSet belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this DataSet","type":"integer"}}}}},"paths":{"/dataset/dataConnector/{dataSetId}":{"put":{"tags":["dataset"],"summary":"Edit DataSet Data Connector","description":"Edit a DataSet Data Connector","operationId":"dataSetDataConnectorEdit","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataConnectorScript":{"type":"string","description":"If isRealTime then provide a script to connect to the data source"}},"required":[]}}}}}}}}
```

## Copy DataSet

> Copy a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSet":{"properties":{"dataSetId":{"description":"The dataSetId","type":"integer"},"dataSet":{"description":"The dataSet Name","type":"string"},"description":{"description":"The dataSet description","type":"string"},"userId":{"description":"The userId of the User that owns this DataSet","type":"integer"},"lastDataEdit":{"description":"Timestamp indicating the date/time this DataSet was edited last","type":"integer"},"owner":{"description":"The user name of the User that owns this DataSet","type":"string"},"groupsWithPermissions":{"description":"A comma separated list of Groups/Users that have permission to this DataSet","type":"string"},"code":{"description":"A code for this Data Set","type":"string"},"isLookup":{"description":"Flag to indicate whether this DataSet is a lookup table","type":"integer"},"isRemote":{"description":"Flag to indicate whether this DataSet is Remote","type":"integer"},"isRealTime":{"description":"Flag to indicate whether this DataSet is Real time","type":"integer"},"dataConnectorSource":{"description":"Indicates the source of the data connector. Requires the Real time flag. Can be null,\r\n     * user-defined, or a connector.","type":"string"},"method":{"description":"Method to fetch the Data, can be GET or POST","type":"string"},"uri":{"description":"URI to call to fetch Data from. Replacements are {{DATE}}, {{TIME}} and, in case this is a sequencial used DataSet, {{COL.NAME}} where NAME is a ColumnName from the underlying DataSet.","type":"string"},"postData":{"description":"Data to send as POST-Data to the remote host with the same Replacements as in the URI.","type":"string"},"authentication":{"description":"Authentication method, can be none, digest, basic","type":"string"},"username":{"description":"Username to authenticate with","type":"string"},"password":{"description":"Corresponding password","type":"string"},"customHeaders":{"description":"Comma separated string of custom HTTP headers","type":"string"},"userAgent":{"description":"Custom User agent","type":"string"},"refreshRate":{"description":"Time in seconds this DataSet should fetch new Datas from the remote host","type":"integer"},"clearRate":{"description":"Time in seconds when this Dataset should be cleared. If here is a lower value than in RefreshRate it will be cleared when the data is refreshed","type":"integer"},"truncateOnEmpty":{"description":"Flag whether to truncate DataSet data if no new data is pulled from remote source","type":"integer"},"runsAfter":{"description":"DataSetID of the DataSet which should be fetched and present before the Data from this DataSet are fetched","type":"integer"},"lastSync":{"description":"Last Synchronisation Timestamp","type":"integer"},"lastClear":{"description":"Last Clear Timestamp","type":"integer"},"dataRoot":{"description":"Root-Element form JSON where the data are stored in","type":"string"},"summarize":{"description":"Optional function to use for summarize or count unique fields in a remote request","type":"string"},"summarizeField":{"description":"JSON-Element below the Root-Element on which the consolidation should be applied on","type":"string"},"sourceId":{"description":"The source id for remote dataSet, 1 - JSON, 2 - CSV","type":"integer"},"ignoreFirstRow":{"description":"A flag whether to ignore the first row, for CSV source remote dataSet","type":"integer"},"rowLimit":{"description":"Soft limit on number of rows per DataSet, if left empty the global DataSet row limit will be used.","type":"integer"},"limitPolicy":{"description":"Type of action that should be taken on next remote DataSet sync - stop, fifo or truncate","type":"string"},"csvSeparator":{"description":"Custom separator for CSV source, comma will be used by default","type":"string"},"folderId":{"description":"The id of the Folder this DataSet belongs to","type":"integer"},"permissionsFolderId":{"description":"The id of the Folder responsible for providing permissions for this DataSet","type":"integer"}}}}},"paths":{"/dataset/copy/{dataSetId}":{"post":{"tags":["dataset"],"summary":"Copy DataSet","description":"Copy a DataSet","operationId":"dataSetCopy","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataSet":{"type":"string","description":"The DataSet Name"},"description":{"type":"string","description":"A description of this DataSet"},"code":{"type":"string","description":"A code for this DataSet"},"copyRows":{"type":"integer","description":"Flag whether to copy all the row data from the original dataSet"}},"required":["dataSet"]}}}}}}}}
```

## Import CSV

> Import a CSV into a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/import/{dataSetId}":{"post":{"tags":["dataset"],"summary":"Import CSV","description":"Import a CSV into a DataSet","operationId":"dataSetImport","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID to import into.","required":true}],"responses":{"200":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files":{"type":"string","description":"The file","contentMediaType":"application/octet-stream"},"csvImport_{dataSetColumnId}":{"type":"integer","description":"You need to provide dataSetColumnId after csvImport_, to know your dataSet columns Ids, you will need to use the GET /dataset/{dataSetId}/column call first. The value of this parameter is the index of the column in your csv file, where the first column is 1"},"overwrite":{"type":"integer","description":"flag (0,1) Set to 1 to erase all content in the dataSet and overwrite it with new content in this import"},"ignorefirstrow":{"type":"integer","description":"flag (0,1), Set to 1 to Ignore first row, useful if the CSV file has headings"}},"required":["files","csvImport_{dataSetColumnId}"]}}}}}}}}
```

## Import JSON

> Import JSON into a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"importJsonSchema":{"properties":{"uniqueKeys":{"description":"A name of the unique column","type":"array","items":{"properties":{"colName":{"description":"Import Json schema","type":"string"}},"type":"string"}},"truncate":{"description":"Flag True or False, whether to truncate existing data on import","type":"array","items":{"properties":{"truncate":{"description":"Import Json schema","type":"string"}},"type":"string"}},"rows":{"description":"An array of objects with pairs: ColumnName:Value","type":"array","items":{"properties":{"colName":{"description":"Import Json schema","type":"string"}},"type":"object"}}},"type":"object"}}},"paths":{"/dataset/importjson/{dataSetId}":{"post":{"tags":["dataset"],"summary":"Import JSON","description":"Import JSON into a DataSet","operationId":"dataSetImportJson","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID to import into.","required":true}],"responses":{"200":{"description":"successful operation"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/importJsonSchema"}}},"description":"The row data, field name vs field data format. e.g. { uniqueKeys: [col1], rows: [{col1: value1}]}","required":true}}}}}
```

## Export to CSV

> Export DataSet data to a csv file

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/export/csv/{dataSetId}":{"get":{"tags":["dataset"],"summary":"Export to CSV","description":"Export DataSet data to a csv file","operationId":"dataSetExportCsv","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID to export.","required":true}],"responses":{"200":{"description":"successful operation"}}}}}}
```

## Search Columns

> Search Columns for DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSetColumn":{"properties":{"dataSetColumnId":{"description":"The ID of this DataSetColumn","type":"integer"},"dataSetId":{"description":"The ID of the DataSet that this Column belongs to","type":"integer"},"heading":{"description":"The Column Heading","type":"string"},"dataTypeId":{"description":"The ID of the DataType for this Column","type":"integer"},"dataSetColumnTypeId":{"description":"The ID of the ColumnType for this Column","type":"integer"},"listContent":{"description":"Comma separated list of valid content for drop down columns","type":"string"},"columnOrder":{"description":"The order this column should be displayed","type":"integer"},"formula":{"description":"A MySQL formula for this column","type":"string"},"dataType":{"description":"The data type for this Column","type":"string"},"remoteField":{"description":"The data field of the remote DataSet as a JSON-String","type":"string"},"showFilter":{"description":"Does this column show a filter on the data entry page?","type":"string"},"showSort":{"description":"Does this column allow a sorting on the data entry page?","type":"string"},"dataSetColumnType":{"description":"The column type for this Column","type":"string"},"tooltip":{"description":"Help text that should be displayed when entering data for this Column.","type":"string"},"isRequired":{"description":"Flag indicating whether value must be provided for this Column.","type":"integer"},"dateFormat":{"description":"Date format of dates in the source for remote DataSet.","type":"string"}}}}},"paths":{"/dataset/{dataSetId}/column":{"get":{"tags":["dataset"],"summary":"Search Columns","description":"Search Columns for DataSet","operationId":"dataSetColumnSearch","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"dataSetColumnId","in":"query","description":"Filter by DataSet ColumnID","required":false}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataSetColumn"}}}}}}}}}}
```

## Add Column

> Add a Column to a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSetColumn":{"properties":{"dataSetColumnId":{"description":"The ID of this DataSetColumn","type":"integer"},"dataSetId":{"description":"The ID of the DataSet that this Column belongs to","type":"integer"},"heading":{"description":"The Column Heading","type":"string"},"dataTypeId":{"description":"The ID of the DataType for this Column","type":"integer"},"dataSetColumnTypeId":{"description":"The ID of the ColumnType for this Column","type":"integer"},"listContent":{"description":"Comma separated list of valid content for drop down columns","type":"string"},"columnOrder":{"description":"The order this column should be displayed","type":"integer"},"formula":{"description":"A MySQL formula for this column","type":"string"},"dataType":{"description":"The data type for this Column","type":"string"},"remoteField":{"description":"The data field of the remote DataSet as a JSON-String","type":"string"},"showFilter":{"description":"Does this column show a filter on the data entry page?","type":"string"},"showSort":{"description":"Does this column allow a sorting on the data entry page?","type":"string"},"dataSetColumnType":{"description":"The column type for this Column","type":"string"},"tooltip":{"description":"Help text that should be displayed when entering data for this Column.","type":"string"},"isRequired":{"description":"Flag indicating whether value must be provided for this Column.","type":"integer"},"dateFormat":{"description":"Date format of dates in the source for remote DataSet.","type":"string"}}}}},"paths":{"/dataset/{dataSetId}/column":{"post":{"tags":["dataset"],"summary":"Add Column","description":"Add a Column to a DataSet","operationId":"dataSetColumnAdd","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet 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/DataSetColumn"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"heading":{"type":"string","description":"The heading for the Column"},"listContent":{"type":"string","description":"A comma separated list of content for drop downs"},"columnOrder":{"type":"integer","description":"The display order for this column"},"dataTypeId":{"type":"integer","description":"The data type ID for this column"},"dataSetColumnTypeId":{"type":"integer","description":"The column type for this column"},"formula":{"type":"string","description":"MySQL SELECT syntax formula for this Column if the column type is formula"},"remoteField":{"type":"string","description":"JSON-String to select Data from the Remote DataSet"},"showFilter":{"type":"integer","description":"Flag indicating whether this column should present a filter on DataEntry"},"showSort":{"type":"integer","description":"Flag indicating whether this column should allow sorting on DataEntry"},"tooltip":{"type":"integer","description":"Help text that should be displayed when entering data for this Column."},"isRequired":{"type":"integer","description":"Flag indicating whether value must be provided for this Column."},"dateFormat":{"type":"string","description":"PHP date format for the dates in the source of the remote DataSet"}},"required":["heading","columnOrder","dataTypeId","dataSetColumnTypeId","showFilter","showSort"]}}}}}}}}
```

## Edit Column

> Edit a Column to a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSetColumn":{"properties":{"dataSetColumnId":{"description":"The ID of this DataSetColumn","type":"integer"},"dataSetId":{"description":"The ID of the DataSet that this Column belongs to","type":"integer"},"heading":{"description":"The Column Heading","type":"string"},"dataTypeId":{"description":"The ID of the DataType for this Column","type":"integer"},"dataSetColumnTypeId":{"description":"The ID of the ColumnType for this Column","type":"integer"},"listContent":{"description":"Comma separated list of valid content for drop down columns","type":"string"},"columnOrder":{"description":"The order this column should be displayed","type":"integer"},"formula":{"description":"A MySQL formula for this column","type":"string"},"dataType":{"description":"The data type for this Column","type":"string"},"remoteField":{"description":"The data field of the remote DataSet as a JSON-String","type":"string"},"showFilter":{"description":"Does this column show a filter on the data entry page?","type":"string"},"showSort":{"description":"Does this column allow a sorting on the data entry page?","type":"string"},"dataSetColumnType":{"description":"The column type for this Column","type":"string"},"tooltip":{"description":"Help text that should be displayed when entering data for this Column.","type":"string"},"isRequired":{"description":"Flag indicating whether value must be provided for this Column.","type":"integer"},"dateFormat":{"description":"Date format of dates in the source for remote DataSet.","type":"string"}}}}},"paths":{"/dataset/{dataSetId}/column/{dataSetColumnId}":{"put":{"tags":["dataset"],"summary":"Edit Column","description":"Edit a Column to a DataSet","operationId":"dataSetColumnEdit","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"dataSetColumnId","in":"path","description":"The Column 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/DataSetColumn"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"heading":{"type":"string","description":"The heading for the Column"},"listContent":{"type":"string","description":"A comma separated list of content for drop downs"},"columnOrder":{"type":"integer","description":"The display order for this column"},"dataTypeId":{"type":"integer","description":"The data type ID for this column"},"dataSetColumnTypeId":{"type":"integer","description":"The column type for this column"},"formula":{"type":"string","description":"MySQL SELECT syntax formula for this Column if the column type is formula"},"remoteField":{"type":"string","description":"JSON-String to select Data from the Remote DataSet"},"showFilter":{"type":"integer","description":"Flag indicating whether this column should present a filter on DataEntry"},"showSort":{"type":"integer","description":"Flag indicating whether this column should allow sorting on DataEntry"},"tooltip":{"type":"integer","description":"Help text that should be displayed when entering data for this Column."},"isRequired":{"type":"integer","description":"Flag indicating whether value must be provided for this Column."},"dateFormat":{"type":"string","description":"PHP date format for the dates in the source of the remote DataSet"}},"required":["heading","columnOrder","dataTypeId","dataSetColumnTypeId","showFilter","showSort"]}}}}}}}}
```

## Delete Column

> Delete DataSet Column

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/{dataSetId}/column/{dataSetColumnId}":{"delete":{"tags":["dataset"],"summary":"Delete Column","description":"Delete DataSet Column","operationId":"dataSetColumnDelete","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"dataSetColumnId","in":"path","description":"The Column ID","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## DataSet Data

> Get Data for DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/data/{dataSetId}":{"get":{"tags":["dataset"],"summary":"DataSet Data","description":"Get Data for DataSet","operationId":"dataSetData","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"200":{"description":"successful operation"}}}}}}
```

## Add Row

> Add a row of Data to a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/data/{dataSetId}":{"post":{"tags":["dataset"],"summary":"Add Row","description":"Add a row of Data to a DataSet","operationId":"dataSetDataAdd","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"201":{"description":"successful operation","headers":{"Location":{"description":"Location of the new record","schema":{"type":"string"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataSetColumnId_ID":{"type":"string","description":"Parameter for each dataSetColumnId in the DataSet"}},"required":["dataSetColumnId_ID"]}}}}}}}}
```

## Edit Row

> Edit a row of Data to a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/data/{dataSetId}/{rowId}":{"put":{"tags":["dataset"],"summary":"Edit Row","description":"Edit a row of Data to a DataSet","operationId":"dataSetDataEdit","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"rowId","in":"path","description":"The Row ID of the Data to Edit","required":true}],"responses":{"200":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"dataSetColumnId_ID":{"type":"string","description":"Parameter for each dataSetColumnId in the DataSet"}},"required":["dataSetColumnId_ID"]}}}}}}}}
```

## Delete Row

> Delete a row of Data to a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/data/{dataSetId}/{rowId}":{"delete":{"tags":["dataset"],"summary":"Delete Row","description":"Delete a row of Data to a DataSet","operationId":"dataSetDataDelete","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"rowId","in":"path","description":"The Row ID of the Data to Delete","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```

## Search RSSs

> Search RSSs for DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSetRss":{}}},"paths":{"/dataset/{dataSetId}/rss":{"get":{"tags":["dataset"],"summary":"Search RSSs","description":"Search RSSs for DataSet","operationId":"dataSetRSSSearch","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataSetRss"}}}}}}}}}}
```

## Add RSS

> Add a RSS to a DataSet

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"DataSetRss":{}}},"paths":{"/dataset/{dataSetId}/rss":{"post":{"tags":["dataset"],"summary":"Add RSS","description":"Add a RSS to a DataSet","operationId":"dataSetRssAdd","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet 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/DataSetRss"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The author for the RSS"},"summaryColumnId":{"type":"integer","description":"The columnId to be used as each item summary"},"contentColumnId":{"type":"integer","description":"The columnId to be used as each item content"},"publishedDateColumnId":{"type":"integer","description":"The columnId to be used as each item published date"}},"required":["title","title","summaryColumnId","contentColumnId","publishedDateColumnId"]}}}}}}}}
```

## Edit Rss

> Edit DataSet Rss Feed

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/{dataSetId}/rss/{rssId}":{"put":{"tags":["dataset"],"summary":"Edit Rss","description":"Edit DataSet Rss Feed","operationId":"dataSetRssEdit","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"rssId","in":"path","description":"The RSS ID","required":true}],"responses":{"204":{"description":"successful operation"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"The author for the RSS"},"summaryColumnId":{"type":"integer","description":"The rssId to be used as each item summary"},"contentColumnId":{"type":"integer","description":"The columnId to be used as each item content"},"publishedDateColumnId":{"type":"integer","description":"The columnId to be used as each item published date"},"regeneratePsk":{"type":"integer","description":"Regenerate the PSK?"}},"required":["title","title","summaryColumnId","contentColumnId","publishedDateColumnId","regeneratePsk"]}}}}}}}}
```

## Delete RSS

> Delete DataSet RSS

```json
{"openapi":"3.1.1","info":{"title":"Xibo API","version":"4.0"},"tags":[{"name":"dataset","description":"DataSets"}],"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":{"/dataset/{dataSetId}/rss/{rssId}":{"delete":{"tags":["dataset"],"summary":"Delete RSS","description":"Delete DataSet RSS","operationId":"dataSetRSSDelete","parameters":[{"schema":{"type":"integer"},"name":"dataSetId","in":"path","description":"The DataSet ID","required":true},{"schema":{"type":"integer"},"name":"rssId","in":"path","description":"The RSS ID","required":true}],"responses":{"204":{"description":"successful operation"}}}}}}
```


---

# 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/dataset.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.
