user_id. gligabao does not authenticate users: user_id is an opaque string that the calling application supplies and is trusted to get right. Put gligabao behind your own auth layer and pass the authenticated user’s ID.
Passing user_id
GET /health takes none.
Format
user_id is required. Leading and trailing whitespace is trimmed, and what remains must be:
- not empty,
- at most 128 bytes,
- free of control characters.
Alice and alice are different users. A missing or invalid user_id returns 400 with {"error": "invalid user_id: ..."}.
Ownership
A dataset is owned by the user who created it, and that ownership covers everything in it. Artifacts, entities and edges belong to a dataset (dataset_id), so they have no user_id of their own: they belong to whoever owns the dataset. The owner is shown as user_id on dataset objects and in the remember response.
- Dataset names are unique per user. Two users can each have a dataset called
work, and they are unrelated: separate ids, separate graphs and separate vector datasets. listreturns only the caller’s datasets.rememberandquerylook the dataset up by(user_id, name).remembercreates it for that user if missing.queryreturns404if the user has no live dataset with that name, even when another user has one.deletesoft-deletes only the caller’s dataset, and returns404for another user’s.- There is no cross-user sharing. Nothing is read or written across users.
- The default dataset
mainis per user, and is created by that user’s firstremember.
(user_id, name), a user cannot reach another user’s data by guessing a dataset name or id. A caller that supplies someone else’s user_id can, since there is no authentication.
Storage
user_id was added must be recreated.
gb_inferences (token and cost accounting) is not tied to a user.