Add Expense
Adding new expenses may be obtained using this endpoint. For emphasis on specific results, you can add the following parameters when creating new expenses.
Endpoint
POST https://api.xtrakit.com/api/v1/expenses/add
Headers
Authorization: Bearer API_KEY
Body Parameters
Parameters
Type
Description
expense_type
string
Required
The type of the expense.
expense_description
string
Optional
A detailed description of the expense.
expense_amount
decimal(10,2)
Required
The amount of the expense  in this format: 10.00
payment_method
string
Required
The method used for payment.
expense_image
string
Optional
URL to an image or receipt associated with the expense.
created_by
string
Required
The user who created the record.
Sample Requests
<?php
$data = [
  'expense_type' => "Office Supplies",
  'expense_description' => 'Purchased new printer ink'
  'expense_amount' => "200.00", 
  'payment_method' => "MOMO", 
  'expense_image' => "https://url-to-image.com/image.jpg", 
  'created_by' => "Benjamin" 
  ];
$url = 'https://api.xtrakit.com/api/v1/expenses/add';
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => $data,
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer API_KEY',  // Replace 'API_KEY' with your actual API key
    'Content-Type: application/json' 
  ),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
const axios = require('axios');
const data = {
  'expense_type': "Office Supplies",
  'expense_description': 'Purchased new printer ink'
  'expense_amount': "200.00", 
  'payment_method': "MOMO", 
  'expense_image': "https://url-to-image.com/image.jpg", 
  'created_by': "Benjamin" 
  };
const config = {
    method: 'post',
    url: `https://api.xtrakit.com/api/v1/expenses/add`,
    headers: {
        'Authorization': 'Bearer API_KEY', // Replace 'API_KEY' with your actual API key
        "Content-Type": "application/json"
    },
    data: data 
};
axios(config).then(function(response) {
    console.log(JSON.stringify(response.data));
}).catch(function(error) {
    console.error(error);
});import requests
data = {
  'expense_type': "Office Supplies",
  'expense_description': 'Purchased new printer ink'
  'expense_amount': "200.00", 
  'payment_method': "MOMO", 
  'expense_image': "https://url-to-image.com/image.jpg", 
  'created_by': "Benjamin" 
  }
url = f'https://api.xtrakit.com/api/v1/expenses/add'
headers = {
    "Authorization": "Bearer API_KEY" # Replace 'API_KEY' with your actual API key
    "Content-Type": "application/json"
}
try:
    response = requests.post(url, headers=headers, json=data)
    print(response.json())
except requests.exceptions.RequestException as e:
    print(e)Sample Response
{
    "status": 200,
    "message": "Expense added successfully",
    "data": {
        "expense": {
            "id": 2,
            "expense_type": "Office Supplies",
            "expense_description": "Purchased new printer ink",
            "expense_amount": "200.00",
            "payment_method": "MOMO",
            "expense_image": "https://url-to-image.com/image.jpg",
            "created_by": "Benjamin",
            "created_at": "2024-08-04 08:23:45",
            "updated_at": "2024-08-04 02:00:43"
        }
    }
}{
    "status": 401,
    "error": "Authentication invalid"
},
{
    "status": 401,
    "error": "Unauthorized: Invalid API Key"
}Last updated
