Avukatım360
Developer Docs

Avukatım360 REST API

Panelde kullanılan müvekkil, dava, görev, süre, belge, finans ve iletişim kayıtlarını dış sistemlerle eşleştirmek için kullanılan REST tabanlı yüzey.

Base URLhttps://app.avukatim360.com.tr
FormatJSON over HTTPS
StatusPanel API
01

Quickstart

Partner API ile ilk test akışını kurmak için dört temel adım yeterlidir: müvekkil oluşturun, dava açın, süre ekleyin ve response değerlerini doğrulayın.

1

Panel oturumu açın

Login endpoint'i veya panel arayüzü ile session cookie oluşturulur.

2

İlk müvekkili oluşturun

Clients endpoint'i ile müvekkil verisini Avukatım360'a aktarın.

3

Dava dosyasını bağlayın

Cases endpoint'i ile müvekkile bağlı dosya açın.

4

Süre takibini ekleyin

Deadlines endpoint'i ile yasal süre ve kritik tarihleri işleyin.

Minimal flow
POST /api/panel/clients
POST /api/panel/cases
POST /api/panel/deadlines
GET  /api/panel/cases?status=active
02

Authentication

Panel API signed `panel_token` session cookie ile çalışır. Panelde login olduktan sonra aynı origin üzerinden yapılan istekler otomatik olarak yetkilendirilir.

Session oluşturma`/api/panel/auth/login` başarılı olduğunda `panel_token` cookie set edilir.
Cookie güvenliğiCookie httpOnly, sameSite lax ve production ortamında secure olarak ayarlanır.
Production güvenliğiHTTPS zorunludur. Cross-origin entegrasyonlar için backend proxy veya partner token katmanı önerilir.
HTTP Headers
Cookie: panel_token=YOUR_SESSION_TOKEN
Content-Type: application/json
Accept: application/json
03

Sandbox

Sandbox Base URLhttps://sandbox.avukatim360.com.tr
Authenticationpanel_token session cookie
Demo dataGünlük resetlenebilir test firma verisi
04

Auth API

Panel API oturum bazlı çalışır. Login endpoint'i `panel_token` cookie set eder; sonraki kaynak istekleri bu cookie ile firma bağlamında yetkilendirilir.

POST/api/panel/auth/loginOturum açar ve panel_token cookie üretir
POST/api/panel/auth/logoutOturumu kapatır ve cookie temizler
GET/api/panel/auth/meOturumdaki kullanıcıyı döner
PUT/api/panel/auth/meKullanıcı ve firma profilini günceller
POST/api/panel/auth/change-passwordMevcut şifreyle yeni şifre belirler
05

Core Resources

Clients

Müvekkil kayıtlarını listeleyin, oluşturun, güncelleyin ve silin.

GET/api/panel/clientsBeta
POST/api/panel/clientsBeta
PUT/api/panel/clients/{id}Beta
DELETE/api/panel/clients/{id}Beta

Cases

Dava dosyaları, esas numarası, mahkeme, tarih ve durum alanları.

GET/api/panel/casesBeta
POST/api/panel/casesBeta
PUT/api/panel/cases/{id}Beta
DELETE/api/panel/cases/{id}Beta

Deadlines

İstinaf, temyiz, cevap dilekçesi ve özel süre kayıtları.

GET/api/panel/deadlinesBeta
POST/api/panel/deadlinesBeta
PUT/api/panel/deadlines/{id}Beta
DELETE/api/panel/deadlines/{id}Beta

Documents

Dava dosyasına bağlı belge meta verileri ve dosya yükleme akışı.

GET/api/panel/documentsBeta
POST/api/panel/uploadBeta
POST/api/panel/documentsBeta
DELETE/api/panel/documents/{id}Beta

Tasks

Dava dosyalarına bağlı görev, sorumlu ve son tarih takibi.

GET/api/panel/tasksBeta
POST/api/panel/tasksBeta
PUT/api/panel/tasks/{id}Beta
DELETE/api/panel/tasks/{id}Beta

