Home
Home
  1. Salary Deduction
  • Salary Deduction
    • Welcome
    • Getting started
      • Availability and Onboarding
        • Light Availability Check
        • Full Availability Check
        • Onboarding
      • Salary Deduction
        • Deduction Instruction
        • Re-running Payroll
        • Deduction Payments and Reconciliation
        • Changes to Employee Status
    • API Reference
      • Authentication
      • Idempotency
      • Webhooks
        • Webhooks
      • Salary Deduction
        • Salary Deduction Data Request
          GET
        • Salary Deduction Confirmation Submission
          POST
    • Schemas
      • Availability Check
        • Light Availability Check Response
        • Light Availability Check Request
        • Full Availability Check Response
        • Full Availability Check Request
      • Core
        • ProblemDetails
      • Deduction Instructions
        • Salary Deduction
        • Confirmation Deduction Response
        • Salary Deduction Enablement Response
        • Employee Deduction Push Response
        • Employee Deduction Push Request
        • Latest Employee Deduction Push Response
      • Payment Account
        • Payment Account
        • Payment Information
      • Payroll
        • Salary Deduction Confirmation Data Submission
        • Salary Deduction Data Response
        • Payroll
        • Employee Payroll
        • Employment
        • Pay Date
        • Salary Deduction Enablement Request
      • Webhooks
        • Employee Update Payload
        • WebHook
  • Payroll Provider API Prototypes
    • Light Availability Check
      POST
    • Full Availability Check
      POST
    • Salary Deduction Enablement
      POST
    • Payroll Information
      GET
    • Salary Deduction Employee Data Push
      POST
    • Latest Salary Deduction Employee Data Push
      GET
  1. Salary Deduction

Salary Deduction Data Request

GET
/deductions/{payroll_id}
OperationId:get_salary_deduction_data
Call this endpoint to get the deductions Ontime requests on a payroll for a pay date, and the payment to make to Ontime for them.
Every call issues a new batch with a new batch_id, and cancels the batch issued before it for the same payroll and pay date. Always confirm and pay against the latest batch_id.
The batch has every employee linked to Ontime on the payroll, including those with nothing to deduct.
Amounts are integers in the currency's minor unit (pence for GBP).
Send Accept: text/csv to get the batch as CSV instead of JSON. In CSV the pay date is DD/MM/YYYY, and the sections are separated by a blank line:
batch_id,payroll_id,total_amount,employee_count,pay_date,currency
261020101530123456,PAYROLL-001,4509,2,31/10/2026,GBP

employee_id,requested_deduction_amount,confirmed_deduction_amount,deduction_amount_reason
EMP-001,4509,,
EMP-002,0,,

payment_reference,payment_amount,account_number,sort_code,account_holder_name
261020101530123456,4509,12345678,00-00-00,Ontime Payments Ltd
Every error body is a problem_details object.

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: https://${userPoolDomain}.auth.${region}.amazoncognito.com/oauth2/token
Scopes:
deduction_data:request-Can request Salary Deduction
or
Path Params

Query Params

Header Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/deductions/PAYROLL-001?pay_period=October-26&pay_date=2026-10-31' \
--header 'Accept: application/json' \
--header 'x-api-key: <api-key>' \
--header 'Authorization: Bearer <token>'

Responses

🟢200Success
application/json
The batch.
Bodyapplication/json

Example
{
    "deduction_data_response": {
        "batch_id": "string",
        "payroll_id": "string",
        "total_amount": 0,
        "employee_count": 0,
        "pay_date": "2019-08-24",
        "currency": "GBP",
        "deduction_data": [
            {
                "salary_deduction": {
                    "employee_id": "string",
                    "requested_deduction_amount": 0,
                    "payment_reference": "string"
                }
            }
        ]
    },
    "requested_payments": [
        {
            "payment_information": {
                "payment_reference": "string",
                "payment_amount": 0,
                "payment_account": {
                    "account_number": "string",
                    "sort_code": "string",
                    "account_holder_name": "string"
                }
            }
        }
    ]
}
🟠400Bad Request
🟠401Unauthorised
🟠403Forbidden
🟠404Not Found
🔴500Internal Server Error
🔴503Service Unavailable
Previous
Webhooks
Next
Salary Deduction Confirmation Submission