API Documentation

Build with Koala Invoices

Our powerful API gives you the tools to integrate invoicing into your applications and automate your workflow.

API Overview

The Koala Invoices API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Base URL
https://api.koalainvoices.com/v1
Authentication

The Koala Invoices API uses API keys to authenticate requests. You can view and manage your API keys in the Koala Invoices Dashboard.

Authorization: Bearer your_api_key

All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

API Resources

Invoices

Create, retrieve, update, and delete invoices in your Koala Invoices account.

GET/invoices
POST/invoices
GET/invoices/{id}
PUT/invoices/{id}
DELETE/invoices/{id}

Customers

Manage the customers in your Koala Invoices account.

GET/customers
POST/customers
GET/customers/{id}
PUT/customers/{id}
DELETE/customers/{id}

Payments

Process and track payments for your invoices.

GET/payments
POST/payments
GET/payments/{id}
PUT/payments/{id}

Reports

Generate reports and analytics for your Koala Invoices account.

GET/reports/revenue
GET/reports/outstanding
GET/reports/customers

Reminders

Set up and manage payment reminders for your invoices.

GET/reminders
POST/reminders
GET/reminders/{id}
PUT/reminders/{id}
DELETE/reminders/{id}

Webhooks

Configure webhooks to receive notifications about events in your account.

GET/webhooks
POST/webhooks
GET/webhooks/{id}
DELETE/webhooks/{id}

Sample Code

Here are some examples to help you get started with the Koala Invoices API.

Create an invoice
// Create a new invoice
const axios = require('axios');

const createInvoice = async () => {
  try {
    const response = await axios.post(
      'https://api.koalainvoices.com/v1/invoices',
      {
        customer_id: 'cus_123456789',
        due_date: '2025-06-01',
        items: [
          {
            description: 'Web Development',
            quantity: 1,
            unit_price: 1500.00
          },
          {
            description: 'Website Hosting (Monthly)',
            quantity: 12,
            unit_price: 29.99
          }
        ],
        notes: 'Thank you for your business!'
      },
      {
        headers: {
          'Authorization': 'Bearer your_api_key',
          'Content-Type': 'application/json'
        }
      }
    );
    
    console.log('Invoice created:', response.data);
    return response.data;
  } catch (error) {
    console.error('Error creating invoice:', error.response?.data || error.message);
    throw error;
  }
};

createInvoice();

Webhooks

Get notified about events in your Koala Invoices account by setting up webhooks.

Webhooks allow you to receive real-time notifications when events happen in your account, such as when an invoice is paid, a new customer is created, or a payment fails.

Common webhook events

  • invoice.created

    Triggered when a new invoice is created.

  • invoice.updated

    Triggered when an invoice is updated.

  • invoice.paid

    Triggered when an invoice is marked as paid.

  • invoice.overdue

    Triggered when an invoice becomes overdue.

  • payment.succeeded

    Triggered when a payment is successfully processed.

  • payment.failed

    Triggered when a payment attempt fails.

Developer Tools

SDKs & Libraries

Use our official SDKs to integrate with Koala Invoices faster and more reliably.

JavaScript

Official JavaScript SDK for Node.js and browser applications.

Python

Python SDK for server-side applications and scripts.

PHP

PHP SDK for web applications and frameworks like Laravel.

Ruby

Ruby SDK for Rails applications and Ruby scripts.

Need help with integration?

Our developer support team is ready to help you with your integration. Check out our developer documentation or contact us for assistance.