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

ActionEndpointprojectStatusprojectRecruitingStatusRequirements
PublishPATCH …/publishPAIDRECRUITINGMust be DRAFT, must have 2+ screener questions
PausePATCH …/pausePAIDPAUSEDMust currently be PAID
ClosePATCH …/closeCLOSEDRECRUITEDNo unpaid participants

Publish details

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

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.