Reject an expense
PATCH
Marks a pending expense as rejected with a mandatory reason. Fails with 400 if the expense is not pending.
How to use it
- Find a PENDING expense with List expenses for a day cycle.
- Send a reason; it is stored on the expense as rejectionReason.
- The expense becomes REJECTED with your username and the time, and can no longer be approved or rejected.
BearerAuthheader
AuthorizationBearer <JWT>dayCycleId*stringDay cycle UUID
Format
uuidexpenseId*stringExpense UUID
Format
uuidapplication/json- body
reason*stringRequired. Why the expense is rejected; shown back on the expense as rejectionReason.
OK
*/*- response
status*stringOutcome of the call: SUCCESS when it worked, ERROR when it failed.
message*stringShort human-readable message describing the outcome, for example "Vendor created". Do not parse it.
data?The expense as stored after the change.
Example Request
curl -X PATCH 'https://beta.iotoms.com/api/v1/ops/day-cycles/497f6eca-6276-4993-bfeb-53cbbbba6f08/expenses/497f6eca-6276-4993-bfeb-53cbbbba6f08/reject' \ -H 'Content-Type: application/json' \ -d '{ "reason": "string"}'Example Response
{ "status": "string", "message": "string", "data": { "expenseId": "a2142719-090a-410b-ad70-ea5efeb1c9dc", "dayCycleId": "bbed7a30-80be-4ccf-810d-a33c370a67d1", "salesExecutiveId": "string", "category": "FUEL", "amount": 0, "title": "string", "vendorName": "string", "receiptNumber": "string", "paymentMode": "CASH", "expenseDate": "2019-08-24", "gpsLat": 0, "gpsLon": 0, "notes": "string", "approvalStatus": "PENDING", "approvedBy": "string", "approvedAt": "2019-08-24T14:15:22Z", "rejectionReason": "string", "createdAt": "2019-08-24T14:15:22Z" }}