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.