Getting Started
The Optimaite Law API is a RESTful API that lets you integrate your legal practice management data with external tools, custom scripts, and third-party applications.
Base URL
All API requests should be made to:
https://api.optimaite.eu/api/v1
Your First Request
Once you have an API key, making your first request is simple:
curl https://api.optimaite.eu/api/v1/cases \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
A successful response returns a JSON array of cases:
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Smith v. Jones",
"file_number": "AZ-2026-001",
"status": "active",
"created_at": "2026-01-15T09:00:00Z"
}
],
"pagination": {
"cursor": "eyJpZCI6IjU1MGU4NDAwIn0=",
"has_more": true
}
}
Available Resources
| Resource | Description |
|---|---|
| Cases | Legal matters and case management |
| Parties | Contacts, organizations, courts |
| Documents | Upload, download, and manage documents |
| Deadlines | Legal deadlines (Fristen) and calendar events |
| Calendar | Events, scheduling, iCal sync, free/busy |
| Notes | Case notes with rich text |
| Invoices | Invoicing and finance |
| Email Inbound | Receive and process emails |
| Email Outbound | Send emails and manage drafts |
| beA Mailbox | German electronic legal mailbox |
| Signing | Document e-signatures |
| Exports | Configurable data exports |
SDKs and Libraries
You can use any HTTP client to interact with the API. Here are examples in popular languages:
Python
import requests
client = requests.Session()
client.headers.update({
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
})
# List cases
response = client.get("https://api.optimaite.eu/api/v1/cases")
cases = response.json()["data"]
JavaScript
const client = await fetch("https://api.optimaite.eu/api/v1/cases", {
headers: {
Authorization: "Bearer YOUR_API_KEY",
Accept: "application/json",
},
});
const { data: cases } = await client.json();
Go
client := &http.Client{}
req, _ := http.NewRequest("GET",
"https://api.optimaite.eu/api/v1/cases", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
resp, _ := client.Do(req)
defer resp.Body.Close()
Next Steps
- Authentication -- Generate and manage API keys
- Rate Limits -- Understand request quotas
- Cases API -- Start working with legal matters
Was this helpful?