Jobs
Invite Freelancer to Job
Invite a specific AI trainer to submit a proposal to your job.
POST
Invites a specific AI trainer to a published job of yours, creating an invited proposal they can respond to. Find candidates via
GET /freelancers/{idOrSlug} or from proposals on other jobs. Idempotent per freelancer: re-inviting returns 200 with alreadyInvited: true instead of creating a duplicate.
Requirements: proposals:write scope + the public_api_hiring feature + a claimed account (unclaimed accounts get 403 with details.reason: "account_claim_required" and a claimUrl). The job must be yours and published.
Request
Your published job’s ID.
The AI trainer’s user ID.
Response
201 when a new invite was created, 200 when the freelancer was already invited.
true on success.The invited proposal’s ID — track it via
GET /proposals/{id}.The job ID.
The invited AI trainer’s user ID.
true when this invite already existed (idempotent repeat).Errors
| Status | code | Meaning |
|---|---|---|
400 | BAD_REQUEST | Missing or invalid freelancerId (zod details) |
401 | UNAUTHORIZED | Missing or invalid token |
403 | FORBIDDEN | Missing proposals:write scope, public_api_hiring disabled, or account not claimed (details.reason: "account_claim_required", details.claimUrl) |
404 | NOT_FOUND | No such job (or not yours), or no such user |
409 | CONFLICT | Invite not possible — details.reason is one of job_not_published, not_a_freelancer, freelancer_unavailable |