Skip to main content
GET
View a specific response

File upload answers

Answers to fileUpload questions carry a files array. Each file includes its metadata (name, size, mime, uploadedAt) and a temporary url to download it.
Download URLs expire. Every URL is valid for at least one hour from the moment the response is fetched, but not indefinitely — do not store it.
The recommended pattern is a download button in your UI backed by the most recently fetched URL. When a URL has expired, refetch this screener response: each fetch issues fresh URLs for every file. A file only carries a url once its virus scan has passed. Until then scanStatus is pending and the url property is absent — refetch the response later. A file whose scanStatus is infected is never downloadable.

Headers

x-api-key
string
required
x-api-secret
string
required

Path Parameters

projectId
string
required
screenerResponseId
string
required

Response

200 - application/json
qualified
boolean
required
percentage
number
required
status
enum<string>
required
Available options:
PENDING,
EXTERNAL_SCREENER_IN_PROGRESS,
INVITED,
SCHEDULED,
ATTENDED,
NOSHOW,
INVALIDRESPONSE,
REJECTEDQUALITY,
PAID,
CANCELLED
responses
object[]
required
totalTime
number
required
matching
object
required
visibility
object
required

The visibility status of the screener response. If a screener response is visible, it can be interacted with (invited etc). If a screener response is not visible, it cannot be interacted with. A screener may be hidden for various reasons, and a screener can change from visible to not visible at any time if a participant or screener is found to be untrustworthy. There is a webhook that will notify the client when a screener response changes visibility.

id
string
required
projectId
string
required
userId
string
required
qualifiedPendingIdVerification
boolean
  • This property is set to true (with qualified set to false) if the participant has qualified based on their responses to the screener, but is in the process of verifying their identity.
  • Once the participant has completed ID verification, qualifiedPendingIdVerification will be set to false.
    • If the verification was successful, qualified will be set to true.
    • If the verification failed, qualified will remain set to false unless they were manually qualified through the qualification endpoint (PATCH /projects/{projectId}/screener-responses/{screenerResponseId}/qualify).
favorite
boolean
hidden
boolean
isNew
boolean
inviteSentAt
string<date-time>
invited
boolean
scheduledAt
string<date-time>
statusUpdatedAt
string<date-time>
ndaUrl
string
ndaAgree
boolean
project
object
profile
object
externalProject
object
invitation
object
actor
enum<string>
Available options:
researcher,
respondent,
admin
reason
enum<string>
Available options:
time,
final
shortNoticeCancel
boolean
message
string
rejection
object
createdAt
string<date-time>
task
object
Last modified on August 10, 2026