AI Monorepo API
tRPC API Documentation
Analytics
Returns operational analytics for the admin dashboard: today's schedule, weekly breakdown, location heatmap, and incomplete profiles. `today` is the admin's local calendar day — the server clock can be on the next UTC day while the admin's day hasn't rolled over.
{
today: any
}
{
scheduledToday: {
talentCount: number
locationCount: number
scheduleCount: number
}
weeklyBreakdown: Array<{
date: string
value: number
}>
talentsByLocation: Array<{
name: string
value: number
}>
incompleteProfiles: Array<{
name: string
value: number
}>
}
Auth
Register a new user account with email and password
{
email: string
password: string
name: string
}
{
token: string | null
user: {
id: string
email: string
name: string | null
image: string | null
emailVerified: boolean
}
}
Authenticate with email and password
{
email: string
password: string
}
{
token: string | null
user: {
id: string
email: string
name: string | null
image: string | null
emailVerified: boolean
}
}
Company
Returns all companies
Array<{
id: string
createdAt: string | any
updatedAt: string | any
name: string
slug: string
}>
Creates a new company
{
name: string
slug: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string
slug: string
}
Updates a company
{
id: string
name?: string
slug?: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string
slug: string
}
Blocked — companies cannot be deleted via the API
{
id: string
}
File
Returns root images with failed processing status
any[]
Retries processing for a failed image by re-generating missing variants
{
imageId: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
fileId: string
talentId: string
variant: "Original" | "Watermarked" | "Thumbnail"
status: "Processing" | "Completed" | "Failed"
errorMessage: string | null
width: number | null
height: number | null
sortOrder: number
sourceImageId: string | null
file: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
mimeType: string
size: number
blobKey: string
container: string
url: string | null
uploadedById: string | null
}
variants: any[]
}
Debug
Throws a test error for Sentry
Image
Returns all images for a talent belonging to the requesting company
{
talentId: string
}
any[]
Returns the thumbnail image URL for a talent belonging to the requesting company
{
talentId: string
}
{
url: string | null
variant: "Original" | "Watermarked" | "Thumbnail" | null
}
Creates a new image
{
fileId: string
variant?: "Original" | "Watermarked" | "Thumbnail"
width?: number | null
height?: number | null
sortOrder?: number
talentId: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
fileId: string
talentId: string
variant: "Original" | "Watermarked" | "Thumbnail"
status: "Processing" | "Completed" | "Failed"
errorMessage: string | null
width: number | null
height: number | null
sortOrder: number
sourceImageId: string | null
file: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
mimeType: string
size: number
blobKey: string
container: string
url: string | null
uploadedById: string | null
}
variants: any[]
}
Updates an existing image
{
id: string
width?: number | null
height?: number | null
sortOrder?: number
}
{
id: string
createdAt: string | any
updatedAt: string | any
fileId: string
talentId: string
variant: "Original" | "Watermarked" | "Thumbnail"
status: "Processing" | "Completed" | "Failed"
errorMessage: string | null
width: number | null
height: number | null
sortOrder: number
sourceImageId: string | null
file: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
mimeType: string
size: number
blobKey: string
container: string
url: string | null
uploadedById: string | null
}
variants: any[]
}
Batch-update sort order for a set of images
{
orderedIds: string[]
}
any[]
Returns a short-lived SAS URL for downloading the original blob
{
id: string
}
{
url: string
}
Deletes an image and its variants from DB and blob storage
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
fileId: string
talentId: string
variant: "Original" | "Watermarked" | "Thumbnail"
status: "Processing" | "Completed" | "Failed"
errorMessage: string | null
width: number | null
height: number | null
sortOrder: number
sourceImageId: string | null
file: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
mimeType: string
size: number
blobKey: string
container: string
url: string | null
uploadedById: string | null
}
variants: any[]
}
Location
Returns the requesting company's locations
Array<{
id: string
createdAt: string | any
updatedAt: string | any
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
}>
Returns a location by ID; 404 unless it belongs to the requesting company
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
}
Returns the requesting company's locations by city name
{
city: string
}
Array<{
id: string
createdAt: string | any
updatedAt: string | any
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
}>
Creates a location owned by the requesting company
{
city: string
name: string
phoneNumberId?: string | null
}
{
id: string
createdAt: string | any
updatedAt: string | any
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
}
Updates a location owned by the requesting company
{
id: string
city?: string
name?: string
phoneNumberId?: string | null
}
{
id: string
createdAt: string | any
updatedAt: string | any
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
}
Deletes a location owned by the requesting company
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
}
LocationNote
Returns the requesting company's location notes whose date falls in the window, scoped via location ownership.
{
startDate: any
endDate: any
}
Array<{
id: string
locationId: string
date: string | any
text: string
}>
Creates a note pinned to one of the requesting company's locations on a specific day.
{
locationId: string
date: any
text: string
}
{
id: string
locationId: string
date: string | any
text: string
}
Updates a note on one of the requesting company's locations.
{
id: string
text?: string
}
{
id: string
locationId: string
date: string | any
text: string
}
Deletes a note on one of the requesting company's locations.
{
id: string
}
{
id: string
locationId: string
date: string | any
text: string
}
PhoneNumber
Returns all phone numbers
Array<{
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
}>
Returns a phone number by ID
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
}
Creates a new phone number
{
name?: string | null
number: string
isDefault?: boolean
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
}
Updates an existing phone number
{
id: string
name?: string | null
number?: string
isDefault?: boolean
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
}
Deletes a phone number
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
}
Review
Returns up to N reviews for a talent, newest first
{
talentId: string
limit: number
}
Array<{
id: string
createdAt: string | any
updatedAt: string | any
talentId: string
content: string
createdByName: string | null
}>
Creates a new talent review
{
talentId: string
content: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
talentId: string
content: string
createdByName: string | null
}
Updates a review
{
id: string
content: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
talentId: string
content: string
createdByName: string | null
}
Deletes a review
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
talentId: string
content: string
createdByName: string | null
}
Schedule
Returns the requesting company's schedules for today with talent data
{
today: any
}
Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
talentId: string
talent: {
id: string
nickname: string
thumbnailUrl: string | null
}
}>
Returns pre-grouped visiting-soon entries (next 60 days)
{
today: any
}
Array<{
talentId: string
nickname: string
city: string
dateLabel: string
thumbnailUrl: string | null
}>
Returns the requesting company's schedules in a date range with talent and location data
{
startDate: any
endDate: any
}
Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
talentId: string
talent: {
id: string
nickname: string
thumbnailUrl: string | null
}
}>
Returns a week of the requesting company's schedules pre-grouped by city → location → date. Drops soft-deleted-location rows.
{
startDate: any
endDate: any
}
Array<{
city: string
locations: Array<{
locationId: string
locationName: string
deleted: boolean
days: Array<{
date: string | any
entries: Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
talentId: string
talent: {
id: string
nickname: string
thumbnailUrl: string | null
}
}>
}>
}>
}>
Returns all schedules for a talent
{
talentId: string
}
Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}>
Returns all schedules for a location
{
locationId: string
}
Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}>
Returns the bucket list of locations for a week: all live locations (so admin can add to empty ones) plus soft-deleted locations that have ≥1 row in the window (so admin can reassign their entries). Empty soft-deleted locations are omitted.
{
startDate: any
endDate: any
}
Array<{
city: string
locations: Array<{
locationId: string
locationName: string
deleted: boolean
}>
}>
Returns one location's schedules in a date window, grouped by date. Works for soft-deleted locations too (so admin can see + reassign).
{
locationId: string
startDate: any
endDate: any
}
Array<{
date: string | any
entries: Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
talentId: string
talent: {
id: string
nickname: string
thumbnailUrl: string | null
}
}>
}>
Returns the selected company's schedules in a date range (admin; location-ownership, no roster gate)
{
startDate: any
endDate: any
}
Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
talentId: string
talent: {
id: string
nickname: string
thumbnailUrl: string | null
}
}>
Creates a new schedule
{
locationId: string
date: any
startTime?: string | null
endTime?: string | null
notes?: string | null
talentId: string
}
{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}
Updates an existing schedule
{
id: string
locationId?: string
date?: any
startTime?: string | null
endTime?: string | null
notes?: string | null
}
{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}
Deletes a schedule
{
id: string
}
{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}
Service
Returns all services with talent counts
Array<{
id: string
name: string
createdAt: string | any
talentCount: number
}>
Returns a service by ID
{
id: string
}
{
id: string
name: string
createdAt: string | any
}
Creates a new service
{
name: string
}
{
id: string
name: string
createdAt: string | any
}
Updates a service
{
name?: string
id: string
}
{
id: string
name: string
createdAt: string | any
}
Deletes a service
{
id: string
}
{
id: string
name: string
createdAt: string | any
}
Tag
Returns all tags
Array<{
id: string
createdAt: string | any
updatedAt: string | any
name: string
}>
Returns a tag by ID
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
Creates a new tag
{
name: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
Updates a tag
{
name?: string
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
Deletes a tag
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
Talent
Returns the requesting company’s talents for the public roster, including service names for the filter UI
Array<{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
defaultPhoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
tags: Array<{
tag: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
}>
images: any[]
menuServices: Array<{
service: {
name: string
}
}>
}>
Returns the requesting company’s talents with images, sorted with today's available first
{
today: any
}
Array<{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
defaultPhoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
tags: Array<{
tag: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
}>
images: any[]
}>
Returns the requesting company’s talents (with images) scheduled for today, including the city they are in today
{
today: any
}
Array<{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
defaultPhoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
tags: Array<{
tag: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
}>
images: any[]
city: string
startTime: string | null
endTime: string | null
}>
Returns a talent by ID with relations; 404 unless the talent belongs to the requesting company
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
defaultPhoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
tags: Array<{
tag: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
}>
menus: Array<{
id: string
createdAt: string | any
updatedAt: string | any
type: "Regular" | "Vip"
durationMinutes: number
price: number
}>
menuServices: Array<{
id: string
serviceId: string
excludedFromPromo: boolean
includedInVip: boolean
price: number | null
service: {
id: string
name: string
createdAt: string | any
}
}>
schedules: Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}>
images: any[]
}
Returns a talent by nickname with relations; 404 unless the talent belongs to the requesting company
{
nickname: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
defaultPhoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
tags: Array<{
tag: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
}>
menus: Array<{
id: string
createdAt: string | any
updatedAt: string | any
type: "Regular" | "Vip"
durationMinutes: number
price: number
}>
menuServices: Array<{
id: string
serviceId: string
excludedFromPromo: boolean
includedInVip: boolean
price: number | null
service: {
id: string
name: string
createdAt: string | any
}
}>
schedules: Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}>
images: any[]
}
Returns lightweight talent list (all companies) with a `member` flag for the requesting company
Array<{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
badge: "Visiting" | "Star" | "Vip" | "New" | null
tagline: string | null
member: boolean
}>
Returns a talent by nickname across all companies, with a `member` flag for the requesting company
{
nickname: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
defaultPhoneNumber?: {
id: string
createdAt: string | any
updatedAt: string | any
name: string | null
number: string
isDefault: boolean
} | null
tags: Array<{
tag: {
id: string
createdAt: string | any
updatedAt: string | any
name: string
}
}>
menus: Array<{
id: string
createdAt: string | any
updatedAt: string | any
type: "Regular" | "Vip"
durationMinutes: number
price: number
}>
menuServices: Array<{
id: string
serviceId: string
excludedFromPromo: boolean
includedInVip: boolean
price: number | null
service: {
id: string
name: string
createdAt: string | any
}
}>
schedules: Array<{
id: string
locationId: string
date: string | any
startTime: string | null
endTime: string | null
notes: string | null
location: {
id: string
city: string
name: string
phoneNumberId: string | null
phoneNumber?: {
id: string
name: string | null
number: string
isDefault: boolean
} | null
deletedAt: string | any | null
}
}>
images: any[]
member: boolean
}
Returns the companies a talent belongs to
{
talentId: string
}
Array<{
companyId: string
companySlug: string
companyName: string
}>
Adds a talent to or removes a talent from a company; returns the updated membership list
{
talentId: string
companyId: string
member: boolean
}
Array<{
companyId: string
companySlug: string
companyName: string
}>
Creates a new talent
{
nickname: string
age?: number | null
height?: string | null
weight?: string | null
measurements?: string | null
nationality?: string | null
hair?: string | null
eyes?: string | null
tattoos?: boolean | null
enhanced?: boolean | null
tagline?: string | null
bio?: string | null
badge?: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId?: string | null
phoneNumberExpiresAt?: any | null
tags?: string[]
menus?: Array<{
type: "Regular" | "Vip"
durationMinutes: number
price: number
}>
menuServices?: Array<{
serviceId: string
price?: number | null
}>
images?: Array<{
fileId: string
variant?: "Original" | "Watermarked" | "Thumbnail"
width?: number | null
height?: number | null
sortOrder?: number
}>
}
{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
}
Updates an existing talent
{
id: string
nickname?: string
age?: number | null
height?: string | null
weight?: string | null
measurements?: string | null
nationality?: string | null
hair?: string | null
eyes?: string | null
tattoos?: boolean | null
enhanced?: boolean | null
tagline?: string | null
bio?: string | null
badge?: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId?: string | null
phoneNumberExpiresAt?: any | null
tags?: string[]
}
{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
}
Deletes a talent
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
nickname: string
age: number | null
height: string | null
weight: string | null
measurements: string | null
nationality: string | null
hair: string | null
eyes: string | null
tattoos: boolean | null
enhanced: boolean | null
tagline: string | null
bio: string | null
badge: "Visiting" | "Star" | "Vip" | "New" | null
defaultPhoneNumberId: string | null
phoneNumberExpiresAt: string | any | null
}
User
Returns the authenticated user profile
{
id: string
createdAt: string | any
updatedAt: string | any
email: string
name: string | null
}
Creates a new user via the auth admin API
{
email: string
name: string
password: string
role: "user" | "admin"
}
{
id: string
createdAt: string | any
updatedAt: string | any
email: string
name: string | null
}
Returns a user by their ID
{
id: string
}
{
id: string
createdAt: string | any
updatedAt: string | any
email: string
name: string | null
}
Updates an existing user
{
id: string
data: {
email?: string
name?: string
}
}
{
id: string
createdAt: string | any
updatedAt: string | any
email: string
name: string | null
}
Sets a new password for a user via the auth admin API
{
userId: string
newPassword: string
}
Returns all users
Array<{
id: string
createdAt: string | any
updatedAt: string | any
email: string
name: string | null
}>