Skip to content

Create reconciliation with upload

POST/api/v1/reconciliations/upload

Create a new bank reconciliation with direct file upload.

Supports PDF, CSV, and Excel bank statements. The file is uploaded to S3 and processed automatically.

The workflow will:

  1. Upload file to S3
  2. Parse the bank statement using AI (handles any format)
  3. Fetch ledger transactions for the period
  4. Run AI matching to suggest matches
  5. Store results for review

Error 413: File too large (max 50 MB).

Operation ID: create_reconciliation_with_upload·View as markdown·OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Parameters

Query

ledger_idstringrequired

ID of ledger to reconcile against

start_datestring · date-timerequired

Statement period start date

end_datestring · date-timerequired

Statement period end date

opening_balanceinteger

Opening balance in cents

closing_balanceinteger

Closing balance in cents

auto_startbooleandefault: True

Auto-start processing workflow

Responses

201Successful Response

successboolean
messagestring
codestring
dataCreateReconciliationWithUploadResponse

401Unauthorized - Missing or expired token, an MCP OAuth token used against the REST API, or no access to this business

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

403Forbidden - Insufficient permissions

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.

422Validation Error

errorstringrequired

Error category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.

messagestringrequired

Human-readable explanation, safe to show to end users.

codestringrequired

Stable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).

request_idstring

Correlation id for support requests. Echoes the x-request-id request header when one was supplied.

errorsobject

Field-level validation messages keyed by field name. Present on 400/422 validation failures only.