Skip to content

Payroll status

GET
/api/v2/payroll/{payrollId}/status
Code sample: Shell / cURL
curl --request GET \
--url https://api.ztlpay.io/api/v2/payroll/7c628b2e-9094-4bf8-af23-1d517c6fc4f5/status \
--header 'Authorization: Bearer <token>'

Retrieves latest payroll status.

payrollId
required
string

Id received when creating the payroll

Example
7c628b2e-9094-4bf8-af23-1d517c6fc4f5

Payroll status

Media typeapplication/json

The initial payroll status indicates if the payroll was accepted, and if it needs to be signed before it will be executed in the bank

object
transactions
required
Array<object>
object
endToEndId
required

Same identifier as when creating a transaction

string
timestamp
required

The timestamp of the most recent internal update to the payroll status.

string
payrollStatus
required
  • Unsigned The user must approve the payroll.
  • InProgress The transaction is ongoing.
  • Completed The transaction/salary has been paid out.
  • Rejected The transaction has been rejected.
  • Cancelled The transaction has been cancelled.
  • CustomerActionRequired The payroll requires further action from the user.
string
Allowed values: Unsigned InProgress Completed Rejected Cancelled CustomerActionRequired
payrollStatusReason
  • PartlySigned Indicates that the payments needs additional signing. This requirement may be set up for the bank account.
  • SmsConfirmationRequired The user needs additional confirmation with responding SMS received. Only used by a few banks
  • InsufficientFunds The payment has been stopped by the bank due to lack of funds
string
Allowed values: PartlySigned SmsConfirmationRequired InsufficientFunds
Example
{
"transactions": [
{
"timestamp": "2025-12-30 06:43:45.569610 +00:00",
"payrollStatus": "Unsigned",
"payrollStatusReason": "PartlySigned"
}
]
}

Bad Request

Media typeapplication/json
object
failure
  • INVALID_CONSENT Consent is invalid
  • AUTHENTICATION_TEMPORARY_UNAVAILABLE Authentication service is temporary unavailable, most likely due to user already has started another concurrent authentication process
  • UNSUPPORTED_PRODUCT_BY_BANK Product is not supported by bank
string
Allowed values: INVALID_CONSENT AUTHENTICATION_TEMPORARY_UNAVAILABLE UNSUPPORTED_PRODUCT_BY_BANK
ztlRequestId
required

Unique RequestId, please provide this Id in case of support requests

string format: uuid
message
required

The underlying reason for the error

string
Example
{
"failure": "INVALID_CONSENT",
"ztlRequestId": "3a797348-ef0c-4f52-b821-fdfcdb98c4d9",
"message": "Invalid Bban"
}

Forbidden

Media typeapplication/json
object
ztlRequestId
required

Unique RequestId, please provide this Id in case of support requests

string format: uuid
message
required

The underlying reason for the error

string
Example
{
"ztlRequestId": "3a797348-ef0c-4f52-b821-fdfcdb98c4d9",
"message": "Invalid account"
}
ztl-request-id
string format: uuid

Unique RequestId, please provide this Id in case of support requests

Example
3a797348-ef0c-4f52-b821-fdfcdb98c4d9

Not found

Media typeapplication/json
object
ztlRequestId
required

Unique RequestId, please provide this Id in case of support requests

string format: uuid
message
required

The underlying reason for the error

string
Example
{
"ztlRequestId": "3a797348-ef0c-4f52-b821-fdfcdb98c4d9",
"message": "Invalid account"
}
ztl-request-id
string format: uuid

Unique RequestId, please provide this Id in case of support requests

Example
3a797348-ef0c-4f52-b821-fdfcdb98c4d9

Internal server error

Media typeapplication/json
object
ztlRequestId
required

Unique RequestId, please provide this Id in case of support requests

string format: uuid
message
required

The underlying reason for the error

string
Example
{
"ztlRequestId": "3a797348-ef0c-4f52-b821-fdfcdb98c4d9",
"message": "Invalid account"
}
ztl-request-id
string format: uuid

Unique RequestId, please provide this Id in case of support requests

Example
3a797348-ef0c-4f52-b821-fdfcdb98c4d9

Service unavailable

Media typeapplication/json
object
ztlRequestId
required

Unique RequestId, please provide this Id in case of support requests

string format: uuid
message
required

The underlying reason for the error

string
Example
{
"ztlRequestId": "3a797348-ef0c-4f52-b821-fdfcdb98c4d9",
"message": "Invalid account"
}
ztl-request-id
string format: uuid

Unique RequestId, please provide this Id in case of support requests

Example
3a797348-ef0c-4f52-b821-fdfcdb98c4d9