Skip to main content

Managing project status

Each project status PATCH endpoint updates two key fields that control what a project is doing:
  • projectStatus: DRAFT, PAID, ARCHIVED, CLOSED
  • projectRecruitingStatus: RECRUITING, RECRUITED, PAUSED

Status transitions

Publish details

When published, the following fields are set automatically:
  • publishedAt = current time
  • expireAt = 1 month from now

Pause details

A project’s projectRecruitingStatus becomes PAUSED in two ways:
  • Manually, via PATCH …/pause.
  • Automatically, When enough qualified participants to meet the project’s targetNumberOfParticipants have applied to the project. Our recruiting algorithm dynamically sources up to 3x the target to ensure you can reach your target even if some participants do not complete the study or provide poor quality answers and need to be replaced
While a project is PAUSED:
  • Sourcing stops. New applicants can no longer apply through matching, and matching/recruitment emails are not sent.
  • Auto-invites keep flowing. Applicants who were already qualified before the pause continue to receive invitations on their normal automations.invite schedule, up to the project’s invite cap (or completes cap for invite-to-complete flows). Participants who have already been invited can still schedule, attend, and be paid.
In other words, PAUSED means “stop sourcing new applicants” — not “stop inviting.” This matters most for invite-to-complete integrations, where completion volume, not invite volume, determines when recruitment is finished; the project will keep auto-inviting qualified applicants (subject to eligibility and quota checks) even while paused. To resume sourcing after an auto-pause, unpause the project with PATCH …/pause (the same endpoint toggles the status).

Close details

When closed, the following fields are populated:
  • closedDetails.closed = true
  • closedDetails.closedMessage = message passed in the request
  • closedDetails.closedByUserId = current user ID
  • closedDetails.closedOnDate = current time
If your project has screener responses in SCHEDULED or ATTENDED status, you will receive a 400 error with the message “Project has unpaid participants and cannot be closed”. Ensure all participants are paid before closing.

Editing a project after publish

PATCH /v1/projects/{projectId} accepts different fields depending on the project’s current status. Once a project is live (projectStatus: PAID), it is treated as a published project and only a limited set of fields can be modified.

Fields you can update on a live (published) project

  • publicTitle
  • publicInternalName
  • publicDescription
  • participantTimeRequiredMinutes
  • incentiveAmount
  • ndaDetails
  • externalResearcher

Fields that cannot be changed on a live project

Targeting, methodology, and recruitment-shape fields are locked once a project is published. This includes (but is not limited to):
  • targetNumberOfParticipants
  • targetResearchMethodology, typeOfResearch
  • targetMarketType, targetCountry, targetCities, targetLocationRespondentInPerson
  • targetProjectTopics, targetProfessionalIndustries, targetJobTitles, targetJobFunctions, targetAudienceSkills
  • automations (including autoinvite and autopay)
If you need to change any of these on a live project, close or archive the project and create a new one. Screener questions on a live project are also locked — set them up while the project is still in DRAFT. See Update a project for the full request reference.
Last modified on July 10, 2026