Get contract details
Changed onUse this endpoint to retrieve the full details of a single contract by its ID.
A contract represents an ongoing engagement where a contractor works for a client company on a project — the agency invoices the client (the payor side) and pays the contractor or their umbrella/limited company (the payee side). Contracts progress through statuses: draft, scheduled, active, ended, terminated, and cancelled.
Each contract carries its rates (charge/pay rates with a single base rate), contacts (people linked to the contract such as line managers or timesheet approvers), attributions (how the contract's revenue is credited to agency users, each with an optional earner role), and allowances (billable expenses such as travel or accommodation).
All monetary amounts are returned as decimal strings to preserve precision, denominated in the agency base currency unless a currency field says otherwise. durationDays, revenue, and grossMarginPercent are derived from the stored schedule and base rate.
Contract placement financials: This endpoint is the source of the fields a contract engagement needs that GET /api/v1/placements does not carry: the engagement end date is endDate, and the bill/charge rate and pay rate are chargeRate and payRate on the entry in rates[] where isBase is true (exactly one rate per contract is the base rate). unit on that rate says what the amounts are per (hourly, daily, weekly, monthly, project).
What you need to provide:
- The contract's ID in the URL path
What you get back: The contract record with its rates, contacts, attributions, and allowances. clientCompany, project, contractor and owner are always present, including when the referenced record has itself been deleted in Atlas — you will still receive its id and name so you can reconcile against your own copy.
Request
- Base URLhttps://api.recruitwithatlas.com
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Contract ID
Response
Contract details
Example response
{
"data": {
"status": "active",
"owner": {
"email": "jordan@agency.com",
"name": "Jordan Smith"
},
"createdBy": {
"email": "jordan@agency.com",
"name": "Jordan Smith"
},
"approvedBy": {
"email": "jordan@agency.com",
"name": "Jordan Smith"
},
"clientCompany": {
"name": "Bullhorn Inc"
},
"companyLocation": {
"name": "London HQ"
},
"project": {
"jobRole": "Software Developer"
},
"contractor": {
"firstName": "Eveling",
"lastName": "Garcia",
"email": "eveling@example.com"
},
"contractTypes": [
{
"name": "Employer of Record"
}
],
"assignment": "ABC Phase 1",
"purchaseOrderNumber": "PO-2026-0042",
"startDate": "2026-04-01",
"endDate": "2026-06-30",
"daysPerWeek": 5,
"hoursPerDay": 8,
"fixedDays": [
"Monday",
"Tuesday",
"Wednesday"
],
"durationDays": 90,
"extendedBy": {
"email": "jordan@agency.com",
"name": "Jordan Smith"
},
"payor": "project_company",
"payorCompany": {
"name": "Bullhorn Inc"
},
"payorInvoiceFrequency": "monthly",
"payee": "contractor_company",
"payeeCompany": {
"name": "Bullhorn Inc"
},
"payeeContractorCompany": {
"entityName": "Garcia Consulting Ltd",
"registrationNumber": "12345678"
},
"payeePayInvoiceFrequency": "monthly",
"terminationActionedBy": {
"email": "jordan@agency.com",
"name": "Jordan Smith"
},
"terminationReason": {
"name": "Employer of Record"
},
"weeklyRevenue": "4000.00",
"weeklyGp": "800.00",
"monthlyRevenue": "17333.33",
"monthlyGp": "3466.67",
"revenue": "52000.00",
"grossMarginPercent": "20.00",
"rates": [
{
"rateType": {
"name": "Employer of Record"
},
"unit": "daily",
"chargeRate": "800.00",
"chargeCurrency": "GBP",
"payRate": "640.00",
"payCurrency": "GBP",
"baseCurrency": "GBP",
"baseChargeRate": "800.00",
"basePayRate": "640.00",
"marginPercent": "20.00"
}
],
"contacts": [
{
"person": {
"firstName": "Eveling",
"lastName": "Garcia",
"email": "eveling@example.com"
},
"role": {
"name": "Employer of Record"
}
}
],
"attributions": [
{
"feeEarner": {
"name": "Jane Smith",
"email": "jane@agency.com"
},
"feeType": {
"name": "Recruiter"
},
"share": "100.00"
}
],
"allowances": [
{
"allowanceType": "travel",
"amount": "50.00",
"currency": "GBP",
"unit": "per_day",
"capAmount": "500.00"
}
]
}
}Changes
- warning
added the new
undefinedenum value to the///response property for the response status - warning
added the new
undefinedenum value to the/response property for the response status - warning
added the new
undefinedenum value to the/response property for the response status - warning
added the new
undefinedenum value to the/response property for the response status - warning
added the new
undefinedenum value to the/response property for the response status - warning
added the new
undefinedenum value to the/response property for the response status
- warning
- info
added the optional property
to the response with the status
- info