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
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 toarrival_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.