Finance

Dava dosyasına bağlı ücret, masraf ve tahsilat hareketleri.

GET/api/panel/financeBeta
POST/api/panel/financeBeta
PUT/api/panel/finance/{id}Beta
DELETE/api/panel/finance/{id}Beta

Communications

Dosya içi arama, e-posta, toplantı ve not kayıtları.

GET/api/panel/communicationsBeta
POST/api/panel/communicationsBeta
DELETE/api/panel/communications/{id}Beta
06

Resource Details

Kaynak detayları, entegrasyon ekiplerinin endpoint kapsamını tek bakışta görmesi için operasyon bazında ayrılmıştır.

07

Endpoint Details

POST/api/panel/auth/loginLoginAvailable

E-posta ve şifre ile panel oturumu oluşturur. Başarılı response `panel_token` httpOnly cookie set eder.

Required attributesemail, password
Optional attributesNone
Requiredemail, password
Response200 OK
Request body
{
  "email": "mehmet@example.com",
  "password": "secure-password"
}
Response example
{
  "user": {
    "id": "clx_user_id",
    "name": "Mehmet Kaya",
    "email": "mehmet@example.com",
    "role": "admin",
    "firmId": "clx_firm_id",
    "firmName": "Kaya Hukuk"
  }
}
GET/api/panel/auth/meCurrent userAvailable

Geçerli `panel_token` cookie ile oturumdaki kullanıcıyı ve firma bilgisini döner.

Required attributes
Optional attributesNone
Required
Response200 OK
Request body
Cookie: panel_token=YOUR_SESSION_TOKEN
Response example
{
  "user": {
    "id": "clx_user_id",
    "name": "Mehmet Kaya",
    "email": "mehmet@example.com",
    "role": "admin",
    "firmId": "clx_firm_id",
    "firmName": "Kaya Hukuk"
  }
}
PUT/api/panel/auth/meUpdate profileAvailable

Oturumdaki kullanıcının ad, e-posta ve opsiyonel firma adını günceller.

Required attributesname, email
Optional attributesfirmName
Requiredname, email
Response200 OK
Request body
{
  "name": "Mehmet Kaya",
  "email": "mehmet@example.com",
  "firmName": "Kaya Hukuk"
}
Response example
{
  "user": {
    "id": "clx_user_id",
    "name": "Mehmet Kaya",
    "email": "mehmet@example.com",
    "role": "admin",
    "firmId": "clx_firm_id",
    "firmName": "Kaya Hukuk"
  }
}
POST/api/panel/auth/change-passwordChange passwordAvailable

Oturumdaki kullanıcının mevcut şifresini doğrulayarak yeni şifre belirler.

Required attributescurrentPassword, newPassword
Optional attributesNone
RequiredcurrentPassword, newPassword
Response200 OK
Request body
{
  "currentPassword": "old-password",
  "newPassword": "new-secure-password"
}
Response example
{
  "ok": true
}
POST/api/panel/auth/logoutLogoutAvailable

Geçerli `panel_token` cookie değerini temizler ve oturumu kapatır.

Required attributes
Optional attributesNone
Required
Response200 OK
Request body
Cookie: panel_token=YOUR_SESSION_TOKEN
Response example
{
  "ok": true
}
POST/api/panel/clientsCreate clientBeta

Yeni müvekkil kaydı oluşturur ve aktif firma hesabına bağlar.

Required attributesname
Optional attributesemail, phone, caseType
Requiredname
Response201 Created
Request body
{
  "name": "Mehmet Kaya",
  "email": "mehmet@example.com",
  "phone": "+90 532 000 00 00",
  "caseType": "Alacak"
}
Response example
{
  "client": {
    "id": "clx_client_id",
    "name": "Mehmet Kaya",
    "email": "mehmet@example.com",
    "phone": "+90 532 000 00 00",
    "caseType": "Alacak"
  }
}
POST/api/panel/casesCreate caseBeta

