Skip to main content
GET
/
v1
/
payrolls
/
{payrollId}
/
payslip-links
Get Payslip Links
curl --request GET \
  --url https://api.cadanapay.com/v1/payrolls/{payrollId}/payslip-links \
  --header 'Authorization: Bearer <token>'
{
  "payrollId": "7c4f1d36-2b9a-4bca-91e7-2b1f1e6e7c11",
  "links": [
    {
      "personId": "04a8977d-5d99-4b28-8de4-8161401ca3fa",
      "personName": "Jane Doe",
      "paystubId": "1b2e3f4a-5c6d-7e8f-9012-345678901234",
      "url": "https://example-bucket.s3.amazonaws.com/payslips/04a8977d.pdf?X-Amz-Signature=...",
      "expiresAt": "2026-05-11T17:00:00Z"
    },
    {
      "personId": "11111111-2222-3333-4444-555555555555",
      "personName": "John Smith",
      "paystubId": "2c3d4e5f-6a7b-8c9d-0e1f-234567890123",
      "url": "https://example-bucket.s3.amazonaws.com/payslips/11111111.pdf?X-Amz-Signature=...",
      "expiresAt": "2026-05-11T17:00:00Z"
    }
  ],
  "notReady": [
    {
      "personId": "22222222-3333-4444-5555-666666666666",
      "status": "generating"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.cadanapay.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-MultiTenantKey
string

Required when using a Platform API token. The tenant key identifying which business to operate on.

Path Parameters

payrollId
string<uuid>
required

The unique identifier for the payroll

Query Parameters

format
enum<string>

When set to zip, ready payslips are bundled into a single archive and returned as one presigned URL via zipUrl. Omit for per-person links under links.

Available options:
zip

Response

Presigned download links for the payroll's payslips. Returns per-person links under links by default, or a single bundled archive under zipUrl when format=zip was requested. Payslips still generating (or failed) are listed under notReady.

payrollId
string<uuid>
Example:

"8ef9a712-cdae-4110-b1ea-9ba95abbee6e"

Per-person presigned download URLs. Returned when format is omitted. All links share the same expiresAt.

zipUrl
string<uri>

Presigned URL pointing to a single archive containing all ready payslips. Returned only when format=zip was passed.

Example:

"https://example-bucket.s3.amazonaws.com/payslips/zips/7c4f1d36.zip?X-Amz-Signature=..."

expiresAt
string<date-time>

ISO-8601 expiry of zipUrl. Returned only when format=zip was passed.

Example:

"2026-05-11T17:00:00Z"

notReady
object[]

Payslips that could not be linked. generating means the PDF has not finished rendering yet; error means generation or link creation failed. Retry the request after generation completes.