End-to-end upload flow
Follow these steps to upload payslips programmatically:- Request upload slots – call
POST /entries/payslips/presign
with the list of filenames (and optional external identifiers) you intend to upload. The response returnspresigned_url
andpath
fields for each file. - Upload PDFs – for every returned
presigned_url
, perform an HTTPPUT
withContent-Type: application/octet-stream
, streaming the PDF bytes. Files must be searchable, machine-readable PDFs (scanned images are not supported). - Submit metadata – call
POST /entries/payslips
(this endpoint) with a JSON payload that includes thepath
for each uploaded file and an optionalexternal_document_id
. Teal uses this metadata to process the uploaded documents. Any files that fail validation are listed inpayslip_errors
in the response.
Authorizations
Bearer token for authentication. The token should be the one returned by the /user-tokens endpoint.
Body
application/json
Minimum length:
1