Custom Source API (Beta)
The Custom Source Upload API makes content from internal tools and on-premises systems available in Pascal across Pascal’s suite of applications. Use it to manage datasources and upload content. Use Custom Source when your purchase orders or invoices live in a system you operate, such as an on-premise ERP. An admin creates a connector and gives your job credentials for one named datasource. Your job exchanges a signed assertion for an access token, stages records in an upload, closes it, and polls for the result. The base URL ishttps://app.teampascal.com/api/v1/custom-source. All data routes require Authorization: Bearer <access_token>.
Both modes upsert records by id. Only
full deletes: it removes records of its own document type that the upload omits. It never touches other types, so give each type its own full upload. An incremental upload leaves omitted records in place. Full uploads have a deletion brake that stops unexpectedly large removals.
A record has an id and a data object in your own field layout. You declare the document type once per upload, not per record. purchase_order and invoice are mapped types whose fields Pascal reads by what they represent; Pascal stores any other type your connector declares as sent.
Quickstart
Create a connector, install the client libraries, and exchange your first access token.
Authentication
Sign an RFC 7523 assertion, create a connector, and rotate the signing key.
Uploads
Open an upload, stage records in batches, close it, and poll for the result.
Errors and recovery
Interpret request errors and asynchronous upload failures.
Test the API
Dry-run an upload before scheduling a job.
Endpoints
Request and response reference for every route.

