Skip to main content

Quickstart

Get up and running with the Billbora API in under 5 minutes. This guide will walk you through making your first API call and creating your first invoice.

Prerequisites

Before you begin, you’ll need:
  • A Billbora account (sign up here)
  • Basic knowledge of REST APIs
  • A tool to make HTTP requests (curl, Postman, or your preferred programming language)

Step 1: Get Your API Credentials

1

Log into Billbora

Navigate to app.billbora.com and log in to your account.
2

Go to API Settings

In your dashboard, go to SettingsAPICredentials.
3

Generate API Key

Click Generate New API Key and copy the generated key.
Store this key securely - it won’t be shown again!

Step 2: Make Your First API Call

Let’s start by fetching your organization information:
curl -X GET \
  https://api.billbora.com/api/v1/organizations/me/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
You should receive a response like this:
Response
{
  "id": "org_1234567890",
  "name": "Your Organization",
  "subscription_tier": "growth",
  "subscription_status": "active",
  "created_at": "2025-01-01T00:00:00Z"
}
Great! Your API credentials are working correctly.

Step 3: Create Your First Client

Before creating an invoice, you need a client. Let’s create one:
curl -X POST \
  https://api.billbora.com/api/v1/clients/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corporation",
    "email": "[email protected]",
    "phone": "+1-555-0123",
    "address": "123 Business Ave",
    "city": "San Francisco",
    "state": "CA",
    "postal_code": "94102",
    "country": "US"
  }'
Save the client ID from the response - you’ll need it for the invoice:
Response
{
  "id": "client_1234567890",
  "name": "Acme Corporation",
  "email": "[email protected]",
  "is_active": true,
  "created_at": "2025-01-15T10:30:00Z"
}

Step 4: Create Your First Invoice

Now let’s create an invoice for your new client:
curl -X POST \
  https://api.billbora.com/api/v1/invoices/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "client": "client_1234567890",
    "issue_date": "2025-01-15",
    "due_date": "2025-02-15",
    "line_items": [
      {
        "description": "Consulting Services",
        "quantity": 10,
        "unit_price": "150.00",
        "tax_rate": "10.00"
      },
      {
        "description": "Project Management",
        "quantity": 20,
        "unit_price": "100.00",
        "tax_rate": "10.00"
      }
    ],
    "notes": "Thank you for your business!",
    "terms": "Payment due within 30 days"
  }'
You should receive a response with your new invoice:
Response
{
  "id": "inv_1234567890",
  "invoice_number": "INV-001",
  "status": "draft",
  "client": {
    "id": "client_1234567890",
    "name": "Acme Corporation"
  },
  "issue_date": "2025-01-15",
  "due_date": "2025-02-15",
  "subtotal": "3500.00",
  "tax_amount": "350.00",
  "total_amount": "3850.00",
  "currency": "USD",
  "line_items": [
    {
      "description": "Consulting Services",
      "quantity": 10,
      "unit_price": "150.00",
      "tax_rate": "10.00",
      "total": "1650.00"
    },
    {
      "description": "Project Management",
      "quantity": 20,
      "unit_price": "100.00",
      "tax_rate": "10.00", 
      "total": "2200.00"
    }
  ],
  "public_url": "https://invoice.billbora.com/inv_1234567890",
  "pdf_url": "https://invoice.billbora.com/inv_1234567890/pdf",
  "created_at": "2025-01-15T10:30:00Z"
}
Congratulations! You’ve successfully created your first invoice.

Step 5: Send the Invoice

Now let’s send the invoice to your client:
curl -X POST \
  https://api.billbora.com/api/v1/invoices/inv_1234567890/send/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]"
  }'
The invoice will be sent via email, and you’ll receive a confirmation:
Response
{
  "message": "Invoice sent successfully",
  "sent_to": "[email protected]",
  "sent_at": "2025-01-15T10:35:00Z"
}

What’s Next?

Common Next Steps

Configure webhooks to receive real-time updates about invoice status changes, payments, and other events:
curl -X POST \
  https://api.billbora.com/api/v1/webhooks/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhooks/billbora",
    "events": ["invoice.paid", "invoice.overdue", "payment.received"]
  }'
Enable your clients to pay invoices online by setting up Stripe integration:
curl -X POST \
  https://api.billbora.com/api/v1/invoices/inv_1234567890/payment-link/ \
  -H "Authorization: Bearer YOUR_API_KEY"
Set up subscription billing for recurring services:
curl -X POST \
  https://api.billbora.com/api/v1/recurring-invoices/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "client": "client_1234567890",
    "frequency": "monthly",
    "line_items": [...]
  }'
Access revenue reports and analytics:
curl -X GET \
  "https://api.billbora.com/api/v1/reports/revenue/?period=monthly&start_date=2025-01-01" \
  -H "Authorization: Bearer YOUR_API_KEY"

Need Help?

Tip: All examples in this guide use placeholder IDs. Replace them with the actual IDs returned by your API calls.