Insert samples#
Description#
Inserts multiple samples into a matrix, and appends new samples to the end of the matrix. You can leave columns empty for later use. For new samples, provide no IDs; the endpoint generates them.
POST /testForms/{testFormId}/testPhases/{testPhaseId}/matrices/{matrixId}/samples/insertion
Required OAuth Scopes
graph:write
Parameters#
Parameter |
In |
Type |
Required |
Description |
|---|---|---|---|---|
X-Version |
header |
string |
true |
Version of the API (2026-01-01) |
testFormId |
path |
string |
true |
The unique identifier of the test form |
testPhaseId |
path |
string |
true |
The unique identifier of the test phase |
matrixId |
path |
string |
true |
The unique identifier of the matrix |
body |
body |
true |
Details about the samples to insert |
Body parameter example#
[
{
"dataValues": [
{
"column": "d795d7a3-e7f7-4b3f-be6a-109653b2929b",
"value": "123"
},
{
"column": "fbd818ec-4fd1-42ad-9112-3c80e71dc2dc",
"value": "101.1"
}
],
"resultValues": [
{
"column": "d795d7a3-e7f7-4b3f-be6a-109653b2c34d",
"value": "PASS"
}
]
},
{
"dataValues": [
{
"column": "d795d7a3-e7f7-4b3f-be6a-109653b2929b",
"value": "456"
},
{
"column": "fbd818ec-4fd1-42ad-9112-3c80e71dc2dc",
"value": "202.2"
}
],
"resultValues": [
{
"column": "d795d7a3-e7f7-4b3f-be6a-109653b2c34d",
"value": "FAIL"
}
]
}
]
Code Samples#
curl -X POST https://api.app.wdesk.com/testForms/{testFormId}/testPhases/{testPhaseId}/matrices/{matrixId}/samples/insertion \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'X-Version: 2026-01-01'
http POST https://api.app.wdesk.com/testForms/{testFormId}/testPhases/{testPhaseId}/matrices/{matrixId}/samples/insertion \
X-Version:2026-01-01 \
Content-Type:application/json \
Accept:application/json \
Authorization:"Bearer {access-token}"
wget --method=POST "https://api.app.wdesk.com/testForms/{testFormId}/testPhases/{testPhaseId}/matrices/{matrixId}/samples/insertion" \
--output-document - \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'X-Version: 2026-01-01'
import requests
headers = {
'X-Version': '2026-01-01',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.app.wdesk.com/testForms/{testFormId}/testPhases/{testPhaseId}/matrices/{matrixId}/samples/insertion', headers = headers)
print(r.headers['Location'])
Returns#
202 - Accepted#
Response body for asynchronous operations. Contains an operationLocation field that specifies the URL to poll for the operation result. This URL can also be found in the Location header on the response.
Header |
Description |
|---|---|
Location |
The location to poll for the operation result. |
Retry-After |
The number of seconds to wait before polling for a result and between polling attempts. |
400 - Bad Request#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
403 - Forbidden#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
404 - Not Found#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
409 - Conflict#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
429 - Too Many Requests#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
500 - Internal Server Error#
Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.
Example Responses#
{
"operationLocation": "https://api.app.wdesk.com/operations/128f274395254cf17eda6b3eb3d021b9"
}
{
"code": "400BadRequest",
"message": "The request was unacceptable, often due to a missing or invalid parameter"
}
{
"code": "401Unauthorized",
"message": "No valid API token provided"
}
{
"code": "403Forbidden",
"message": "The API token does not have permissions to perform the request"
}
{
"code": "404NotFound",
"message": "The requested resource could not be found"
}
{
"code": "409Conflict",
"message": "The request conflicts with another request"
}
{
"code": "429TooManyRequests",
"message": "Too many requests have been made against the API in too short a time"
}
{
"code": "500InternalServerError",
"message": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
{
"code": "503ServiceUnavailable",
"message": "The server cannot handle the request due to a temporary overload or scheduled maintenance"
}