Skip to content

List a site contact's activities

GET
/v1/clients/{clientId}/sites/{siteId}/contact-persons/{contactPersonId}/activities
curl --request GET \
--url 'https://api2.recruso.co.uk/v1/clients/1/sites/1/contact-persons/1/activities?pageNumber=1&pageSize=20' \
--header 'Authorization: <Authorization>'

Returns a paged list of the activities logged against one contact at one of your own agency’s sites — the contact history for that person.

There are no filters or sort options; the contact’s activities come back a page at a time.

The client, site and contact in the route must line up — the site must belong to the client and the contact to the site — and any mismatch returns 404 rather than 403.

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

clientId
required
integer format: int32

The clientId path parameter

siteId
required
integer format: int32

The siteId path parameter

contactPersonId
required
integer format: int32

The contactPersonId path parameter

pageNumber

Page number, 1-based. Defaults to 1.

integer format: int32
Example
1

Page number, 1-based. Defaults to 1.

pageSize

Number of activities per page. Defaults to 20.

integer format: int32
Example
20

Number of activities per page. Defaults to 20.

OK

Media typeapplication/json

A page of the activities logged against one site contact.

object
data
required

The activities on this page.

Array<object>

One activity logged against the site contact.

object
siteActivityId

The activity’s unique identifier, assigned by Recruso.

integer format: int32
siteContactPersonId

The site contact this activity was logged against.

integer format: int32
userId

The Recruso user who logged the activity.

integer format: int16
nullable
activityDate

When the activity took place, in UK local time (GMT/BST). Required.

string format: date-time
description

What the activity was — the call, visit or email being recorded.

string
nullable
actionTaken

What was done or agreed as a result.

string
nullable
nextCallDate

When to follow up next, in UK local time (GMT/BST).

string format: date-time
nullable
lastVisited

When the site was last visited, in UK local time (GMT/BST).

string format: date-time
nullable
activityTypeId

The kind of activity, as an id from your agency’s Activity types lookup. An id that does not belong to your agency returns 400.

integer format: int16
nullable
eventId

Your own reference for the activity, such as a calendar event id. Set when the activity is created and cannot be changed afterwards.

string
nullable
createdBy

The Recruso user who created the activity.

integer format: int16
nullable
createdOn

When the activity record was created, in UK local time (GMT/BST) - not UTC.

string format: date-time
nullable
modifiedBy

The Recruso user who last updated the activity. Null until it is first updated.

integer format: int16
nullable
modifiedOn

When the activity was last updated, in UK local time (GMT/BST) - not UTC. Null until it is first updated.

string format: date-time
nullable
totalCount
required

How many activities the contact has in total, across all pages.

integer format: int32
pageNumber
required

The page returned, 1-based.

integer format: int32
pageSize
required

How many activities a page holds.

integer format: int32
Example
{
"data": [
{
"siteActivityId": 7420,
"siteContactPersonId": 88,
"userId": 12,
"activityDate": "2026-05-14T10:30:00",
"description": "Called to confirm cover for the bank holiday weekend.",
"actionTaken": "Agreed 6 pickers for Saturday, confirmed by email.",
"nextCallDate": "2026-05-21T09:00:00",
"lastVisited": "2026-05-02T13:15:00",
"activityTypeId": 4,
"eventId": "cal-2026-05-14-0930",
"createdBy": 12,
"createdOn": "2026-05-14T10:41:52",
"modifiedBy": 12,
"modifiedOn": "2026-05-15T08:12:03"
}
]
}

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"
}