DIKIGOROS AI API Documentation
The DIKIGOROS AI API provides programmatic access to Cyprus case law search and advanced AI-powered legal analysis. Build intelligent legal research tools with access to comprehensive case law databases, automated information extraction, and multilingual translation capabilities. Available on Professional and Firm plans.
Authentication
All API requests require an API key in the Authorization header. Generate API keys in the app under Settings → API Keys.
Authentication Header
Authorization: Bearer dkgr_live_xxxxxxxxxxxxx
Example Request
curl -H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx" \
https://api.dikigoros.ai/api/courts
Note: Never share your API key publicly. Keep it secure and rotate it regularly through your account settings.
Endpoints
The API provides the following endpoints for case law search, analysis, and information extraction:
Search Cases
Search the Cyprus case law database with multiple filtering options.
Query Parameters
Example Request
curl "https://api.dikigoros.ai/api/search?q=contract&court=District&year_from=2020&limit=10" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx"
{
"total": 1543,
"offset": 0,
"limit": 10,
"cases": [
{
"id": "case_123456",
"title": "Doe v. Smith",
"court": "District Court of Nicosia",
"date": "2022-05-15",
"area_of_law": "Contract Law"
}
]
}
Get Case Details
Retrieve full details for a specific case including judgment text and legal information.
URL Parameters
Example Request
curl "https://api.dikigoros.ai/api/case/case_123456" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx"
{
"id": "case_123456",
"title": "Doe v. Smith",
"court": "District Court of Nicosia",
"date": "2022-05-15",
"text": "[Full judgment text...]",
"url": "https://...",
"area_of_law": "Contract Law",
"parties": ["Doe", "Smith"],
"extraction": { /* AI-extracted data */ }
}
AI-Powered Legal Research
Ask AI-powered questions about case law with intelligent search and analysis of relevant cases.
Request Body
Example Request
curl -X POST "https://api.dikigoros.ai/api/ai/ask" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"question": "What are the remedies for breach of contract?",
"area_of_law": "contract",
"year_from": 2015
}'
{
"answer": "Based on Cyprus case law, remedies for breach of contract include...",
"cases": [
{
"id": "case_789",
"title": "Case Title",
"relevance": 0.95
}
]
}
Extract Case Information
Extract key legal information from a case using AI analysis (holdings, principles, outcomes, etc.).
Request Body
Example Request
curl -X POST "https://api.dikigoros.ai/api/ai/extract" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"case_id": "case_123456"}'
{
"extraction": {
"key_holdings": ["Holding 1", "Holding 2"],
"legal_principles": ["Principle 1"],
"outcome": "Court decided in favor of...",
"summary": "Case summary..."
}
}
Translate Legal Text
Translate legal text between English and Greek with legal term preservation.
Request Body
Example Request
curl -X POST "https://api.dikigoros.ai/api/ai/translate_text" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"text": "breach of contract", "target_lang": "el"}'
{
"translation": "παραβίαση σύμβασης"
}
Courts & Court Categories
List all available courts in the Cyprus legal system.
curl "https://api.dikigoros.ai/api/courts" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx"
Get court hierarchy with categories and case counts.
curl "https://api.dikigoros.ai/api/court_categories" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx"
Get database statistics (case counts, coverage dates, etc.).
curl "https://api.dikigoros.ai/api/stats" \
-H "Authorization: Bearer dkgr_live_xxxxxxxxxxxxx"
Rate Limits
API requests are rate limited based on your subscription plan. Rate limits reset every hour.
| Plan | Requests/Hour | Search Queries/Day | AI Operations/Day |
|---|---|---|---|
| Free | 100 | 10 | 5 |
| Professional | 1,000 | 200 | 100 |
| Firm | 5,000 | Unlimited | Unlimited |
Rate limit headers: All responses include the following headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1640000000
Error Codes
The API returns standard HTTP status codes. Error responses include a JSON body with additional details.
| Status | Code | Description |
|---|---|---|
| 401 | unauthorized |
Invalid or missing API key |
| 403 | forbidden |
Feature requires higher plan (Professional or Firm) |
| 429 | rate_limited |
Too many requests. Retry after Retry-After seconds |
| 500 | server_error |
Internal server error. Try again later |
Example Error Response
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Please try again in 30 seconds."
}
}