GET /recruiter/active-roles returns the active roles you’re working on. You need a personal key with roles:read.
- You hold a primary slot on it, including a slot that’s still on trial.
- You have a candidate in process on it: a candidate you submitted who is submitted, reviewed, interviewing, or at offer stage. This counts single submissions, submissions from ParaAI matches, and candidates still in process on a role where you no longer hold a slot.
Narrow the list
Every filter defaults to
false. When you set more than one, you get roles matching any of them. For example, this returns every role where you have a single submission or a ParaAI submission in process:
singleSubmissionsOnly and paraAiOnly match a role whether or not you also hold a primary slot on it. Unknown parameters and values other than true or false return 400.
What each role includes
Each role has itsid, title, company.name, status, locations, workplaceType, baseSalary, updatedAt, and fee. For the full brief, call GET /recruiter/roles/{roleId} with the role’s id.
fee is what the placement pays you, the same figures as GET /recruiter/roles:
- If your agency hides payment from its members, every
feefield isnull. Agency owners always see fees. feeitself isnullwhen a role’s fee can’t be read through this endpoint.
Paging
Roles come back most recently updated first.limit defaults to 50, and the maximum is 100. A limit above 100 returns 400.
With activeTrialOnly, trials whose window has ended are removed after a page is read, so a page can be short or empty while nextCursor is still set. Keep going until nextCursor is null. See Pagination.