Reimbursement Details API
Reimbursement APIs
Reimbursement Details API
Retrieve detailed information for a single reimbursement including items, mileage trips, and tax breakdown
Reimbursement Details API
Authentication
All requests require an API key in the request headers. Headers:Request
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reimbursementId | string | Yes | The unique slug identifier of the reimbursement |
Code Examples
Success Response
HTTP Status:200 OK
Response Fields:
| Field | Type | Description |
|---|---|---|
ok | boolean | Indicates whether the request was successful |
data | object | Contains the reimbursement details |
data.id | string | Unique identifier (slug) for the reimbursement |
data.reimbursementNumber | string | Reimbursement number |
data.description | string | Description of the reimbursement |
data.reimbursementDate | string | Reimbursement date (ISO 8601 format) |
data.dateCreated | string | Date the reimbursement was created in the system (ISO 8601 format) |
data.amount | number or string | Total amount of the reimbursement |
data.amountPaid | number or string | Amount that has been paid against the reimbursement |
data.currency | string | Currency code (e.g., INR) |
data.state | string | Current state of the reimbursement. Possible values: DRAFTED, PENDING, APPROVED, PAID, ARCHIVED. This endpoint returns the raw PENDING value for pending approval, whereas the Reimbursement List API normalizes it to APPROVAL_PENDING |
data.itemsType | string | Type of items in the reimbursement. Possible values: ALL_EXPENSE, ALL_MILEAGE, MIXED |
data.itemCount | number | Number of items in the reimbursement |
data.remarks | string | Notes / remarks on the reimbursement |
data.tax | object | Tax summary for the reimbursement |
data.tax.subTotal | number or string | Amount before taxes |
data.tax.gst | number or string | Total GST amount |
data.tax.tds | number or string | Total TDS (withholding) amount |
data.items | array | Items that make up the reimbursement |
data.items[].type | string | Item type. Possible values: EXPENSE, MILEAGE |
data.items[].item_type | string | Item type (same value as type) |
data.items[].amount | number or string | Amount for the item |
data.items[].description | string | Description of the item |
data.items[].dateCreated | string | Date the item was created (ISO 8601 format) |
data.items[].reimbursementDate | string | Reimbursement date associated with the item |
data.items[].trip | object | Mileage trip details. Present only for MILEAGE items that have an associated trip |
data.items[].trip.location | object | Trip location details (internal identifiers such as place id and coordinates are omitted) |
data.items[].trip.rate | number | Mileage rate applied to the trip |
data.items[].trip.distance | string | Trip distance in meters, suffixed with m (e.g., 12500m) |
data.user | object | The user the reimbursement belongs to |
data.user.id | string | Unique slug identifier of the user |
data.user.name | string | Full name of the user |
data.accountingDate | string | Accounting date for the reimbursement (ISO 8601 format) |
data.approvedDate | string | Date the reimbursement was approved (ISO 8601 format) |
data.paymentDate | string | Date the reimbursement was paid (ISO 8601 format) |
data.accountingPlatform | string | Name of the connected accounting platform. Present only when an accounting integration is connected |
Response Example
Error Responses
Authentication and permission failures are returned in the standard structured format shown below. Business-logic errors (such as the reimbursement not being found or access being denied) are returned with an HTTP
200 OK status and a string error message: { "ok": false, "error": "<message>" }.Reimbursement Not Found
HTTP Status:200 OK
Access Denied
HTTP Status:200 OK
Authentication Errors
HTTP Status:401 Unauthorized
Permission Errors
HTTP Status:403 Forbidden
Best Practices
- Use the
idreturned by the Reimbursement List API as thereimbursementIdpath parameter tripis only present onMILEAGEitems that have an associated trip;distanceis reported in meters with anmsuffix- Always check the
okflag in the response body in addition to the HTTP status code, since business-logic errors are returned with an HTTP200 OKstatus - Access is limited to users with reimbursement read permission and an admin or bookkeeper role