Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ephraimduncan/minimal.so/llms.txt

Use this file to discover all available pages before exploring further.

Endpoint

profile.update
Updates the user’s profile information. Username uniqueness is validated.

Authentication

Requires authentication via session cookie.

Request

Response

Returns the updated profile data.
image
string | null
Profile image URL (unchanged)
username
string | null
Updated username (lowercase)
bio
string | null
Updated bio
github
string | null
Updated GitHub username
twitter
string | null
Updated Twitter handle
website
string | null
Updated website URL
isProfilePublic
boolean
Updated visibility setting

Example

import { client } from '@/lib/client';

const profile = await client.profile.update({
  username: "johndoe",
  bio: "Full-stack developer",
  github: "johndoe",
  twitter: "johndoe",
  website: "johndoe.com", // Will be transformed to https://johndoe.com
  isProfilePublic: true
});

console.log(profile);

Errors

  • CONFLICT - Username is already taken by another user
  • Validation errors for invalid username format

Schema

const usernameSchema = z
  .string()
  .min(3, "Username must be at least 3 characters")
  .max(39, "Username must be at most 39 characters")
  .regex(
    /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,
    "Lowercase letters, numbers, and hyphens only. Must start and end with a letter or number."
  )
  .refine((val) => !val.includes("--"), "Username cannot contain consecutive hyphens")
  .refine((val) => !RESERVED_USERNAMES.has(val), "This username is reserved");

const updateProfileSchema = z.object({
  username: usernameSchema.nullable(),
  bio: z.string().max(160).nullable(),
  github: z.string().max(39).nullable(),
  twitter: z.string().max(15).nullable(),
  website: z.string().max(200).url().nullable(),
  isProfilePublic: z.boolean(),
});

Reserved Usernames

The following usernames cannot be used: login, signup, dashboard, settings, public, admin, api, rpc, u, chrome.

Source

  • Schema: lib/schema.ts:16-44
  • Implementation: server/procedures/profile.ts:23
  • Router: server/router.ts:46

Build docs developers (and LLMs) love