For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Go to app
DocumentationAPI Reference
DocumentationAPI Reference
  • API Reference
    • Introduction
    • Users
    • Taskflow
    • AI Task Builder
    • Studies
    • Representative sample studies
    • study-collections
    • Filter Sets
    • Participant Groups
    • Custom Groups
    • Study Distribution
    • Submissions
      • Submissions guide
      • Submission object
      • GETList submissions
      • GETRetrieve a submission
      • POSTApprove or reject a submission
      • POSTRequest the participant who submitted the response to return their response
      • POSTBulk approve submissions
    • Bonuses
    • Messages
    • Workspaces
    • Projects
    • Surveys
    • Webhooks
    • Invitations
    • Reward Recommendations
    • Testing
    • Well Known Endpoints
Go to app
LogoLogo
API ReferenceSubmissions

Approve or reject a submission

|View as Markdown|Open in Claude|
POST
https://api.prolific.com/api/v1/submissions/:id/transition/
POST
/api/v1/submissions/:id/transition/
$curl -X POST https://api.prolific.com/api/v1/submissions/id/transition/ \
> -H "Authorization: Token <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "action": "COMPLETE",
> "completion_code": "CODE1290"
>}'
1{
2 "id": "625d4a831bcda2d59ac5a251",
3 "started_at": "string",
4 "status": "APPROVED",
5 "study_id": "60aca280709ee40ec37d4885",
6 "completed_at": "string",
7 "entered_code": "8E8AC860",
8 "participant": "60bf9310e8dec401be6e9615"
9}
Transition a submission to `APPROVED`, `REJECTED`, `PARTIALLY APPROVED`, `AWAITING REVIEW` or `SCREENED OUT`. Once the status is changed, it can not be restored to its previous value. You can only transition a submission to PARTIALLY APPROVED or SCREENED OUT by: - setting up the study with the appropriate completion codes (only some workspaces have access to these features) - providing the correct completion code in the request body - providing the necessary data in the request body (to PARTIALLY APPROVE a submission) Note this endpoint is idempotent, so if you make the same request twice, the second request will be ignored.
Was this page helpful?
Previous

Retrieve a submission

Next

Request the participant who submitted the response to return their response

Transition a submission to APPROVED, REJECTED, PARTIALLY APPROVED, AWAITING REVIEW or SCREENED OUT. Once the status is changed, it can not be restored to its previous value.

You can only transition a submission to PARTIALLY APPROVED or SCREENED OUT by:

  • setting up the study with the appropriate completion codes (only some workspaces have access to these features)
  • providing the correct completion code in the request body
  • providing the necessary data in the request body (to PARTIALLY APPROVE a submission)

Note this endpoint is idempotent, so if you make the same request twice, the second request will be ignored.

Authentication

AuthorizationToken
The Prolific API uses API token to authenticate requests. You can create an API token directly from your settings. Your API token does not have an expiry date and carries full permission, so be sure to keep them secure. If your token is leaked, delete it and create a new one directly in the app. In your requests add `Authorization` header with the value `Token <your token>`.

Path parameters

idstringRequired

Submission id. This is the ID we pass to the survey platform using %SESSION_ID%

Request

This endpoint expects an object.
actionenumRequired
The action that should be performed on the submission.
messagestringOptional
Required if action is 'REJECT'. Message sent to the participant explaining the reason for the rejection. It must be at least 100 chars long.
rejection_categoryenumOptional
Required if action is 'REJECT', it sums as the category of the rejection.
completion_codestringOptional

Required if the action is ‘COMPLETE’. The completion code must match a value provided when creating the study, and the actor must have been set to researcher. Any actions that were provided during the set up of the completion code (e.g. automatically approve) will then be carried out.

completion_code_dataobjectOptional

Required if the action is ‘COMPLETE’ and the code has the action “DYNAMIC_PAYMENT” associated with it.

Response

OK
idstringRead-only
The id of the submission
started_atstring

The date and time that the user started the submission (UTC)

statusenum
The current status of the submission
study_idstring
Study id.
completed_atstring or null
The time the submission was completed at.
entered_codestring or null
The completion code used by the participant to complete the study.
participantstring
Participant id.

Errors

4XX
Client Request Error

The Prolific API uses API token to authenticate requests. You can create an API token directly from your settings.

Your API token does not have an expiry date and carries full permission, so be sure to keep them secure.

If your token is leaked, delete it and create a new one directly in the app.

In your requests add Authorization header with the value Token <your token>.