Submit report

Submits a draft report to the workspace approval workflow.

POST https://cotlet.dev/api/v1/expensify/reports/{report_id}/submit

write Confirm

Sends the report to the approver set by the workspace. If the workspace has no approval workflow, Expensify shows Mark as done and the call returns status done instead of submitted. A report cannot be submitted when every expense is on hold or every transaction is a pending Expensify Card transaction. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: submit_report
NameTypeDescription
report_id string required string Report ID from list_reports.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/expensify/reports/R10042/submit \
  -H "Authorization: Bearer $COTLET_API_KEY"
Python
result = client.call("expensify", "submit_report", {"report_id":"R10042"})
Node.js
const result = await cotlet.call('expensify', 'submit_report', {"report_id":"R10042"});
CLI
cotlet call expensify submit_report --data '{"report_id":"R10042"}'

Example response

JSON

{
  "report_id": "R10042",
  "status": "submitted",
  "approver": "Dana Reyes",
  "total": 612.9,
  "currency": "USD",
  "submitted_at": "2026-10-16T16:00:00+02:00"
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.