Dava dosyası oluşturur. Dava türüne göre panel tarafında görev şablonları üretilebilir.

Required attributestitle
Optional attributesclientId, caseNumber, counterparty, court, caseType, caseDate, hearingDate, status, notes, tags
Requiredtitle
Response201 Created
Request body
{
  "clientId": "clx_client_id",
  "title": "Alacak takibi",
  "caseNumber": "2026/145 E.",
  "counterparty": "ABC Ltd.",
  "court": "Istanbul 12. Asliye Hukuk Mahkemesi",
  "caseType": "Alacak Davası",
  "caseDate": "2026-06-23",
  "hearingDate": "2026-07-18",
  "status": "active",
  "notes": "Ilk duruşma hazırlığı yapılacak."
}
Response example
{
  "case": {
    "id": "clx_case_id",
    "title": "Alacak takibi",
    "caseNumber": "2026/145 E.",
    "status": "active",
    "tags": []
  }
}
POST/api/panel/deadlinesCreate deadlineAvailable

Dava dosyasına yasal süre veya özel takip tarihi ekler.

Required attributescaseId
Optional attributestype, description, startDate, daysAllowed, dueDate, status, note
RequiredcaseId
Response201 Created
Request body
{
  "caseId": "clx_case_id",
  "type": "istinaf",
  "description": "Istinaf başvuru süresi",
  "startDate": "2026-06-23",
  "daysAllowed": 15,
  "dueDate": "2026-07-08",
  "status": "active"
}
Response example
{
  "deadline": {
    "id": "clx_deadline_id",
    "caseId": "clx_case_id",
    "type": "istinaf",
    "dueDate": "2026-07-08",
    "status": "active"
  }
}
POST/api/panel/uploadUpload document fileAvailable

PDF, Word, Excel ve görsel dosyalarını belge depolama alanına yükler.

Required attributesfile
Optional attributesNone
Requiredfile
Response200 OK
Request body
FormData:
file: contract.pdf
Response example
{
  "url": "https://cdn.avukatim360.com.tr/firms/firm_id/contract.pdf",
  "fileName": "contract.pdf",
  "fileSize": 248192
}
POST/api/panel/tasksCreate taskAvailable

Dava dosyasına görev, sorumlu, son tarih ve durum bilgisi ekler.

Required attributescaseId, title
Optional attributesassignee, dueDate, status
RequiredcaseId, title
Response201 Created
Request body
{
  "caseId": "clx_case_id",
  "title": "Dilekçe taslağını hazırla",
  "assignee": "Ayşe Demir",
  "dueDate": "2026-07-01",
  "status": "todo"
}
Response example
{
  "task": {
    "id": "clx_task_id",
    "caseId": "clx_case_id",
    "title": "Dilekçe taslağını hazırla",
    "status": "todo"
  }
}
POST/api/panel/financeCreate financial entryAvailable

Dava dosyasına ücret, masraf veya tahsilat hareketi ekler.

Required attributescaseId
Optional attributestype, amount, date, description, receiptNo
RequiredcaseId
Response201 Created
Request body
{
  "caseId": "clx_case_id",
  "type": "fee",
  "amount": 12500,
  "date": "2026-06-23",
  "description": "Vekalet ücreti",
  "receiptNo": "A-1024"
}
Response example
{
  "financialEntry": {
    "id": "clx_finance_id",
    "caseId": "clx_case_id",
    "type": "fee",
    "amount": 12500
  }
}
POST/api/panel/communicationsCreate communicationAvailable

Dava dosyasına görüşme, e-posta veya not kaydı ekler.

Required attributescaseId
Optional attributeschannel, date, author, note
RequiredcaseId
Response201 Created
Request body
{
  "caseId": "clx_case_id",
  "channel": "call",
  "date": "2026-06-23",
  "author": "Ayşe Demir",
  "note": "Müvekkil duruşma tarihi hakkında bilgilendirildi."
}
Response example
{
  "communication": {
    "id": "clx_communication_id",
    "caseId": "clx_case_id",
    "channel": "call"
  }
}
08

