Skip to content

Correct one of a worker's activities

PUT
/v1/workers/{workerId}/activities/{id}
curl --request PUT \
--url https://api2.recruso.co.uk/v1/workers/1/activities/1 \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "workerId": 4821, "id": 9930, "activityDate": "2026-09-04T14:32:00", "activityTypeId": 4, "description": "Called about Thursday nights at Trafford Park; worker is interested.", "actionTaken": "Pencilled in for the Thursday shift; to confirm Monday.", "nextCallDate": "2026-09-08T09:00:00" }'

Corrects an entry already in a worker’s activity feed in your own agency.

This is a full replacement of that one entry, not a partial merge: a field you omit is set to null. Use it to fix an entry that was logged wrongly — a later call is a new entry, not an edit of the one before it.

The Recruso user recorded against the entry stays the one who logged it; only modifiedBy and modifiedOn move, and both are set from your credentials and the current UK local time.

An entry that belongs to a different worker, or to another agency, returns 404 rather than 403, so its existence is never disclosed.

Access. Requires a client-credentials access token. Tokens issued through the interactive user login are rejected.

workerId
required
integer format: int32

The workerId path parameter

id
required
integer format: int32

The id path parameter

Media typeapplication/json

The replacement values for a feed entry already logged. Every field is written from the request, so a field you omit is set to null.

object
workerId

The worker the entry belongs to. Taken from the route; a value in the request body is ignored.

integer format: int32
Example
4821
id

The entry to update. Taken from the route; a value in the request body is ignored.

integer format: int32
Example
9930
activityDate

When the activity happened, in UK local time. Required — the column is NOT NULL, and an entry with no date has nowhere to sit in the feed.

string format: date-time
Example
2026-09-04T14:32:00
activityTypeId

The kind of activity, as an id from your agency’s Activity types lookup.

integer format: int16
nullable
Example
4
description

What was said or done.

string
nullable
Example
Called about Thursday nights at Trafford Park; worker is interested.
actionTaken

What was done about it.

string
nullable
Example
Pencilled in for the Thursday shift; to confirm Monday.
nextCallDate

When to call the worker back, in UK local time.

string format: date-time
nullable
Example
2026-09-08T09:00:00

OK

Media typeapplication/json
object
workerActivityId

The entry’s identifier.

integer format: int32
activityDate

When the activity happened, in UK local time.

string format: date-time
activityTypeId

The kind of activity, as an id from your agency’s Activity types lookup.

integer format: int16
nullable
description

What was said or done.

string
nullable
actionTaken

What was done about it.

string
nullable
nextCallDate

When to call the worker back, in UK local time.

string format: date-time
nullable
userId

The Recruso user id (tblUsers.UserID) of the consultant the activity involved, not the ASP.NET Identity id. Set when the activity is logged and not changed afterwards.

integer format: int16
nullable
eventId

The Outlook calendar event id, when the activity was raised as a calendar entry.

string
nullable
createdBy

The Recruso user id (tblUsers.UserID) that logged the entry, not the ASP.NET Identity id. The generic audit column; userId above is the consultant involved, and in most cases the two are the same person.

integer format: int16
nullable
createdOn

When the entry was logged, in UK local time.

string format: date-time
nullable
Example
{
"workerActivityId": 9930,
"activityDate": "2026-09-04T14:32:00",
"activityTypeId": 4,
"description": "Called about Thursday nights at Trafford Park; worker is interested.",
"actionTaken": "Pencilled in for the Thursday shift; to confirm Monday.",
"nextCallDate": "2026-09-08T09:00:00",
"userId": 100,
"eventId": "AAMkAGI2TG93AAA=",
"createdBy": 100,
"createdOn": "2026-09-04T14:35:11"
}

Bad Request

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Unauthorized

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Forbidden

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Not Found

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}