Manage your data easily and securely
/users
/accounts
POST /accounts
endpoint is a way to initialize a connection to a provider for a given user; Teal offers a separate provider flow for users via the WebUI as documented in Introduction.
The status of a account determines if it is able to recieve data, needs authorisation or if it is invalid or expired. An account connected via OAuth will not require credentials to be passed into the account creation request. Any credentials that are passed to Teal are encrypted securely. An account creation
will do an initial payroll retrieval using the optional dates supplied; if none are sent with the request we then check for the client specific duration for which to lookback - if this is not configured, we take a default of 36 months.
/entries
/entries/connections
endpoint will query the connection for data. This endpoint is for adhoc data retrieval for an account; Teal will also collect the payroll data for users via the WebUI as soon
as a valid connection is established. This endpoint can be applied to any account, it does not matter if it was established via your own call to POST /accounts
or via the Teal WebUI. Note that any new data retrieved via /entries/connections
is persisted on Teal’s storage and can be retrieved using the /payroll/{user_id}
endpoint.
When querying a connection, new payroll will be fetched based on the initial period used in account creation; Teal uses the most recent pay_date
of an account to update the connection with the latest payroll seen after this date.
A manual upload of payslip data using is not linked to an account, but the JSON response of /entries/payslips
will be in the same format and the payroll data
can be retrieved in the exact same way. The files for upload must be in PDF format.
/payroll
/documents
2024-02-17T14:00:00+02:00
is returned as 2024-02-17T12:00:00Z
When submitting dates to the API, you can include offsets, and these will be respected in all date calculations.
When integrating with payroll providers that supply dates without time components (e.g., 2024-02-17
), we standardize these to noon UTC (2024-02-17T12:00:00Z
) to avoid any ambiguity with date boundaries across time zones.
This should be taken into consideration when submitting your own dates for filtering payroll (such as in POST /accounts
).
account_id
, user_id
and provider
in the query parameters. For payslip uploads we will redirect with the user_id
and a message
parameter. On failure we’ll attach an error
parameter alongside the user_id
.