Log an activity against a worker
const url = 'https://api2.recruso.co.uk/v1/workers/1/activities';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"workerId":4821,"eventId":"AAMkAGI2TG93AAA=","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"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api2.recruso.co.uk/v1/workers/1/activities \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "workerId": 4821, "eventId": "AAMkAGI2TG93AAA=", "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" }'Adds an entry to a worker’s activity feed in your own agency: when you spoke to them, what was said, and what was done about it.
The feed only ever accumulates — an entry is a record of something that happened, so nothing here replaces or deduplicates what is already there.
ActivityDate is required and is UK local time, not UTC. ActivityTypeId must be an activity type in your agency’s lookup; one that does not exist returns 400. NextCallDate is when to call back, and is what a call-back list is built from.
The activity records the consultant it involved as well as who logged it. Both are your own credentials, and the consultant is fixed here — correcting the entry later does not move it. EventId is the Outlook calendar event id when the activity was raised as a calendar entry, and is likewise set only here.
A worker id belonging to another agency returns 404 rather than 403, so their existence is never disclosed.
Access. Requires a client-credentials access token. Tokens issued through the interactive user login are rejected.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The workerId path parameter
Request Bodyrequired
Section titled “Request Bodyrequired”An entry to add to a worker’s activity feed.
object
The worker the entry belongs to. Taken from the route; a value in the request body is ignored.
Example
4821The Outlook calendar event id, when the activity was raised as a calendar entry. Set when the activity is logged and cannot be changed afterwards, so correcting an entry leaves it alone. Up to 300 characters.
Example
AAMkAGI2TG93AAA=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.
Example
2026-09-04T14:32:00The kind of activity, as an id from your agency’s Activity types lookup.
Example
4What was said or done.
Example
Called about Thursday nights at Trafford Park; worker is interested.What was done about it.
Example
Pencilled in for the Thursday shift; to confirm Monday.When to call the worker back, in UK local time.
Example
2026-09-08T09:00:00Responses
Section titled “Responses”Created
object
The entry’s identifier.
When the activity happened, in UK local time.
The kind of activity, as an id from your agency’s Activity types lookup.
What was said or done.
What was done about it.
When to call the worker back, in UK local time.
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.
The Outlook calendar event id, when the activity was raised as a calendar entry.
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.
When the entry was logged, in UK local time.
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
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Unauthorized
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Forbidden
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Not Found
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}
