AI Monorepo API

tRPC API Documentation

85
Total Endpoints
85
Public Endpoints
40 Queries 45 Mutations
0
Protected Endpoints
0 Queries 0 Mutations

Analytics

query
Dashboard Analytics analytics.dashboard
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.

Input Schema
{
  today: any
}
Output Schema
{
  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
  }>
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Auth

mutation
Create Account auth.createAccount
Auth

Register a new user account with email and password

Input Schema
{
  email: string
  password: string
  name: string
}
Output Schema
{
  token: string | null
  user: {
    id: string
    email: string
    name: string | null
    image: string | null
    emailVerified: boolean
  }
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Login auth.login
Auth

Authenticate with email and password

Input Schema
{
  email: string
  password: string
}
Output Schema
{
  token: string | null
  user: {
    id: string
    email: string
    name: string | null
    image: string | null
    emailVerified: boolean
  }
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Company

query
List Companies company.list
Companies

Returns all companies

Output Schema
Array<{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
  slug: string
}>
Test Endpoint
mutation
Create Company company.create
Companies

Creates a new company

Input Schema
{
  name: string
  slug: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
  slug: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Company company.update
Companies

Updates a company

Input Schema
{
  id: string
  name?: string
  slug?: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
  slug: string
}
Test Endpoint
Optional fields (click to add):
name slug
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Company company.delete
Companies

Blocked — companies cannot be deleted via the API

Input Schema
{
  id: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

File

query
List Failed Images file.listFailed
Files

Returns root images with failed processing status

Output Schema
any[]
Test Endpoint
mutation
Retry Image Processing file.retryProcessing
Files

Retries processing for a failed image by re-generating missing variants

Input Schema
{
  imageId: string
}
Output Schema
{
  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[]
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Debug

query
Sentry Test debug.sentryTest
Debug

Throws a test error for Sentry

Test Endpoint

Image

query
Get Images by Talent image.byTalent
Images

Returns all images for a talent belonging to the requesting company

Input Schema
{
  talentId: string
}
Output Schema
any[]
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Talent Thumbnail image.thumbnailByTalent
Images

Returns the thumbnail image URL for a talent belonging to the requesting company

Input Schema
{
  talentId: string
}
Output Schema
{
  url: string | null
  variant: "Original" | "Watermarked" | "Thumbnail" | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Image image.create
Images

Creates a new image

Input Schema
{
  fileId: string
  variant?: "Original" | "Watermarked" | "Thumbnail"
  width?: number | null
  height?: number | null
  sortOrder?: number
  talentId: string
}
Output Schema
{
  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[]
}
Test Endpoint
Optional fields (click to add):
variant width height sortOrder
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Image image.update
Images

Updates an existing image

Input Schema
{
  id: string
  width?: number | null
  height?: number | null
  sortOrder?: number
}
Output Schema
{
  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[]
}
Test Endpoint
Optional fields (click to add):
width height sortOrder
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Reorder Images image.reorder
Images

Batch-update sort order for a set of images

Input Schema
{
  orderedIds: string[]
}
Output Schema
any[]
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Image Download URL image.downloadUrl
Images

Returns a short-lived SAS URL for downloading the original blob

Input Schema
{
  id: string
}
Output Schema
{
  url: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Image image.delete
Images

Deletes an image and its variants from DB and blob storage

Input Schema
{
  id: string
}
Output Schema
{
  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[]
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Location

query
List Locations location.list
Locations

Returns the requesting company's locations

Output Schema
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
}>
Test Endpoint
query
Get Location by ID location.byId
Locations

Returns a location by ID; 404 unless it belongs to the requesting company

Input Schema
{
  id: string
}
Output Schema
{
  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
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Locations by City location.byCity
Locations

Returns the requesting company's locations by city name

Input Schema
{
  city: string
}
Output Schema
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
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Location location.create
Locations

Creates a location owned by the requesting company

Input Schema
{
  city: string
  name: string
  phoneNumberId?: string | null
}
Output Schema
{
  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
}
Test Endpoint
Optional fields (click to add):
phoneNumberId
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Location location.update
Locations

Updates a location owned by the requesting company

Input Schema
{
  id: string
  city?: string
  name?: string
  phoneNumberId?: string | null
}
Output Schema
{
  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
}
Test Endpoint
Optional fields (click to add):
city name phoneNumberId
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Location location.delete
Locations

Deletes a location owned by the requesting company

Input Schema
{
  id: string
}
Output Schema
{
  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
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

LocationNote

query
Get Location Notes for a Week (Admin) locationNote.week
Location Notes

Returns the requesting company's location notes whose date falls in the window, scoped via location ownership.

Input Schema
{
  startDate: any
  endDate: any
}
Output Schema
Array<{
  id: string
  locationId: string
  date: string | any
  text: string
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Location Note locationNote.create
Location Notes

Creates a note pinned to one of the requesting company's locations on a specific day.

Input Schema
{
  locationId: string
  date: any
  text: string
}
Output Schema
{
  id: string
  locationId: string
  date: string | any
  text: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Location Note locationNote.update
Location Notes

Updates a note on one of the requesting company's locations.

Input Schema
{
  id: string
  text?: string
}
Output Schema
{
  id: string
  locationId: string
  date: string | any
  text: string
}
Test Endpoint
Optional fields (click to add):
text
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Location Note locationNote.delete
Location Notes

Deletes a note on one of the requesting company's locations.

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  locationId: string
  date: string | any
  text: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Menu

MenuService

PhoneNumber

query
List Phone Numbers phoneNumber.list
Phone Numbers

Returns all phone numbers

Output Schema
Array<{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string | null
  number: string
  isDefault: boolean
}>
Test Endpoint
query
Get Phone Number by ID phoneNumber.getById
Phone Numbers

Returns a phone number by ID

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string | null
  number: string
  isDefault: boolean
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Phone Number phoneNumber.create
Phone Numbers

Creates a new phone number

Input Schema
{
  name?: string | null
  number: string
  isDefault?: boolean
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string | null
  number: string
  isDefault: boolean
}
Test Endpoint
Optional fields (click to add):
name isDefault
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Phone Number phoneNumber.update
Phone Numbers

Updates an existing phone number

Input Schema
{
  id: string
  name?: string | null
  number?: string
  isDefault?: boolean
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string | null
  number: string
  isDefault: boolean
}
Test Endpoint
Optional fields (click to add):
name number isDefault
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Phone Number phoneNumber.delete
Phone Numbers

Deletes a phone number

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string | null
  number: string
  isDefault: boolean
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Review

query
List Reviews by Talent review.byTalent
Reviews

Returns up to N reviews for a talent, newest first

Input Schema
{
  talentId: string
  limit: number
}
Output Schema
Array<{
  id: string
  createdAt: string | any
  updatedAt: string | any
  talentId: string
  content: string
  createdByName: string | null
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Review review.create
Reviews

Creates a new talent review

Input Schema
{
  talentId: string
  content: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  talentId: string
  content: string
  createdByName: string | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Review review.update
Reviews

Updates a review

Input Schema
{
  id: string
  content: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  talentId: string
  content: string
  createdByName: string | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Review review.delete
Reviews

Deletes a review

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  talentId: string
  content: string
  createdByName: string | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Schedule

query
Get Today's Schedules schedule.forToday
Schedules

Returns the requesting company's schedules for today with talent data

Input Schema
{
  today: any
}
Output Schema
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
  }
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Visiting Soon schedule.visitingSoon
Schedules

Returns pre-grouped visiting-soon entries (next 60 days)

Input Schema
{
  today: any
}
Output Schema
Array<{
  talentId: string
  nickname: string
  city: string
  dateLabel: string
  thumbnailUrl: string | null
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Schedules by Date Range schedule.byDateRange
Schedules

Returns the requesting company's schedules in a date range with talent and location data

Input Schema
{
  startDate: any
  endDate: any
}
Output Schema
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
  }
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Week Grid (Public) schedule.weekGrid
Schedules

Returns a week of the requesting company's schedules pre-grouped by city → location → date. Drops soft-deleted-location rows.

Input Schema
{
  startDate: any
  endDate: any
}
Output Schema
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
        }
      }>
    }>
  }>
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Schedules by Talent schedule.byTalent
Schedules

Returns all schedules for a talent

Input Schema
{
  talentId: string
}
Output Schema
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
  }
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Schedules by Location schedule.byLocation
Schedules

Returns all schedules for a location

Input Schema
{
  locationId: string
}
Output Schema
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
  }
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Week Locations (Admin) schedule.weekLocationsAdmin
Schedules

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.

Input Schema
{
  startDate: any
  endDate: any
}
Output Schema
Array<{
  city: string
  locations: Array<{
    locationId: string
    locationName: string
    deleted: boolean
  }>
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Schedules for a Location in a Week (Admin) schedule.locationWeekAdmin
Schedules

Returns one location's schedules in a date window, grouped by date. Works for soft-deleted locations too (so admin can see + reassign).

Input Schema
{
  locationId: string
  startDate: any
  endDate: any
}
Output Schema
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
    }
  }>
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Schedules by Date Range (Admin) schedule.byDateRangeAll
Schedules

Returns the selected company's schedules in a date range (admin; location-ownership, no roster gate)

Input Schema
{
  startDate: any
  endDate: any
}
Output Schema
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
  }
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Schedule schedule.create
Schedules

Creates a new schedule

Input Schema
{
  locationId: string
  date: any
  startTime?: string | null
  endTime?: string | null
  notes?: string | null
  talentId: string
}
Output Schema
{
  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
  }
}
Test Endpoint
Optional fields (click to add):
startTime endTime notes
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Schedule schedule.update
Schedules

Updates an existing schedule

Input Schema
{
  id: string
  locationId?: string
  date?: any
  startTime?: string | null
  endTime?: string | null
  notes?: string | null
}
Output Schema
{
  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
  }
}
Test Endpoint
Optional fields (click to add):
locationId date startTime endTime notes
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Schedule schedule.delete
Schedules

Deletes a schedule

Input Schema
{
  id: string
}
Output Schema
{
  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
  }
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Service

query
List Services service.list
Services

Returns all services with talent counts

Output Schema
Array<{
  id: string
  name: string
  createdAt: string | any
  talentCount: number
}>
Test Endpoint
query
Get Service by ID service.byId
Services

Returns a service by ID

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  name: string
  createdAt: string | any
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Service service.create
Services

Creates a new service

Input Schema
{
  name: string
}
Output Schema
{
  id: string
  name: string
  createdAt: string | any
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Service service.update
Services

Updates a service

Input Schema
{
  name?: string
  id: string
}
Output Schema
{
  id: string
  name: string
  createdAt: string | any
}
Test Endpoint
Optional fields (click to add):
name
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Service service.delete
Services

Deletes a service

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  name: string
  createdAt: string | any
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Tag

query
List Tags tag.list
Tags

Returns all tags

Output Schema
Array<{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
}>
Test Endpoint
query
Get Tag by ID tag.byId
Tags

Returns a tag by ID

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Tag tag.create
Tags

Creates a new tag

Input Schema
{
  name: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Tag tag.update
Tags

Updates a tag

Input Schema
{
  name?: string
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
}
Test Endpoint
Optional fields (click to add):
name
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Tag tag.delete
Tags

Deletes a tag

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  name: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

Talent

query
List Talents talent.list
Talents

Returns the requesting company’s talents for the public roster, including service names for the filter UI

Output Schema
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
    }
  }>
}>
Test Endpoint
query
Available Today talent.availableToday
Talents

Returns the requesting company’s talents (with images) scheduled for today, including the city they are in today

Input Schema
{
  today: any
}
Output Schema
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
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Talent by ID talent.byId
Talents

Returns a talent by ID with relations; 404 unless the talent belongs to the requesting company

Input Schema
{
  id: string
}
Output Schema
{
  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[]
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get Talent by Nickname talent.byNickname
Talents

Returns a talent by nickname with relations; 404 unless the talent belongs to the requesting company

Input Schema
{
  nickname: string
}
Output Schema
{
  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[]
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
List Talent Summaries talent.listSummary
Talents

Returns lightweight talent list (all companies) with a `member` flag for the requesting company

Output Schema
Array<{
  id: string
  createdAt: string | any
  updatedAt: string | any
  nickname: string
  badge: "Visiting" | "Star" | "Vip" | "New" | null
  tagline: string | null
  member: boolean
}>
Test Endpoint
query
Get Talent by Nickname (Admin) talent.byNicknameAll
Talents

Returns a talent by nickname across all companies, with a `member` flag for the requesting company

Input Schema
{
  nickname: string
}
Output Schema
{
  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
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
List Talent Memberships talent.memberships
Talents

Returns the companies a talent belongs to

Input Schema
{
  talentId: string
}
Output Schema
Array<{
  companyId: string
  companySlug: string
  companyName: string
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Set Talent Membership talent.setMembership
Talents

Adds a talent to or removes a talent from a company; returns the updated membership list

Input Schema
{
  talentId: string
  companyId: string
  member: boolean
}
Output Schema
Array<{
  companyId: string
  companySlug: string
  companyName: string
}>
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Create Talent talent.create
Talents

Creates a new talent

Input Schema
{
  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
  }>
}
Output Schema
{
  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
}
Test Endpoint
Optional fields (click to add):
age height weight measurements nationality hair eyes tattoos enhanced tagline bio badge defaultPhoneNumberId phoneNumberExpiresAt tags menus menuServices images
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update Talent talent.update
Talents

Updates an existing talent

Input Schema
{
  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[]
}
Output Schema
{
  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
}
Test Endpoint
Optional fields (click to add):
nickname age height weight measurements nationality hair eyes tattoos enhanced tagline bio badge defaultPhoneNumberId phoneNumberExpiresAt tags
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Delete Talent talent.delete
Talents

Deletes a talent

Input Schema
{
  id: string
}
Output Schema
{
  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
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.

User

query
Get Current User user.me
Users

Returns the authenticated user profile

Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  email: string
  name: string | null
}
Test Endpoint
mutation
Create User user.create
Users

Creates a new user via the auth admin API

Input Schema
{
  email: string
  name: string
  password: string
  role: "user" | "admin"
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  email: string
  name: string | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
Get User by ID user.getById
Users

Returns a user by their ID

Input Schema
{
  id: string
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  email: string
  name: string | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Update User user.update
Users

Updates an existing user

Input Schema
{
  id: string
  data: {
    email?: string
    name?: string
  }
}
Output Schema
{
  id: string
  createdAt: string | any
  updatedAt: string | any
  email: string
  name: string | null
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
mutation
Set User Password user.setPassword
Users

Sets a new password for a user via the auth admin API

Input Schema
{
  userId: string
  newPassword: string
}
Test Endpoint
💡 Tip: Schema is pre-filled with required fields. Click badges above to add optional fields.
query
List Users user.list
Users

Returns all users

Output Schema
Array<{
  id: string
  createdAt: string | any
  updatedAt: string | any
  email: string
  name: string | null
}>
Test Endpoint