# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Soda Cloud API v4 Users API version: 1.0.0 extends: openapi/soda-data-users-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 8 - target: $.paths['/api/v1/userGroups'].get update: x-apievangelist-phrasing: intent: List user groups effect: read questions: - Which user groups exist and who belongs to each? - Can I search user groups by name? instructions: - text: List all user groups with their members. - text: Search user groups for {search}. slots: search: query.search method: generated generated: '2026-09-26' - target: $.paths['/api/v1/userGroups'].post update: x-apievangelist-phrasing: intent: Create a user group effect: write questions: - How do I create a team group and add members to it? - Can I create an empty user group and add people later? instructions: - text: Create user group {name}. slots: name: requestBody.name - text: Create user group {name} with members {userIds}. slots: name: requestBody.name userIds: requestBody.userIds method: generated generated: '2026-09-26' - target: $.paths['/api/v1/userGroups/{userGroupId}'].get update: x-apievangelist-phrasing: intent: Get a user group effect: read questions: - Who are the members of a specific user group? - Can I fetch one user group by ID? instructions: - text: Get user group {userGroupId}. slots: userGroupId: path.userGroupId - text: Show the members of user group {userGroupId}. slots: userGroupId: path.userGroupId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/userGroups/{userGroupId}'].post update: x-apievangelist-phrasing: intent: Update user group members effect: write questions: - How do I change the membership of an existing user group? - Can I replace the members of a group in one call? instructions: - text: Set the members of user group {userGroupId} to {userIds}. slots: userGroupId: path.userGroupId userIds: requestBody.userIds - text: Update group {userGroupId} so its members are {userIds}. slots: userGroupId: path.userGroupId userIds: requestBody.userIds method: generated generated: '2026-09-26' - target: $.paths['/api/v1/userGroups/{userGroupId}'].delete update: x-apievangelist-phrasing: intent: Delete a user group effect: destructive questions: - How do I remove a user group I no longer need? - What response comes back if the user group I delete does not exist? instructions: - text: Delete user group {userGroupId}. slots: userGroupId: path.userGroupId - text: Remove group {userGroupId} from the organization. slots: userGroupId: path.userGroupId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/users'].get update: x-apievangelist-phrasing: intent: List users effect: read questions: - Who has access to my organization's Soda Cloud account? - Can I search users by name or email? instructions: - text: List all users in my organization. - text: Search users for {search}. slots: search: query.search method: generated generated: '2026-09-26' - target: $.paths['/api/v1/users'].post update: x-apievangelist-phrasing: intent: Invite users by email effect: write questions: - How do I invite teammates to join my organization? - Can I send invitations to several email addresses at once? instructions: - text: Invite {emails} to my organization. slots: emails: requestBody.emails - text: Send join invitations to the addresses {emails}. slots: emails: requestBody.emails method: generated generated: '2026-09-26' - target: $.paths['/api/v1/users/{userId}/disable'].post update: x-apievangelist-phrasing: intent: Disable a user effect: destructive questions: - Can I deactivate someone's membership without deleting their account? - Why can't I disable users in an SSO-enabled organization through the API? instructions: - text: Disable user {userId}. slots: userId: path.userId - text: Deactivate the organization membership of user {userId}. slots: userId: path.userId method: generated generated: '2026-09-26'