REST API
Platform, tüm operasyonları RESTful bir API üzerinden sunar. API, Keycloak tabanlı kimlik doğrulama kullanır ve JSON formatında veri alışverişi yapar. API, Swagger UI üzerinden erişilebilen etkileşimli belgelerle OpenAPI 3.0.3 spesifikasyonunu takip eder.
API Yapısı
v2 API, işlevsel modüllere ayrılmıştır:
Endpoint Hiyerarşisi
/api/v2/multi-agent
├── /holder → Kimlik sahibi (Holder) operasyonları
├── /groups → Ajan grubu yönetimi
├── /issuer → Grup üzerinden kimlik düzenleyici (Issuer) operasyonları
└── /mediator → Grup üzerinden arabulucu (Mediator) operasyonları
Tüm v2 rotaları Keycloak kimlik doğrulaması gerektirir.
Kök ve Sağlık Uç Noktaları
| Metot | Yol | Açıklama |
|---|---|---|
| GET | / | DT Cloud SSI API Servisi için hoş geldin mesajı |
| GET | /health | Issuer ve Holder ajanları için sağlık kontrolü |
| GET | /health/metrics | Sistem ve işlem metrikleri |
| GET | /docs | Swagger UI dokümantasyonu |
| GET | /docs.json | JSON formatında OpenAPI spesifikasyonu |
Holder - Kimlik Sahibi (/api/v2/multi-agent/holder)
Bağlantı Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /holder/connections/receive-invitation | Davet kabul etme |
| GET | /holder/connections | Bağlantıları listeleme |
| GET | /holder/connections/active | Aktif bağlantıları listeleme |
| GET | /holder/connections/{connectionId} | Bağlantı detaylarını getirme |
| DELETE | /holder/connections | Bağlantıları silme |
Kimlik (Credential) Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| GET | /holder/credentials/offers | Kimlik tekliflerini getirme |
| POST | /holder/credentials/offers/{credExId}/accept | Kimlik teklifini kabul etme |
| GET | /holder/credentials/exchanges | Kimlik değişimlerini listeleme |
| GET | /holder/credentials/wallet | Cüzdan kimliklerini getirme |
| GET | /holder/credentials/wallet/with-revocation | İptal durumuyla birlikte kimlikleri getirme |
| POST | /holder/credentials/proposals | Kimlik teklifi oluşturma |
| POST | /holder/credentials/request | Kimlik isteği oluşturma |
| DELETE | /holder/credentials/offers | Kimlik tekliflerini silme |
| DELETE | /holder/credentials/exchanges | Kimlik değişimlerini silme |
İptal (Revocation) İstekleri
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /holder/revocation-requests | İptal isteği oluşturma |
| GET | /holder/revocation-requests | İptal isteklerini listeleme |
| GET | /holder/revocation-requests/{requestId} | Belirli bir iptal isteğini getirme |
Grup Yönetimi (/api/v2/multi-agent/groups)
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /groups | Ajan grubu oluşturma |
| GET | /groups | Ajan gruplarını listeleme |
| GET | /groups/{groupId} | Ajan grubunu getirme |
| PUT | /groups/{groupId} | Ajan grubunu güncelleme |
| DELETE | /groups/{groupId} | Ajan grubunu silme |
| POST | /groups/{groupId}/agents/{tenantId} | Gruba ajan ekleme |
| DELETE | /groups/{groupId}/agents/{tenantId} | Gruptan ajan çıkarma |
| GET | /groups/{groupId}/select-agent | Gruptan ajan seçme |
| POST | /groups/{groupId}/auto-scale | Otomatik ölçeklendirmeyi yapılandırma |
Issuer - Kimlik Düzenleyici (/api/v2/multi-agent/groups/{groupId}/issuer)
Bağlantı Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /issuer/connections/create-invitation | Davet oluşturma |
| GET | /issuer/connections | Bağlantıları listeleme |
| GET | /issuer/connections/{connectionId} | Bağlantı detaylarını getirme |
Şema Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /issuer/schemas | Şema oluşturma |
| GET | /issuer/schemas | Şemaları listeleme |
Kimlik Tanımı (Credential Definition) Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /issuer/credential-definitions | Kimlik tanımı oluşturma |
| GET | /issuer/credential-definitions | Kimlik tanımlarını listeleme |
Kimlik Düzenleme (Issuance)
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /issuer/credentials/issue-by-schema | Şema ile kimlik düzenleme |
| POST | /issuer/credentials/send-offer | Kimlik teklifi gönderme |
| GET | /issuer/credentials/exchanges | Kimlik değişimlerini listeleme |
| POST | /issuer/credentials/exchanges/{credExId}/issue | Değişimden kimlik düzenleme |
İptal (Revocation) Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /issuer/revocation/revoke | Kimlik iptal etme |
| GET | /issuer/revocation/registries | İptal kayıtlarını listeleme |
| GET | /issuer/revocation/registries/{revRegId} | İptal kaydı detaylarını getirme |
İspat/Doğrulama
| Metot | Yol | Açıklama |
|---|---|---|
| GET | /issuer/proofs/records | İspat kayıtlarını listeleme |
| POST | /issuer/proofs/records/{presExId}/verify | İspat doğrulama |
| GET | /issuer/proofs/transcripts | Transkript ispatlarını getirme |
| GET | /issuer/proofs/diplomas | Diploma ispatlarını getirme |
Cüzdan Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /issuer/wallet/register-public-did | Genel DID kaydetme |
| GET | /issuer/wallet/public-did | Genel DID'yi getirme |
| GET | /issuer/wallet/dids | DID'leri listeleme |
Arabulucu (/api/v2/multi-agent/groups/{groupId}/mediator)
Bağlantı Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| POST | /mediator/connections/create-invitation | Davet oluşturma |
| GET | /mediator/connections | Bağlantıları listeleme |
| GET | /mediator/connections/{connectionId} | Bağlantı detaylarını getirme |
| DELETE | /mediator/connections/{connectionId} | Bağlantı silme |
| DELETE | /mediator/connections | Tüm bağlantıları silme |
Arabuluculuk (Mediation) Yönetimi
| Metot | Yol | Açıklama |
|---|---|---|
| GET | /mediator/mediation/records | Arabuluculuk kayıtlarını listeleme |
| GET | /mediator/mediation/records/{mediationId} | Arabuluculuk kaydını getirme |
| GET | /mediator/mediation/keylists | Arabuluculuk anahtar listelerini getirme |
| POST | /mediator/mediation/records/{mediationId}/grant | Arabuluculuğu onaylama |
| POST | /mediator/mediation/records/{mediationId}/deny | Arabuluculuğu reddetme |
| DELETE | /mediator/mediation/records/{mediationId} | Arabuluculuk kaydını silme |
| DELETE | /mediator/mediation/records | Tüm arabuluculuk kayıtlarını silme |
API Akışı
Hata Kodları
| Kod | Açıklama |
|---|---|
| 200 | Başarılı |
| 201 | Oluşturuldu |
| 400 | Hatalı istek |
| 401 | Yetkisiz |
| 403 | Yasaklı |
| 404 | Bulunamadı |
| 500 | Sunucu hatası |
Özet
| Metrik | Değer |
|---|---|
| API Sürümü | v2 |
| Kimlik Doğrulama | Keycloak |
| Dokümantasyon | Swagger UI ile OpenAPI 3.0.3 |
| Ajan Tipleri | Holder (Holder), Issuer (Issuer), Arabulucu (Mediator) |