calculateStartPeriodicDate

calculateStartPeriodicDate

Overview

This method calculates the periodic billing start date for a contract, from the payroll date, pay cycle, contract start date and payroll cut-off days.

This method requires the ContractBilling:Get permission to be associated with your role.

Permissions

The permission for this api is stored in [gb_api_permissions]permission as 'ContractBilling:Get'.

Only roles with a stored link to this permission in [gb_role_api_permissions] can run this api.

HTTP Method

Use the HTTP Method 'GET' for consuming this web service.

URL Examples

https://api.demo.catch-e.com/fm/contract/billing/calculate-start-periodic-date?payroll_date=2026-01-29&pay_cycle_code=fortnightly&contract_start_date=2026-01-20 https://api.{{environment}}.catch-e.com/fm/contract/billing/calculate-start-periodic-date?payroll_date=2026-01-29&pay_cycle_code=fortnightly&contract_start_date=2026-01-20 https://api.test.catch-e.com/fm/contract/billing/calculate-start-periodic-date?payroll_date=2026-01-29&pay_cycle_code=fortnightly&contract_start_date=2026-01-20 

Query Parameters

Key

Format

Notes

Mandatory

payroll_date

string (date)

Payroll date, in yyyy-MM-dd format.

Yes

pay_cycle_code

string

Pay cycle code. Allowed values: weekly, weekly2, weekly3, fortnightly, fortnightly2, fortnightly3, monthly, monthly2, monthly3, bi-monthly, 4-weekly.

Yes

contract_start_date

string (date)

Contract start date, in yyyy-MM-dd format.

Yes

payroll_cut_off_days

integer

Payroll cut-off days, from 0 to 999. Default 0.

No

Response Details

Success

200 - OK

Field

Format

Notes

start_periodic_date

string (date)

The calculated periodic billing start date.

{ "start_periodic_date": "2026-02-05" } 

Error Response Details

Validation Message

Comments

401 - Unauthorized

1. You have not authenticated before running this API or 2. The token_timeout of the current session has passed. You need to authenticate again.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unauthorized", "status": 401, "detail": "Unauthorized" } 

Validation Message

Comments

403 - Forbidden

- You do not have permissions for this request. - Go to System Roles and enter 'web_services' - Navigate to the Roles / APIs tab to make sure the permission you need to run this API is checked.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Forbidden", "status": 403, "detail": "Forbidden" } 

Validation Message

Comments

404 - Not Found

Not Found.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Not Found", "status": 404, "detail": "Not Found" } 

Validation Message

Comments

406 - Not Acceptable

The Accept header of the request does not match a response format this API supports.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Not Acceptable", "status": 406, "detail": "Not Acceptable" } 

Validation Message

Comments

422 - Unprocessable Entity

One or more input fields failed validation. The field name and message are returned in validation_messages.

{ "warning_messages": {}, "validation_messages": { "fieldName": { "validationExceptionCode": "A textual description of the validation exception" } }, "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unprocessable Entity", "status": 422, "detail": "Failed Validation" } 

Validation Message

Comments

423 - Locked

The record is locked by another process or user.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Locked", "status": 423, "detail": "Locked" } 

Validation Message

Comments

500 - Internal Error

An unexpected error occurred on the server.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "string", "status": 599, "detail": "string" } 

Validation Message

Comments

default - Unexpected Error

Any other unexpected error.

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "string", "status": 599, "detail": "string" }