curl --request PATCH \
--url https://api.neurapulse.com/projects/{projectId}/testtakers \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
[
{
"id": 123,
"referenceId": "<string>",
"firstName": "<string>",
"lastName": "<string>"
}
]
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{id: 123, referenceId: '<string>', firstName: '<string>', lastName: '<string>'}
])
};
fetch('https://api.neurapulse.com/projects/{projectId}/testtakers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.neurapulse.com/projects/{projectId}/testtakers"
payload = [
{
"id": 123,
"referenceId": "<string>",
"firstName": "<string>",
"lastName": "<string>"
}
]
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.neurapulse.com/projects/{projectId}/testtakers");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("[\n {\n \"id\": 123,\n \"referenceId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\"\n }\n]", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
[
{
"id": 123,
"email": "<string>",
"referenceId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"fullName": "<string>",
"yearOfBirth": 123,
"result": "Started",
"dateCompleted": "2023-11-07T05:31:56Z",
"lastTestSentUtc": "2023-11-07T05:31:56Z",
"topPerformer": true,
"identityVerified": true,
"identityStatus": "<string>"
}
]{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Update test takers
Updates up to 100 test takers at a time.
curl --request PATCH \
--url https://api.neurapulse.com/projects/{projectId}/testtakers \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
[
{
"id": 123,
"referenceId": "<string>",
"firstName": "<string>",
"lastName": "<string>"
}
]
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{id: 123, referenceId: '<string>', firstName: '<string>', lastName: '<string>'}
])
};
fetch('https://api.neurapulse.com/projects/{projectId}/testtakers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.neurapulse.com/projects/{projectId}/testtakers"
payload = [
{
"id": 123,
"referenceId": "<string>",
"firstName": "<string>",
"lastName": "<string>"
}
]
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.neurapulse.com/projects/{projectId}/testtakers");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("[\n {\n \"id\": 123,\n \"referenceId\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\"\n }\n]", false);
var response = await client.PatchAsync(request);
Console.WriteLine("{0}", response.Content);
[
{
"id": 123,
"email": "<string>",
"referenceId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"fullName": "<string>",
"yearOfBirth": 123,
"result": "Started",
"dateCompleted": "2023-11-07T05:31:56Z",
"lastTestSentUtc": "2023-11-07T05:31:56Z",
"topPerformer": true,
"identityVerified": true,
"identityStatus": "<string>"
}
]{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Authorizations
API key generated in the Portal (Workspace Settings → API Keys).
Path Parameters
Project Id. Obtain via GET /projects or from the project URL.
Body
Response
OK
Numeric identifier of the test taker within the project.
The test taker's email address.
Your own identifier for this test taker, echoed back if one was supplied on creation. Null if none was set.
The test taker's first name. Null if not provided.
The test taker's last name. Null if not provided.
The test taker's full name (first and last combined). Empty string if no name is on file.
The test taker's year of birth. Null if not provided.
Latest assessment status for this test taker. Null if they have not started a test yet.
Started, Completed, CouldNotCompleteConnectionIssues, CouldNotCompleteNpServerIssues, CouldNotCompleteTimedOut, CouldNotCompleteUnsupportedDevice, Confirming, HighRisk, InProgress, NotStarted, Incomplete, Fatigued, Distressed, ReasonableCause, Escalated, Emergency, null "Started"
When the test taker's most recent assessment was completed (ISO-8601, UTC). Null if no assessment has been completed.
When the most recent test invitation was sent to this test taker (ISO-8601, UTC). Null if a test has never been sent.
Whether this test taker is flagged as a top performer for the project. A derived categorical indicator, not a score or ranking.
Whether the test taker's identity was verified for their most recent verification attempt. True if verified, false if verification failed or was declined, null if identity verification was never attempted.
The ID verification status for the test taker's most recent attempt: Verified, VerificationPending, NotVerified, VerificationOff, or Compromised. Verified covers both digital and manual verification. Empty when identity verification was never attempted.