Skip to content

Confirm a document upload

Request

Step 2 of 2. Call after PUTting the file content to the presigned URL. Verifies the blob actually arrived (and is within the size cap) and, for a requirement-backed upload, attaches it to that requirement so it appears on the banker's Documents tab as PENDING review.

Until this is called the record exists but the bank cannot see the document.

Pass period when the requirement collects more than one (three years of tax returns, say) — those 400 with period_key_required otherwise, since nothing can infer which year the file answers. Use the period value from GET /loans/{id}/documents.

Retrying is safe in the sense that it never corrupts anything, but it is NOT a no-op: re-confirming an already-attached file adds another version to the same requirement, matching how a re-upload behaves in the UI. Retry after a failed confirm, not after a successful one.

Security
ApiKeyAuth
Path
idstringrequired
Headers
Idempotency-Keystring, <= 255 characters

Optional opaque key (e.g. a UUID) to make this write safely retryable. A replay with the same key returns the original response instead of repeating the side effect.

Bodyapplication/jsonrequired
periodstring

Which period this document answers, e.g. 2024. REQUIRED when the requirement collects more than one period (three years of tax returns, say); those 400 with period_key_required if it is omitted, rather than guessing a year. Use the period value from GET /loans/{id}/documents. Omit only for a single-period requirement.

curl -i -X POST \
  'https://api.pioneerft.com/api/public/v1/documents/{id}/confirm' \
  -H 'Authorization: Bearer <YOUR_API Key_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -d '{
    "period": "string"
  }'

Responses

Upload confirmed and attached

Bodyapplication/json
dataobject(PublicDocument)
Response
{ "data": { "id": "string", "name": "string", "type": "string", "size": 0, "category": "string", "uploadedAt": "string", "requirement": { "id": "string", "name": "string", "status": "string", "module": "string", "entityType": "loan", "entityID": "string", "period": "string" } } }