Code Samples

AuthorizationCookie: panel_token
ScopeSession firmId
EnvironmentSandbox / Production
Request
POST/api/panel/clients
curl -X POST https://app.avukatim360.com.tr/api/panel/clients \
  -H "Cookie: panel_token=YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mehmet Kaya",
    "email": "mehmet@example.com",
    "phone": "+90 532 000 00 00",
    "caseType": "Alacak"
  }'
09

Responses

2XXSuccess responses

İstek başarıyla işlendiğinde kaynak nesnesi veya liste gövdesi döner.

2XX example
{
  "client": {
    "id": "clx_client_id",
    "name": "Mehmet Kaya"
  }
}
4XXClient errors

Eksik alan, yetkisiz erişim veya bulunamayan kaynak gibi istemci kaynaklı hatalar.

4XX example
{
  "error": "Ad zorunludur."
}
5XXServer errors

Beklenmeyen sunucu hatalarında standart Türkçe hata mesajı döner ve detay server log'una yazılır.

5XX example
{
  "error": "Sunucu hatası."
}
10

SDKs

JavaScript SDK

Planned

Mevcut API sözleşmesi üzerinden üretilecek typed client.

Python SDK

Planned

Server-side otomasyon ve veri aktarım işleri için helper paketleri.

PHP SDK

Planned

Hukuk bürosu web siteleri ve legacy CRM entegrasyonları için wrapper.

REST API

Available

Bugün manuel HTTP entegrasyonu ile kullanılabilir.

11

OpenAPI & Postman

OpenAPI spec

Mevcut panel API sözleşmesi için statik OpenAPI taslağı `/api/openapi.json` altında yayınlandı.

OpenAPI dosyasını aç

Postman collection

Postman'a OpenAPI dosyasını import ederek endpoint koleksiyonunu oluşturabilirsiniz. Cookie auth için `panel_token` environment değişkeni kullanın.

12

Schemas

Client

idstringSistem tarafından üretilir
namestringZorunlu müvekkil adı
emailstringOpsiyonel
phonestringOpsiyonel
caseTypestringVarsayılan dava türü

Case

idstringSistem tarafından üretilir
clientIdstringMüvekkil bağlantısı
titlestringZorunlu dava başlığı
caseNumberstringEsas numarası
courtstringMahkeme
statusstringactive, pending, closed vb.
tagsstring[]Risk ve takip etiketleri

Deadline

idstringSistem tarafından üretilir
caseIdstringZorunlu dava bağlantısı
typestringistinaf, temyiz, cevap vb.
dueDatestringYYYY-MM-DD
statusstringactive veya done

Document

idstringSistem tarafından üretilir
caseIdstringZorunlu dava bağlantısı
titlestringBelge adı
fileUrlstringYüklenen dosya URL'si
signatureStatusstringsigned, waiting veya none

Task

idstringSistem tarafından üretilir
caseIdstringZorunlu dava bağlantısı
titlestringZorunlu görev başlığı
assigneestringSorumlu kişi
dueDatestringYYYY-MM-DD veya boş
statusstringtodo, in_progress, done vb.

FinancialEntry

idstringSistem tarafından üretilir
caseIdstringZorunlu dava bağlantısı
typestringfee, expense, payment vb.
amountnumberVarsayılan 0
datestringYYYY-MM-DD veya boş
receiptNostringMakbuz veya fatura numarası

UserSession

idstringKullanıcı ID
namestringKullanıcı adı
emailstringGiriş e-postası
rolestringadmin, lawyer vb.
firmIdstringFirma ID
firmNamestringFirma adı
13

Rate Limits & Pagination

Rate limits

Partner API anahtarları için başlangıç limiti dakika başına 60 istek olarak planlanır. Kurumsal entegrasyonlarda limitler ayrıca tanımlanabilir.

