API reference

Finance

Settlements, bank lines, disputes, period close, channel terms, expenses and exports. Payments are recorded, never processed.

get

/v1/finance/settlements

Channel settlements (owner, advisor, judge); from / to overlap the settlement period

operationId listSettlements

Auth

Member token+Tenant header

Parameters

  • channelin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • fromin querystring (date)optional
  • toin querystring (date)optional
  • 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

V1FinanceSettlementscontract v1.finance.settlements
  • itemsarray of objectrequired
    • settlement_idUuid7required
    • channel_idUuid7required
    • outlet_idUuid7 | nullrequired
    • period_fromstring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • period_tostring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • paid_onstring (date) | nullrequired
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • external_refstringrequired
    • net_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • created_atIsoDatetimerequired
  • next_cursorUuid7 | nullrequired

Errors

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

get

/v1/finance/settlement-lines

Settlement lines with commission, ad fee, promo share and tax withheld (owner, advisor, judge)

operationId listSettlementLines

Auth

Member token+Tenant header

Parameters

  • channelin querystringoptional
    pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
  • fromin querystring (date)optional
  • toin querystring (date)optional
  • 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

V1FinanceSettlementLinescontract v1.finance.settlement-lines
  • itemsarray of objectrequired
    • settlement_line_idUuid7required
    • settlement_idUuid7required
    • channel_idUuid7required
    • line_nointegerrequired
      ≥ 1≤ 9007199254740991
    • line_kindenum (5)required
      orderad_feepromo_shareadjustmentother
    • external_order_refstring | nullrequired
    • matched_order_idUuid7 | nullrequired
    • gross_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • commission_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • ad_fee_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • promo_share_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • tax_withheld_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • net_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
  • next_cursorUuid7 | nullrequired

Errors

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

get

/v1/finance/bank-lines

Imported bank lines by value date (owner, advisor, judge)

operationId listBankLines

Auth

Member token+Tenant header

Parameters

  • fromin querystring (date)optional
  • toin querystring (date)optional
  • 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

V1FinanceBankLinescontract v1.finance.bank-lines
  • itemsarray of objectrequired
    • bank_line_idUuid7required
    • outlet_idUuid7 | nullrequired
    • account_refstringrequired
    • value_datestring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • amount_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • methodenum (10)required
      upicardbank_transferneftimpsrtgscash_depositchequefeeother
    • payee_vpastring | nullrequired
    • narrationstring | nullrequired
    • external_refstringrequired
    • created_atIsoDatetimerequired
  • next_cursorUuid7 | nullrequired

Errors

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

get

/v1/finance/disputes

Recorded disputes with channels and suppliers (owner, advisor, judge)

operationId listDisputes

Auth

Member token+Tenant header

Parameters

  • statusin queryenum (5)optional
    recordedsentresolvedrejectedwithdrawn
  • counterpartyin queryenum (2)optional
    channelsupplier
  • 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

V1FinanceDisputescontract v1.finance.disputes
  • itemsarray of objectrequired
    • dispute_idUuid7required
    • counterpartyenum (2)required
      channelsupplier
    • channel_idUuid7 | nullrequired
    • supplier_idUuid7 | nullrequired
    • supplier_invoice_idUuid7 | nullrequired
    • basisenum (6)required
      unapproved_ad_feeshort_payoutmissing_payoutoverbilledduplicate_invoiceother
    • total_claimed_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • statusenum (5)required
      recordedsentresolvedrejectedwithdrawn
    • resolved_minorinteger | nullrequired
      ≥ -9007199254740991≤ 9007199254740991
    • created_atIsoDatetimerequired
  • next_cursorUuid7 | nullrequired

Errors

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

post

/v1/finance/disputes

finance.dispute.draft.v1 — record a channel dispute for the owner to send (also draftable)

operationId recordDispute

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "finance.dispute.draft.v1"required
  • payloadFinanceDisputeDraftV1required

Response 201

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

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

get

/v1/finance/disputes/{id}

One dispute with its claimed lines

operationId getDispute

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

