Skip to content
OpenTrain AIOpenTrain AIOpenTrain AIDocs

Ask OpenTrain

Answers from the documentation, with sources.

What would you like to do with OpenTrain?

AI answers can be mistaken. Check the linked sources. Don’t include private account information.

Open app

DEVELOPER DOCUMENTATION

Get Freelancer Profile

Read an AI trainer's masked public profile by user ID or profile slug: skills, stats, experience, education, and reviews.

GET/api/public/v1/freelancers/{idOrSlug}

Reads an AI trainer’s public profile for candidate evaluation — title, bio, skills, stats, label/work experience, education, languages, and reviews. Resolve candidates from proposals (candidate.id or candidate.profileSlug on GET /jobs/{id}/proposals), then invite or hire them.

Identity is masked: first name + last initial (agencies show the agency name with no last-name initial). Personal contact details — including personal email — are never returned; see privacy. Profiles you cannot view (nonexistent, closed, banned, or restricted by the AI trainer’s visibility settings) return 404, not 403.

Requirements: proposals:read scope. Works pre-claim.

idOrSlugstringpathrequired

The AI trainer’s user ID or public profile slug.

freelancerobject
freelancer
idstring

User ID.

profileSlugstring | null

Public profile slug.

profilePathstring

App-relative profile path (append to https://app.opentrain.ai).

displayNamestring

Masked display name, e.g. Maria G..

firstNamestring | null

First name.

lastNameInitialstring | null

Last-name initial. null for agencies.

talentTypestring | null

Individual or Agency.

titlestring | null

Profile headline.

biostring | null

Profile description.

citystring | null

City.

countryCodestring | null

ISO country code.

countrystring | null

Country display name.

profilePhotoUrlstring | null

Profile photo URL.

hourlyRateUsdnumber | null

Listed hourly rate.

availabilitystring | null

Stated availability.

expertiseLevelstring | null

Self-reported expertise level.

englishLevelstring | null

English proficiency.

memberSincestring

ISO account-creation timestamp.

identityVerifiedboolean

true when identity verification is complete.

skillsobject

{subjectMatter[], tags[], software[], dataTypes[], labelTypes[]} — string arrays.

languagesobject[]

{language, proficiency} pairs (proficiency may be null).

statsobject

{totalEarnedUsd, billedHours, jobSuccessScore, reviewCount, averageRating}averageRating is rounded to one decimal, null when unrated.

agencyobject | null

For agencies: {name, website, headcount, industryExperience[]}. null for individuals.

labelExperienceobject[]

Labeling-specific experience entries: {id, title, description, fromYear, toYear, ongoing, software, dataType, labelTypes[]}.

workExperienceobject[]

General work history: {id, title, company, description, fromYear, toYear, current, city, country}.

educationobject[]

{id, school, degree, areaOfStudy, fromYear, toYear, description}.

reviewsobject[]

Employer reviews: {id, rating, comment, createdAt}rating rounded to one decimal, createdAt ISO.

StatuscodeMeaning
400BAD_REQUESTMissing idOrSlug
401UNAUTHORIZEDMissing or invalid token
403FORBIDDENMissing proposals:read scope
404NOT_FOUNDNo such profile, or the profile is not visible to you (details: {resource: "freelancers", idOrSlug})