SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
tasks

Decide on a submission. Approving completes the assignment; requesting changes returns it for another attempt.

Decide on a submission. Approving completes the assignment; requesting changes returns it for another attempt.

POSThttps://app.softsolz.uk/api/v1/services/tasks/submissions/{id}/review

Recent Requests

Kept only in this browser
TimeStatusTook
Send a request with Try it to see it here.

Path Params

idstringrequired

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Idempotency-Keystring

Optional idempotency key for safe retries.

Body Params

decisionstringrequired

The verdict.

feedbackstring

Written feedback for the assignee.

scorenumber

The raw number only. Letters and pass/fail labels are derived from the grading scheme, never stored.

rubric_scoresarray of objects

Per-criterion scores when the scheme is rubric.

Response

Response Body

idintegerReview id.
submission_idintegerThe submission reviewed.
reviewer_idinteger | nullWho decided.
stageintegerApproval stage. Single-stage review always uses 1.
decisionstringThe verdict.
feedbackstring | nullWritten feedback.
scorenumber | nullRaw number, never a letter or a label.
rubric_scoresarray of objectsPer-criterion scores: { criterion_id, score }.
created_atstringReview timestamp.

Request

curl --request POST \
--url https://app.softsolz.uk/api/v1/services/tasks/submissions/{id}/review \
--header 'Authorization: Bearer sk_live_your_key' \
--header 'Content-Type: application/json' \
--data '{
"decision": "approved",
"feedback": "Clear and complete.",
"score": 92,
"rubric_scores": [
{
"criterion_id": "accuracy",
"score": 38
}
]
}'

Credentials

Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.

Response · 201

{
"data": {
"id": 7001,
"submission_id": 5001,
"reviewer_id": 8,
"stage": 1,
"decision": "approved",
"feedback": "Clear and complete.",
"score": 92,
"rubric_scores": [
{
"criterion_id": "accuracy",
"score": 38
}
],
"created_at": "2026-09-02T09:00:00.000Z"
}
}