> For the complete documentation index, see [llms.txt](https://docs.soda.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.soda.io/apis/rest-api/users.md).

# Users

Soda Cloud API Users Endpoints

## Get the default service account responsibilities

> This endpoint returns the organization-wide defaults that Soda applies to every newly created service account: the users and user groups that are assigned a service account role automatically.\
> \
> Assignments whose role has since been deleted are left out, because they no longer grant anything.\
> \
> It is available once service account roles are enabled for the organization.\
> \
> \## Authorization\
> \
> Only users with the \*\*Manage organization settings\*\* permission can read the default service account responsibilities.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ORGANISATION\_SETTINGS to execute this call.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiServiceAccountDefaultResponsibilitiesResponse":{"type":"object","properties":{"assignments":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ServiceAccountDefaultAssignmentContentDTO"}}},"required":["assignments"]},"ServiceAccountDefaultAssignmentContentDTO":{"type":"object","properties":{"role":{"type":"object","$ref":"#/components/schemas/ServiceAccountRoleContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["role","type"]},"ServiceAccountRoleContentDTO":{"type":"object","properties":{"deleteServiceAccount":{"type":"boolean","description":"Grants deactivating and activating the service account; Soda Cloud does not delete service accounts."},"editServiceAccount":{"type":"boolean"},"id":{"type":"string"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewServiceAccount":{"type":"boolean"}},"required":["id","name"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/serviceAccounts/defaultResponsibilities":{"get":{"description":"This endpoint returns the organization-wide defaults that Soda applies to every newly created service account: the users and user groups that are assigned a service account role automatically.\n\nAssignments whose role has since been deleted are left out, because they no longer grant anything.\n\nIt is available once service account roles are enabled for the organization.\n\n## Authorization\n\nOnly users with the **Manage organization settings** permission can read the default service account responsibilities.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/serviceAccounts/defaultResponsibilities","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiServiceAccountDefaultResponsibilitiesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get the default service account responsibilities","tags":["Users"]}}}}
```

## Update the default service account responsibilities

> This endpoint updates the organization-wide defaults that Soda applies to every newly created service account.\
> \
> \*\*Note\*\*: \`assignments\` fully replaces the current list, so send every assignment you want to keep, or an empty list to remove every assignment. A request carries at most 1000 assignments.\
> \
> Existing service accounts keep the responsibilities they already have.\
> \
> It is available once service account roles are enabled for the organization.\
> \
> \## Authorization\
> \
> Only users with the \*\*Manage organization settings\*\* permission can update the default service account responsibilities.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ORGANISATION\_SETTINGS to execute this call.\
> \
> \## Auditable\
> \
> This API is marked as \*\*audited\*\* on execution.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUpdateServiceAccountDefaultResponsibilitiesRequestDTO":{"type":"object","properties":{"assignments":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ServiceAccountDefaultAssignmentRequestDTO"}}},"required":["assignments"]},"ServiceAccountDefaultAssignmentRequestDTO":{"type":"object","properties":{"roleId":{"type":"string"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["roleId","type"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"PublicApiServiceAccountDefaultResponsibilitiesResponse":{"type":"object","properties":{"assignments":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ServiceAccountDefaultAssignmentContentDTO"}}},"required":["assignments"]},"ServiceAccountDefaultAssignmentContentDTO":{"type":"object","properties":{"role":{"type":"object","$ref":"#/components/schemas/ServiceAccountRoleContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["role","type"]},"ServiceAccountRoleContentDTO":{"type":"object","properties":{"deleteServiceAccount":{"type":"boolean","description":"Grants deactivating and activating the service account; Soda Cloud does not delete service accounts."},"editServiceAccount":{"type":"boolean"},"id":{"type":"string"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewServiceAccount":{"type":"boolean"}},"required":["id","name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/serviceAccounts/defaultResponsibilities":{"post":{"description":"This endpoint updates the organization-wide defaults that Soda applies to every newly created service account.\n\n**Note**: `assignments` fully replaces the current list, so send every assignment you want to keep, or an empty list to remove every assignment. A request carries at most 1000 assignments.\n\nExisting service accounts keep the responsibilities they already have.\n\nIt is available once service account roles are enabled for the organization.\n\n## Authorization\n\nOnly users with the **Manage organization settings** permission can update the default service account responsibilities.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Auditable\n\nThis API is marked as **audited** on execution.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/serviceAccounts/defaultResponsibilities","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateServiceAccountDefaultResponsibilitiesRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiServiceAccountDefaultResponsibilitiesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update the default service account responsibilities","tags":["Users"]}}}}
```

## List service account roles

> This endpoint lists the service account roles available in your organization's Soda Cloud account. Use them to manage access to individual service accounts.\
> \
> It is available once service account roles are enabled for the organization.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`size\`: Supply an integer value between 10 and 100, inclusive. The default value is 100.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiServiceAccountRolesResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ServiceAccountRoleContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"ServiceAccountRoleContentDTO":{"type":"object","properties":{"deleteServiceAccount":{"type":"boolean","description":"Grants deactivating and activating the service account; Soda Cloud does not delete service accounts."},"editServiceAccount":{"type":"boolean"},"id":{"type":"string"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewServiceAccount":{"type":"boolean"}},"required":["id","name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/serviceAccounts/roles":{"get":{"description":"This endpoint lists the service account roles available in your organization's Soda Cloud account. Use them to manage access to individual service accounts.\n\nIt is available once service account roles are enabled for the organization.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 10 and 100, inclusive. The default value is 100.\n\n- `page`: Supply an integer value. The default value is 0.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/serviceAccounts/roles","parameters":[{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiServiceAccountRolesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"List service account roles","tags":["Users"]}}}}
```

## List service account responsibilities

> This endpoint lists the users and user groups that hold a role on a service account in your organization's Soda Cloud account, and the role each of them holds.\
> \
> It is available once service account roles are enabled for the organization.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`size\`: Supply an integer value between 1 and 100, inclusive. The default value is 100.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> \## Authorization\
> \
> Soda only returns the responsibilities of a service account the user has \*\*View service account\*\* permission on; any other service account answers \`404\`. Soda Cloud Admins can view every service account.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 100 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiServiceAccountResponsibilitiesResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ServiceAccountResponsibilityContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"ServiceAccountResponsibilityContentDTO":{"type":"object","properties":{"role":{"type":"object","$ref":"#/components/schemas/ServiceAccountRoleContentDTO"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["role","type"]},"ServiceAccountRoleContentDTO":{"type":"object","properties":{"deleteServiceAccount":{"type":"boolean","description":"Grants deactivating and activating the service account; Soda Cloud does not delete service accounts."},"editServiceAccount":{"type":"boolean"},"id":{"type":"string"},"managePermissions":{"type":"boolean"},"name":{"type":"string"},"viewServiceAccount":{"type":"boolean"}},"required":["id","name"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/serviceAccounts/{serviceAccountId}/responsibilities":{"get":{"description":"This endpoint lists the users and user groups that hold a role on a service account in your organization's Soda Cloud account, and the role each of them holds.\n\nIt is available once service account roles are enabled for the organization.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 1 and 100, inclusive. The default value is 100.\n\n- `page`: Supply an integer value. The default value is 0.\n\n## Authorization\n\nSoda only returns the responsibilities of a service account the user has **View service account** permission on; any other service account answers `404`. Soda Cloud Admins can view every service account.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"GET/api/v1/serviceAccounts/{serviceAccountId}/responsibilities","parameters":[{"in":"path","name":"serviceAccountId","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiServiceAccountResponsibilitiesResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"List service account responsibilities","tags":["Users"]}}}}
```

## Update service account responsibilities

> This endpoint sets the users and user groups that hold a role on a service account in your organization's Soda Cloud account, and the role each of them holds.\
> \
> It is available once service account roles are enabled for the organization.\
> \
> \*\*Note\*\*: This API fully replaces the existing responsibilities. The entire list of responsibilities must be provided in the request, including both new and existing entries, as any omissions will result in their removal. A request carries at most 1000 responsibilities.\
> \
> The Response of this call, when successful, is \`201\` and contains header \`Location\` which identifies the URL where the responsibilities are available.\
> \
> \## Authorization\
> \
> Users need the \*\*Manage service account responsibilities\*\* permission on the service account, or the global permission \*\*Manage organization settings\*\*. A service account the user cannot view answers \`404\`.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Auditable\
> \
> This API is marked as \*\*audited\*\* on execution.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 100 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUpdateServiceAccountResponsibilitiesRequestDTO":{"type":"object","properties":{"responsibilities":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/ServiceAccountResponsibilityContentRequestDTO"}}},"required":["responsibilities"]},"ServiceAccountResponsibilityContentRequestDTO":{"type":"object","properties":{"roleId":{"type":"string"},"type":{"type":"object","$ref":"#/components/schemas/ResponsibilityTypeDTO"},"userGroupId":{"type":"string"},"userId":{"type":"string"}},"required":["roleId","type"]},"ResponsibilityTypeDTO":{"type":"string","enum":["user","userGroup"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/serviceAccounts/{serviceAccountId}/responsibilities":{"post":{"description":"This endpoint sets the users and user groups that hold a role on a service account in your organization's Soda Cloud account, and the role each of them holds.\n\nIt is available once service account roles are enabled for the organization.\n\n**Note**: This API fully replaces the existing responsibilities. The entire list of responsibilities must be provided in the request, including both new and existing entries, as any omissions will result in their removal. A request carries at most 1000 responsibilities.\n\nThe Response of this call, when successful, is `201` and contains header `Location` which identifies the URL where the responsibilities are available.\n\n## Authorization\n\nUsers need the **Manage service account responsibilities** permission on the service account, or the global permission **Manage organization settings**. A service account the user cannot view answers `404`.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Auditable\n\nThis API is marked as **audited** on execution.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n100 requests/60 seconds","operationId":"POST/api/v1/serviceAccounts/{serviceAccountId}/responsibilities","parameters":[{"in":"path","name":"serviceAccountId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateServiceAccountResponsibilitiesRequestDTO"}}},"required":true},"responses":{"201":{"description":"Created","headers":{"Location":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update service account responsibilities","tags":["Users"]}}}}
```

## Get user groups

> This endpoint enables you to gather information about the user groups in your organization's Soda Cloud account, including lists of members.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`size\`: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> \- \`search\`: Optionally, use this parameter to perform a fuzzy search on the user group name. \
> \
> If not specified, the query gathers information for all user groups in the account and sorts the results by user group name in ascending order.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUserGroupsResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/UserGroupContentDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"UserGroupContentDTO":{"type":"object","properties":{"label":{"type":"string","description":"Display name of the user group. Equals `name` unless the user group has been given a label."},"name":{"type":"string"},"userGroupId":{"type":"string"},"users":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/UserContentDTO"}}},"required":["label","name","userGroupId","users"]},"UserContentDTO":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"},"userId":{"type":"string"}},"required":["email","userId"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/userGroups":{"get":{"description":"This endpoint enables you to gather information about the user groups in your organization's Soda Cloud account, including lists of members.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 10 and 1000, inclusive. The default value is 1000.\n\n- `page`: Supply an integer value. The default value is 0.\n\n- `search`: Optionally, use this parameter to perform a fuzzy search on the user group name. \n\nIf not specified, the query gathers information for all user groups in the account and sorts the results by user group name in ascending order.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/userGroups","parameters":[{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"search","schema":{"type":"string"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUserGroupsResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get user groups","tags":["Users"]}}}}
```

## Create user group

> This endpoint enables you to create a new user group in your organization's Soda Cloud account.\
> \
> The Response of this call, when successful, is \`201\` and contains headers \`Location\` which is a reference to the newly created User Group.\
> \
> \## Authorization\
> \
> Only users with \*\*Manage organization settings\*\* permission can update user groups.\*\*See \[Manage global roles]\(<https://go.soda.io/roles-global>) for more information.\*\*\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ORGANISATION\_SETTINGS to execute this call.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiCreateUserGroupRequestDTO":{"type":"object","properties":{"name":{"type":"string"},"userIds":{"type":"array","items":{"type":"string"}}},"required":["name"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/userGroups":{"post":{"description":"This endpoint enables you to create a new user group in your organization's Soda Cloud account.\n\nThe Response of this call, when successful, is `201` and contains headers `Location` which is a reference to the newly created User Group.\n\n## Authorization\n\nOnly users with **Manage organization settings** permission can update user groups.**See [Manage global roles](https://go.soda.io/roles-global) for more information.**\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/userGroups","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiCreateUserGroupRequestDTO"}}},"required":true},"responses":{"200":{"description":"Successful response","headers":{"Location":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Create user group","tags":["Users"]}}}}
```

## Get user group

> This endpoint enables you to gather information about a single user group in your organization's Soda Cloud account, including lists of members.\
> \
> This GET is a non-paginated API that returns a single organization based on its ID.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"UserGroupContentDTO":{"type":"object","properties":{"label":{"type":"string","description":"Display name of the user group. Equals `name` unless the user group has been given a label."},"name":{"type":"string"},"userGroupId":{"type":"string"},"users":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/UserContentDTO"}}},"required":["label","name","userGroupId","users"]},"UserContentDTO":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"},"userId":{"type":"string"}},"required":["email","userId"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/userGroups/{userGroupId}":{"get":{"description":"This endpoint enables you to gather information about a single user group in your organization's Soda Cloud account, including lists of members.\n\nThis GET is a non-paginated API that returns a single organization based on its ID.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/userGroups/{userGroupId}","parameters":[{"in":"path","name":"userGroupId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/UserGroupContentDTO"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get user group","tags":["Users"]}}}}
```

## Update user group

> This endpoint enables you to update an existing user group in your organization's Soda Cloud account.\
> \
> The Response of this call, when successful, is \`200\` and contains updated User Group details.\
> \
> \## Authorization\
> \
> Only users with \*\*Manage organization settings\*\* permission can update user groups.\*\*See \[Manage global roles]\(<https://go.soda.io/roles-global>) for more information.\*\*\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ORGANISATION\_SETTINGS to execute this call.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUpdateUserGroupRequestDTO":{"type":"object","properties":{"userIds":{"type":"array","items":{"type":"string"}}}},"UserGroupContentDTO":{"type":"object","properties":{"label":{"type":"string","description":"Display name of the user group. Equals `name` unless the user group has been given a label."},"name":{"type":"string"},"userGroupId":{"type":"string"},"users":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/UserContentDTO"}}},"required":["label","name","userGroupId","users"]},"UserContentDTO":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"},"userId":{"type":"string"}},"required":["email","userId"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/userGroups/{userGroupId}":{"post":{"description":"This endpoint enables you to update an existing user group in your organization's Soda Cloud account.\n\nThe Response of this call, when successful, is `200` and contains updated User Group details.\n\n## Authorization\n\nOnly users with **Manage organization settings** permission can update user groups.**See [Manage global roles](https://go.soda.io/roles-global) for more information.**\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/userGroups/{userGroupId}","parameters":[{"in":"path","name":"userGroupId","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUpdateUserGroupRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/UserGroupContentDTO"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Update user group","tags":["Users"]}}}}
```

## Delete user group

> This endpoint enables you to delete an existing user group from your organization's Soda Cloud account.\
> \
> In case of success, the response returns a \`200\` (OK) response.\
> \
> In case user group is not found, the response returns a \`404\` (Not found) response.\
> \
> \## Authorization\
> \
> Only users with \*\*Manage organization settings\*\* permission can update user groups.\*\*See \[Manage global roles]\(<https://go.soda.io/roles-global>) for more information.\*\*\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ORGANISATION\_SETTINGS to execute this call.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDeleteUserGroupResponse":{"type":"object"},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/userGroups/{userGroupId}":{"delete":{"description":"This endpoint enables you to delete an existing user group from your organization's Soda Cloud account.\n\nIn case of success, the response returns a `200` (OK) response.\n\nIn case user group is not found, the response returns a `404` (Not found) response.\n\n## Authorization\n\nOnly users with **Manage organization settings** permission can update user groups.**See [Manage global roles](https://go.soda.io/roles-global) for more information.**\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"DELETE/api/v1/userGroups/{userGroupId}","parameters":[{"in":"path","name":"userGroupId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDeleteUserGroupResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Delete user group","tags":["Users"]}}}}
```

## Get users

> This endpoint enables you to gather information about the users in your organization's Soda Cloud account.\
> \
> The list also contains the organization's service accounts; the \`userId\` of a service account is the \`serviceAccountId\` that the service account endpoints take.\
> \
> This GET is a paginated API that uses the following parameters to request specific details:\
> \
> \- \`size\`: Supply an integer value between 1 and 1000, inclusive. The default value is 1000.\
> \
> \- \`page\`: Supply an integer value. The default value is 0.\
> \
> \- \`includeDisabled\`: Optionally, set to \`true\` to include users that have been disabled in the organization. The default value is \`false\`.\
> \
> \- \`search\`: Optionally, use this parameter to perform a fuzzy search on the user first name, last name, or email address. \
> \
> If not specified, the query gathers information for all enabled users in the account, plus disabled users when \`includeDisabled=true\`, and sorts the results by user name in ascending order.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Any Soda Cloud user in your organization may execute this query.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiUsersResponse":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/UserListItemDTO"}},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int32"},"totalPages":{"type":"integer","format":"int32"}},"required":["content","first","last","number","size","totalElements","totalPages"]},"UserListItemDTO":{"type":"object","properties":{"email":{"type":"string"},"enabled":{"type":"boolean"},"firstName":{"type":"string"},"fullName":{"type":"string"},"lastName":{"type":"string"},"userId":{"type":"string"}},"required":["email","enabled","userId"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/users":{"get":{"description":"This endpoint enables you to gather information about the users in your organization's Soda Cloud account.\n\nThe list also contains the organization's service accounts; the `userId` of a service account is the `serviceAccountId` that the service account endpoints take.\n\nThis GET is a paginated API that uses the following parameters to request specific details:\n\n- `size`: Supply an integer value between 1 and 1000, inclusive. The default value is 1000.\n\n- `page`: Supply an integer value. The default value is 0.\n\n- `includeDisabled`: Optionally, set to `true` to include users that have been disabled in the organization. The default value is `false`.\n\n- `search`: Optionally, use this parameter to perform a fuzzy search on the user first name, last name, or email address. \n\nIf not specified, the query gathers information for all enabled users in the account, plus disabled users when `includeDisabled=true`, and sorts the results by user name in ascending order.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nAny Soda Cloud user in your organization may execute this query.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"GET/api/v1/users","parameters":[{"in":"query","name":"includeDisabled","schema":{"type":"boolean"}},{"in":"query","name":"page","schema":{"type":"integer","format":"int32"}},{"in":"query","name":"search","schema":{"type":"string"}},{"in":"query","name":"size","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiUsersResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Get users","tags":["Users"]}}}}
```

## Invite users

> This endpoint enables you to invite users to your organization's Soda Cloud account.\
> \
> Invited users will receive an email with a link to set their password and join your organization in Soda Cloud. Once they complete the setup, they will have access to Soda Cloud based on the roles and permissions you assign.\
> \
> If your organization is using SSO, invited users will receive an invitation email with a link to Soda Cloud. When they log in using SSO, they are immediately added to the Soda Cloud organization.\
> \
> You can invite up to 10 users per request. The response contains lists of successful and failed invitations.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Authorization\
> \
> Users must have global role permission MANAGE\_ORGANISATION\_SETTINGS to execute this call.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 10 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiInviteUserRequestDTO":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"}}},"required":["emails"]},"PublicApiInviteUserResponse":{"type":"object","properties":{"failedInvitations":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/FailedInvitationDTO"}},"validInvitations":{"type":"array","items":{"type":"string"}}}},"FailedInvitationDTO":{"type":"object","properties":{"email":{"type":"string"},"error":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/users":{"post":{"description":"This endpoint enables you to invite users to your organization's Soda Cloud account.\n\nInvited users will receive an email with a link to set their password and join your organization in Soda Cloud. Once they complete the setup, they will have access to Soda Cloud based on the roles and permissions you assign.\n\nIf your organization is using SSO, invited users will receive an invitation email with a link to Soda Cloud. When they log in using SSO, they are immediately added to the Soda Cloud organization.\n\nYou can invite up to 10 users per request. The response contains lists of successful and failed invitations.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Authorization\n\nUsers must have global role permission MANAGE_ORGANISATION_SETTINGS to execute this call.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n10 requests/60 seconds","operationId":"POST/api/v1/users","requestBody":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiInviteUserRequestDTO"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiInviteUserResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Invite users","tags":["Users"]}}}}
```

## Disable user

> This endpoint disables a user in your organization's Soda Cloud account.\
> \
> Disabling a user deactivates their membership in the organization. The user is not deleted and can be re-enabled later with the enable user endpoint.\
> \
> Their active sessions are revoked immediately, so they can no longer sign in, including through SSO.\
> \
> In organizations that provision users over SCIM, the identity provider stays the source of truth: a later sync that reports the user as active will re-enable them.\
> \
> \## Authorization\
> \
> Users need the global permission \*\*Manage organization settings\*\*. To disable a service account, the \*\*Activate and deactivate service account\*\* permission on it is enough once service account roles are enabled; a service account the user cannot view is treated like an unknown user.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Auditable\
> \
> This API is marked as \*\*audited\*\* on execution.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiDisableUserResponse":{"type":"object"},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/users/{userId}/disable":{"post":{"description":"This endpoint disables a user in your organization's Soda Cloud account.\n\nDisabling a user deactivates their membership in the organization. The user is not deleted and can be re-enabled later with the enable user endpoint.\n\nTheir active sessions are revoked immediately, so they can no longer sign in, including through SSO.\n\nIn organizations that provision users over SCIM, the identity provider stays the source of truth: a later sync that reports the user as active will re-enable them.\n\n## Authorization\n\nUsers need the global permission **Manage organization settings**. To disable a service account, the **Activate and deactivate service account** permission on it is enough once service account roles are enabled; a service account the user cannot view is treated like an unknown user.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Auditable\n\nThis API is marked as **audited** on execution.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/users/{userId}/disable","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiDisableUserResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Disable user","tags":["Users"]}}}}
```

## Enable user

> This endpoint re-enables a user in your organization's Soda Cloud account that was previously disabled.\
> \
> Enabling a user reactivates their membership in the organization with the roles and group memberships they had before they were disabled. They can sign in again, including through SSO.\
> \
> The list users endpoint returns disabled users only when you pass \`includeDisabled=true\`, and marks them with \`enabled: false\`.\
> \
> In organizations that provision users over SCIM, the identity provider stays the source of truth: a later sync that reports the user as inactive will disable them again.\
> \
> \## Authorization\
> \
> Users need the global permission \*\*Manage organization settings\*\*. To enable a service account, the \*\*Activate and deactivate service account\*\* permission on it is enough once service account roles are enabled; a service account the user cannot view is treated like an unknown user.\
> \
> \## Authentication\
> \
> User authentication required: \`true\`\
> \
> This endpoint accepts authentication via API keys in the \`Basic\` authentication header, or a pre-authenticated token in HTTP cookie \`token\`. Cookie sessions extend automatically on each request.\
> \
> \## Auditable\
> \
> This API is marked as \*\*audited\*\* on execution.\
> \
> \## Tags\
> \
> \`Users\`\
> \
> \## Rate limiting\
> \
> 60 requests/60 seconds

```json
{"openapi":"3.1.0","info":{"title":"Soda Cloud API v4","version":"v1"},"tags":[{"description":"Soda Cloud API Users Endpoints","name":"Users"}],"servers":[{"description":"Cloud EU","url":"https://cloud.soda.io"},{"description":"Cloud US","url":"https://cloud.us.soda.io"}],"security":[{"basicAuthApiKey":[]},{"cookieToken":[]}],"components":{"securitySchemes":{"basicAuthApiKey":{"scheme":"basic","type":"http"},"cookieToken":{"in":"cookie","name":"token","type":"apiKey"}},"schemas":{"PublicApiEnableUserResponse":{"type":"object"},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/api/v1/users/{userId}/enable":{"post":{"description":"This endpoint re-enables a user in your organization's Soda Cloud account that was previously disabled.\n\nEnabling a user reactivates their membership in the organization with the roles and group memberships they had before they were disabled. They can sign in again, including through SSO.\n\nThe list users endpoint returns disabled users only when you pass `includeDisabled=true`, and marks them with `enabled: false`.\n\nIn organizations that provision users over SCIM, the identity provider stays the source of truth: a later sync that reports the user as inactive will disable them again.\n\n## Authorization\n\nUsers need the global permission **Manage organization settings**. To enable a service account, the **Activate and deactivate service account** permission on it is enough once service account roles are enabled; a service account the user cannot view is treated like an unknown user.\n\n## Authentication\n\nUser authentication required: `true`\n\nThis endpoint accepts authentication via API keys in the `Basic` authentication header, or a pre-authenticated token in HTTP cookie `token`. Cookie sessions extend automatically on each request.\n\n## Auditable\n\nThis API is marked as **audited** on execution.\n\n## Tags\n\n`Users`\n\n## Rate limiting\n\n60 requests/60 seconds","operationId":"POST/api/v1/users/{userId}/enable","parameters":[{"in":"path","name":"userId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/PublicApiEnableUserResponse"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Bad request"},"401":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Not found"},"429":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Too many requests"},"500":{"content":{"application/json":{"schema":{"type":"object","$ref":"#/components/schemas/ErrorResponse"}}},"description":"Internal server error"}},"summary":"Enable user","tags":["Users"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.soda.io/apis/rest-api/users.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
