Documentation was generated on 2026-05-20T09:45:42.380Z
Deletes a user. Response has status code 200 if successful. pub.user-service.user-deleted is published after deletion
Gets users. Response has status code 200 if successful. Note that any query params will be used as a mongo query.
Gets user by id. Response has status code 200 if successful.
Creates a fruster user. Must include a few base fields but can contain any number of custom fields. Response has status code 201 if successful. Automatically splits data between user and profile if configured to.
Updates a user. Can contain any number of custom fields. Response has status code 200 if successful.
Gets audit logs for a specific user. The result is sorted on timestamp. Supports pagination.
Will return a Set-Cookie to instruct browser to expire any existing cookie and delete the session of the token (from cookie or Authorization Bearer-header) from the database. Should be used by both Token and Cookie.
Note: When using the query param logoutId the id is obtained from GET to /auth/active-sessions which can only be done by the logged in user.
Gets all active sesssions for the logged in user, typically to be used to list sessions similar to something like google or facebook with the ability to logout any session:

Will return all values as null (expect for id) if user hasn't been active since the session details functionality was implemented (sometime around 2020-06-11).
Disables Two Factor Authentication via SMS for the user. Will remove the sms from the user's two factor authentication methods.
Enables Two Factor Authentication via SMS for the user. Will send a SMS to the provided phone number with a code that the user needs to input to enable TFA. The code is valid for 10 minutes.
Gets a fresh access token by providing a refresh token.
Login for non web devices such as native mobile apps. Returns an access token to be used as bearer authentication. Response body also contains profile which has the same data as user-service.get-users-by-query with expand: "profile" but for the logged in user.
Verifies the Two Factor Authentication code sent to the user via SMS. Will return a Set-Cookie with the new session token if the code is correct. The code is valid for 10 minutes.
Collects status and returns qr code. Returns status 202 while order is pending, and status 200 when complete, along with completionData
Initiates a BankID login. Will return details so client can either autostart bankid application or render a qr code which will be scanned from other device running BankID application.
Initiates a BankID sign order. Will return details so client can either autostart bankid application or render a qr code which will be scanned from other device running BankID application.
Delete the bulletin board information for a specific date
Delete a bulletin board device
Getting a bulletin board inforamtion for a specific day
Check status of a TV registration, used from TV-app
List devices for a specific group
Get current hash value of the data that should be shown on the bulletin board
Get all information about a bulletin board screen for a specific day
TODO: Add description
Update the information on a bulletin board for a specific date
Create a new BulletinBoardDevice
Activate a device. Used from TV-app
Used from TV-app to initiate a TV registration and generate a registration code
Create a clothing for weather and returns created clothing details
Starts a notification test program. Will during every minute for 10 minutes send notifications.
Deletes a calendar event by id. Permission: user for event, admin planner for user or planner with event permissions for user.
Deletes all recurring events in a series. Aka delets the recurring event entry.
deletes all future recurring event in a series. It sets the stopRecurring date of the recurrence event to the startDate of the event being deleted; preventing more events from being generated in the future.
Deletes one recurring event in a series. The recurring series will ignore the deleted event's original startDate and endDate and not add anything there.
Gets a calendar event (calendar events & recurring event instances) by id. Permission: user for event, admin planner for user or planner with event permissions for user.
Creates a calendar event. Permission: user for event, admin planner for user or planner with event permissions for user.
Cancels a calendar event by id. Permission: user for event, admin planner for user or planner with event permissions for user.
Saves progress of an event list items. Sample request json :- { listId1: [itemId1, itemId2], listId2: [itemId3] }
Stop alarm for an event, will set lastSnoozedReminder to current date so that repeat alarms are not sent
Converts a normal event to a recurring event. The recurring event will repeat according to the inputted ruleset until the inputted stopRecurring date.
Cancel all recurring event in a series.
Cancel all future recurring event in a series.
Cancel one recurring event in a series.
Updates a calendar event by id. Permission: user for event, admin planner for user or planner with event permissions for user.
Updates all recurring events in a series. Aka updates the recurring event entry.
Updates all future recurring event in a series. It sets the stopRecurring date of the recurrence event to the startDate of the event being updated. Then a new recurring event is created with its startDate as the same as the previous stopRecurring and the stopRecurring of the original recurring event.
Updates one recurring event in a series. It creates a new standard event out of that particular event and decouples it from the recurring series. The recurring series will ignore the created event's original startDate and endDate and not add anything there; even if the created event is moved (time wise).
Uploads a file. Uses multipart data with the file to be uploaded as a form field called 'file'. Max file size is 50 mb. Returns status code 201 on success.
Updates image width, height and/or rotation. Will process images and save in S3.
Gets an invite by id. Only if an invite is returned, a new planner can be created.
Get list of enabled languages, used to list languages in app/web
Returns organisations which has given license id
Gets the most recent subscription for the logged in users organisation if there is one. Note that corp organisations do not have subscriptions for now.
Get invoices for the specific organisation
Create license for organisation, right now only organisations of type FAMILIY are supported.
Subscribes to a new license. In case there already was an active one. this one will be marked inactive and the new one will get a trial period for the days left on this one.
Unsubscribes the logged in users organisation from their license.
Switch license for the organisation
Creates a license admin. An email with token to set password will be sent out.
Get lists for an user . Use http.GET_LISTS instead
Add Organisation lists to a user
Fetches logbook for a user for a configurable time. Current value: latest 24 hours.
Deletes a media entry. The logged in user has to be a normal user (and the user of the media entry) or a planner of the user whose media entry is being updated.
Gets media entries for a user by id. If no userId query param is provided, the logged in user's id is used.
Adds a media entry to the media library of the inputted user. If logged in user is a normal user; the media entry is added to its library. If the logged in user is a planner; the inputted user of the inputted userId is validated to have logged in user as planner.
Adds tag(s) to a media library entry. Tags can be search for using http.get.media-library . Each tag is only added once. Also increments metadata.approximateUses flag and sets metadata.lastUsed.
Updates a media entry. The logged in user has to be a normal user (and the user of the media entry) or a planner of the user whose media entry is being updated.
Register a FIREBASE device token (aka registrationToken) and user id.
APA91bHUyC8pJNmnEjkDeoeKKjo_i5IXQZef0VkG8aLy3ViYsgY0tuCY4gLGSKsTUuZRWWXyhFscDo-UogugDPfTT04yhPJVR_ELHvGowYXu49c9gvDG7WpUamgvCebLhWppHn8LoLa3H1FbeV6xNSdXh5rl7rABSwUnregisters either a FIREBASE device token (aka "registrationToken") or user id.
- If `registrationToken` is used, all users with that registrationToken are removed from push.
- If `userId` (logged in user) is used, all registrationTokens (devices) for that user will be removed from push.Get the organisation admins of a organisation by organisation id
Get the planners in an organisation by organisation id
Get the users in an organisation by organisation id
Gets name and type for logged in user's organisation.
Get an organisation admins/the logged in organisation admins profile
Creates an organisation admin. If password is omitted during create, an email with token to set password will be sent out. Otherwise a welcome-email with link to login is sent.
Update an organisation admin
Downgrade an organisation admin to a planner
Adds a photo diary entry to the photo diary of the inputted user. If logged in user is a normal user; the photo diary entry is added to its diary . If the logged in user is a planner; the inputted user of the inputted userId is validated to have logged in user as planner.
Get pictograms by language. If no language provided english will be returned.
Creates a planner. If password is omitted during create, an email with token to set password will be sent out. Otherwise a welcome-email with link to login is sent.
Update a planner by id
Creates an account in wellbee for new users from logged out mode. Creates an organisation, user and subscribes to a license. Right now: The user creating the account will have two roles: USER and ORGANISATION-ADMIN to get full access of the account.
Gets whether or not the provided token is still valid for resetting password. Typically used to display a warning to the user before posting new password that the token is invalid.
Requests a password reset to by providing a username. Username is configured to be: userName,email.
Reset user's password with token from password reset-email.
Webhook for stripe to use. Posts changes according to set up in stripe.
Deletes a calendar event template by id. Permission: user for event, admin planner for user or planner with event permissions for user.
Gets calendar event templates for a user. Permission: user for event templates, admin planner for user or planner with event permissions for user.
Gets a calendar event template by id. Permission: user of the template, admin planner for user or planner with event permissions for user.
Creates a calendar event template. Permission: user who the template will belong to, admin planner for user or planner with event permissions for user.
Add Organisation templates to a user
Updates a template by id. Permission: user for event, admin planner for user or planner with event permissions for user.
Gets calendar events. Can be filtered by params. Permission: user for event, admin planner for user or planner with event permissions for user.
Return contact that logged in user is able to have video call with. Will return planners and fellow group member, if they have video enabled. Also includes online status.
Creates an user. If password is omitted during create, an email with token to set password will be sent out. Otherwise a welcome-email with link to login is sent.
Invites a planner to a user. If a planner with that email is already registered in this organisation, the planner will receive an email with a link to accept. If no, that person will get an email with a registration link that will automatically add them as planner for user.
Activate BankID login for a user
Deactivate BankID login for a user
Generates a new email verification token and resends email w/ token to the provided user. Response has status code 200 if successful.
Verifies a user's email address by providing a token sent to the user by email. Response has status code 200 if successful.
Update planner's permissions for a user
Updates password of auth user's account. Requires to validation of old password before new can be set. Response has status code 202 if successful.
"Joins" by doing necessary steps to join a video session in the configured framework (TWILIO). Returns everything needed to join on the frontend.
Should be called when user hangs up from their end or declines a call. Then the other participants get notified about that.
Should be called when user hangs up from their end or declines a call. Then the other participants get notified about that.
Get all the Wellbee pictograms by language. If no language provided swedish will be returned.
Sends a message to a client (user) via websocket, if such connection exists. The message is sent to a userId with a label (in place of the >). If sent to ws.out.e3bcf884-8b49-46ae-8546-8dcc65b56932.new-notification (The label being new-notification) the user will receive the message in the handler registered to new-notification. Can be used to send a global message to all connected users by providing a * as userId. To specify a list of users to send to * is used as userId and req.to is set to an array of userIds.
Gets name and type for logged in user's organisation.
Sends a message to all connected users. Public and non public connections. The > is the label for the message being sent. E.g. ws.out.public.psa (Where the label is psa). This endpoint will make it possible for the public clients to subscribe to the endpoint without knowing their assigned uuid.
Creates an audit log entry for a user.
Gets audit logs by query. The result is sorted on timestamp. Supports pagination.
Generates a web JWT token for a user matching the inputted Mongo query. Used for external logins.
Gets session details for a user. Will return all values as null if user hasn't been active since the session details functionality was implemented (sometime around 2020-06-11).
Logs out a list of users. Does not matter if user is logged in via cookie or token.
Gets a fresh access token by providing a refresh token.
Internal service endpoint used to initiate a BankID login. Note that since 1st May 2024 BankID requires autostart token or qr instead of personal number.
Collects status and returns qr code. Returns status 202 while order is pending, and status 200 when complete, along with completionData
Internal service endpoint used to initiate a BankID login. Note that since 1st May 2024 BankID requires autostart token or qr instead of personal number.
Charges a customer or a card depending on if source is set to a customer token or a card token.
Create account at Stripe for a company.
Creates customer at Stripe. Uses Payment_method instead of sources for payment set up.
Payment intents keep track of authorization for cards depended on the cards/countries rules
Creates a plan. Plans define the base price, currency, and billing cycle for subscriptions
Creates a product. Product objects describe items that your customers can subscribe to with a Subscription. An associated Plan determines the product pricing.
Creates a subscription at Stripe. A subscription is when you combine a plan with a customer. It allows you to charge a customer on a recurring basis.
Gets all invoices of given customer
Gets the card payment method for given id
Gets the card payment method for a customer
Get a specific subscription by
Get list of subscriptions of the customer
Get upcoming invoice
Refunds an existing charge. Can be partially refunded if amount is set to lower than initial charge.
Unsubscribes from a subscription. No further payments will be made.
Updates account at Stripe for a company.
Updates customer details. Can be used to simultaniously attach a new default payment method.
Update an existing subscription
Request to (forcefully) unregister (a) websocket client. Can be done by either providing the jwt-token to unregister one connection or the id of the user to unregister all connections for user.
Intercepts all post message responses and stores an audit for them with action MESSAGE_SEND
Delete all lists and items by user ids via service call
Sends a mail to one or more mails (emails) addresses
Works much like the password-reset-service.request-password-reset endpoint but does not send email and returns token in response. Username is configured to be: userName,email
Gets whether or not the provided token is still valid for resetting password. Typically used to display a warning to the user before posting new password that the token is invalid.
Requests a password reset to by providing a username. Username is configured to be: userName,email.
Reset user's password with token from password reset-email.
Delete all the accounts associated with an organisation listening to organisation service
Delete all lists and items by user ids via listening to user service
Delete all media entries by user ids via listening to user service
Deletes all events and templates by user ids via listening to user service
Delete all contacts by user ids via listening to user service
Sends a push notification to one or many users.
Sends a push notification to one or many users.
Unregisters all registrationTokens (devices) for the provided user.
Creates or updates (upserts) a new job that runs on a given interval or time. Read more about fruster-schedule-service.
Adds inputted roles to specified user. Can only add roles existing in configuration. Response has status code 202 if successful.
Creates a fruster user. Must include a few base fields but can contain any number of custom fields. Response has status code 201 if successful. Automatically splits data between user and profile if configured to.
Deletes a user. Response has status code 200 if successful. pub.user-service.user-deleted is published after deletion
Deletes users by a query. Response has status code 200 if successful. pub.user-service.user-deleted is published after deletion. Request body is the query to delete with. Cannot use empty query.
Gets user records by aggregate without process aggregate result
Gets profiles by query. Note: Return data may vary depending on the configuration. Configured profile fields: ALL (Everything except the fields configured for user)
Gets all scopes for specified roles in a flat array. E.g. input ['admin', 'user', 'super-admin'] would return ['', 'admin.', 'profile.get']. Response has status code 200 if successful.
Gets users by query. Response has status code 200 if successful.
Gets users by aggregate. The result process with view model
Gets users by query. Note: Return data may vary depending on the configuration. Configured user fields: userName,nonRestrictedRoles,personalNumber (Will always return id,email,password,roles,scopes)
Can be expanded to return both user and profile data using expand: "profile" if configured to split the data. If expand is used; the query can be used to query profile fields as well: { "profile.firstName": "Bob" }. With expand; the data is returned {...userData, profile: {...profileData}}. Can fetch only user count without users, using count: true. if count is used returns totalCount with empty users array
Removes inputted roles from specified user. Cannot remove the last role. Response has status code 202 if successful.
Generates a new email verification token and resends email w/ token to the provided user. Response has status code 200 if successful.
Sets password of a user. Used by password reset service. Note: Updating a user's password should be done w/ the update-password endpoint. Response has status code 202 if successful.
Updates password of an account. Requires to validation of old password before new can be set. Response has status code 202 if successful.
Updates a user. Can contain any number of custom fields. Response has status code 200 if successful.
Updates a user. Can contain any number of custom fields. Response has status code 200 if successful.
Validates that inputted password becomes the same hash as for an account. Typically used by auth service for login. Response has status code 200 if successful. Validation can be done on userName,email
Verifies a user's email address by providing a token sent to the user by email. Response has status code 200 if successful.
Creates a video session between two or more users
"Joins" by doing necessary steps to join a video session in the configured framework (TWILIO). Returns everything needed to join on the frontend.
TODO: Add description
Checks for started events (including recurring events) for every 30 seconds and send push notifications for started events within 5 minutes boundary time to the event's startTime.
Checks for starting events (including recurring events) for every minute and send push notifications for started events.
Get future events amount by listId, within time frame
Get events marked as done in a specific time period until now.
Gets an temporary url to a file that will expire after provided or default TTL
Check whether the video file processing is completed or not
To get license of the given organisation
To get license of the given organisation
Get's called from stripe-service after it has been triggered from stipe (webhook)
Set up user for stripe subscription. Will create customer and subscription at stripe.
Unsubscribes an organisation from their license.
To update an existing subscription
Delete media entries by user ids.
Gets clothe media entries
Gets media entries by query.
Creates an organisation via service call
Gets group via service call
Gets an organisation via service call
Gets an organisation via service call
List staffs in a specific group
Get photo diary entry logs by query
Send translated push messages
Creates an user with org admin scope. Used when creating user for organisation of type Family. Possible to add content to request. Can be used to specify what content the new user should have from the start. Supported values are empty (default) and wellbee. wellbee content is example content provided by Wellbee. Empty is no content at all.
Get pending planners of the organisation
Intercepts user login responses to force user to login with BankID if user have BankID activated