DATA · DATA & ANALYTICS
Dashboards, Klips, data sources, and clients their own role allows.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
klipfolio_delete_clients_by_idWRITEDelete a client. Requires the Klipfolio role permission `client.delete`. via DELETE /clients/{client_id}
klipfolio_delete_clients_by_id_propertiesWRITEDelete a company property from a client's account. Requires the Klipfolio role permission `client.edit`. via DELETE /clients/{client_id}/properties
klipfolio_delete_clients_by_id_share_rights_by_group_idWRITEDelete a client share right for a group. via DELETE /clients/{client_id}/share-rights/{group_id}
klipfolio_delete_dashboard_published_links_by_published_link_idWRITEDeletes published link. Requires the Klipfolio role permission `tab.publish`. via DELETE /dashboard-published-links/{published_link_id}
klipfolio_delete_datasource_instancesWRITEDelete instances related to a specific data source. Requires the Klipfolio role permission `datasource.delete`. via DELETE /datasource-instances
klipfolio_delete_datasource_instances_by_id_propertiesWRITEDelete a specified data source instance. Requires the Klipfolio role permission `dashboard.library`. via DELETE /datasource-instances/{instance_id}/properties
klipfolio_delete_datasources_by_idWRITEDelete the data source associated with a specific data source ID. Requires the Klipfolio role permission `datasource.delete`. via DELETE /datasources/{datasource_id}
klipfolio_delete_datasources_by_id_propertiesWRITEDelete a data source property. via DELETE /datasources/{datasource_id}/properties
klipfolio_delete_datasources_by_id_share_rights_by_group_idWRITEDelete a data source share right for a group. via DELETE /datasources/{datasource_id}/share-rights/{group_id}
klipfolio_delete_groups_by_idWRITEDelete a group in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /groups/{group_id}
klipfolio_delete_groups_by_id_default_tabs_by_idWRITEDelete the specified dashboard (tab) from the group. Requires the Klipfolio role permission `user.manage`. via DELETE /groups/{group_id}/default-tabs/{default_tab_id}
klipfolio_delete_groups_by_id_users_by_idWRITEDelete a user from a group. Requires the Klipfolio role permission `user.manage`. via DELETE /groups/{group_id}/users/{user_id}
klipfolio_delete_klips_by_idWRITEDelete a specified Klip in the company or client account. Requires the Klipfolio role permission `klip.delete`. via DELETE /klips/{klip_id}
klipfolio_delete_klips_by_id_annotations_by_idWRITERemove an annotation from a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.edit`. via DELETE /klips/{klip_id}/annotations/{annotation_id}
klipfolio_delete_klips_by_id_share_rightsWRITEDelete a group’s share rights for the specified Klip. Requires the Klipfolio role permission `klip.share`. via DELETE /klips/{klip_id}/share-rights
klipfolio_delete_roles_by_idWRITEDelete the specific role in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /roles/{role_id}
klipfolio_delete_roles_by_id_permissionsWRITEDelete a specific role permission in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /roles/{role_id}/permissions
klipfolio_delete_roles_by_id_users_by_idWRITEDelete the specific user from the role in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /roles/{role_id}/users/{user_id}
klipfolio_delete_tabs_by_idWRITEDelete tab from the company or client account. Requires the Klipfolio role permission `tab.delete`. via DELETE /tabs/{tab_id}
klipfolio_delete_tabs_by_id_klip_instancesWRITEDelete a Klip that is on a tab in the company or client account. Requires the Klipfolio role permission `dashboard.tab`. via DELETE /tabs/{tab_id}/klip-instances
klipfolio_delete_tabs_by_id_share_rights_by_group_idWRITERevoke access to a group tab in the company or client account. Requires the Klipfolio role permission `tab.share`. via DELETE /tabs/{tab_id}/share-rights/{group_id}
klipfolio_delete_users_by_idWRITEDelete the specified user in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}
klipfolio_delete_users_by_id_groups_by_idWRITEDelete a specified user from specified groups in the company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/groups/{group_id}
klipfolio_delete_users_by_id_propertiesWRITEDelete properties associated with a user in your company or client account. Deleting a user property will delete the property from all users in your account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/properties
klipfolio_delete_users_by_id_roles_by_idWRITEDelete the user from a specified role in your company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/roles/{role_id}
klipfolio_delete_users_by_id_tab_instances_by_idWRITEDelete a user’s tab instance in your company or client account. Requires the Klipfolio role permission `user.manage`. via DELETE /users/{user_id}/tab-instances/{tab_instance_id}
klipfolio_get_clientsREADCollects a list of all the clients associated with the requesting account. Users with admin role privileges have access to all clients. Requires the Klipfolio role permission `client.access`. via GET /clients
klipfolio_get_clients_by_idREADGet the details for the specified client. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}
klipfolio_get_clients_by_id_featuresREADUpdate the status of the specified feature. Users with admin role privileges have access to all clients. Requires the Klipfolio role permission `client.edit`. via GET /clients/{client_id}/features
klipfolio_get_clients_by_id_propertiesREADRetrieve a list of the client's company properties. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/properties
klipfolio_get_clients_by_id_resourcesREADLists all resources (dashboards, API resources, private links) allocated to a specified client. Users with admin role privileges have access to all clients. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/resources
klipfolio_get_clients_by_id_settingsREADRetrieve a list of settings for a specified client. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/settings
klipfolio_get_clients_by_id_share_rightsREADGet a list of the specified client’s share rights. Requires the Klipfolio role permission `client.access`. via GET /clients/{client_id}/share-rights
klipfolio_get_dashboard_published_linksREADReturns published link details for a single published link or all published links for a specified dashboard. Requires the Klipfolio role permission `tab.publish`. via GET /dashboard-published-links
klipfolio_get_datasource_instancesREADGet a list of all the datasource-instances to which the user has access. Note that the "id" returned is the id of the data source instance - use this id to query for a specific instance. The id of the related data source is "datasource_id". Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances
klipfolio_get_datasource_instances_by_idREADGet the details for a specific data source instance id. Note that the "id" returned is the id of the data source instance. The id of the related data source is "datasource_id". *Note: dates are returned in UTC time.*. Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances/{instance_id}
klipfolio_get_datasource_instances_by_id_dataREADGet the details for the specific data source ID. Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances/{instance_id}/data
klipfolio_get_datasource_instances_by_id_propertiesREADGet the properties for the specific. Requires the Klipfolio role permission `dashboard.library`. via GET /datasource-instances/{instance_id}/properties
klipfolio_get_datasourcesREADGet a list of all the data sources to which the user has access. Requires the Klipfolio role permission `dashboard.library`. via GET /datasources
klipfolio_get_datasources_by_idREADGet the details for the specific data source id. Requires the Klipfolio role permission `dashboard.library`. via GET /datasources/{datasource_id}
klipfolio_get_datasources_by_id_propertiesREADRetrieve a list of a data source's properties. via GET /datasources/{datasource_id}/properties
klipfolio_get_datasources_by_id_share_rightsREADRetrieve a list of a data source's share rights. via GET /datasources/{datasource_id}/share-rights
klipfolio_get_groupsREADGet the details for all groups in the company or client account. via GET /groups
klipfolio_get_groups_by_idREADGet the details for the specific group in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /groups/{group_id}
klipfolio_get_groups_by_id_default_tabsREADRetrieve a list of default tabs (now called dashboards) for a specific group. Requires the Klipfolio role permission `user.manage`. via GET /groups/{group_id}/default-tabs
klipfolio_get_groups_by_id_default_tabs_by_idREADRetrieve the details for a specific group and specific dashboard (tab). Requires the Klipfolio role permission `user.manage`. via GET /groups/{group_id}/default-tabs/{default_tab_id}
klipfolio_get_groups_by_id_usersREADGet the details for all users in a group. Requires the Klipfolio role permission `dashboard.library`. via GET /groups/{group_id}/users
klipfolio_get_klipsREADGet a list of all the Klips the user can access in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /klips
klipfolio_get_klips_by_idREADGet the details for the specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /klips/{klip_id}
klipfolio_get_klips_by_id_annotationsREADRetrieve a list of annotations for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.view`. via GET /klips/{klip_id}/annotations
klipfolio_get_klips_by_id_annotations_by_idREADRetrieve the details of an annotation for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.view`. via GET /klips/{klip_id}/annotations/{annotation_id}
klipfolio_get_klips_by_id_client_instancesREADReturns a list of Klip instances for a specified Klip in the company or client account. Requires the Klipfolio role permission `client.access`, `dashboard.library`. via GET /klips/{klip_id}/client-instances
klipfolio_get_klips_by_id_schemaREADGet the schema for the specified klip in the company or client account. Requires the Klipfolio role permission `klip.edit`. via GET /klips/{klip_id}/schema
klipfolio_get_klips_by_id_share_rightsREADGet a list of share rights for the specified Klip. Requires the Klipfolio role permission `dashboard.library`. via GET /klips/{klip_id}/share-rights
klipfolio_get_profileREADRetrieve information about the authenticated user account. When the full parameter is set to true, the information includes associations (tab instances, dashboard properties, permissions for the authenticated user account). via GET /profile
klipfolio_get_rolesREADRetrieve all of the roles in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles
klipfolio_get_roles_by_idREADGet the details for the specific role id in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles/{role_id}
klipfolio_get_roles_by_id_permissionsREADGet a list of all the role’s permissions in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles/{role_id}/permissions
klipfolio_get_roles_by_id_usersREADGet a list of all the users associated with this role in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /roles/{role_id}/users
klipfolio_get_tabsREADGet a list of all the tabs in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /tabs
klipfolio_get_tabs_by_idREADGet the details for the specific tab in the company or client account. Requires the Klipfolio role permission `dashboard.library`. via GET /tabs/{tab_id}
klipfolio_get_tabs_by_id_klip_instancesREADGet a list of the Klip instances associated with the tab in the company or client account. Requires the Klipfolio role permission `dashboard.tab`. via GET /tabs/{tab_id}/klip-instances
klipfolio_get_tabs_by_id_layoutREADGet the layout of a tab in the company or client account. Requires the Klipfolio role permission `dashboard.share`. via GET /tabs/{tab_id}/layout
klipfolio_get_tabs_by_id_share_rightsREADGet a list of the tab’s share rights in the company or client account. Requires the Klipfolio role permission `tab.share`. via GET /tabs/{tab_id}/share-rights
klipfolio_get_usersREADGet a list of all the users in the company or client account. via GET /users
klipfolio_get_users_by_idREADGet details for the specified user in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}
klipfolio_get_users_by_id_groupsREADRetrieve the list of groups to which the specified user belongs in the company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/groups
klipfolio_get_users_by_id_propertiesREADGet a list of the user’s properties in your company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/properties
klipfolio_get_users_by_id_rolesREADGet a list of the user’s roles in your company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/roles
klipfolio_get_users_by_id_tab_instancesREADRetrieve a list of the user’s tab instances in your company or client account. Requires the Klipfolio role permission `user.manage`. via GET /users/{user_id}/tab-instances
klipfolio_post_clientsWRITECreate a client. Requires the Klipfolio role permission `client.build`. via POST /clients
klipfolio_post_clients_by_id_enable_direct_billingWRITESwitch a client to direct billing. This cannot be undone. This command is only available to Partner accounts. Requires the Klipfolio role permission `client.access`. via POST /clients/{client_id}/@/enable_direct_billing
klipfolio_post_clients_by_id_extend_trialWRITEExtend a client’s trial period. Requires the Klipfolio role permission `client.access`. via POST /clients/{client_id}/@/extend_trial
klipfolio_post_clients_by_id_settingsWRITESets the value of one or more company properties. Requires the Klipfolio role permission `client.access`. via POST /clients/{client_id}/settings
klipfolio_post_dashboard_published_links_by_dashboard_idWRITECreates a new published link. Requires the Klipfolio role permission `tab.publish`. via POST /dashboard-published-links/{dashboard_id}
klipfolio_post_datasource_instancesWRITECreate a new data source instance based on a data source (specified as “datasource_id” in the post data). Data source instance properties can optionally be specified in the post data. Requires the Klipfolio role permission `datasource.create`. via POST /datasource-instances
klipfolio_post_datasource_instances_by_id_refreshWRITERefresh the specified data source instance. This refresh operation queues the data source for refresh, but it does not necessarily refresh it instantly. Requires the Klipfolio role permission `dashboard.library`. via POST /datasource-instances/{instance_id}/@/refresh
klipfolio_post_datasourcesWRITECreate a data source. Data source properties can optionally be specified in the post data. Requires the Klipfolio role permission `datasource.create`. via POST /datasources
klipfolio_post_datasources_by_id_delete_instancesWRITEDelete instances related to a specified data source. Requires the Klipfolio role permission `datasource.delete`. via POST /datasources/{datasource_id}/@/delete_instances
klipfolio_post_datasources_by_id_disableWRITEDisable the specific datasource ID. Requires the Klipfolio role permission `datasource.edit`. via POST /datasources/{datasource_id}/@/disable
klipfolio_post_datasources_by_id_enableWRITEEnable the specific datasource id. Requires the Klipfolio role permission `datasource.edit`. via POST /datasources/{datasource_id}/@/enable
klipfolio_post_datasources_by_id_importWRITEImport the data source into the client account specified in the post data by the client id. The location of the newly imported data source is returned on successful completion. Requires the Klipfolio role permission `datasource.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /datasources/{datasource_id}/@/import
klipfolio_post_datasources_refreshWRITEQueue multiple data sources for refresh in one API call. Requires the Klipfolio role permission `datasource.edit`. via POST /datasources/@/refresh
klipfolio_post_groupsWRITECreate a new group in the company or client account. Requires the Klipfolio role permission `user.manage`. via POST /groups
klipfolio_post_groups_by_id_default_tabsWRITEAdd an existing dashboard to a specified group. Requires the Klipfolio role permission `user.manage`. via POST /groups/{group_id}/default-tabs
klipfolio_post_klipsWRITECreate a Klip; optionally include ‘client_id’ in the post data to create a Klip for a client. A schema may be specified by including ‘schema’ in the post data. If no schema is specified, the new Klip will have a simple default schema, which may be updated using the /klips/{id}/schema resource. Requires the Klipfolio role permission `klip.build`. via POST /klips
klipfolio_post_klips_by_id_annotationsWRITECreate a new annotation for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.edit`. via POST /klips/{klip_id}/annotations
klipfolio_post_klips_by_id_importWRITEImport a Klip. Requires the Klipfolio role permission `klip.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /klips/{klip_id}/@/import
klipfolio_post_klips_by_id_update_from_parentWRITEUpdates a specified client instance of a Klip schema by replacing it with the schema of the original Klip. Requires the Klipfolio role permission `account.api`, `klip.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /klips/{klip_id}/@/update_from_parent
klipfolio_post_tabsWRITECreate a new tab in the company or client account. Requires the Klipfolio role permission `tab.build`. via POST /tabs
klipfolio_post_tabs_by_id_importWRITEImport the tab into the client account specified in the post data by the client id. All related Klips will also be imported along with the tab. The location of the newly imported tab is returned on success. Requires the Klipfolio role permission `tab.import`. That permission is marked 'only available for partners', so this operation answers 403 on an ordinary account -- an account entitlement rather than a problem with the key. via POST /tabs/{tab_id}/@/import
klipfolio_post_usersWRITECreate a new user, optionally for a client. user.manage. Requires the Klipfolio role permission `user.manage`. via POST /users
klipfolio_post_users_by_id_resend_inviteWRITEResend the invitation email to a new user. Requires the Klipfolio role permission `user.manage`. via POST /users/{user_id}/@/resend-invite
klipfolio_post_users_by_id_reset_passwordWRITEReset a user password. Requires the Klipfolio role permission `user.manage`. via POST /users/{user_id}/@/reset-password
klipfolio_put_clients_by_idWRITEUpdate the specified client. Requires the Klipfolio role permission `client.edit`. via PUT /clients/{client_id}
klipfolio_put_clients_by_id_propertiesWRITEAdd or update company properties in a client's account. Requires the Klipfolio role permission `client.edit`. via PUT /clients/{client_id}/properties
klipfolio_put_clients_by_id_share_rightsWRITEUpdate the specified client’s share rights. If the client is not already shared with a specified group, a new share right is created, otherwise the existing share right is updated. Requires the Klipfolio role permission `client.share`. via PUT /clients/{client_id}/share-rights
klipfolio_put_dashboard_published_links_by_published_link_idWRITEUpdates the properties of a published link. Requires the Klipfolio role permission `tab.publish`. via PUT /dashboard-published-links/{published_link_id}
klipfolio_put_datasource_instances_by_id_dataWRITEUpdate the specified data source instance with data. Works with files and with raw data. For web accessible data sources use POST /@/refresh to get new data. Requires the Klipfolio role permission `dashboard.library`. via PUT /datasource-instances/{instance_id}/data
klipfolio_put_datasource_instances_by_id_propertiesWRITECreate or update properties for this data source instance. If the specified property does not already exist it is created, otherwise the existing property is updated. Requires the Klipfolio role permission `dashboard.library`. via PUT /datasource-instances/{instance_id}/properties
klipfolio_put_datasources_by_idWRITEUpdate the specified data source. Requires the Klipfolio role permission `datasource.edit`. via PUT /datasources/{datasource_id}
klipfolio_put_datasources_by_id_propertiesWRITEAdd or update a data source's properties. via PUT /datasources/{datasource_id}/properties
klipfolio_put_datasources_by_id_share_rightsWRITEAdd or update a data source's share rights. via PUT /datasources/{datasource_id}/share-rights
klipfolio_put_groups_by_idWRITEUpdate the specified group in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /groups/{group_id}
klipfolio_put_groups_by_id_default_tabs_by_idWRITEUpdate an existing dashboard for a specified group. Requires the Klipfolio role permission `user.manage`. via PUT /groups/{group_id}/default-tabs/{default_tab_id}
klipfolio_put_groups_by_id_users_by_idWRITEAdd the user to the group. Requires the Klipfolio role permission `dashboard.library`. via PUT /groups/{group_id}/users/{user_id}
klipfolio_put_klips_by_idWRITEUpdate the specified klip details in the company or client account. To update the klip schema, use the /klips/{id}/schema resource. Requires the Klipfolio role permission `klip.edit`. via PUT /klips/{klip_id}
klipfolio_put_klips_by_id_annotations_by_idWRITEUpdate an annotation for a specified Klip in the company or client account. Requires the Klipfolio role permission `dashboard.annotation.edit`. via PUT /klips/{klip_id}/annotations/{annotation_id}
klipfolio_put_klips_by_id_schemaWRITEUpdate the schema for the specified Klip in the company or client account. Requires the Klipfolio role permission `klip.edit`. via PUT /klips/{klip_id}/schema
klipfolio_put_klips_by_id_share_rightsWRITEUpdate the share rights for the specified Klip. If the Klip is not already shared with the specified group, a new share-right is created, otherwise the existing share-right is updated. Requires the Klipfolio role permission `klip.share`. via PUT /klips/{klip_id}/share-rights
klipfolio_put_roles_by_idWRITEUpdate the specified role in the company or client account. Permissions specified will replace existing permissions. Requires the Klipfolio role permission `user.manage`. via PUT /roles/{role_id}
klipfolio_put_roles_by_id_permissionsWRITEUpdate the permissions associated with the role in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /roles/{role_id}/permissions
klipfolio_put_roles_by_id_users_by_idWRITEAdd a user to the role in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /roles/{role_id}/users/{user_id}
klipfolio_put_tabs_by_idWRITEUpdate the specified tab in the company or client account. Requires the Klipfolio role permission `tab.edit`. via PUT /tabs/{tab_id}
klipfolio_put_tabs_by_id_klip_instancesWRITEAdd a Klip to a tab. The Klip id is used instead of the Klip instance id. Use in the company or client account. * Note:* If region and position are not included, they default to 1 and 0 respectively. Requires the Klipfolio role permission `dashboard.tab`. via PUT /tabs/{tab_id}/klip-instances
klipfolio_put_tabs_by_id_layoutWRITEUpdate the layout of the tab. The layout “type” refers to the size and number of Klip columns on the tab. The layout “state” is a JSON object representing the position of each Klip on the tab. Works in the company or client account. Note: all details must be provided or Klips will be removed from dashboard when the command is run. Requires the Klipfolio role permission `dashboard.share`. via PUT /tabs/{tab_id}/layout
klipfolio_put_tabs_by_id_share_rightsWRITEUpdate a tab's share rights in the company or client account. If the tab is not already shared with the specified group or user, a new share right is created, otherwise the existing right is updated. Requires the Klipfolio role permission `tab.share`. via PUT /tabs/{tab_id}/share-rights
klipfolio_put_users_by_idWRITEUpdate the specified user in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}
klipfolio_put_users_by_id_groups_by_idWRITEAdd a specified user to one group at a time in the company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/groups/{group_id}
klipfolio_put_users_by_id_propertiesWRITECreates property base on name for all users. Update property for specific user. Use in your company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/properties
klipfolio_put_users_by_id_roles_by_idWRITEAssign a user to a role in your company or client account. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/roles/{role_id}
klipfolio_put_users_by_id_tab_instancesWRITEAdd one or more tabs to a user’s dashboard in your company or client account. Use tab IDs not tab instance IDs. Requires the Klipfolio role permission `user.manage`. via PUT /users/{user_id}/tab-instances
Put Klipfolio behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.