Skip to content

Get client details

GET
/v1/clients/{id}
curl --request GET \
--url https://api2.recruso.co.uk/v1/clients/1 \
--header 'Authorization: <Authorization>'

Returns the full record for one live client in your own agency, including its trading and invoice addresses, billing terms and audit fields.

Only live clients are returned. A prospective client — a lead — returns 404 here even though the id exists; read it through GetLeadById instead. A client id belonging to another agency, or under a branch the Recruso user behind your API app cannot access, also returns 404, so existence is never disclosed.

clientInvoiceType is resolved to its name; mediaSourceId, loggingHoursId and receivingHoursId are returned as raw lookup ids.

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

id
required
integer format: int32

The id path parameter

OK

Media typeapplication/json

The full record for one client.

object
clientId

The client’s unique identifier, assigned by Recruso.

integer format: int32
clientName

The client’s registered or trading name. Required, up to 100 characters.

string
userId

The Recruso user the client is assigned to. Set to the user behind your API app when the client is created.

integer format: int16
nullable
createdDate

When the client record was created, in UK local time (GMT/BST). A legacy column carrying the same value as createdOn.

string format: date-time
nullable
branchId

The branch the client is managed under. Must be a branch the Recruso user behind your API app can access.

integer format: int16
mediaSourceId

The recruitment source the client came from, as an id from your agency’s Recruitment sources lookup.

integer format: int16
nullable
tobReference

Your reference for the client’s signed terms of business.

string
nullable
tobIssueDate

The date the client’s terms of business were issued.

string format: date-time
nullable
tobExpiryDate

The date the client’s terms of business expire.

string format: date-time
nullable
companyRegNumber

The client’s company registration number. Required, up to 20 characters.

string
nullable
vatYn

Whether the client is VAT registered. When true, vatRegNumber is required.

boolean
nullable
vatRegNumber

The client’s VAT registration number. Required when vatYn is true.

string
nullable
terms

The payment terms agreed with the client, as free text. Required, up to 50 characters.

string
nullable
clientInvoiceType

The invoice type, given by name rather than by id. Must be one of the names published by the client invoice types vocabulary; an unrecognised name returns 400 listing the accepted values.

string
nullable
website

The client’s website.

string
nullable
createdBy

The Recruso user who created the client.

integer format: int16
nullable
createdOn

When the client was created, in UK local time (GMT/BST) — not UTC.

string format: date-time
nullable
modifiedBy

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

integer format: int16
nullable
modifiedOn

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

string format: date-time
nullable
address1

First line of the client’s trading address. Required, up to 100 characters.

string
nullable
address2

Second line of the client’s trading address.

string
nullable
town

Town or city of the client’s trading address. Required, up to 50 characters.

string
nullable
county

County of the client’s trading address. Required, up to 50 characters.

string
nullable
country

Country of the client’s trading address. Required, up to 50 characters.

string
nullable
postCode

Postcode of the client’s trading address. Required, up to 15 characters.

string
nullable
telephone1

The client’s main telephone number.

string
nullable
telephone2

A second telephone number for the client.

string
nullable
fax

The client’s fax number.

string
nullable
email

The client’s main email address.

string
nullable
invoiceAddress1

First line of the address invoices are sent to, when it differs from the trading address.

string
nullable
invoiceAddress2

Second line of the invoice address.

string
nullable
invoiceTown

Town or city of the invoice address.

string
nullable
invoiceCounty

County of the invoice address.

string
nullable
invoiceCountry

Country of the invoice address.

string
nullable
invoicePostCode

Postcode of the invoice address.

string
nullable
invoiceEmail

The email address invoices are sent to.

string
nullable
invoiceTo

The name invoices are addressed to. Required, up to 50 characters.

string
nullable
orderNumberRequired

Whether a purchase order number must be supplied before the client can be invoiced.

boolean
nullable
dni
boolean
nullable
loggingHoursId

The logging hours that apply to this client, as an id from your agency’s Logging hours lookup.

integer format: int16
nullable
receivingHoursId

The receiving hours that apply to this client, as an id from your agency’s Receiving hours lookup.

integer format: int16
nullable
specialInvoiceInstructions

Free-text instructions to apply when invoicing the client. Up to 550 characters.

string
nullable
dateSentToSage

When the client was sent to Sage, in UK local time (GMT/BST).

string format: date-time
nullable
sentToSageBy

The Recruso user who sent the client to Sage.

integer format: int16
nullable
sageAccountNumber

The client’s account number in Sage. Up to 10 characters.

string
nullable
lineOfBusiness

The client’s line of business. Required, up to 100 characters.

string
nullable
isFactoredClient

Whether the client’s invoices are handled by an invoice factoring provider.

boolean
nullable
factorNo

The client’s reference with the invoice factoring provider. Up to 15 characters.

string
nullable
creditCheckedOrCleared

Whether the client has been credit checked or cleared for credit.

boolean
nullable
clientBankCode
string
nullable
notes

Free-text notes about the client. Up to 2000 characters.

string
nullable
Example
{
"clientId": 137,
"clientName": "Northgate Foods Ltd",
"userId": 12,
"createdDate": "2026-03-04T09:12:44",
"branchId": 4,
"mediaSourceId": 6,
"tobReference": "TOB-2026-0142",
"tobIssueDate": "2026-02-18",
"tobExpiryDate": "2028-02-17",
"companyRegNumber": "08841972",
"vatYn": true,
"vatRegNumber": "GB 412 8853 07",
"terms": "30 days from invoice date",
"website": "https://www.example-northgate.co.uk",
"createdBy": 12,
"createdOn": "2026-03-04T09:12:44",
"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 4400",
"telephone2": "0161 872 4401",
"fax": "0161 872 4402",
"email": "operations@example-northgate.co.uk",
"invoiceAddress1": "Finance Shared Services",
"invoiceAddress2": "PO Box 194",
"invoiceTown": "Manchester",
"invoiceCounty": "Greater Manchester",
"invoiceCountry": "United Kingdom",
"invoicePostCode": "M60 2LA",
"invoiceEmail": "accountspayable@example-northgate.co.uk",
"invoiceTo": "Accounts Payable",
"orderNumberRequired": true,
"loggingHoursId": 2,
"receivingHoursId": 3,
"specialInvoiceInstructions": "One consolidated invoice per site, weekly.",
"dateSentToSage": "2026-03-05T08:30:00",
"sentToSageBy": 12,
"sageAccountNumber": "NOR001",
"lineOfBusiness": "Food manufacturing",
"isFactoredClient": false,
"factorNo": "F-20551",
"creditCheckedOrCleared": true,
"notes": "Invoices must quote the site purchase order number."
}

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