Create a draft claim, mileage entry, or per diem. Upload receipts in the app; this endpoint accepts JSON only.
Supabase browser session cookie. Supabase may split larger session values into chunked cookies like sb-auth-token.0.
In: cookie
uuidapplication/json
The expense claim.
TypeScript Definitions
Use the request body type in TypeScript.
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/v1/organizations/123/expenses" \ -H "Content-Type: application/json" \ -d '{ "kind": "company", "merchant": "string", "description": "string", "spentOn": "2019-08-24", "amount": 0, "currency": "EUR", "exchangeRate": 1, "paymentMethod": "company_card", "routeFrom": "string", "routeTo": "string", "roundTrip": false, "billable": false, "source": "manual" }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "company", "employee": { "employeeId": "b0e78c8f-8c8b-4410-8293-9239e39d9e17", "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b", "displayName": "string" }, "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0", "categoryName": "string", "tripId": "ab93ac19-a7bf-4885-87b6-6dcba80ee2d5", "tripName": "string", "merchant": "string", "description": "string", "spentOn": "2019-08-24", "amount": 0, "currency": "string", "exchangeRate": 0, "amountBase": 0, "vatAmount": 0, "vatRate": 0, "paymentMethod": "company_card", "distanceKm": 0, "mileageRate": 0, "routeFrom": "string", "routeTo": "string", "roundTrip": true, "perDiemDays": 0, "customerId": 1, "customerName": "string", "taskId": "e6e9d88a-9b63-468a-aec3-b7a11de27af8", "taskTitle": "string", "billable": true, "invoiceId": "4f163819-178d-470c-a246-d6768476a6ec", "status": "draft", "receiptStatus": "attached", "receiptFileName": "string", "source": "manual", "extractionConfidence": 0, "submittedAt": "string", "decidedAt": "string", "decisionNote": "string", "reimbursedAt": "string", "reimbursementReference": "string", "flags": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "limit_exceeded", "message": "string", "relatedExpenseId": "fd4449ef-cf4d-4e2e-906d-5258b8281510", "resolvedAt": "string" } ], "canEdit": true, "canDecide": true, "createdAt": "string"}"claim"Value in
uuiduuiduuidlength <= 200length <= 2000date0 <= value <= 9999999990^[A-Z]{3}$"EUR"value <= 100000010 <= value0 <= value <= 100"out_of_pocket"Value in
value <= 20000length <= 300length <= 300falsevalue <= 366uuidfalse"manual"Value in
0 <= value <= 1