Skip to main content
An enrolled application-level 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 enrolled application-level only. basic, Promotion, and 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 still returns 202 received and arrival_screen_url. See Application-level submissions. 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.