Skip to main content

Users — deleted field and includeDeleted list option

Summary

The GraphQL API now exposes a deleted field on User (Boolean), aligned with types such as Booking, indicating whether the practice user has been deleted in Semble. The users query also accepts an optional includeDeleted flag on UsersQueryOptions so you can include deleted users in the paginated result set when you need them.

New on the User type:

  • deleted (Boolean) — true if the practice user has been deleted in Semble; false otherwise.

New on UsersQueryOptions (argument to users):

  • includeDeleted (Boolean) — when true, deleted practice users are included alongside active users. When omitted or false, behaviour matches the previous listing (deleted users excluded by default).

This is additive for the option; the deleted field is new on User. Existing queries that omit deleted continue to work.

Integration guidance

Reading a single user

  • Request deleted in your selection set when you need to distinguish active vs deleted users. Omitting it avoids the extra projection if you do not need it.

Listing users

  • By default, users does not return deleted practice users. Pass options: { includeDeleted: true } when your integration must audit, reconcile, or display deleted users.
  • If you only need deleted on returned rows, combine includeDeleted: true with a selection set that includes deleted so clients can filter or label rows in the UI.

Creating or updating users

  • This change does not alter create/update mutations; it only affects how users are represented and listed.

Queries

The users query supports pagination and options as before. options.includeDeleted is optional; invalid non-boolean values are rejected with a validation error.

Types and inputs

The User type includes deleted. UsersQueryOptions includes includeDeleted.

If something breaks after this change

Problems are uncommon because the schema change is backward compatible for callers that did not adopt the previous status field. If your client fails at runtime, check for strict object mapping (unknown fields) or older generated clients that need regeneration after refreshing the schema.

Check: pull the latest schema, regenerate your GraphQL types and builders, and extend selection sets or inputs only where you adopt the new field or option.

See also