{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/getmyluna-app/json-schema/getmyluna-app-me-response-schema.json",
  "title": "MeResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/getmyluna-app-discovery-api-openapi.yml#/components/schemas/MeResponse",
  "properties": {
    "user": {
      "type": "string",
      "title": "User",
      "description": "Username (internal login alias; not shown to the family)."
    },
    "user_id": {
      "type": "string",
      "title": "User Id",
      "description": "Opaque id of this login. The app's offline queue tags each unsynced log with it, so a log is only ever sent from the session of the caregiver who made it."
    },
    "family_id": {
      "type": "string",
      "title": "Family Id"
    },
    "role": {
      "type": "string",
      "enum": [
        "admin",
        "member"
      ],
      "title": "Role"
    },
    "name": {
      "type": "string",
      "title": "Name",
      "description": "What the family sees: your first name, or `Family admin` / `Partner` until you set one."
    },
    "display_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Display Name",
      "description": "Your first name, or null if not set yet."
    },
    "needs_name": {
      "type": "boolean",
      "title": "Needs Name",
      "description": "True until you've set a first name (the app asks once)."
    }
  },
  "type": "object",
  "required": [
    "user",
    "user_id",
    "family_id",
    "role",
    "name",
    "needs_name"
  ]
}