Get site details
const url = 'https://api2.recruso.co.uk/v1/clients/1/sites/1';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api2.recruso.co.uk/v1/clients/1/sites/1 \ --header 'Authorization: <Authorization>'Returns the full record for one site, including its address, invoicing preferences and archive history.
Unlike ListSites, this does return archived sites. Check isDeleted before treating the site as usable — an archived site still resolves here so that an integration holding a stale id can tell the difference between a site that was archived and one that never existed.
The site must belong to the client named in the route. A site id from a different client, from another agency, or under a client whose branch the Recruso user behind your API app cannot access returns 404 rather than 403, so existence is never disclosed. A site inherits its client’s branch, and that — not the site’s own branchId — is what decides access to the site and everything beneath it.
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 clientId path parameter
The id path parameter
Responses
Section titled “Responses”OK
The full record for one site, archived or active.
object
The site’s unique identifier, assigned by Recruso.
The client this site belongs to.
The site’s name. Required, up to 70 characters, and unique among the client’s active sites.
Free-text notes about the site. Up to 550 characters.
The Recruso user who created the site.
When the site was created, in UK local time (GMT/BST) — not UTC.
The Recruso user who last updated the site. Null until the site is first updated.
When the site was last updated, in UK local time (GMT/BST) — not UTC. Null until the site is first updated.
First line of the site address. Up to 150 characters.
Second line of the site address. Up to 50 characters.
Town or city of the site address.
County of the site address.
Country of the site address.
Postcode of the site address.
The site’s main telephone number.
A second telephone number for the site.
The site’s fax number.
The site’s main email address.
How invoices for this site are delivered, as an id from the invoice methods vocabulary.
Whether invoices for this site use the site address rather than the client’s invoice address.
Whether invoices for this site are sent to the site email rather than the client’s invoice email.
The branch this site is managed under.
Whether the site is archived. Archived sites are excluded from ListSites but are still returned by GetSiteById.
The address timesheets for this site are sent to.
The Recruso user who archived the site. Null while the site is active.
When the site was archived, in UK local time (GMT/BST). Null while the site is active.
The Recruso user who last restored the site. Null if the site has never been archived.
When the site was last restored, in UK local time (GMT/BST). Null if the site has never been archived.
Example
{ "siteId": 512, "clientId": 137, "siteName": "Trafford Park DC", "memo": "Gatehouse sign-in required; ask for the shift supervisor.", "createdBy": 12, "createdOn": "2026-03-06T10:41:12", "modifiedBy": 12, "modifiedOn": "2026-06-11T14:02:09", "address1": "Northgate House", "address2": "22 Ashburton Road West", "town": "Trafford Park", "county": "Greater Manchester", "country": "United Kingdom", "postCode": "M17 1RU", "telephone1": "0161 872 4410", "telephone2": "0161 872 4411", "fax": "0161 872 4412", "email": "trafford@example-northgate.co.uk", "invoiceMethodId": 1, "useSiteAddressForInvoice": true, "useSiteEmailForInvoice": false, "branchId": 4, "isDeleted": false, "timesheetEmail": "timesheets@example-northgate.co.uk", "siteArchivedBy": 12, "siteArchivedOn": "2026-07-01T16:20:00", "siteRestoredBy": 12, "siteRestoredOn": "2026-07-14T09:05:00"}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"}
