Update a branch
const url = 'https://api2.recruso.co.uk/v1/branches/1';const options = { method: 'PUT', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"branchLocation":"Manchester Central","address1":"Unit 7, Ashton House","address2":"14 Deansgate","town":"Manchester","county":"Greater Manchester","postcode":"M3 2BW","country":"United Kingdom","telephone1":"0161 496 0114","telephone2":"0161 496 0115","mobile":"07700 900432","fax":"0161 496 0116","email":"manchester@example-recruitment.co.uk","website":"https://www.example-recruitment.co.uk","sageDepartmentId":21,"clientName":"example","agencyNameForEmail":"Example Recruitment (Manchester)","displayInSelfRegistration":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api2.recruso.co.uk/v1/branches/1 \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "branchLocation": "Manchester Central", "address1": "Unit 7, Ashton House", "address2": "14 Deansgate", "town": "Manchester", "county": "Greater Manchester", "postcode": "M3 2BW", "country": "United Kingdom", "telephone1": "0161 496 0114", "telephone2": "0161 496 0115", "mobile": "07700 900432", "fax": "0161 496 0116", "email": "manchester@example-recruitment.co.uk", "website": "https://www.example-recruitment.co.uk", "sageDepartmentId": 21, "clientName": "example", "agencyNameForEmail": "Example Recruitment (Manchester)", "displayInSelfRegistration": true }'Replaces the mutable details of a branch: name, address, contact details, Sage department, and the self-registration settings. This is a full replacement — a field omitted from the request is written as null, not left at its current value, so send the complete object.
branchLocation is required and must stay unique across the agency’s branches; a clash with another branch returns 400. Deleted branches keep their names, so a clash with one of those is rejected too. A branch outside your agency, already deleted, or not in your accessible-branch list returns 404.
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 id path parameter
Request Bodyrequired
Section titled “Request Bodyrequired”The replacement state of a branch. This is a full replacement, not a merge: any optional field you omit is written as null rather than left alone, so send the complete object. The branch is identified by the route id; it cannot be moved to another agency.
object
The branch name. Required, up to 50 characters, and unique across the agency’s branches — a name held by another branch returns 400. Leading and trailing whitespace is trimmed.
Example
Manchester CentralFirst line of the branch address. Up to 50 characters.
Example
Unit 7, Ashton HouseSecond line of the branch address. Up to 50 characters.
Example
14 DeansgateTown or city of the branch address. Up to 255 characters.
Example
ManchesterCounty of the branch address. Up to 255 characters.
Example
Greater ManchesterPostcode of the branch address. Up to 10 characters.
Example
M3 2BWCountry of the branch address. Up to 255 characters.
Example
United KingdomPrimary contact telephone number. Up to 50 characters; the format is not validated.
Example
0161 496 0114Secondary contact telephone number. Up to 50 characters.
Example
0161 496 0115Mobile contact number. Up to 50 characters.
Example
07700 900432Fax number. Up to 50 characters.
Example
0161 496 0116Contact email address for the branch. Up to 100 characters; stored as given and not validated as an email address.
Example
manchester@example-recruitment.co.ukWebsite address for the branch. Up to 255 characters.
Example
https://www.example-recruitment.co.ukThe branch’s Sage department. Not verified against Sage by this endpoint — an unknown department is accepted here and fails later at posting time.
Example
21Up to 70 characters.
The agency name used as the sender identity on emails sent from this branch. Up to 100 characters.
Example
Example Recruitment (Manchester)Whether the branch is offered as a choice when a worker self-registers. Omitted means null, not false.
Example
trueResponses
Section titled “Responses”OK
The branch as it stands after the update.
object
The branch’s identifier. Use this on the cost-centre endpoints as branchId.
The branch name. Unique across the agency’s branches, and the field branches are ordered by in ListBranches.
First line of the branch address.
Second line of the branch address.
Town or city of the branch address.
County of the branch address.
Postcode of the branch address.
Country of the branch address.
Primary contact telephone number for the branch.
Secondary contact telephone number for the branch.
Mobile contact number for the branch.
Fax number for the branch.
Contact email address for the branch.
Website address for the branch.
The branch’s Sage department. Cost centres carry a sageDepartmentId of their own; which one a posting uses is decided by the Sage integration, not by this endpoint.
The agency name used as the sender identity on emails sent from this branch.
Whether the branch is offered as a choice when a worker self-registers.
The Recruso user who last changed the branch, as a tblUsers user id rendered as a string. Set to the user behind your API app by this call.
The date the branch was last changed, in UK local time (GMT/BST) — not UTC. Set to the date of this call; the underlying column stores a date, so the time is always midnight.
Example
{ "branchId": 4, "branchLocation": "Manchester Central", "address1": "Unit 7, Ashton House", "address2": "14 Deansgate", "town": "Manchester", "county": "Greater Manchester", "postcode": "M3 2BW", "country": "United Kingdom", "telephone1": "0161 496 0114", "telephone2": "0161 496 0115", "mobile": "07700 900432", "fax": "0161 496 0116", "email": "manchester@example-recruitment.co.uk", "website": "https://www.example-recruitment.co.uk", "sageDepartmentId": 21, "agencyNameForEmail": "Example Recruitment (Manchester)", "displayInSelfRegistration": true, "modifiedBy": "87", "modifiedOn": "2026-08-14T00:00:00"}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"}
