Quickstart Guide
Get up and running with Orvion in minutes. This guide will walk you through creating your first invoice.
Prerequisites
- An Orvion account (sign up at the dashboard)
For API integration:
- Any HTTP client (curl, Python, Node.js, or your preferred language)
- Python 3.7+ or Node.js 16+ (only if following the Python/Node.js examples below)
curl(only if following the curl examples below)
For SDK integration:
- See the SDK documentation for language-specific requirements
For MCP integration:
- Python 3.10+ (required for the MCP server)
- See the MCP Server documentation for details
Step 1: Sign Up
- Navigate to the Orvion dashboard
- Sign up for an account
- Verify your email address
Step 2: Create an Organization
When you first sign up, an organization is automatically created. You can:
- Use the default organization
- Create additional organizations from the dashboard
Step 3: Create an API Key
- Go to Settings → API Keys
- Click Create API Key
- Copy the key immediately (it won't be shown again)
- Store it securely
Your API key looks like: apikey_01HXYZ123ABC...
Step 4: Make Your First API Call
Let's create your first invoice:
import requestsurl = "http://localhost:8000/api/v1/invoices"headers = {"Authorization": "Bearer your-api-key-here","Content-Type": "application/json"}data = {"customer_name": "Acme Corporation","amount": 100.00,"currency": "USD","status": "sent","due_at": "2025-12-01T10:00:00Z"}response = requests.post(url, json=data, headers=headers)if response.status_code == 201:invoice = response.json()print(f"Invoice created: {invoice['number']}")print(f"Invoice ID: {invoice['id']}")else:print(f"Error: {response.status_code}")print(response.text)
Step 5: Verify in Dashboard
- Go to Invoices in the dashboard
- You should see your newly created invoice
- Click on it to view details
Step 6: Mark Invoice as Paid
When you receive payment, mark the invoice as paid:
import requestsinvoice_id = "inv_01HXYZ123ABC" # Replace with your invoice IDurl = f"http://localhost:8000/api/v1/invoices/{invoice_id}/mark-paid"headers = {"Authorization": "Bearer your-api-key-here","Content-Type": "application/json"}response = requests.post(url, json={}, headers=headers)if response.status_code == 200:invoice = response.json()print(f"Invoice marked as paid: {invoice['status']}")else:print(f"Error: {response.status_code}")
Next Steps
- Learn about Invoice Data Model
- Explore Invoice Automation
- Set up Webhooks for real-time events
- Read about Key Concepts
Common Issues
401 Unauthorized
- Check that your API key is correct
- Ensure you're using
Bearerprefix in the Authorization header - Verify the API key hasn't been revoked
404 Not Found
- Ensure you're using the correct endpoint URL
- Check that the invoice ID exists in your organization
422 Validation Error
- Verify all required fields are provided
- Check that
amountis positive - Ensure
currencyis a valid ISO code
Need Help?
- Check the API Documentation
- Review Error Handling guide
- Contact support if you're stuck