Light APIv1.0.0

API / Reference / Expenses

Submit reimbursement

POST https://api.light.inc/v1/expenses/submit

Submits all pending expenses from the current user for administrator review and approval

Acts on the credential's user, so it needs a user credential with the reimbursement role; an API key fails with USER_NOT_RECOGNIZED. It submits every expense of that user in IN_DRAFT — those still in CREATED (OCR not finished) are skipped — moves them to SUBMITTED_FOR_REVIEW, creates one reimbursement in IN_PROGRESS and starts the company's approval workflow. It returns an empty body; read the result with GET /v1/users/{userId}/reimbursements/latest. With no drafts it is a silent no-op.

All-or-nothing preconditions: the user has an address and postcode (USER_MISSING_ADDRESS); the reimbursement configuration has bank details, either domestic code and number or IBAN and BIC (USER_INVALID_BANK_DETAILS); and every draft has originalCurrency, performedDate, and on each line originalAmount, billingAmount, description and a category (EXPENSE_MISSING_FIELD, EXPENSE_LINE_MISSING_FIELD). One incomplete draft blocks the whole submission.

Authorization

Send one of these on every request. See Authentication for how to get credentials.

  • API key

    Basic authentication header of the form Basic <api_key>, where <api_key> is your api key.

  • Bearer token

Response

This endpoint returns no content.