Skip to main content

/user/createBackendUser

Creates a backend user Note: The API key must be allowed to create backend users. Keys that existed before this permission was added keep it. To allow another key on an On-Prem install, a server administrator runs php artisan portal:apikey-backend-users <API key or ID> --enable. On SaaS, ask InterWorks to allow the key. Returns: array

/user/createFrontendGroup

Creates a Frontend Group. Note: To add members to your Frontend Group, use the addUserToGroup API endpoint. Example Request: POST [your_domain]/api/v1/User/createFrontendGroup?apikey=[your_api_key_here]&name=[group_name_here]
Returns: array Example Response:

/user/createFrontendUser

Creates a single frontend (i.e. Curator) user. This does not create any platform-specific users, and there is no bulk/CSV equivalent — to create many frontend users at once, script repeated calls to this endpoint or to the usermgmt:frontendusercreate artisan command.
If Curator authenticates against an external identity provider (SAML, OIDC/OAuth, Tableau Server, or Power BI), you most likely do not need this endpoint at all. Frontend User accounts are created automatically the first time each user signs in — see Just-in-time (JIT) Provisioning. Creating users in advance is only necessary when JIT provisioning has been turned off (Settings > Security > Authentication Settings > Access rules > Disable Just-in-time Provisioning of Curator Users), or when the authentication type is Curator Users.
An API key cannot create, change, or delete a frontend user whose username belongs to a backend administrator with Link to frontend user turned on. The call fails with the error This username belongs to a linked backend administrator.
Parameters:
  • full_name (string, required) - The full name for the new Curator user.
  • username (string, required) - The username for the new Curator user.
  • email (string, required) - The email address for the new Curator user.
  • password (string, required) - The desired password for the new Curator user.
  • domain (string, optional) - Domain of the user, e.g. domain\username or username@domain. If omitted, Curator derives the domain from the username or email address where possible.
  • send_user_created_curator_email (bool, optional) - Send the Curator signup email to the new user. 1 = send, 0 = suppress. Defaults to 0.
Example Request: The query string below is shown wrapped for readability; send it as a single URL.
Returns: array Example Response:

/user/fetchUser

Returns the currently logged in user’s information. Returns: array

/user/getManageablePermissions

Gets a listing of available manageable permissions Returns: array Example Response:

/user/addUserToGroup

Adds a user to a group (syncs with Tableau if possible) Returns: array

/user/listGroups

Lists groups. Returns: array

/user/listUsers

Lists users and the groups they belong to. Parameters:
  • num (integer, optional) - Number of users to return per page. Defaults to 50.
  • pg (integer, optional) - Page number. Defaults to 1.
  • site (string, optional) - Tableau Site content URL to filter by; only users with a connected Tableau user on that site are returned.
Example Request: GET [your_domain]/api/v1/User/listUsers?apikey=[your_api_key_here]&num=50&pg=1 Returns: array Each user object includes frontend_user_id, name, full_name, email, analytics_id, last_login_at (the time the user last signed in, or null if they never have), and a groups array. Example Response:

/user/removeUser

Deletes a Curator frontend user. The user’s group memberships, favorites and preferences are removed with them. Only the Curator user is deleted. The user’s accounts on Tableau, Power BI, ThoughtSpot and other platforms are not changed. Parameters: Provide one of the following. When you provide more than one, Curator uses the first in this order.
  • frontend_user_id (integer) - The ID of the frontend user, as returned by listUsers or shown on the backend under Settings > Users > Frontend Users.
  • username (string) - The username of the frontend user.
  • email (string) - The email address of the frontend user. If more than one user has this email address, the call returns an error and deletes nothing.
Example Request: GET [your_domain]/api/v1/User/removeUser?apikey=[your_api_key_here]&username=jane.smith Returns: array Example Response:
If the user cannot be found, result is error and msg names the value that was searched for. An API key cannot delete a frontend user linked to a backend administrator; see the note under /user/createFrontendUser.

/user/removeUserFromGroup

Removes a user from a group (syncs with Tableau if possible) Returns: array

/User/syncGroup

Kicks off a schedule which synchronizes a single Frontend Group’s membership. Specify the Group’s groupName OR the Group’s id (the id is used if both are provided). Parameters:
  • groupName (string, optional) - The name of the Frontend Group as shown on the backend under Settings > Users > Frontend Groups.
  • id (integer, optional) - The ID of the Frontend Group. One of groupName or id is required.
Example Request: GET [your_domain]/api/v1/User/syncGroup?apikey=[your_api_key_here]&groupName=[group_name_here] Returns: array Example Response:

/User/syncGroups

Kicks off a schedule which synchronizes platform group memberships to all configured Frontend Groups. Internally this calls FrontendGroup::syncSchedule to enqueue a sync for every Frontend Group. Example Request: GET [your_domain]/api/v1/User/syncGroups?apikey=[your_api_key_here] Returns: array Example Response:
Note: Both /User/syncGroup and /User/syncGroups enqueue jobs asynchronously - the API call returns as soon as the sync is queued. The actual membership sync runs through the queued process scheduler (curator:runschedule), so the work is not complete the moment the response is received.