API reference

Imports

Documents and files in, as drafts: preview, approval, then commit under the approver.

post

/v1/imports/documents

Upload a file (sha256 unique per tenant: the same file again returns the existing document); a recognised format starts a run

operationId uploadImportDocument

Auth

Member token+Tenant header

Request body

V1ImportsUploadRequestcontract v1.imports.upload.request
  • kindenum (9)required
    payout_statementbank_statementpos_exporttally_exportmarket_signalpos_billswaste_logshift_logstock_count
  • filenamestringrequired
    min length 1max length 255
  • media_typestringrequired
    pattern ^[a-z]+\/[a-z0-9.+-]+$
  • content_base64stringrequired
    min length 1max length 7000000

Response 200

V1ImportsUploadResponsecontract v1.imports.upload.response

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/imports/runs

Import runs, newest first; kind and status filter, cursor = the last run's id (T-092a)

operationId listImportRuns

Auth

Member token+Tenant header

Parameters

  • kindin queryenum (9)optional
    payout_statementbank_statementpos_exporttally_exportmarket_signalpos_billswaste_logshift_logstock_count
  • statusin queryenum (5)optional
    parsingpreviewedcommittedrejectedfailed
  • limitin queryintegeroptional
  • cursorin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

Response 200

V1ImportsRunsResponsecontract v1.imports.runs.response

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/imports/runs

Start a run for an uploaded document whose format is now known (after its mapping was approved)

operationId createImportRun

Auth

Member token+Tenant header

Request body

V1ImportsRunCreateRequestcontract v1.imports.run.create.request

Response 201

V1ImportsRuncontract v1.imports.run
  • import_run_idUuid7required
  • document_idUuid7required
  • kindenum (9)required
    payout_statementbank_statementpos_exporttally_exportmarket_signalpos_billswaste_logshift_logstock_count
  • parserstring | nullrequired
  • format_idUuid7 | nullrequired
  • statusenum (5)required
    parsingpreviewedcommittedrejectedfailed
  • rows_okintegerrequired
    ≥ 0≤ 9007199254740991
  • rows_quarantinedintegerrequired
    ≥ 0≤ 9007199254740991
  • control_total_minorinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • currencystring | nullrequired
    pattern ^[A-Z]{3}$
  • total_matchesboolean | nullrequired
  • draft_idUuid7 | nullrequired
  • decision_idUuid7 | nullrequired
  • created_atIsoDatetimerequired
  • updated_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/imports/runs/{id}

One import run (status, rows ready, rows quarantined, the file's total)

operationId getImportRun

Auth

Member token+Tenant header

Parameters

  • idin pathstringrequired
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Response 200

V1ImportsRuncontract v1.imports.run
  • import_run_idUuid7required
  • document_idUuid7required
  • kindenum (9)required
    payout_statementbank_statementpos_exporttally_exportmarket_signalpos_billswaste_logshift_logstock_count
  • parserstring | nullrequired
  • format_idUuid7 | nullrequired
  • statusenum (5)required
    parsingpreviewedcommittedrejectedfailed
  • rows_okintegerrequired
    ≥ 0≤ 9007199254740991
  • rows_quarantinedintegerrequired
    ≥ 0≤ 9007199254740991
  • control_total_minorinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • currencystring | nullrequired
    pattern ^[A-Z]{3}$
  • total_matchesboolean | nullrequired
  • draft_idUuid7 | nullrequired
  • decision_idUuid7 | nullrequired
  • created_atIsoDatetimerequired
  • updated_atIsoDatetimerequired

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

get

/v1/imports/runs/{id}/rows

Staged rows and quarantined rows (with reasons) of one run

operationId getImportRunRows

Auth

Member token+Tenant header

Parameters

  • idin pathstringrequired
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Response 200

V1ImportsRunRowsResponsecontract v1.imports.run.rows.response
  • stagedarray of objectrequired
    • row_nointegerrequired
      > 0≤ 9007199254740991
    • target_tablestringrequired
    • datamap of one of 3 | nullrequired
    • amount_minorinteger | nullrequired
      ≥ -9007199254740991≤ 9007199254740991
    • external_refstring | nullrequired
  • quarantinedarray of objectrequired
    • row_nointegerrequired
      > 0≤ 9007199254740991
    • rawstringrequired
    • reason_codestringrequired
      pattern ^[a-z][a-z0-9_]*$

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.

post

/v1/imports/formats:propose

Propose a column mapping (renames + units only) for a document's layout, as a draft to approve

operationId proposeImportFormat

Auth

Member token+Tenant header

Request body

V1ImportsFormatProposeRequestcontract v1.imports.format.propose.request
  • document_idUuid7required
  • kindenum (9)required
    payout_statementbank_statementpos_exporttally_exportmarket_signalpos_billswaste_logshift_logstock_count
  • namestringrequired
    min length 1max length 100
  • mappingarray of objectrequired
    min items 1max items 100
    • sourcestringrequired
      min length 1max length 100
    • targetstringrequired
      pattern ^[a-z][a-z0-9_]*$
    • unitstringoptional
      pattern ^[a-z][a-z0-9_]{0,15}$

Response 201

V1ImportsFormatProposeResponsecontract v1.imports.format.propose.response

Errors

Every error body carries a code, a message and, where it applies, a reason_code. All error and reason codes.