Reimbi

Reimbi API

Expense Reports API

Authentication

Reimbi uses API keys to allow access to the API. You can generate a new Reimbi API key in Company Settings > API Keys.

Reimbi expects the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: Api-Key your-api-key

Make sure to replace your-api-key with your API key.

Rate Limiting

The API is rate limited to 20 requests per minute per user.

Endpoints

List Expense Reports

GET /api/v1/expense-reports

Query Parameters

ParameterTypeDescription
statusstringFilter reports by status
date_paid_startdateFilter reports paid on or after this date
date_paid_enddateFilter reports paid on or before this date
pageintegerPage number for pagination

The API returns 30 results per page by default.

Response Schema

{
  "count": "integer",
  "next": "uri",
  "previous": "uri",
  "results": [
    {
      "id": "string",
      "status": "submitted|approved|rejected|ready_for_payment|in_process|paid|unsuccessful",
      "approved_by": "string", 
      "total_amount": "string",
      "total_amount_currency": "string",
      "submitted": "datetime",
      "date_approved": "datetime",
      "date_paid": "datetime",
      "user": {
        "slug": "string",
        "name": "string",
        "requester_type": "string",
        "approver": "string",
        "bill_to": "string",
        "bill_to2": "string"
      },
      "expenses": [
        {
          "transaction_id": "uuid",
          "expense_date": "date",
          "expense_type": "string",
          "amount": "decimal",
          "currency": "string",
          "description": "string",
          "vendor": "string", 
          "city_of_purchase": "string",
          "receipt": "uri",
          "miles": "integer",
          "miles_rate": "decimal",
          "kilometers": "integer",
          "kilometers_rate": "decimal",
          "round_trip": "boolean",
          "exceeds_policy_limit": "boolean"
        }
      ]
    }
  ]
}

Example Request

curl -X GET "https://app.reimbi.com/api/v1/expense-reports?status=approved&date_paid_start=2024-01-01&date_paid_end=2024-03-31" \
  -H "Authorization: Api-Key your-api-key"

Example Response

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "c3c9aea1-c1c9-4b01-82ec-60c8f451790b",
      "status": "approved",
      "approved_by": "Jane Smith",
      "total_amount": "523.45",
      "total_amount_currency": "USD", 
      "submitted": "2024-03-01T15:30:00Z",
      "date_approved": "2024-03-02T09:15:00Z",
      "date_paid": "2024-03-03T14:00:00Z",
      "user": {
        "slug": "cff1263b-a4e6-4770-85b8-16df4ea9cb89",
        "name": "John Doe",
        "requester_type": "Job candidate",
        "approver": "Jane Smith",
        "bill_to": "Engineering",
        "bill_to2": "US-West"
      },
      "expenses": [
        {
          "transaction_id": "123e4567-e89b-12d3-a456-426614174000",
          "expense_date": "2024-02-28",
          "expense_type": "airfare",
          "amount": "450.00",
          "currency": "USD",
          "description": "Flight to HQ",
          "vendor": "United Airlines",
          "city_of_purchase": "Portland, Oregon, United States",
          "receipt": "https://cdn.reimbi.com/123.pdf",
          "exceeds_policy_limit": false
        }
      ]
    }
  ]
}
Previous
Lever