just/mocks_
mockzilla.org →
Catalog /content /Prolific Researcher API

Prolific Researcher API

PROVIDER · Prolific SPEC v1.0 · OpenAPI 3.0.1 MOCK · LIVE
▸ TRY IT
https://api.justmocks.com/prolific
Open mock →

Mock the Prolific Researcher API with 78 endpoints without keys, sandboxes, or a live account.

[01]

About

overview

Mock the Prolific Researcher API as a turnkey Mockzilla sim with 78 OpenAPI endpoints, realistic JSON payloads, no upstream signup or sandbox keys. Methods: 34x GET, 28x POST, 9x DELETE, 7x PATCH. Top resource groups: Studies, Surveys, Hooks, Participant Groups. Hit https://api.justmocks.com/prolific for the Mockzilla API Explorer landing and per-endpoint sample requests.

Endpoints
78 across 15 resource groups
Methods
GET 34 · POST 28 · PATCH 7 · DEL 9 none deprecated
OpenAPI
3.0.1 spec version 1.0
Source spec
248 KB · YAML
[02]

Endpoints

78 operations · 15 resource groups
GET /api/v1/surveys/{survey_id}
Surveys
Get survey
Get a single survey given an ID. Mocked via Mockzilla.
DEL /api/v1/surveys/{survey_id}
Surveys
Delete survey
Delete a single Survey.
GET /api/v1/surveys/{survey_id}/responses/{response_id}
Surveys
Get response
Get a single response for a survey.
DEL /api/v1/surveys/{survey_id}/responses/{response_id}
Surveys
Delete a response
Delete a single Response.
GET /api/v1/users/me
Users
Retrieve a user
Use this endpoint to test your token and retrieve the basic information of your account. Add an Authorization header with the value Token .
GET /api/v1/eligibility-requirements
Eligibility requirements
Get list of all requirements.
This endpoint is deprecated - please use Filters instead. Get a list of all the requirements defined by Prolific that can be used to filter participants. Available as a Mockzilla mock endpoint.
POST /api/v1/messages
Messages
Send a message
Send a message to a participant or another researcher
GET /api/v1/messages
Messages
Retrieve messages
Get messages between you and another user or your messages with all users.
GET /api/v1/messages/unread
Messages
Retrieve unread messages
Get all unread messages. The messages you have sent are never returned, only messages you have received and not read. It does not mark those messages as read.
POST /api/v1/messages/bulk
Messages
Send a message to multiple participants
Send a message to multiple participants.
GET /api/v1/projects/{project_id}/studies
Studies
List all studies in a project
List all of your studies in a project. Mockzilla mock: no signup, no API key.
GET /api/v1/studies
Studies
List all studies
List all studies, with the option to filter by study status.
POST /api/v1/studies
Studies
Create a draft study
Create a draft study. Publishing a study is a two step process, first create a draft study then publish it.
POST /api/v1/studies/{id}/transition
Studies
Publish a draft study
Once the study is published, participants can partake in your experiment or survey. There are other status transitions available once the study is published: - PAUSE: Pause the study - START: Start a paused study - STOP: Stop a study completely, to make it active again you will need to increase the number of places To learn more about it check out help center
GET /api/v1/studies/{id}
Studies
Retrieve a study
Retrieve a study by id. If you are polling the API for updates to a study, consider using a Hook. We will call your endpoint when certain events occur on your study, such as new completed submissions or changes in status.
PATCH /api/v1/studies/{id}
Studies
Update a study
You can update any field for a draft study. Once the study has been published only the following fields can be updated with some restrictions: - internal_name: Internal name of the study, not shown to participants - total_available_places: Only increasing is allowed. A completed study will become active again and resume recruiting of participants. For more information, check the guide. Served by the Mockzilla mock runtime.
DEL /api/v1/studies/{id}
Studies
Delete a study
Published studies cannot be deleted, but you can delete draft studies.
GET /api/v1/studies/{id}/submissions
Studies
List study submissions
Returns basic information of the submissions, including the study id, participant id, status and start timestamp
GET /api/v1/studies/{id}/export
Studies
Download demographic data
This is an evolving feature and the exact content of such exports is subject to change, so use at your own risk. Download a snapshot of the participants' prescreening responses at the time that they took your study. Specify the optional ?method=EMAIL query parameter if you want this to be sent to your email. In addition to the responses to all prescreeners applied to the study (subject to change), you'll also have access to the following data: Submission id Participant id Submission status Started date-time Expressed in UTC ISO 8601 formatted Completed date-time Expressed in UTC ISO 8601 formatted Time taken (in seconds) Age Sex Participants were asked the following question: What is your sex, as recorded on legal/official documents? First language Current country of residence Nationality Country of birth Student status Employment status Reviewed at date-time Expressed in UTC ISO 8601 formatted * Completion code ('entered code') Learn more on Exporting Prolific demographic data.
POST /api/v1/studies/{id}/clone
Studies
Duplicate a study
Duplicating a study can save a lot of time and effort compared to creating a new study from scratch, since all of the information and data from the original study will be carried over to the new study. Additionally, duplicating a study can help ensure that the new study is set up consistently with the original, reducing the risk of errors or inconsistencies. To prevent repeat participation, a block list containing the original study will be added to the duplicated study's filters unless block_previous_participants is set to false in the request body.
POST /api/v1/study-cost-calculator
Studies
Calculate the study cost
Calculate the study cost, including VAT and fees. Mocked via Mockzilla.
GET /api/v1/submissions
Submissions
List submissions
Returns basic information of the submissions, including the study id, participant id, status and start timestamp
GET /api/v1/submissions/{id}
Submissions
Retrieve a submission
Returns the detailed information of a submission, including the study id, participant id, status and start timestamp
POST /api/v1/submissions/{id}/transition
Submissions
Approve or reject a submission
Transition a submission to APPROVED or REJECTED. Once the status is changed, it can not be restored to its previous value. We strongly recommend that, when giving approval to a submission through the API, you first observe the submission.status.change event for a status transition to AWAITING_REVIEW before making the approval request. Our system is currently unable to process approvals before this transition. Note this endpoint is idempotent, so if you make the same request twice, the second request will be ignored.
POST /api/v1/submissions/{id}/request-return
Submissions
Request the participant who submitted the response to return their response
This is an experimental feature that may be subject to change in the future. It offers researchers the ability to ask a participant to return a submission. The return reason must be provided in the request and can be any free text string. The Prolific UI allows users to select any of the following options: Didn't finish the study Encountered technical problems Withdrew consent Other ( uses the free text input) This constructs a message around the reasons provided so there is no need to provide additional text beyond the reasons.
POST /api/v1/submissions/bulk-approve
Submissions
Bulk approve submissions
Bulk approve study submissions to pay participants after they have completed your survey or experiment. There are two variant payloads to this request. 1. You can supply a Study ID, and a list of participant IDs, or 2. You can provide a list of submission IDs. Available as a Mockzilla mock endpoint.
POST /api/v1/submissions/bonus-payments
Bonuses
Set up bonuses
Set up bonus payments to one or more participants/submissions in a study. You need the study id, the participant|submission ids and the request in CSV format. The csv_bonuses field needs to be structured in the format of either: - ,\n. - ,\n. Setting up a bonus payment does not actually pay them, to do so check /api/v1/bulk-bonus-payments/{id}/pay/ The submission and participant IDs need to have taken part in the study in order for this call to be successful. If not, you will get a "400" HTTP response back, which explains which IDs are incorrect.
POST /api/v1/bulk-bonus-payments/{id}/pay
Bonuses
Pay bonuses
Bonus payments are made asynchronously. The payment will be done in the following minutes and your balance will be updated accordingly.
GET /api/v1/workspaces
Workspaces
Get all a user's workspaces
Gets a list of all workspaces that the user is a member of.
POST /api/v1/workspaces
Workspaces
Create a workspace
Creates a new workspace and adds the user as a Workspace Admin.
GET /api/v1/workspaces/{workspace_id}
Workspaces
Get workspace
Gets a workspace's details. Mockzilla mock: no signup, no API key.
PATCH /api/v1/workspaces/{workspace_id}
Workspaces
Update a workspace
Updates a workspace's details.
GET /api/v1/workspaces/{workspace_id}/balance
Workspaces
Get the balance of a workspace
Provides details of the funds available in the workspace.
GET /api/v1/workspaces/{workspace_id}/projects
Projects
Get all projects in a workspace
Gets a list of all the projects within the workspace.
POST /api/v1/workspaces/{workspace_id}/projects
Projects
Create a project
Creates a new project within the workspace. When this project is created, it adds the user as a Project Editor.
GET /api/v1/projects/{project_id}
Projects
Get project
Gets a project's details. Served by the Mockzilla mock runtime.
PATCH /api/v1/projects/{project_id}
Projects
Update a project
Update a project's details
GET /api/v1/hooks/event-types
Hooks
List all subscribable event types
You can subscribe to any of the event types defined in this response.
GET /api/v1/hooks/secrets
Hooks
List all secrets
A view of all the secrets for the workspaces you belong to.
POST /api/v1/hooks/secrets
Hooks
Create/replace a secret
Generate a secret for verifying the request signature header of the subscription payload. If a secret already exists, this call will delete the old secret and create a new one.
GET /api/v1/hooks/subscriptions
Hooks
List all subscriptions
A view of all subscriptions you have created. Mocked via Mockzilla.
POST /api/v1/hooks/subscriptions
Hooks
Create a subscription
Create a subscription for an event type. When an event is triggered in the Prolific system, the hook will automatically notify the specified target URL. Before creating a subscription, you must ensure that you have created a secret for your workspace.
GET /api/v1/hooks/subscriptions/{subscription_id}
Hooks
Retrieve a subscription
Get a single subscription
POST /api/v1/hooks/subscriptions/{subscription_id}
Hooks
Confirm a subscription
Confirm a subscription to an event type
PATCH /api/v1/hooks/subscriptions/{subscription_id}
Hooks
Update a subscription
This allows you to update a subscription. For example you can temporarily disable a subscription if you wish.
DEL /api/v1/hooks/subscriptions/{subscription_id}
Hooks
Delete a subscription
If you no longer require to be notified of a certain event type, you can delete a subscription. If you want to temporarily pause notifications, you can use the PATCH request documented. Available as a Mockzilla mock endpoint.
GET /api/v1/hooks/subscriptions/{subscription_id}/events
Hooks
Get subscription events
Get all of the events that have triggered for the given subscription.
GET /api/v1/surveys
Surveys
Get all surveys
Get all the surveys for a researcher.
POST /api/v1/surveys
Surveys
Create survey
You can create a survey with either sections -> questions or just questions. This allows you to decide how much flexibility you want in your survey design. However, if you want to render the survey in the Prolific Application, you must use sections.
GET /api/v1/surveys/{survey_id}/responses
Surveys
Get all responses
Get all the responses for a given Survey.
POST /api/v1/surveys/{survey_id}/responses
Surveys
Create response
Create a Response for a survey. Mockzilla mock: no signup, no API key.
DEL /api/v1/surveys/{survey_id}/responses
Surveys
Delete all responses
Delete all the responses for a given Survey.
GET /api/v1/surveys/{survey_id}/responses/summary
Surveys
Get summary of responses
Get an aggregated summary of responses for a given survey.
GET /api/v1/participant-groups
Participant Groups
Get a list of all participant groups within a project or workspace
POST /api/v1/participant-groups
Participant Groups
Create a new participant group within a workspace
GET /api/v1/participant-groups/{id}
Participant Groups
Get a participant group
PATCH /api/v1/participant-groups/{id}
Participant Groups
Update a participant group
DEL /api/v1/participant-groups/{id}
Participant Groups
Delete a participant group
GET /api/v1/participant-groups/{id}/participants
Participant Groups
Get a list of all participants within a participant group
POST /api/v1/participant-groups/{id}/participants
Participant Groups
Add participants to a participant group
Append participants to a participant group if they are not already members. If a participant is already a member of the group, they will be ignored.
DEL /api/v1/participant-groups/{id}/participants
Participant Groups
Remove participants from a participant group
Remove specified participants from a participant group if they are members. If a participant is not a member of the group, they will be ignored.
POST /api/v1/invitations
Invitations
Create a new invitation
Initiate a new invitation process for adding users to a Workspace or Project. This operation can be performed only by authenticated users who are admins for the specified workspace. Invitations will be sent to the email addresses provided in the request. Served by the Mockzilla mock runtime.
GET /api/v1/filters
Filters
List all filters
List all filters that can be applied to your filter sets or studies.
GET /api/v1/filter-sets
Filter Sets
List all filter sets
List of all filter sets in the specified workspace.
POST /api/v1/filter-sets
Filter Sets
Create filter set
Create a filter set from a list of filters
GET /api/v1/filter-sets/{id}
Filter Sets
Get filter set
Get details of a filter set.
PATCH /api/v1/filter-sets/{id}
Filter Sets
Update filter set
Update the details of a filter set. Mocked via Mockzilla.
DEL /api/v1/filter-sets/{id}
Filter Sets
Delete filter set
Delete a filter set.
POST /api/v1/filter-sets/{id}/clone
Filter Sets
Clone filter set
Create a copy of a filter set.
POST /api/v1/filter-sets/{id}/lock
Filter Sets
Lock filter set for editing
Lock the filter set for editing.
POST /api/v1/filter-sets/{id}/unlock
Filter Sets
Unlock filter set for editing
Unlock the filter set for editing.
POST /api/v1/eligibility-count
Filters
Count participants
Count how many participants meet all the given filters. Only participants that pass every one of the filters are counted. Zero means that there are less than 25 participants. We do not show lower numbers to protect the privacy of the participants. To see a list of filters that may be passed to this endpoint, see the documentation for filters. Available as a Mockzilla mock endpoint.
GET /api/v1/study-collections/mutually-exclusive
Study Collections
List mutually exclusive study collections in a project
List studies
POST /api/v1/study-collections/mutually-exclusive
Study Collections
Create a mutually exclusive study collection.
Create a mutually exclusive study collection. - Studies and study collections must be created separately and then added to the mutually exclusive study collection. - Both the studies and the study collection must be in the same project. - You can only add draft studies to a mutually exclusive study collection. - Adding studies which are already in one study collection to another study collection will remove the study from the original study collection.
GET /api/v1/study-collections/mutually-exclusive/{id}
Study Collections
Get a mutually exclusive study collection
Get a mutually exclusive study collection
PATCH /api/v1/study-collections/mutually-exclusive/{id}
Study Collections
Update a mutually exclusive study collection
Update a mutually exclusive study collection
DEL /api/v1/study-collections/mutually-exclusive/{id}
Study Collections
Delete a mutually exclusive study collection
Delete a mutually exclusive study collection. This will not delete the studies in the collection. - This can only be completed if the study collection is unpublished. - This will not delete the studies in the collection. Mockzilla mock: no signup, no API key.
POST /api/v1/study-collections/mutually-exclusive/{id}/transition
Study Collections
Transition a mutually exclusive study collection
Transition a mutually exclusive study collection. This is used to: - Publish a study collection - Cancel publish a study collection - Schedule publish a study collection - This can be done by setting the publish_at on the study collection at create or patch, then transitioning with the "SCHEDULE_PUBLISH" action - Or optionally the publish_at can be provided directly in the body of the transition request