GDPR & data erasure
uniqOS treats end-user rights — access, portability, and erasure — as functioning parts of
the product, not optional extras. Because relational memory is keyed per user_id, you can
exercise these on a specific person's behalf.
Export (portability)
GET /v1/end-users/{user_id}/export— exports everything uniqOS holds for that end user, in a structured form suitable for portability.
Delete an end user
-
DELETE /v1/end-users/{user_id}— deletes the end user's data. Acascadeoption selects the granularity:all— the end user and all their relationships and models (the default).model_only— just the psychological model.memory_only— the relational memory, keeping the identity.
You can include an optional
reasonfor the audit record. In the SDKs this is thecascade/reasonargument onendUsers.delete(TypeScript) /end_users.delete(Python).
Delete a relationship
DELETE /v1/relationships/{id}— deletes a single relationship (an end user paired with one personality). It acceptscascade(allormemory_only) and areason. There is nomodel_onlyhere — the psychological model lives at the user level, so useDELETE /v1/end-users/{user_id}withcascade: model_onlyfor that.DELETE /v1/relationships/{id}/memory— deletes only the consolidated memory for a relationship, keeping the relationship itself.
How erasure runs
Deletion is hybrid: the data is marked for deletion immediately (so it stops being used right away) and the physical removal happens asynchronously shortly after. The delete call returns as soon as the request is recorded; you do not need to poll.
See the API Reference for the exact request bodies and response shapes of each endpoint.