Skip to main content
PATCH
Mark as attended

Attendance and the first payment

Whether marking a participant as attended fires the first payment depends on the project’s automations.autopay setting (see Create a project or read it back with Get a project).
  • autopay: true (the default when omitted at project creation): calling this endpoint automatically charges the first incentive payment to your team’s default payment card and pays the participant. Do not also call Trigger manual payout with payoutCount: 1 for the same participant — that would issue a second, duplicate payment.
  • autopay: false: this endpoint marks the participant as attended but does not issue any payment. You must send the first payment yourself by calling Trigger manual payout with payoutCount: 1, or by processing the payment from the Respondent dashboard.
There is no request-body option on this endpoint to mark a participant attended without paying when autopay is true. To decouple attendance from payment for a project, set automations.autopay to false at project creation (or via Update a project) and drive all payments through Trigger manual payout. For projects that pay participants more than once, see How to use multiple payments.

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
quotaAssignment
object

Read-only. Which quota segments this response occupies and in which consumption tier. Present when the project has a quota.

Last modified on September 14, 2026