Skip to content

Transaction routes: attach, categorize, reconcile

The Transaction Verbs attach, categorize, reconcile as api.sb routes, with inputs, result, refusals and an example.

Reference for Transaction, one group of Transaction routes.

Transaction.attach

Attach matches a receipt File to a card Transaction, or flags the Transaction when no receipt arrives in time. Verb page.

Text
POST /{namespace}/transactions/{transaction}/attach

Path: transaction. Body, as JSON: the other inputs. Emits Transaction.attached.

Inputs

InputTypeRequiredDescription
transactionTransactionrequiredThe card Transaction.
fileFileThe receipt; empty to match from the Startup’s Mailboxes.

Returns

OutputTypeRequiredDescription
transactionTransactionrequiredThe Transaction with its receipt.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI/attach \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "api": "https://api.sb/leaseline.app",
  "transaction": {
    "$id": "https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI",
    "$type": "Transaction",
    "kind": "charge",
    "amount": {
      "amount": 29,
      "currency": "USD"
    }
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Transaction.attach",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Transaction.categorize

Categorize codes a Transaction to an account in the chart by the Startup’s Policy and flags a low-confidence code for review. Verb page.

Text
POST /{namespace}/transactions/{transaction}/categorize

Path: transaction. Body, as JSON: the other inputs. Emits Transaction.categorized.

Inputs

InputTypeRequiredDescription
transactionTransactionrequiredThe Transaction to code.
accountstringThe account code to use in place of the Policy’s choice.

Returns

OutputTypeRequiredDescription
transactionTransactionrequiredThe coded Transaction.
accountstringrequiredThe account code it was coded to.
confidencenumberrequiredHow sure the code is, from 0 to 1.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI/categorize \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "api": "https://api.sb/leaseline.app",
  "transaction": {
    "$id": "https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI",
    "$type": "Transaction",
    "kind": "charge",
    "amount": {
      "amount": 29,
      "currency": "USD"
    }
  },
  "account": "Example account",
  "confidence": 1,
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Transaction.categorize",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Transaction.reconcile

Reconcile matches a Transaction on a payment rail to the ledger Entries it settles. Verb page.

Text
POST /{namespace}/transactions/{transaction}/reconcile

Path: transaction. Emits Transaction.reconciled.

Inputs

InputTypeRequiredDescription
transactionTransactionrequiredThe Transaction to match.

Returns

OutputTypeRequiredDescription
transactionTransactionrequiredThe reconciled Transaction.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI/reconcile \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "api": "https://api.sb/leaseline.app",
  "transaction": {
    "$id": "https://api.sb/leaseline.app/transactions/txn_XoxtZe3CQI",
    "$type": "Transaction",
    "kind": "charge",
    "amount": {
      "amount": 29,
      "currency": "USD"
    }
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Transaction.reconcile",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}