Tasks
Give work out, take it back with files, and record the decision.
Create a task, assign it to people or to a whole group, and each assignee gets their own copy with its own deadline, attempts and history. There is no public embed widget for this service - it runs server-side and in the dashboard.
Create a task
curl -X POST https://app.softsolz.uk/api/v1/services/tasks/tasks \ -H "Authorization: Bearer sk_live_your_key" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: task-9f2c1a" \ -d '{"title":"Monthly safety write-up","submission_mode":"file_and_text","required_files":1,"status":"published"}'Give it to a group
curl -X POST https://app.softsolz.uk/api/v1/services/tasks/tasks/412/assign \ -H "Authorization: Bearer sk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"group_ids":[3],"user_ids":[31]}'Anyone already assigned is skipped rather than assigned twice, so re-running the same call is safe.
See what is waiting for review
curl -G https://app.softsolz.uk/api/v1/services/tasks/assignments \ -H "Authorization: Bearer sk_live_your_key" \ -d awaiting_review=trueDecide on a submission
curl -X POST https://app.softsolz.uk/api/v1/services/tasks/submissions/8317/review \ -H "Authorization: Bearer sk_live_your_key" \ -H "Content-Type: application/json" \ -d '{"decision":"approved","feedback":"Clear and complete.","score":92}'Approving completes the assignment; changes_requestedsends it back for another attempt and keeps the earlier one. Only the raw score is stored - letters and pass/fail labels come from the category's grading scheme.
Webhooks
Tasks emits tasks.assigned, tasks.submitted, tasks.changes_requested, tasks.completed, tasks.reopened and tasks.overdue, among others, so an HR or operations system can react the moment work moves.
Next
Browse every endpoint in the API Reference, or read the product walkthrough on docs.softsolz.uk.