> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# safetyculture-users

> SafetyCulture Users - manage users, groups, and site directory

**Server path:** `/safetyculture-users` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                                                              | Description                                                                              |
| --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [`safetyculture_users_directory_add_users_folders_associations`](#safetyculture_users_directory_add_users_folders_associations)   | Associate users to folders                                                               |
| [`safetyculture_users_directory_create_folder`](#safetyculture_users_directory_create_folder)                                     | Create a folder                                                                          |
| [`safetyculture_users_directory_delete_folders`](#safetyculture_users_directory_delete_folders)                                   | Delete folders (bulk)                                                                    |
| [`safetyculture_users_directory_get_all_users_by_folder`](#safetyculture_users_directory_get_all_users_by_folder)                 | Retrieve users associated to a folder, includes both directly and indirectly (inherited) |
| [`safetyculture_users_directory_get_folder`](#safetyculture_users_directory_get_folder)                                           | Retrieve a folder                                                                        |
| [`safetyculture_users_directory_get_folders`](#safetyculture_users_directory_get_folders)                                         | List folders                                                                             |
| [`safetyculture_users_directory_get_folders_by_parent`](#safetyculture_users_directory_get_folders_by_parent)                     | Get folders (by parent)                                                                  |
| [`safetyculture_users_directory_remove_folders_association`](#safetyculture_users_directory_remove_folders_association)           | Remove association for a specific user to multiple folders                               |
| [`safetyculture_users_directory_search_folders`](#safetyculture_users_directory_search_folders)                                   | Search folders                                                                           |
| [`safetyculture_users_directory_update_folder_properties`](#safetyculture_users_directory_update_folder_properties)               | Update a folder                                                                          |
| [`safetyculture_users_permissions_service_assign_permission_set`](#safetyculture_users_permissions_service_assign_permission_set) | Assign user to a permission set                                                          |
| [`safetyculture_users_permissions_service_get_permission_set`](#safetyculture_users_permissions_service_get_permission_set)       | Get a permission set                                                                     |
| [`safetyculture_users_permissions_service_list_permission_sets`](#safetyculture_users_permissions_service_list_permission_sets)   | List permission sets                                                                     |
| [`safetyculture_users_the_pub_service_add_new_user_to_group`](#safetyculture_users_the_pub_service_add_new_user_to_group)         | Add user to a group                                                                      |
| [`safetyculture_users_the_pub_service_add_user`](#safetyculture_users_the_pub_service_add_user)                                   | Create a user                                                                            |
| [`safetyculture_users_the_pub_service_create_group`](#safetyculture_users_the_pub_service_create_group)                           | Create a group                                                                           |
| [`safetyculture_users_the_pub_service_get_user`](#safetyculture_users_the_pub_service_get_user)                                   | Get a user                                                                               |
| [`safetyculture_users_the_pub_service_list_groups`](#safetyculture_users_the_pub_service_list_groups)                             | List groups                                                                              |
| [`safetyculture_users_the_pub_service_list_users_in_group`](#safetyculture_users_the_pub_service_list_users_in_group)             | List a group's or an organization's users                                                |
| [`safetyculture_users_the_pub_service_remove_user`](#safetyculture_users_the_pub_service_remove_user)                             | Remove user from a group                                                                 |
| [`safetyculture_users_the_pub_service_search_users`](#safetyculture_users_the_pub_service_search_users)                           | List users (by email)                                                                    |
| [`safetyculture_users_the_pub_service_update_user`](#safetyculture_users_the_pub_service_update_user)                             | Update a user                                                                            |

***

## safetyculture\_users\_directory\_add\_users\_folders\_associations

Associate users to folders

**Parameters:**

| Parameter     | Type   | Required | Default | Description                           |
| ------------- | ------ | -------- | ------- | ------------------------------------- |
| `assignments` | object | No       | —       | Map of folder ID to users assignments |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "assignments": {
        "type": "object",
        "description": "Map of folder ID to users assignments"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_create\_folder

Create a folder

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                                                                                                                     |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`     | string | No       | —       | domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders         |
| `id`         | string | No       | —       | Optional. Folder UUID. If unspecified, backend will generate the ID.                                                                                                            |
| `meta_label` | string | Yes      | —       | Required. Must be one of: "location", "area", "region", "state", or "country". Note that these meta labels may not match custom site hierarchy labels used by the organization. |
| `name`       | string | Yes      | —       | Required. Non-empty folder name. Limited to maximum 250 characters.                                                                                                             |
| `parent_id`  | string | No       | —       | Optional. Parent folder UUID. If unspecified, will be created as a root folder                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "domain": {
        "type": "string",
        "description": "domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders"
      },
      "id": {
        "type": "string",
        "description": "Optional. Folder UUID. If unspecified, backend will generate the ID."
      },
      "meta_label": {
        "type": "string",
        "description": "Required. Must be one of: \"location\", \"area\", \"region\", \"state\", or \"country\". Note that these meta labels may not match custom site hierarchy labels used by the organization."
      },
      "name": {
        "type": "string",
        "description": "Required. Non-empty folder name. Limited to maximum 250 characters."
      },
      "parent_id": {
        "type": "string",
        "description": "Optional. Parent folder UUID. If unspecified, will be created as a root folder"
      }
    },
    "required": [
      "PCID",
      "meta_label",
      "name"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_delete\_folders

Delete folders (bulk)

**Parameters:**

| Parameter    | Type      | Required | Default | Description                                                                                                                                                                                                                                                                   |
| ------------ | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `folder_ids` | string\[] | Yes      | —       | Required. Folder ids of the folders to be deleted                                                                                                                                                                                                                             |
| `cascade_up` | boolean   | No       | —       | Deleting folders will always cascade down. If a parent is deleted, then all of its children are deleted. When cascade\_up is true, if a child is deleted, and it's parent no longer has any children, then it will be deleted too. This will cascade all the way up the tree. |
| `domain`     | string    | No       | —       | domain represents the type/domain/hierarchy for the folder. This is used for deleting folders within a specified domain                                                                                                                                                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "folder_ids": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Required. Folder ids of the folders to be deleted"
      },
      "cascade_up": {
        "type": "boolean",
        "description": "Deleting folders will always cascade down. If a parent is deleted, then all of its children are deleted. When cascade_up is true, if a child is deleted, and it's parent no longer has any children, then it will be deleted too. This will cascade all the way up the tree."
      },
      "domain": {
        "type": "string",
        "description": "domain represents the type/domain/hierarchy for the folder. This is used for deleting folders within a specified domain"
      }
    },
    "required": [
      "PCID",
      "folder_ids"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_get\_all\_users\_by\_folder

Retrieve users associated to a folder, includes both directly and indirectly (inherited)

**Parameters:**

| Parameter                  | Type    | Required | Default | Description                                                                                                                                                                                                             |
| -------------------------- | ------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                       | string  | Yes      | —       | Required. The folder identifier we want to get all the users for                                                                                                                                                        |
| `get_users_of_descendants` | boolean | No       | —       | Optional. When true, it will return all of the members of a specified folder and its children folders recursively. Default false, will return all of the members of a specified folder and its parent/ancestor folders. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "Required. The folder identifier we want to get all the users for"
      },
      "get_users_of_descendants": {
        "type": "boolean",
        "description": "Optional. When true, it will return all of the members of a specified folder and its children folders recursively. Default false, will return all of the members of a specified folder and its parent/ancestor folders."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_get\_folder

Retrieve a folder

**Parameters:**

| Parameter                 | Type    | Required | Default | Description                                                                                                                                        |
| ------------------------- | ------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                      | string  | Yes      | —       | Required. The folder identifier to retrieve info for                                                                                               |
| `with_ancestors`          | boolean | No       | —       | When true, an array of the folders ancestors will also be returned.                                                                                |
| `with_all_children_count` | boolean | No       | —       | When true, the total count of all children underneath the folder will be returned. This is a recursive count and will include children of children |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "Required. The folder identifier to retrieve info for"
      },
      "with_ancestors": {
        "type": "boolean",
        "description": "When true, an array of the folders ancestors will also be returned."
      },
      "with_all_children_count": {
        "type": "boolean",
        "description": "When true, the total count of all children underneath the folder will be returned. This is a recursive count and will include children of children"
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_get\_folders

List folders

**Parameters:**

| Parameter                 | Type    | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                               |
| ------------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `page_size`               | integer | No       | —       | Required. This determines the max number of folders returned in the response.                                                                                                                                                                                                                                                                                             |
| `page_token`              | string  | No       | —       | Optional. base64 encoded. If this field is present, the list of folders returned will start from the row after this token.                                                                                                                                                                                                                                                |
| `order_by.sort_field`     | string  | No       | —       | The field to order by   - SORT\_FIELD\_UNSPECIFIED: The sort field is unspecified  - SORT\_FIELD\_NAME: Sort the folder by name  - SORT\_FIELD\_FOLDER\_ID: Sort the folders by folder id  - SORT\_FIELD\_USER\_ID: Sort the folders by user id  - SORT\_FIELD\_CREATED\_AT: Sort the folders by created at  - SORT\_FIELD\_MODIFIED\_AT: Sort the folders by modified at |
| `order_by.sort_order`     | string  | No       | —       | The direction to order by   - SORT\_ORDER\_UNSPECIFIED: The sort order is not specified  - SORT\_ORDER\_ASCENDING: The sort order is asc  - SORT\_ORDER\_DESCENDING: The sort order is desc                                                                                                                                                                               |
| `only_leaf_nodes`         | boolean | No       | —       | Optional. When true, GetFolders will only return leaf node folders. leaf nodes are folders that do not have children  Defaults to false.                                                                                                                                                                                                                                  |
| `with_ancestors`          | boolean | No       | —       | Optional. When true, folders will be returned with a list of their ancestors as well. Defaults to false                                                                                                                                                                                                                                                                   |
| `include_deleted`         | boolean | No       | —       | When true, deleted folders will also be returned                                                                                                                                                                                                                                                                                                                          |
| `ignore_folders_disabled` | boolean | No       | —       | Optional. When true, folders will still be returned when disabled for the organisation                                                                                                                                                                                                                                                                                    |
| `domain`                  | string  | No       | —       | domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders                                                                                                                                                                                                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "page_size": {
        "type": "integer",
        "description": "Required. This determines the max number of folders returned in the response."
      },
      "page_token": {
        "type": "string",
        "description": "Optional. base64 encoded. If this field is present, the list of folders returned will start from the row after this token."
      },
      "order_by.sort_field": {
        "type": "string",
        "description": "The field to order by   - SORT_FIELD_UNSPECIFIED: The sort field is unspecified  - SORT_FIELD_NAME: Sort the folder by name  - SORT_FIELD_FOLDER_ID: Sort the folders by folder id  - SORT_FIELD_USER_ID: Sort the folders by user id  - SORT_FIELD_CREATED_AT: Sort the folders by created at  - SORT_FIELD_MODIFIED_AT: Sort the folders by modified at",
        "enum": [
          "SORT_FIELD_UNSPECIFIED",
          "SORT_FIELD_NAME",
          "SORT_FIELD_FOLDER_ID",
          "SORT_FIELD_USER_ID",
          "SORT_FIELD_CREATED_AT",
          "SORT_FIELD_MODIFIED_AT"
        ]
      },
      "order_by.sort_order": {
        "type": "string",
        "description": "The direction to order by   - SORT_ORDER_UNSPECIFIED: The sort order is not specified  - SORT_ORDER_ASCENDING: The sort order is asc  - SORT_ORDER_DESCENDING: The sort order is desc",
        "enum": [
          "SORT_ORDER_UNSPECIFIED",
          "SORT_ORDER_ASCENDING",
          "SORT_ORDER_DESCENDING"
        ]
      },
      "only_leaf_nodes": {
        "type": "boolean",
        "description": "Optional. When true, GetFolders will only return leaf node folders. leaf nodes are folders that do not have children  Defaults to false."
      },
      "with_ancestors": {
        "type": "boolean",
        "description": "Optional. When true, folders will be returned with a list of their ancestors as well. Defaults to false"
      },
      "include_deleted": {
        "type": "boolean",
        "description": "When true, deleted folders will also be returned"
      },
      "ignore_folders_disabled": {
        "type": "boolean",
        "description": "Optional. When true, folders will still be returned when disabled for the organisation"
      },
      "domain": {
        "type": "string",
        "description": "domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_get\_folders\_by\_parent

Get folders (by parent)

**Parameters:**

| Parameter                         | Type    | Required | Default | Description                                                                                                                                                             |
| --------------------------------- | ------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                              | string  | Yes      | —       | Optional. The identifier of the parent folder. When no parent folder ID is given all top level root folders will be returned                                            |
| `include_members_count`           | boolean | No       | —       | Optional. Whether to return the directly associated members count with the folders. Defaults to false.                                                                  |
| `limit`                           | integer | No       | —       | The number of results to be returned.                                                                                                                                   |
| `page_token`                      | string  | No       | —       | Optional. base64 encoded. If this field is present, the list of folders returned will start from the row after this token.                                              |
| `include_inherited_members_count` | boolean | No       | —       | Optional. Whether to include the number of inherited members for each folder                                                                                            |
| `domain`                          | string  | No       | —       | domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders |
| `only_assigned_folders`           | boolean | No       | —       | When true, GetFoldersByParent will only return folders that are assigned to the user making the request. Defaults to false                                              |
| `with_deleted_folders`            | boolean | No       | —       | Optional. When true, deleted and non-deleted folders will be returned.                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "Optional. The identifier of the parent folder. When no parent folder ID is given all top level root folders will be returned"
      },
      "include_members_count": {
        "type": "boolean",
        "description": "Optional. Whether to return the directly associated members count with the folders. Defaults to false."
      },
      "limit": {
        "type": "integer",
        "description": "The number of results to be returned."
      },
      "page_token": {
        "type": "string",
        "description": "Optional. base64 encoded. If this field is present, the list of folders returned will start from the row after this token."
      },
      "include_inherited_members_count": {
        "type": "boolean",
        "description": "Optional. Whether to include the number of inherited members for each folder"
      },
      "domain": {
        "type": "string",
        "description": "domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders"
      },
      "only_assigned_folders": {
        "type": "boolean",
        "description": "When true, GetFoldersByParent will only return folders that are assigned to the user making the request. Defaults to false"
      },
      "with_deleted_folders": {
        "type": "boolean",
        "description": "Optional. When true, deleted and non-deleted folders will be returned."
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_remove\_folders\_association

Remove association for a specific user to multiple folders

**Parameters:**

| Parameter    | Type      | Required | Default | Description                                                      |
| ------------ | --------- | -------- | ------- | ---------------------------------------------------------------- |
| `user_id`    | string    | Yes      | —       | Required. The user identifier we want to remove folders from     |
| `folder_ids` | string\[] | Yes      | —       | Required. List of folder IDs to remove association to given user |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "user_id": {
        "type": "string",
        "description": "Required. The user identifier we want to remove folders from"
      },
      "folder_ids": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Required. List of folder IDs to remove association to given user"
      }
    },
    "required": [
      "PCID",
      "user_id",
      "folder_ids"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_search\_folders

Search folders

**Parameters:**

| Parameter                 | Type      | Required | Default | Description                                                                                                                                                                                  |
| ------------------------- | --------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`                  | string    | No       | —       | domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders                      |
| `filters`                 | object\[] | No       | —       | Optional. Filters to apply when getting folders. Used for only returning folders that match the filter setting. i.e. only returning meta\_label 'location'. Maximum of 1000 filters allowed. |
| `ignore_folders_disabled` | boolean   | No       | —       | Optional. When true, folders will still be returned when disabled for the organisation                                                                                                       |
| `include_deleted_folders` | boolean   | No       | —       | Whether to return both deleted and non-deleted folders. Defaults to false                                                                                                                    |
| `include_folders_count`   | boolean   | No       | —       | Whether to return the total number of folders discovered in the query. Defaults to false                                                                                                     |
| `include_members_count`   | boolean   | No       | —       | Whether to return the directly associated members count with the folders. Defaults to false.                                                                                                 |
| `limit`                   | integer   | No       | —       | The number of results to be returned. maximum 1500, default 500                                                                                                                              |
| `only_assigned_folders`   | boolean   | No       | —       | When true, SearchFolders will only return folders that are assigned to the user making the request. Defaults to false                                                                        |
| `only_leaf_nodes`         | boolean   | No       | —       | When true, SearchFolders will only search location folders. Defaults to false.                                                                                                               |
| `order_by`                | object    | No       | —       | The order in which folders are sorted.                                                                                                                                                       |
| `page_token`              | string    | No       | —       | The offset used for pagination. The starting number for the next query                                                                                                                       |
| `query`                   | string    | No       | —       | Optional. The search value to query folders with when provided. When not provided, either all of the organisations folders or users folders will be returned in a paginated way              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "domain": {
        "type": "string",
        "description": "domain represents the type/domain/hierarchy for the folder. This is used for getting folders of a certain domain, i.e. getting all `template` folders or `site` folders"
      },
      "filters": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "not": {
              "type": "boolean",
              "description": "If true, exclude results that match the condition"
            },
            "meta_label": {
              "type": "string",
              "description": "Filter on the status"
            },
            "folder_id": {
              "type": "string",
              "description": "Filter on a specific folder id"
            },
            "is_dynamic": {
              "type": "boolean",
              "description": "Filter on whether a folder is dynamic or not"
            }
          }
        },
        "description": "Optional. Filters to apply when getting folders. Used for only returning folders that match the filter setting. i.e. only returning meta_label 'location'. Maximum of 1000 filters allowed."
      },
      "ignore_folders_disabled": {
        "type": "boolean",
        "description": "Optional. When true, folders will still be returned when disabled for the organisation"
      },
      "include_deleted_folders": {
        "type": "boolean",
        "description": "Whether to return both deleted and non-deleted folders. Defaults to false"
      },
      "include_folders_count": {
        "type": "boolean",
        "description": "Whether to return the total number of folders discovered in the query. Defaults to false"
      },
      "include_members_count": {
        "type": "boolean",
        "description": "Whether to return the directly associated members count with the folders. Defaults to false."
      },
      "limit": {
        "type": "integer",
        "description": "The number of results to be returned. maximum 1500, default 500"
      },
      "only_assigned_folders": {
        "type": "boolean",
        "description": "When true, SearchFolders will only return folders that are assigned to the user making the request. Defaults to false"
      },
      "only_leaf_nodes": {
        "type": "boolean",
        "description": "When true, SearchFolders will only search location folders. Defaults to false."
      },
      "order_by": {
        "type": "object",
        "description": "The order in which folders are sorted.",
        "properties": {
          "sort_field": {
            "type": "string",
            "description": "The field to order by",
            "enum": [
              "SORT_FIELD_UNSPECIFIED",
              "SORT_FIELD_NAME",
              "SORT_FIELD_FOLDER_ID",
              "SORT_FIELD_USER_ID",
              "SORT_FIELD_CREATED_AT",
              "SORT_FIELD_MODIFIED_AT"
            ]
          },
          "sort_order": {
            "type": "string",
            "description": "The direction to order by",
            "enum": [
              "SORT_ORDER_UNSPECIFIED",
              "SORT_ORDER_ASCENDING",
              "SORT_ORDER_DESCENDING"
            ]
          }
        }
      },
      "page_token": {
        "type": "string",
        "description": "The offset used for pagination. The starting number for the next query"
      },
      "query": {
        "type": "string",
        "description": "Optional. The search value to query folders with when provided. When not provided, either all of the organisations folders or users folders will be returned in a paginated way"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_directory\_update\_folder\_properties

Update a folder

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                                                                      |
| --------- | ------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `id`      | string | Yes      | —       | Required. The folder identifier of the folder to be updated.                                                                     |
| `domain`  | string | No       | —       | domain represents the type/domain/hierarchy for the folder. This is used for changing the properties of a specific domain folder |
| `name`    | object | No       | —       | Optional. Non-empty folder name. Limited to maximum 250 characters.                                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "Required. The folder identifier of the folder to be updated."
      },
      "domain": {
        "type": "string",
        "description": "domain represents the type/domain/hierarchy for the folder. This is used for changing the properties of a specific domain folder"
      },
      "name": {
        "type": "object",
        "description": "Optional. Non-empty folder name. Limited to maximum 250 characters.",
        "properties": {
          "val": {
            "type": "string",
            "description": "The val value"
          }
        }
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_permissions\_service\_assign\_permission\_set

Assign user to a permission set

**Parameters:**

| Parameter  | Type      | Required | Default | Description                                                                         |
| ---------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------- |
| `id`       | string    | No       | —       | Optional. The ID of the permission set.                                             |
| `name`     | string    | No       | —       | Optional. The name of the permission set to assign. De-prioritised in favour of id. |
| `user_ids` | string\[] | No       | —       | The IDs of the users to assign.                                                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "Optional. The ID of the permission set."
      },
      "name": {
        "type": "string",
        "description": "Optional. The name of the permission set to assign. De-prioritised in favour of id."
      },
      "user_ids": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "The IDs of the users to assign."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_permissions\_service\_get\_permission\_set

Get a permission set

**Parameters:**

| Parameter       | Type    | Required | Default | Description                                                                                         |
| --------------- | ------- | -------- | ------- | --------------------------------------------------------------------------------------------------- |
| `id`            | string  | Yes      | —       | The ID of the permission set.                                                                       |
| `include_users` | boolean | No       | —       | Whether to include users in the response.  Only includes a preview of 10 users, not the entire list |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "id": {
        "type": "string",
        "description": "The ID of the permission set."
      },
      "include_users": {
        "type": "boolean",
        "description": "Whether to include users in the response.  Only includes a preview of 10 users, not the entire list"
      }
    },
    "required": [
      "PCID",
      "id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_permissions\_service\_list\_permission\_sets

List permission sets

**Parameters:**

| Parameter       | Type      | Required | Default | Description                                       |
| --------------- | --------- | -------- | ------- | ------------------------------------------------- |
| `filters`       | object\[] | No       | —       | (Optional). The filters to apply.                 |
| `include_users` | boolean   | No       | —       | Whether to include users in the response.         |
| `limit`         | integer   | No       | —       | The maximum number of permission sets to return.  |
| `offset`        | integer   | No       | —       | The offset of the first permission set to return. |
| `search`        | string    | No       | —       | Search input to filter down the permission sets.  |
| `sort`          | object    | No       | —       | The sorting to apply.                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "filters": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "PERMISSION_SET_TYPE_UNSPECIFIED",
                "PERMISSION_SET_TYPE_DEFAULT",
                "PERMISSION_SET_TYPE_CUSTOM"
              ],
              "description": "Filter by permission set type."
            },
            "seat_type": {
              "type": "string",
              "enum": [
                "SUBSCRIPTION_SEAT_TYPE_UNSPECIFIED",
                "SUBSCRIPTION_SEAT_TYPE_PREMIUM",
                "SUBSCRIPTION_SEAT_TYPE_COLLABORATOR",
                "SUBSCRIPTION_SEAT_TYPE_LITE",
                "SUBSCRIPTION_SEAT_TYPE_SERVICE_USER",
                "SUBSCRIPTION_SEAT_TYPE_SUPPORT"
              ],
              "description": "Filter by required seat type."
            }
          }
        },
        "description": "(Optional). The filters to apply."
      },
      "include_users": {
        "type": "boolean",
        "description": "Whether to include users in the response."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of permission sets to return."
      },
      "offset": {
        "type": "integer",
        "description": "The offset of the first permission set to return."
      },
      "search": {
        "type": "string",
        "description": "Search input to filter down the permission sets."
      },
      "sort": {
        "type": "object",
        "description": "The sorting to apply.",
        "properties": {
          "criteria": {
            "type": "string",
            "description": "The criteria to sort by.",
            "enum": [
              "PERMISSION_SET_SORT_CRITERIA_UNSPECIFIED",
              "PERMISSION_SET_SORT_CRITERIA_DEFAULT",
              "PERMISSION_SET_SORT_CRITERIA_NAME",
              "PERMISSION_SET_SORT_CRITERIA_MIN_SEAT_TYPE",
              "PERMISSION_SET_SORT_CRITERIA_LAST_MODIFIED"
            ]
          },
          "order": {
            "type": "string",
            "description": "The order to sort by.",
            "enum": [
              "PERMISSION_SET_ORDER_UNSPECIFIED",
              "PERMISSION_SET_ORDER_ASC",
              "PERMISSION_SET_ORDER_DESC"
            ]
          },
          "prioritise_seat_type": {
            "type": "string",
            "description": "The seat type to prioritise. If set, permission sets with this seat type will be returned first. Cannot be used with criteria set to seat_type.",
            "enum": [
              "SUBSCRIPTION_SEAT_TYPE_UNSPECIFIED",
              "SUBSCRIPTION_SEAT_TYPE_PREMIUM",
              "SUBSCRIPTION_SEAT_TYPE_COLLABORATOR",
              "SUBSCRIPTION_SEAT_TYPE_LITE",
              "SUBSCRIPTION_SEAT_TYPE_SERVICE_USER",
              "SUBSCRIPTION_SEAT_TYPE_SUPPORT"
            ]
          }
        }
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_add\_new\_user\_to\_group

Add user to a group

**Parameters:**

| Parameter  | Type   | Required | Default | Description                             |
| ---------- | ------ | -------- | ------- | --------------------------------------- |
| `group_id` | string | Yes      | —       | The ID of the group to add the user to. |
| `user_id`  | string | Yes      | —       | The ID of the user to add to the group. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "group_id": {
        "type": "string",
        "description": "The ID of the group to add the user to."
      },
      "user_id": {
        "type": "string",
        "description": "The ID of the user to add to the group."
      }
    },
    "required": [
      "PCID",
      "group_id",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_add\_user

Create a user

**Parameters:**

| Parameter   | Type   | Required | Default | Description                                                |
| ----------- | ------ | -------- | ------- | ---------------------------------------------------------- |
| `email`     | string | Yes      | —       | The email address of the user.                             |
| `firstname` | string | Yes      | —       | The first name of the user.                                |
| `lastname`  | string | Yes      | —       | The last name of the user.                                 |
| `message`   | string | No       | —       | Message passed to the newly created user.                  |
| `password`  | string | Yes      | —       | The password of the user.                                  |
| `seat_type` | string | No       | —       | The billing seat type of the added user, `free` or `full`. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "email": {
        "type": "string",
        "description": "The email address of the user."
      },
      "firstname": {
        "type": "string",
        "description": "The first name of the user."
      },
      "lastname": {
        "type": "string",
        "description": "The last name of the user."
      },
      "message": {
        "type": "string",
        "description": "Message passed to the newly created user."
      },
      "password": {
        "type": "string",
        "description": "The password of the user."
      },
      "seat_type": {
        "type": "string",
        "description": "The billing seat type of the added user, `free` or `full`.",
        "enum": [
          "full",
          "free",
          "lite"
        ]
      }
    },
    "required": [
      "PCID",
      "email",
      "firstname",
      "lastname",
      "password"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_create\_group

Create a group

**Parameters:**

| Parameter | Type   | Required | Default | Description                          |
| --------- | ------ | -------- | ------- | ------------------------------------ |
| `name`    | string | Yes      | —       | The name of the group to be created. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "name": {
        "type": "string",
        "description": "The name of the group to be created."
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_get\_user

Get a user

**Parameters:**

| Parameter | Type   | Required | Default | Description                         |
| --------- | ------ | -------- | ------- | ----------------------------------- |
| `user_id` | string | Yes      | —       | The id of the user to be retrieved. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "user_id": {
        "type": "string",
        "description": "The id of the user to be retrieved."
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_list\_groups

List groups

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_list\_users\_in\_group

List a group's or an organization's users

**Parameters:**

| Parameter  | Type      | Required | Default | Description                                                                                   |
| ---------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------------- |
| `group_id` | string    | Yes      | —       | The ID of the group or organization to list users for.                                        |
| `limit`    | integer   | No       | —       | The maximum number of users to return.  optional                                              |
| `offset`   | integer   | No       | —       | The offset to start listing users from.  optional                                             |
| `status`   | string\[] | No       | —       | The status to filter users by.  optional   - active: Active user.  - inactive: Inactive user. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "group_id": {
        "type": "string",
        "description": "The ID of the group or organization to list users for."
      },
      "limit": {
        "type": "integer",
        "description": "The maximum number of users to return.  optional"
      },
      "offset": {
        "type": "integer",
        "description": "The offset to start listing users from.  optional"
      },
      "status": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "active",
            "inactive"
          ]
        },
        "description": "The status to filter users by.  optional   - active: Active user.  - inactive: Inactive user."
      }
    },
    "required": [
      "PCID",
      "group_id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_remove\_user

Remove user from a group

**Parameters:**

| Parameter          | Type   | Required | Default | Description                                                                         |
| ------------------ | ------ | -------- | ------- | ----------------------------------------------------------------------------------- |
| `group_id`         | string | Yes      | —       | The ID of the group or organization to remove the user from.                        |
| `user_id`          | string | Yes      | —       | The ID of the user to remove.                                                       |
| `replacement_user` | string | No       | —       | The ID of the user to reassign data to when removing the user from an organization. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "group_id": {
        "type": "string",
        "description": "The ID of the group or organization to remove the user from."
      },
      "user_id": {
        "type": "string",
        "description": "The ID of the user to remove."
      },
      "replacement_user": {
        "type": "string",
        "description": "The ID of the user to reassign data to when removing the user from an organization."
      }
    },
    "required": [
      "PCID",
      "group_id",
      "user_id"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_search\_users

List users (by email)

**Parameters:**

| Parameter | Type      | Required | Default | Description                    |
| --------- | --------- | -------- | ------- | ------------------------------ |
| `email`   | string\[] | Yes      | —       | Emails to filter by. Required. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "email": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Emails to filter by. Required."
      }
    },
    "required": [
      "PCID",
      "email"
    ]
  }
  ```
</Expandable>

***

## safetyculture\_users\_the\_pub\_service\_update\_user

Update a user

**Parameters:**

| Parameter   | Type   | Required | Default | Description                                                          |
| ----------- | ------ | -------- | ------- | -------------------------------------------------------------------- |
| `user_id`   | string | Yes      | —       | The id of the user to be updated.                                    |
| `firstname` | string | No       | —       | The first name of the user.  Optional                                |
| `lastname`  | string | No       | —       | The last name of the user.  Optional                                 |
| `new_email` | string | No       | —       | The email address of the user.  Optional                             |
| `seat_type` | string | No       | —       | The billing seat type of the added user, `free` or `full`.  Optional |
| `status`    | string | No       | —       | The status of the user.  Optional                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "user_id": {
        "type": "string",
        "description": "The id of the user to be updated."
      },
      "firstname": {
        "type": "string",
        "description": "The first name of the user.  Optional"
      },
      "lastname": {
        "type": "string",
        "description": "The last name of the user.  Optional"
      },
      "new_email": {
        "type": "string",
        "description": "The email address of the user.  Optional"
      },
      "seat_type": {
        "type": "string",
        "description": "The billing seat type of the added user, `free` or `full`.  Optional",
        "enum": [
          "full",
          "free",
          "lite"
        ]
      },
      "status": {
        "type": "string",
        "description": "The status of the user.  Optional",
        "enum": [
          "active",
          "inactive"
        ]
      }
    },
    "required": [
      "PCID",
      "user_id"
    ]
  }
  ```
</Expandable>