429 response
{
  "error": "Rate limit exceeded",
  "retryAfter": 30
}

Pagination & filtering

Liste endpoint'leri sayfalama, durum filtresi ve tarih aralığı ile kullanılacak şekilde genişletilebilir.

Query example
GET /api/panel/cases?page=1&limit=25&status=active
GET /api/panel/deadlines?from=2026-06-01&to=2026-06-30
14

Errors

400Eksik veya geçersiz istek verisi.
401Oturum veya API anahtarı geçersiz.
404Kaynak bulunamadı veya firma erişimi dışında.
429Rate limit aşıldı. Kısa bir süre sonra tekrar deneyin.
500Beklenmeyen sunucu hatası.
15

Webhooks

Webhook desteği partner erişimiyle etkinleştirilir. Olaylar HTTPS endpoint'inize imzalı JSON payload olarak gönderilir.

case.createdYeni dava dosyası oluşturulduğunda tetiklenir.
case.updatedDava alanları veya durumu değiştiğinde tetiklenir.
deadline.due_soonYaklaşan yasal süreler için gönderilir.
document.uploadedYeni belge yüklendiğinde gönderilir.
payment.createdYeni tahsilat veya ödeme kaydı oluştuğunda gönderilir.
Webhook payload
{
  "event": "case.created",
  "createdAt": "2026-06-23T12:00:00.000Z",
  "data": {
    "id": "clx_case_id",
    "title": "Alacak takibi",
    "status": "active"
  }
}
16

Webhook Security

Webhook payload'ları imza ve timestamp ile doğrulanacak şekilde planlanır. Replay saldırılarına karşı timestamp penceresi kısa tutulmalıdır.

Signature headers
X-Avukatim360-Signature: sha256=...
X-Avukatim360-Timestamp: 1782216000
17

Use Case Integrations

CRM sync

Harici CRM'deki müvekkil kayıtlarını Avukatım360 müvekkil kayıtlarıyla eşleştirin.

Accounting sync

Muhasebe veya tahsilat sisteminden ödeme hareketlerini dosyaya bağlayın.

Document archive

Belge yönetim sisteminizden dava dosyasına belge ve metadata aktarın.

Calendar bridge

Duruşma ve yasal süreleri dış takvim sistemlerine senkronize edin.

18

Security & Compliance

Session auth

Mevcut panel endpoint'leri signed session cookie ile korunur; oturum yoksa 401 döner.

Tenant izolasyonu

Her istek firmId bağlamında değerlendirilir; kaynaklar firma sınırının dışına çıkmaz.

Audit log

Kritik oluşturma, güncelleme ve silme aksiyonları kullanıcı ve zaman bilgisiyle kayıt altına alınır.

Transport security

Production API erişimi yalnızca HTTPS üzerinden kabul edilir.

19

Glossary

FirmAvukatım360 içinde bir hukuk bürosu veya kurum hesabı.
ClientMüvekkil veya danışan kaydı.
CaseMüvekkile bağlı dava, takip veya hukuki dosya.
DeadlineDava dosyasına bağlı yasal süre veya özel takip tarihi.
DocumentDosyaya bağlı belge metadata'sı ve dosya URL'i.
WebhookAvukatım360 içinde oluşan bir olayın dış sisteme gönderilen bildirimi.
Partner APIYetkili entegrasyon hesapları için açılan API erişimi.
20

Changelog

v0.1 betaInitial partner API documentation, resources, schemas and code samples.
v0.2API key management, webhook signing and pagination contract.
v1.0Stable public partner API with OpenAPI specification.

Updated June 23, 2026 · API docs v0.1 beta

Integrations

UYAP, CRM, e-posta ve belge sistemleri

Kurumsal entegrasyonlar partner erişimiyle planlanır. API anahtarı, rate limit, webhook ve veri aktarım kapsamı demo görüşmesinde netleştirilir.

Entegrasyon Talep Et