The admin role in Yeti Jobs has elevated access to platform-wide operations that neither job seekers nor recruiters can perform. Admins can create and delete company profiles, promote users to recruiter status by assigning them to a company, and search across all users and companies. Every admin action is gated by theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tech-dipesh/yeti-Jobs/llms.txt
Use this file to discover all available pages before exploring further.
isAdmin middleware, which reads the role claim from the authenticated JWT and rejects requests from non-admin accounts with a 401 Unauthorized response.
Admin Dashboard
Get a snapshot of platform-wide activity. The dashboard query runs six subqueries in a single SQL statement, returning counts for every major table.users_count
Total registered users across all roles.
jobs_count
Total job listings ever posted on the platform.
companies_count
Total companies registered in the system.
applications_count
Total job applications submitted by all seekers.
saved_jobs_count
Total bookmark entries across all users.
email_verified_count
Total email verification records created.
Assigning a User to a Company
Assigning a user to a company upgrades them from aguest job seeker to a company employee (recruiter). Once assigned, the user’s company_id foreign key is populated and they can access all recruiter-only endpoints.
The UUID of the user to be assigned to the company.
The UUID of the company to assign the user to.
422 error is returned. On success, the full updated user record is returned.
Searching Users
Find users by first or last name using a case-insensitiveILIKE query. Returns a lightweight record — no passwords or sensitive fields are exposed.
Searching Companies
Find companies by name using a partial match. Useful for looking up a company’suid before assigning a user or performing a deletion.
Creating a Company
Register a new company on the platform. The company logo is uploaded to Supabase Storage and the returned public URL is stored in thelogo_url column. The request must be sent as multipart/form-data because it includes a file upload.
The company’s official name. Must be unique (checked case-insensitively).
A short description of what the company does.
The company’s public website URL.
The year the company was founded (stored as
int2).Headquarters location, e.g.
"Austin, TX".The company logo image (uploaded as a multipart file field named
company_logo).201 Created and "message": "New Company Added".
Deleting a Company
Permanently delete a company and all associated records. Due to theON DELETE RESTRICT constraints on the users.company_id foreign key, you must reassign or remove all employees from the company before deletion is permitted.
Updating a Company
Update an existing company’s core details. This does not re-upload the logo; only text fields are updated.companies table.