Skip to main content
An enrolled agreement can send files the customer already gave you. Tera stores them against the same external_reference as the submission. Create still returns arrival_screen_url immediately. Redirect after the files you intend to send have been finalized. This path is for enrolled agreements only. An unenrolled create cannot send files. Bank statements are the live gate. When a finalized bank statement is already attached, Apply opens on the remaining questions and omits the documents page. Accounts and photo ID are optional at every amount. There is no £100,000 accounts or photo ID rule.

1. Create the submission

POST /v1/supplier-submissions returns 202 received and arrival_screen_url. See Create a submission. Do not wait for accept before requesting upload URLs. Key every document call with the same external_reference.

2. Presign

POST /v1/supplier-submissions/documents/upload-url
category is one of bank_statements, accounts, or id. A file without a category is rejected. A 200 returns document_id and upload_url. PUT the bytes to that URL. Do not send the file body to Tera. Unenrolled credentials receive 403:

3. Finalize

POST /v1/supplier-submissions/documents/finalize
A file counts only after finalize. Scan status on success is pending_scan. A pending scan still satisfies the bank-statement gate. A blocked file does not. Once a finalized bank statement exists for that reference, further presigns are rejected. A finalize that had already started still completes.

4. Redirect

Send the Applicant to arrival_screen_url from create after the files you intend to send are finalized. Tera attaches those files during the Arrival decision, before Apply opens. Poll GET is for your records. handoff.customer_journey_url is not required for the hop. See Status polling.

Limits

The same size, type, and file-count limits as the client portal apply. Unattached files are deleted after seven days. A refused submission deletes unattached files.