getDataTables and getData read supported Curator
tables directly, which is how you export content, activity, and configuration data from a portal. The
remaining endpoints create and maintain Data Manager groups, attributes, and items.
Every endpoint follows the standard Curator API pattern and requires an API key:
API keys can be restricted per endpoint. A key that is otherwise valid returns
This key is restricted from using this end point when it has not been granted access to the
endpoint you are calling. See Authentication for how keys are
issued and rate limited./datamanager/getDataTables
Lists the tables thatgetData will serve on this portal. Call this first. The list is assembled at
runtime from the plugins that are installed and enabled, so it differs between portals and between
Curator versions. Reading it is more reliable than assuming a fixed set of tables.
Parameters:
None.
Returns:
array
Keys are table names to pass to getData. Values are the display names shown in the backend.
Example Response:
/datamanager/getData
Returns rows from one of the tables listed bygetDataTables. Any other table is rejected, so this
endpoint cannot be used to read arbitrary tables.
Parameters:
table
The table to read. Required. Must be one of the keys returned by getDataTables.
limit
Number of records to return. Optional, defaults to 1000.
offset
Number of records to skip, for pagination. Optional.
sort_column
Column to sort by. Optional. A column that does not exist on the table is ignored rather than fatal, and
the response carries a warning explaining that the sort was skipped.
sort_direction
Sort direction, either asc or desc. Optional, defaults to asc.
Returns:
array
Example Usage:
Paging through a large table
Requests that carry anapikey are rate limited, and the default limit is 1000 rows. Page through
larger tables with limit and offset rather than requesting everything at once:
created_at keeps paging stable while new rows are being written.
Errors
getData returns "result": "Error" with one of these messages:
/datamanager/listGroups
Lists Data Manager groups. Returns: array/datamanager/listAttributes
Lists Data Manager attributes. Returns: array/datamanager/listItems
Lists Data Manager items. Parameters: group_id Filter results to those within a specific group. Optional. limit Number of records to limit the result to. Optional. offset Number of records to skip for pagination purposes. Optional. Returns: array/datamanager/createGroup
Creates a Data Manager group. Parameters: name Name of the group. slug Unique URL identifier for this group on the frontend. captcha Which type of captcha is required to submit. options Various options for field option filtering. Optional. frontend_accessible Whether this group is accessible from the frontend. Pass the stringtrue to enable it. Any other value,
including 1, is treated as false. Optional, defaults to false.
dashboard_id
ID of the Dashboard to display on the frontend. Optional.
batch_import
Whether to allow batch importing on the frontend. Pass the string true to enable it. Any other value,
including 1, is treated as false. Optional, defaults to false.
enable_data_ajax
Whether to allow data to be retrieved from an Ajax call. Pass the string true to enable it. Any other
value, including 1, is treated as false. Optional, defaults to false.
email_submissions
Whether to send copies of submissions to an email. Pass the string true to enable it. Any other value,
including 1, is treated as false. Optional, defaults to false.
email_address
Which email address to send to. Optional unless using email_submissions.
recaptcha_site_key
reCaptcha site key. Optional unless using reCaptcha.
recaptcha_secret_key
reCaptcha secret. Optional unless using reCaptcha.
revision_history
Whether to track revision history. Pass the string true to enable it. Any other value, including 1, is
treated as false. Optional, defaults to false.
Returns:
array
/datamanager/createAttribute
Creates a Data Manager attribute. Parameters: name Name of the attribute. type Data type of the attribute, for exampletext, number, or dropdown.
multi_select
Whether a dropdown is multi-select. Pass the string true to enable it. Any other value, including 1,
is treated as false. Optional, defaults to false.
required
Whether the attribute is required. Pass the string true to enable it. Any other value, including 1, is
treated as false. Optional, defaults to false.
searchable
Whether the attribute is searchable. Pass the string true to enable it. Any other value, including 1,
is treated as false. Optional, defaults to false.
editable
Whether the attribute is editable on the frontend. Pass the string true to enable it. Any other value,
including 1, is treated as false. Optional, defaults to false.
options
Options for the attribute, used for dropdowns and validation. Optional.
description
Description of the attribute. Optional.
sort_order
Sort order when listing attributes. Optional.
Returns:
array
/datamanager/addAttributeToGroup
Adds a Data Manager attribute to a Data Manager group. Parameters: attribute_id ID of the attribute to add to the group. group_id ID of the group to add the attribute to. Returns: array/datamanager/removeAttributeFromGroup
Removes a Data Manager attribute from a Data Manager group. Parameters: attribute_id ID of the attribute to remove from the group. group_id ID of the group to remove the attribute from. Returns: array/datamanager/createItem
Creates a Data Manager item, also called a data record. Parameters: group_id ID of the Data Manager group. Required. attribute_[id] The value of each attribute within the group, where[id] is the attribute ID.
Returns:
array
Example Response:
/datamanager/updateItem
Updates a Data Manager item. Parameters: item_id ID of the Data Manager item being updated. group_id ID of the Data Manager group. attribute_[id] The value of each attribute within the group, where[id] is the attribute ID. Optional.
Returns:
array