Skip to main content

/content/createFile

Creates a file model Example Usage: Python Script Parameters: file The file to attach, sent as a multipart upload. Required unless file_location is provided. file_location A URL the Curator server should download the file from. Required unless file is provided. slug The unique identifier to use for the file in the URL. Required. title The title/name of the file. Optional, defaults to the slug. description A short description of the file. Optional. restrict_access Whether the file should be restricted to certain groups. Optional, true or false. groups Comma-separated list of group names the file should be restricted to. Optional. hidden Hides the file from all views: search results, tiles, and explorer. Optional, 1 or 0. hidden_from_search Hides the file from search results only. Optional, 1 or 0. favoritable Whether users may favorite the file. Optional, 1 or 0. allow_browser_cache Whether browsers may cache the file. Optional, 1 or 0. download_only Forces browsers to download the file instead of opening it. Optional, 1 or 0. keywords Comma-separated list of existing keyword IDs (see /content/listKeywords) to classify the file with. Unknown IDs are ignored. Optional. Returns: array Example Response:
When groups was provided and at least one name did not match an existing frontend group, the response also includes a groups_not_found array listing those names. The file is created with the remaining groups only.

/content/createNavMenu

Creates a nav menu model Returns: array Example Response:
When groups was provided and at least one name did not match an existing frontend group, the response also includes a groups_not_found array listing those names. The menu link is created with the remaining groups only.

/content/createPage

Creates a page containing a single full-page embed built from a URL, embed code, or a raw HTML document. The page renders inside the normal Curator navigation with its title hidden, so the embedded content takes up the whole page area. Exactly one of url, embed_code, or html must be provided. Parameters: title The title of the new page. Required. url A URL to embed in the page. embed_code Embed code (HTML) to render in the page as-is. The code is not compiled as a server-side template, but unlike the html parameter it is also not sandboxed: scripts inside it run in the page in the viewing user’s browser session, so only publish embed code from trusted sources. html A full HTML document to display. The document is stored as a hidden, download-only Curator file and rendered inside a sandboxed frame isolated from the viewer’s Curator session. Because the file is download-only, visiting its direct /file/{slug} link downloads the document rather than rendering it in the browser. slug The unique identifier to use for the page in the URL. Optional, generated from the title when omitted. An error is returned if a provided slug is already in use. add_to_nav Adds the new page to the main navigation. Optional, 1 or 0. nav_parent_id The ID of the menu item to nest the new navigation entry under. Takes effect only when add_to_nav is 1. Optional, defaults to the main menu so the entry is added at the top level. Use /content/listNavMenus to find the available menu IDs. An error is returned whenever the ID is supplied and does not match an existing menu item, whether or not add_to_nav is set. hidden Hides the page from all views: search results, tiles, and explorer. Optional, 1 or 0. hidden_from_search Hides the page from search results only. The page stays visible in tiles and the explorer. Optional, 1 or 0. keywords Comma-separated list of existing keyword IDs (see /content/listKeywords) to classify the page with. Unknown IDs are ignored. Optional. restrict_access Whether the page should be restricted to certain frontend groups, the same as turning on Restrict Access in the page’s settings. Optional, 1 or 0. Any other value returns an error and no page is created. See Restricting a Page to Groups. groups Comma-separated list of frontend group names the page should be restricted to. Only applied when restrict_access is 1 (or Restrict Access is Always Enabled is on); ignored otherwise. Names that do not match an existing group are skipped and returned in groups_not_found. A restricted page with no matching groups is visible to nobody, so check that key. Optional. Returns: array Example Response:
The file_id key is only present when the page was created from the html parameter. It can be passed to /content/updateFile later to replace the page’s HTML in place. The groups_not_found key is only present when groups was provided and at least one name did not match an existing frontend group. In the example above, no group named Regional Managers exists, so the page was created without it.

/content/deleteFile

deletes a file model by ID Returns: array Example Response:

/content/listFiles

Lists file content types. Returns: array Example Response:

/content/listDashboards

Lists Tableau dashboard content types with associated keywords. Returns: array Example Response:

/content/listNavMenus

Lists nav menu links with associated keywords. The response is a flat array holding the menu item it starts from followed by each of its visible descendants, so nesting is read from the parent_id of every entry. Parameters: username The frontend username to check navigation permissions against. Optional. When omitted, permissions are evaluated as an anonymous visitor, so a menu item restricted to a frontend group is left out of the response even though it exists. Pass a username to list the navigation as that user sees it. menu_id The ID of the menu item to start the listing from. Optional, defaults to the main menu, which returns the whole navigation tree. Use it to enumerate the children of a submenu once its ID is known. IDs returned here can be passed to /content/createPage as nav_parent_id to nest a new page under an existing submenu. Returns: array Example Response:
Every nav menu link includes a keywords array. Links with no keywords assigned return an empty array rather than omitting the field.

/content/updateFile

Updates a file model’s details and can replace its attachment in place, keeping the same file ID, slug, and links. Parameters: id The ID of the file to update. Required. file A replacement file, sent as a multipart upload. Optional. file_location A URL the Curator server should download a replacement file from. Optional. slug, title, description Updated values for the file’s details. Optional. restrict_access, groups Group restriction settings, matching /content/createFile. groups replaces the file’s current groups. Optional. hidden, hidden_from_search, favoritable, allow_browser_cache, download_only File flags, matching /content/createFile. Optional, 1 or 0. keywords Comma-separated list of existing keyword IDs (see /content/listKeywords). Replaces the file’s current keywords; pass an empty value to clear them. Optional. Returns: array Example Response:
When groups was provided and at least one name did not match an existing frontend group, the response also includes a groups_not_found array listing those names. The file’s groups are replaced with the matching names only.