V1FinanceDisputecontract v1.finance.dispute
  • dispute_idUuid7required
  • counterpartyenum (2)required
    channelsupplier
  • channel_idUuid7 | nullrequired
  • supplier_idUuid7 | nullrequired
  • supplier_invoice_idUuid7 | nullrequired
  • basisenum (6)required
    unapproved_ad_feeshort_payoutmissing_payoutoverbilledduplicate_invoiceother
  • total_claimed_minorintegerrequired
    ≥ -9007199254740991≤ 9007199254740991
  • currencystringrequired
    pattern ^[A-Z]{3}$
  • statusenum (5)required
    recordedsentresolvedrejectedwithdrawn
  • resolved_minorinteger | nullrequired
    ≥ -9007199254740991≤ 9007199254740991
  • created_atIsoDatetimerequired
  • linesarray of objectrequired
    • dispute_line_idUuid7required
    • line_nointegerrequired
      ≥ 1≤ 9007199254740991
    • settlement_line_idUuid7 | nullrequired
    • order_idUuid7 | nullrequired
    • supplier_invoice_line_idUuid7 | nullrequired
    • claimed_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$

Errors

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

get

/v1/finance/period-closes

Closed periods with their checklist (owner, advisor, judge)

operationId listPeriodCloses

Auth

Member token+Tenant header

Parameters

  • fromin querystring (date)optional
  • toin querystring (date)optional
  • 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

V1FinancePeriodClosescontract v1.finance.period-closes
  • itemsarray of objectrequired
    • period_close_idUuid7required
    • outlet_idUuid7 | nullrequired
    • period_monthstring (date)required
      pattern ^(?:(?:[0-9][0-9][2468][048]|[0-9][0-9][13579][26]|[0-9][0-9]0[48]|[02468][048]00|[13579][26]00)-02-29|[0-9]{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[469]|11)-(?:0[1-9]|[12][0-9]|30)|(?:02)-(?:0[1-9]|1[0-9]|2[0-8])))$
    • checklistarray of objectrequired
      • item_codestringrequired
        pattern ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
      • evidence_refstringrequired
    • net_minorintegerrequired
      ≥ -9007199254740991≤ 9007199254740991
    • currencystringrequired
      pattern ^[A-Z]{3}$
    • closed_byUuid7required
    • closed_atIsoDatetimerequired
  • next_cursorUuid7 | nullrequired

Errors

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

post

/v1/finance/period-closes

finance.period.close.v1 — close a month (also draftable); later entries dated in it are refused

operationId closePeriod

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "finance.period.close.v1"required
  • payloadFinancePeriodCloseV1required

Response 201

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

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

get

/v1/finance/channel-terms

Recorded channel terms (commission, ad consent and cap, validity), newest window first (owner, advisor, judge)

operationId listChannelTerms

Auth

Member token+Tenant header

Parameters

  • channel_idin querystring (uuid)optional

Response 200

V1FinanceChannelTermscontract v1.finance.channel-terms

Errors

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

post

/v1/finance/channel-terms

finance.channel_terms.set.v1 — record agreed commission, ad and promo terms for a channel (owner)

operationId setChannelTerms

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "finance.channel_terms.set.v1"required

Response 201

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

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

post

/v1/finance/expenses

finance.expense.record.v1 — record an expense (posts it)

operationId recordExpense

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "finance.expense.record.v1"required
  • payloadFinanceExpenseRecordV1required

Response 201

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

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

post

/v1/finance/budgets

finance.budget.set.v1 — set a month's budget for one spending category, for one outlet or the whole business (owner)

operationId setBudget

Auth

Member token+Tenant header

Request body

object
  • command_idUuid7required
  • idempotency_keystringrequired
    pattern ^[A-Za-z0-9_.:-]{8,100}$
  • typeconst "finance.budget.set.v1"required
  • payloadFinanceBudgetSetV1required

Response 201

CommandResultcontract command-result
  • command_idUuid7required
  • typestringrequired
    pattern ^[a-z][a-z_]*(\.[a-z][a-z_]*)+\.v[1-9][0-9]*$
  • entity_idUuid7required
  • committed_atIsoDatetimerequired

Errors

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

get

/v1/finance/exports/tally

Journal vouchers for a date range as a Tally-importable CSV (owner, advisor, judge)

operationId exportTally

Auth

Member token+Tenant header

Parameters

  • fromin querystring (date)required
  • toin querystring (date)required

Response 200

V1FinanceTallyExportcontract v1.finance.tally-export
  • file_namestringrequired
    pattern ^munim-tally-[0-9]{4}-[0-9]{2}-[0-9]{2}-to-[0-9]{4}-[0-9]{2}-[0-9]{2}\.csv$
  • content_typeconst "text/csv"required
  • contentstringrequired

Errors

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