Giriş
Performance Hub API'ye hoş geldiniz. Bu API, kulüp verilerini ve kulübünüzle ve onun harici sistemleriyle entegre olan temel sistemleri yönetir; herkese açık olarak kullanılabilen bir API değildir. Bu API'nin desteklediği çeşitli Performance Hub sistemlerinin kullanımı hakkında daha fazla bilgi için lütfen [Performance Hub belgelerimizde](https://docs.performancehub.co) ihtiyaç duyduğunuz sisteme ait bölüme bakın.
Temel URL
https://portal.hub.gymsystems.co
Kimlik doğrulama
Kimlik doğrulama ayrıntıları, entegrasyonunuz onaylandığında sağlanacaktır.
Cihaz tarafından bildirilen "ajan turu tamamlandı" olayı (web push tetikleyicisi)
Web arayüzünden başlatılan bir ajan çalıştırması bittiğinde ve cihazın bildirim eşiğinden uzun sürdüğünde, eşleştirilmiş bir AI Agent cihazının sidecar bileşeni tarafından çağrılır (tarayıcılar tarafından asla çağrılmaz). Kısa ömürlü, cihaza özgü bir HS256 JWT ile kimlik doğrulaması yapılır (aud 'events'). Cihaz+oturum+başlangıç bazında yinelenenler ayıklanır ve cihaz başına hız sınırı uygulanır; ardından çalıştırmayı başlatan kullanıcının HTML5 push aboneliklerine, sohbete giden derin bağlantıyla birlikte iletilir.
İstek Gövdesi
Uç nokta
POST /ai/events/agent-turn-complete
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/ai/events/agent-turn-complete \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Ajan tarafından başlatılan push bildirimi (ph-notify becerisi)
Eşleştirilmiş bir AI Agent cihazının sidecar bileşeni tarafından, cihazdaki ajan adına (ph-notify becerisi) bir kullanıcının tarayıcısına ve mobil cihazlarına isteğe bağlı bir bildirim göndermek için çağrılır. Kısa ömürlü, cihaza özgü bir HS256 JWT ile kimlik doğrulaması yapılır (aud 'events'). Hedef kullanıcının cihaza erişimi olmalıdır (ajan başına erişim politikası); belirtilmezse bildirim cihaz sahibine gider. Tur tamamlandı olaylarından ayrı olarak cihaz başına hız sınırı uygulanır.
İstek Gövdesi
Uç nokta
POST /ai/events/agent-notify
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/ai/events/agent-notify \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bildirim görseli yükleme (ph-notify becerisi)
Eşleştirilmiş bir cihazdan ham görsel gövdesini kabul eder (aud 'events' JWT) ve tahmin edilemeyen bir UUID anahtarıyla herkese açık notify-media klasörüne kaydeder. Nesneler 7 gün sonra otomatik olarak silinir (S3 yaşam döngüsü). /ai/events/agent-notify içinde `imageUrl` olarak kullanılmak üzere herkese açık https URL'sini döndürür. En fazla 5 MB; yalnızca png/jpeg/gif/webp.
İstek Gövdesi
Uç nokta
POST /ai/media/notify-image
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/ai/media/notify-image \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Connected Apps için cihaz MCP aktarıcısı (harici SaaS araçları)
Eşleştirilmiş Yapay Zeka Ajanı cihazları için Streamable-HTTP MCP uç noktası (cihaz yan aracının :8790 dinleyicisindeki "connected_apps" MCP sunucusu). Kısa ömürlü, cihaz başına bir HS256 JWT ile kimlik doğrulaması yapılır (aud 'mcp'; /mcp ile aynı kimlik bilgisi) ve AJANIN Connected Apps etkin bayrağıyla sınırlandırılır (bağlantılar tesis başına değil, ajan cihazı başınadır). İstekler, oturum başlıkları sunucu tarafında eklenerek ajanın kendi yukarı akış araç platformu oturum MCP sunucusuna akış halinde iletilir; yukarı akış kimlik bilgileri hiçbir zaman cihaza ulaşmaz. Araç adları ve sağlayıcı markası aktarım sırasında iki yönlü olarak beyaz etiketlenir. Yukarı akıştan gelen bir 401/410 (süresi dolmuş oturum), bir kez oturumun yeniden oluşturulmasını + yeniden denemeyi tetikler.
Uç nokta
POST /mcp/apps
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/mcp/apps \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
API denetim kayıtlarında arama (IAM ve Yönetim modülü erişimi)
Gelişmiş filtreleme özellikleriyle API erişim kayıtlarında arama yapın ve filtreleyin. Kullanıcılar yalnızca erişimleri olan organizasyonların kayıtlarını görebilir.
Parametreler
organisationId `string` (isteğe bağlı) ACL doğrulaması için Organizasyon kimliği (zorunlu)İstek Gövdesi
Uç nokta
POST /api/admin/audit-logs/search
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/admin/audit-logs/search \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Redis'ten önbelleğe alınmış denetim kaydı istatistiklerini alma (IAM ve Yönetim modülü erişimi)
Gösterge panelinin anında yüklenmesi için Redis önbelleğinden toplu istatistikleri alın
Parametreler
timeWindow `string` (isteğe bağlı) İstatistikler için zaman aralığı (varsayılan 12h)Uç nokta
GET /api/admin/audit-logs/statistics-cached
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/statistics-cached \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Denetim kaydı istatistiklerini alma (IAM ve Yönetim modülü erişimi)
Gösterge paneli için toplu istatistikleri alın. Kullanıcının organizasyonlarıyla sınırlıdır.
Parametreler
startTime `number` (isteğe bağlı) Başlangıç zamanı (Unix zaman damgası), varsayılan 24 saat önce endTime `number` (isteğe bağlı) Bitiş zamanı (Unix zaman damgası), varsayılan şimdiUç nokta
GET /api/admin/audit-logs/statistics
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/statistics \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Denetim kayıtları için zaman serisi verilerini alma (IAM ve Yönetim modülü erişimi)
İstek zaman çizelgesi görselleştirmesi için gruplara ayrılmış zaman serisi verilerini alın
Parametreler
timeWindow `string` (isteğe bağlı) Zaman serisi verileri için zaman aralığı: - 1h: Son 1 saat (10 dakikalık bloklar) - 12h: Son 12 saat (10 dakikalık bloklar) - 24h: Son 24 saat (10 dakikalık bloklar) - 7d: Son 7 gün (1 saatlik bloklar) - 14d: Son 14 gün (1 saatlik bloklar)Uç nokta
GET /api/admin/audit-logs/timeseries
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/timeseries \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcının denetim kayıtları için erişebildiği organizasyonları alma (IAM ve Yönetim modülü erişimi)
Geçerli kullanıcının denetim kayıtlarını görüntüleyebildiği organizasyonların listesini döndürür
Uç nokta
GET /api/admin/audit-logs/user-organisations
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/admin/audit-logs/user-organisations \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yeni bir kulüp oluşturmak için yapılan ilk çağrı... Yalnızca 'şablon' kulüp nesnesinin oluşturulduğunu unutmayın; ardından kulübü Çalışma Saatleri, Konum, Sosyal medya URL'leri gibi verileriyle güncellemek için ikinci bir API isteği gerekir.
Parametreler
body `string` (zorunlu) Sisteme eklenecek yeni kulübün JSON nesnesi.Uç nokta
POST /api/admin/clubs/addclub
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/admin/clubs/addclub \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Sisteme yeni bir kullanıcı ekler
Parametreler
body `string` (zorunlu) Eklemek/güncellemek istediğiniz kullanıcı verilerinin JSON nesnesi.Uç nokta
POST /api/users
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/users \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Arka ofis sistemine/API'ye erişimi olan tüm kullanıcıları (Google Apps hesapları) listeler
Uç nokta
GET /api/admin/users/listusers
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/admin/users/listusers \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcının MCP anahtarlarını listeler (gizlenmiş). Kullanıcılar kendi anahtarlarını listeleyebilir.
Parametreler
userId `string` (zorunlu)Uç nokta
GET /api/users/{userId}/mcp-keys
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/users/{userId}/mcp-keys \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcı için yeni bir MCP API anahtarı oluşturur. Kullanıcılar kendi anahtarlarını oluşturabilir.
Parametreler
userId `string` (zorunlu) body `object` (isteğe bağlı)Uç nokta
POST /api/users/{userId}/mcp-keys
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/users/{userId}/mcp-keys \
-H "x-api-key: YOUR_API_KEY"
Bir MCP API anahtarını iptal eder/kaldırır. Kullanıcılar kendi anahtarlarını silebilir.
Parametreler
userId `string` (zorunlu) keyId `string` (zorunlu)Uç nokta
DELETE /api/users/{userId}/mcp-keys/{keyId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/users/{userId}/mcp-keys/{keyId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcıdan rol kaldırma
Parametreler
userId `string` (isteğe bağlı) Rolü kaldırmak istediğiniz kullanıcının e-posta adresi. roleId `string` (isteğe bağlı) Kullanıcıdan kaldırmak istediğiniz rolün kimliği.Uç nokta
DELETE /api/users/{userId}/roles/{roleId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/users/{userId}/roles/{roleId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir kullanıcının profil ayrıntılarını günceller (firstName, lastName, phoneNumber)
Parametreler
userId `string` (zorunlu) Kullanıcının e-posta adresi body `object` (zorunlu) Güncellenecek kullanıcı profili verileriUç nokta
PATCH /api/users/{userId}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/users/{userId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcı rolü ekleme veya güncelleme (upsert)
Parametreler
body `object` (isteğe bağlı)Uç nokta
PUT /api/users/{userId}/roles
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/users/{userId}/roles \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin AI Agent'ında çalışan Canlı Hizmetler (yayımlama seçicisi)
Uygulamanın "Publish to Performance Hub" seçicisi için cihazın köprü tarafından algılanan Canlı Hizmetlerini tünel üzerinden getirir. ph-ai-agent modülü VE cihaz başına 'open' erişimi gerektirir (yayımlamanın kendisiyle aynı koşul). Bağlantı noktası için zaten bir Custom App varsa her hizmete publishedAppId eklenir.
Parametreler
club `string` (zorunlu) device `string` (zorunlu)Uç nokta
GET /api/agent-apps/services/{club}/{device}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/services/{club}/{device} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin AI Agent'ına gömülü MDI simge adı dizini (simge seçicisi)
Cihaz köprüsünün gömülü MDI simge dizinini (GET /__services/icons/mdi/index.json) tünel üzerinden aktarır. Yayımlama/düzenleme seçicisi, uygulamayla birlikte gelen kataloğu kullanır (aynı 7.4.47 sürümü); yayımlanan uygulama SVG'leri portal-server'ın yerel @mdi/js paketinden çözümlenir. Erişim koşulu hizmet seçicisiyle aynıdır (ph-ai-agent modülü + cihaz başına 'open' erişimi).
Parametreler
club `string` (zorunlu) device `string` (zorunlu)Uç nokta
GET /api/agent-apps/mdi-index/{club}/{device}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/mdi-index/{club}/{device} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin AI Agent'ından toplu MDI simge SVG'leri getirme (seçici önizlemeleri)
Cihazın gömülü simge setinden adı verilen en fazla 60 MDI glifini tek çağrıda çözümler; kalıcı uygulama simgelerine uygulanan izin listesiyle sunucu tarafında temizlenir. Simge seçicisi tarafından arama sonuçlarını göstermek için kullanılır; bilinmeyen adlar null olarak döner.
Parametreler
club `string` (zorunlu) device `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-apps/mdi-icons/{club}/{device}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/mdi-icons/{club}/{device} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
İstekte bulunanın bu tesisten yayımlayabileceği hedef kitle kapsamları
Yayımlama/düzenleme seçicisi için yayımlayıcının verebileceği hedef kitle sınırları: ph-ai-agent rollerinin ulaştığı tesisler (çok tesisli kapsam) ve bu tesisin markası/organizasyonu genelinde tüm marka / tüm organizasyon hedef kitleleri için gereken organizasyon düzeyi yetkiye sahip olup olmadığı. Aynı kurallar yayımlama/güncelleme sırasında sunucu tarafında yeniden uygulanır (validatePublishAudience); bu uç nokta yalnızca arayüzü şekillendirir.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-apps/audience-options/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/audience-options/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Adlandırılmış kullanıcılara yönelik uygulama hedef kitlesi için otomatik tamamlama önerileri
YALNIZCA istekte bulunanın zaten görebildiği kullanıcılarda arama yapar: rolleri, istekte bulunanın kendi ph-ai-agent erişimindeki en az bir tesis/bölge/organizasyonla çakışan kişiler. En az 2 karakterlik sorgu ve 10 sonuçluk üst sınır, uç noktayı veri kazıma için işe yaramaz hâle getirir; hedef kitle kaydedildiğinde aynı erişilebilirlik kümesi sunucu tarafında yeniden uygulanır.
Parametreler
club `string` (zorunlu) q `string` (zorunlu)Uç nokta
GET /api/agent-apps/user-search/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/user-search/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir AI Agent Canlı Hizmetini Performance Hub Custom App olarak yayımlama
Tesisin AI Agent'ında barındırılan bir web uygulamasını (köprü tarafından algılanan bir Canlı Hizmet) seçilen hedef kitle için "Custom Apps" yan menü öğesi olarak kaydeder. Bu tesiste ph-ai-agent modülü VE cihaz başına 'open' erişimi gerektirir; hedef kitle, yayımlayıcının kendi rol kapsamlarıyla sınırlıdır (ulaşabildiğinizden daha geniş bir kitleye asla yayımlayamazsınız). Hizmet kimliği cihazın /__services listesinden CANLI olarak çözümlenir; http/https şeması asla kalıcı olarak saklanmaz.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-apps/publish/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/publish/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bu tesiste görünen yayımlanmış Custom Apps
Hedef kitlesi bu tesisi kapsayan etkin yayımlanmış uygulamaları, yan menünün gösterdiği biçimde (appId, name, icon, description) döndürür. Hedef kitle her çağrıda canlı olarak yeniden çözümlenir; böylece erişim değişiklikleri hemen geçerli olur.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-apps/menu/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/menu/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisten yönetilen yayımlanmış uygulamalar (yayımlayıcı görünümü)
Uygulamanın "Published Apps" yönetim listesi için, ANA tesisi bu kulüp olan uygulamaların tam satırları. Her satıra, istekte bulunan kullanıcı (yayımlayıcı) için canManage eklenir.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-apps/manage/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/manage/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yayımlanmış bir Custom App için hizmet kapsamlı görüntüleyici belirteci oluşturma
Tarayıcının TEK bir yayımlanmış uygulamayı doğrudan cihazın bölgesel aktarma ağ geçidinde açmak için kullandığı kısa ömürlü imzalı URL + belirteç döndürür. Belirteç, hizmet bağlantı noktasını belirten bir svc talebi taşır; böylece ağ geçidi oturumu /__services/proxy/
Parametreler
club `string` (zorunlu) appId `string` (zorunlu)Uç nokta
POST /api/agent-apps/access/{club}/{appId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/access/{club}/{appId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yayımlanmış bir Custom App için destek sorumlusu (sahip iletişim bilgileri)
Kullanıcı tarafından yayımlanan bu uygulamayı kimin desteklediği: yayımlayıcının e-posta adresi (yoksa barındıran ajanın sahibi). Görüntüleyicinin çevrimdışı/hata panellerinde gösterilir; böylece destek talepleri Performance Hub yerine uygulamanın sahibine gider; yayımlanan uygulamalar PH çekirdek desteğinin parçası değildir. Önce uygulamanın hedef kitlesi yeniden kontrol edilir; uygulamanın hiç paylaşılmadığı görüntüleyiciler hiçbir bilgi edinemez. Duraklatılmış uygulamalar da çözümlenir (sahipler "bu neden duraklatıldı?" sorularını da yanıtlar).
Parametreler
club `string` (zorunlu) appId `string` (zorunlu)Uç nokta
GET /api/agent-apps/support-info/{club}/{appId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-apps/support-info/{club}/{appId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yayımlanmış bir Custom App'in sahibine e-postayla destek talebi gönderme
Görüntüleyicinin mesajını uygulamanın destek sorumlusuna (yayımlayıcı, yoksa ajan sahibi) markalı bir e-posta olarak gönderir: Alıcı sahip, CC görüntüleyici (talebin kaydı olarak), Reply-To görüntüleyici; böylece sahip doğrudan ona yanıt verir. Yayımlanan uygulamaların bakımı kullanıcılar tarafından yapılır; bu nedenle destek talepleri Performance Hub'ın kuyruğuna girmez. Hedef kitle yeniden kontrol edilir; görüntüleyici başına, uygulama başına 15 dakikada bir talep (Redis bekleme süresi, hata durumunda açık).
Parametreler
club `string` (zorunlu) appId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-apps/support-request/{club}/{appId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/support-request/{club}/{appId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Yayımlanmış bir Custom App'i güncelleme (ad, simge, açıklama, durum, hedef kitle)
Yalnızca yayımlayıcı. Hedef kitle değişiklikleri, yayımlamadaki sınırlama kurallarıyla DÜZENLEYENİN rol kapsamlarına göre yeniden doğrulanır. Durum, etkin ve duraklatılmış arasında geçiş yapar (duraklatılmış uygulamalar menülerden kaybolur ve belirteç oluşturmayı reddeder).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-apps/update/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/update/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Custom App'in yayımını kaldırma (geçici silme)
Yalnızca yayımlayıcı. Kayıt satırını geçici olarak siler; uygulama menülerden hemen kaybolur ve görüntüleyici belirteci oluşturma reddedilir; daha önce verilmiş ağ geçidi oturumları belirtecin süresi dolduğunda sona erer.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-apps/unpublish/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/unpublish/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Yayımlanmış bir Custom App'in sahipliğini devretme
AI Agent sahip yeniden atama akışının aynısıdır: geçerli yayımlayıcı veya bir hesap sahibi (faturalandırma modülü) uygulamayı başka bir kullanıcıya devredebilir ve uygulamayı artık o kullanıcı yönetir. Yeni sahibin, uygulamanın ana kulübünde tesis erişimi olmalıdır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-apps/transfer-owner/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-apps/transfer-owner/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir beceri sürümü için tam tarama raporu (+ LLM incelemesi)
Bir sürüme ait bulguların tam listesi; yalnızca yayımlayıcı ve organizasyon yöneticileri (onay incelemeleri) içindir; yükleyenler bunun yerine beceri ayrıntısında özet sayıları görür.
Parametreler
club `string` (zorunlu) skillId `string` (zorunlu) version `string` (zorunlu)Uç nokta
GET /api/agent-skills/scan-report/{club}/{skillId}/{version}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/scan-report/{club}/{skillId}/{version} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Taslak beceri sürümünü gönderme (yayımlama veya onay kuyruğuna alma)
Taslak sürümü organizasyonun yönetişim kurallarına göre ilerletir. Organizasyon LLM incelemesini etkinleştirmişse önce talimat incelemesi çalışır (en iyi çaba esaslı; 'fail' kararı reddeder, 'flag' kararı onay kuyruğuna zorlar). Tesis düzeyindeki paylaşımlar, yönetişim onay gerektirmedikçe hemen yayımlanır; organizasyon kitaplığı paylaşımları (marka/organizasyon hedef kitlesi) varsayılan olarak onay gerektirir. Yayımlama, becerinin latestVersion değerini ayarlar; 'auto' politikalı yüklemeler bunu bir sonraki uzlaştırma taramasında alır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/submit/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/submit/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bu tesiste görünen beceri kitaplığı (hedef kitleye göre filtrelenmiş)
Hedef kitlesi bu tesisi kapsayan (veya görüntüleyeni adıyla belirten), en az bir yayımlanmış sürümü olan etkin beceriler; en son yayımlanan sürüm özeti ve organizasyon içindeki benimsenme izi (farklı tesis sayısı, asla ham yükleme sayıları değil) eklenir. Hedef kitle her çağrıda canlı olarak yeniden çözümlenir.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-skills/library/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/library/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Beceri ayrıntısı (sürümler, gereksinimler, tarama özeti, benimsenme)
Bir kitaplık becerisinin tam ayrıntısı: değişiklik günlükleri ve tarama özetleriyle sürüm geçmişi (sürüm başına uç nokta listeleri güncelleme tarama farkını besler), manifestte belirtilen gereksinimler, yayımlayıcı kaynağı ve tesis sayısına dayalı benimsenme göstergesi. Hedef kitle yeniden kontrol edilir; becerinin hiç paylaşılmadığı görüntüleyiciler hiçbir bilgi edinemez (yayımlayıcı ve organizasyon yöneticileri her zaman görür).
Parametreler
club `string` (zorunlu) skillId `string` (zorunlu)Uç nokta
GET /api/agent-skills/skill/{club}/{skillId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/skill/{club}/{skillId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisten yayımlanan beceriler (yayımlayıcının yönetim listesi)
ANA tesisi bu kulüp olan tam beceri satırları; her birine istekte bulunan kullanıcı için canManage ve en son sürüm özeti eklenir (taslaklar ve bekleyen onaylar dahil; bu, yayımlayıcının çalışma görünümüdür).
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-skills/manage/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/manage/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kitaplık becerisini bir tesisin AI Agent'ına yükleme
Yönetişim denetimine tabidir: organizasyonun installSources ayarı buna izin vermeli, becerinin hedef kitlesi bu tesisi kapsamalı (veya istekte bulunanı adıyla belirtmeli), sürüm yayımlanmış olmalı ve istekte bulunan, hedef cihaz için whoCanInstall düzeyini karşılamalıdır (sahip / izin verilen kullanıcı / tesis yöneticisi / organizasyon yöneticisi; yönetişime bakın). Yükleme yaşam döngüsü satırını (doğruluk kaynağı) yazar ve hemen en iyi çaba esaslı bir gönderim yapar; uzlaştırma cron görevi, cihaza ulaşılabildiğinde teslimatı garanti eder.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/install/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/install/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir yükleme için bekleyen beceri güncellemesini onaylama
Yüklemenin desiredVersion değerini en son yayımlanan sürüme taşır ('notify' ve 'pinned' politikalarının elle yapılan adımı ve yönetişim updatePosture değerini 'approvalRequired' olarak ayarladığında izlenen yol). Geçerli sürümü tek adımlı geri alma hedefi olarak saklar ve geri alma sonrası güncelleme sabitlemesini (skipVersion) temizler. Yüklemeyle aynı whoCanInstall izin düzeyi.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/update-approve/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/update-approve/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Yüklü bir beceriyi önceki sürümüne geri alma
desiredVersion değerini yükleme satırının previousVersion değerine (her sürüm değişikliğinde saklanır) ayarlar ve normal teslimat yolunun beceriyi yeniden yüklemesini sağlar. Tek adımlıdır: sürümler yer değiştirir; bu nedenle iki kez geri almak başladığınız yere döndürür. Ayrıca güncellemeleri sabitler (skipVersion = geri alınan sürüm); böylece auto/notify politikaları geri almayı yerinde bırakır. Sabitleme, kesinlikle daha yeni bir sürüm yayımlandığında, update-approve ile veya set-policy ile kaldırılır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/rollback/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/rollback/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir beceriyi bir tesisin AI Agent'ından kaldırma
Yükleme satırını pending-uninstall olarak işaretler ve istenen durumu gönderir; cihaz kaldırmayı onayladığında satır silinir (uzlaştırma geri okuması). Yüklemeyle aynı whoCanInstall izin düzeyi.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/uninstall/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/uninstall/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir cihazdaki beceri için yükleme başına güncelleme politikasını ayarlama
auto (organizasyonun updatePosture ayarı onay gerektirmedikçe uzlaştırma yeni yayımlanan sürümleri otomatik olarak uygular), notify (sahip her yeni sürüm için bir kez bilgilendirilir ve sürümü elle uygular) veya pinned (açık bir update-approve olmadan asla değişmez). Politikanın değiştirilmesi, geri alma sonrası güncelleme sabitlemesini (skipVersion) temizler. Yüklemeyle aynı whoCanInstall izin düzeyi.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/set-policy/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/set-policy/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin AI Agent'ındaki beceri yüklemeleri (Skills sekmesi)
Bir cihazın yükleme yaşam döngüsü satırları; her birine becerinin listeleme alanları ve daha yeni bir yayımlanmış sürümün olup olmadığı eklenir. Cihaz başına 'open' erişimi gerektirir (Skills sekmesi ajan çekmecesinin içinde yer alır).
Parametreler
club `string` (zorunlu) device `string` (zorunlu)Uç nokta
GET /api/agent-skills/installs/{club}/{device}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/installs/{club}/{device} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisin organizasyonunda onay bekleyen beceri sürümleri
Organizasyon yöneticisi onay kuyruğu: organizasyonun becerileri genelinde onay bekleyen her sürüm, beceri listelemesi ve tarama/LLM özetleriyle birlikte. Yalnızca organizasyon yöneticileri.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-skills/approvals/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/approvals/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bekleyen bir beceri sürümünü onaylama (yayımlar)
Yalnızca organizasyon yöneticileri. Sürüm yayımlanır, becerinin latestVersion değeri ilerler ve yayımlayıcı bilgilendirilir. 'auto' politikalı yüklemeler sürümü bir sonraki uzlaştırma taramasında alır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/approve/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/approve/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bekleyen bir beceri sürümünü reddetme
Yalnızca organizasyon yöneticileri. Sürüm, inceleyenin gerekçesiyle reddedilir ve yayımlayıcı bilgilendirilir; yayımlayıcı bulguları düzeltip yeni bir sürüm gönderebilir (sürümler değiştirilemez).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/reject/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/reject/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bu tesisin organizasyonu için geçerli Agent Skill yönetişimi
Platform varsayılanlarının üzerine birleştirilen, organizasyon başına saklanan politika (saklanmış satırı olmayan bir organizasyon yalnızca varsayılanları görür). Yalnızca organizasyon yöneticileri.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/agent-skills/governance/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/governance/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisin organizasyonu için Agent Skill yönetişimini güncelleme
Kısmi güncelleme; yalnızca gönderilen alanlar değişir, diğer her şey saklanan/varsayılan değerini korur. Yalnızca organizasyon yöneticileri. Cihaz başına geçersiz kılmalar, mevcut cihaz yapılandırma rotaları aracılığıyla kayıt satırında tutulur.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/agent-skills/governance/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/governance/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin ortam verilerini alma
Belirtilen kulüp için gün doğumu/gün batımı dahil güncel hava koşullarını (Open-Meteo aracılığıyla) ve tesis iç ortam sıcaklığını (duress sensörlerinden) döndürür. Redis'te 30 dakika önbelleğe alınır.
Parametreler
clubId `string` (zorunlu) Kulübün/tesisin dahili kimliğiUç nokta
GET /api/clubs/{clubId}/environment
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/environment \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Genel bir IoT cihazını bir kulübe ekler/kulüple ilişkilendirir.
Parametreler
club `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği. body `string` (zorunlu) İlişkilendirilecek yeni ekranın JSON nesnesi.Uç nokta
POST /api/devices/addGenericDevice/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/addGenericDevice/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir ekranı kaldırma ve fabrika ayarlarına sıfırlama
Ekranın etkin tesis ilişkisini kaldırır ve kalıcı bir fabrika ayarlarına sıfırlama işlemini hazırlar. Kapalı bir ekran, bir sonraki açılışında ve yeniden bağlandığında sıfırlamayı uygular, ardından HDMI eşleştirme sayfasına döner. Geçmiş faturalandırma kayıtları korunur.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/display-screens/reset/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/display-screens/reset/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir kapı denetleyicisini bir tesisle ilişkilendirir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/door-controllers/associate/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/door-controllers/associate/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin kapı denetleyicisi ayarlarını günceller.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/door-controllers/update/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/door-controllers/update/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir kapı denetleyicisini bir tesisten hizmet dışı bırakır.
Parametreler
club `string` (zorunlu)Uç nokta
POST /api/devices/door-controllers/decommission/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/door-controllers/decommission/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kapı denetleyicisinin röle yapılandırmasını döndürür.
Parametreler
uuid `string` (zorunlu)Uç nokta
GET /api/devices/door-controllers/config/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/door-controllers/config/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cihazın meta verilerini döndürür
Parametreler
uuid `string` (zorunlu) Cihazın benzersiz kimliğiUç nokta
GET /api/devices/metadata/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/metadata/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cihazın meta verilerini döndürür. Yanıt, en üst düzeydeki meta veri satırı (eski yapı) ile birlikte `detectedType` (camera | ai-edge-processor | door-controller | ph-ai-agent | null) ve `online` (son 5 dakika içinde güncellendiyse true) değerlerinden oluşur.
Parametreler
deviceSerialNumber `string` (zorunlu) Cihazın seri numarasıUç nokta
GET /api/devices/metadata/serial/{serialNo}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/metadata/serial/{serialNo} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün Smart Club verilerini döndürür.
Parametreler
club_id `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club_id}/smart-club-data
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club-data \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tek bir kulüple ilişkili tüm cihazları döndürür.
Parametreler
club `string` (zorunlu) Cihazlarını listelemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/devices/list/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/list/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
balena cihazlarımız için tüm uygulama sürümlerini döndürür..
Uç nokta
GET /api/devices/listReleases
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/listReleases \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir cihazı yeni bir tesise (kulübe) taşır ve ilgili sistemleri günceller.
Parametreler
club `string` (zorunlu) Kaynak tesis kimliği (cihazın şu anda bulunduğu kulüp) body `object` (zorunlu) Taşıma parametreleriUç nokta
POST /api/devices/move/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/move/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
En uygun kulüp içi cihazı seçip tünel oluşturmak için MQTT komutu göndererek bir tesisin yönlendiricisine bağlantı kurmayı dener.
Parametreler
facilityID `string` (zorunlu) Yönlendirici bağlantısı denenen tesisin dahili kimliği.Uç nokta
GET /api/devices/openRouterWebpage/{facilityID}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/openRouterWebpage/{facilityID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cloud Agent kataloğu (bölgeler, boyutlar, güncel satış fiyatları)
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/cloud/catalog/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/catalog/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cloud Agent için fiyat teklifi (yazılım + barındırma)
Uç nokta
POST /api/devices/ph-ai-agent/cloud/quote/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/quote/{club} \
-H "x-api-key: YOUR_API_KEY"
Cloud Agent başlatma (hazırlamayı kuyruğa alma + otomatik ilişkilendirme)
Uç nokta
POST /api/devices/ph-ai-agent/cloud/launch/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/launch/{club} \
-H "x-api-key: YOUR_API_KEY"
Cloud Agent iş durumu
Uç nokta
GET /api/devices/ph-ai-agent/cloud/jobs/{club}/{jobId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/jobs/{club}/{jobId} \
-H "x-api-key: YOUR_API_KEY"
Cloud Agent'ı tamamen silme (VM + balena + kayıt)
Uç nokta
POST /api/devices/ph-ai-agent/cloud/delete/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/delete/{club} \
-H "x-api-key: YOUR_API_KEY"
Bekletilen bir Cloud Agent kaldırma işlemini çözümleme (yedeklemeyi yeniden deneme, yedeklemeden silme veya iptal etme)
Uç nokta
POST /api/devices/ph-ai-agent/cloud/delete-decision/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/cloud/delete-decision/{club} \
-H "x-api-key: YOUR_API_KEY"
Bir ajanın Connected Apps listesini görüntüleme (bağlı hesapları olan paketler + uygulamalar)
Ajanın Connected Apps durumunu döndürür: etkinlik bayrağı, paket başına özetler (Google Workspace, Microsoft 365) ve ajanın üst akış oturumundan çözümlenen, her uygulamanın bağlı hesaplarıyla birlikte seçilmiş uygulama kataloğu (çoklu hesap: bir ajan, her biri isteğe bağlı bir diğer ada sahip olan, uygulama başına birden çok hesap tutabilir).
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.Uç nokta
GET /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir ajan için tam Connected Apps pazar yeri kataloğu
Bağlanabilen her uygulamayı (sunucu tarafında ~12 saat önbelleğe alınan tam yönetilen kimlik doğrulama araç seti kataloğu) öne çıkan/paket düzeyleri ve uygulama başına ajanın bağlı hesaplarıyla birlikte, ayrıca paket başına özetler ve ajanın bekleyen bağlantı isteklerini döndürür; istemci tarafında aranabilen uygulama pazar yeri için tek bir yük.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.Uç nokta
GET /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/catalog
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/catalog \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bekleyen bir ajan bağlantı isteğini kapatma
Ajanın bir araç seti için bekleyen bağlantı isteğini kapatıldı olarak işaretler (istek, pazar yerinin "Requested by your agent" bölümünden kaybolur). Idempotent'tir; beklemede olmayan bir isteği kapatmak hiçbir işlem yapmaz.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/requests/dismiss
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/requests/dismiss \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir ajan için Connected Apps özelliğini etkinleştirme veya devre dışı bırakma
Ajanın Connected Apps anahtarını kalıcı olarak kaydeder ve PH_APPS_MCP_ENABLED Balena cihaz değişkenini yalnızca o cihaza gönderir (en iyi çaba esaslı; MCP aktarımı üzerindeki kesin denetim PH tarafındaki bayraktır).
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/enable
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/enable \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Tek bir uygulamayı bir ajana bağlamaya başlama (Connect Link OAuth akışı)
Tek bir araç seti için barındırılan bir Connect Link akışı başlatır ve kullanıcının yönlendirileceği URL'yi döndürür. İsteğe bağlı bir diğer ad yeni hesabı etiketler (çoklu hesap: zaten bağlı bir uygulamayı bağlamak, uygulama başına en fazla 10 olmak üzere BAŞKA bir hesap ekler). Paket bağlantılarıyla aynı zincirleme geri çağırma üzerinden çalışır (tek araç setli bir paket); böylece tamamlandığında ph-ai-agent uygulama sayfasına geri dönülür.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Tek bir uygulama için bağlantı hazırlık yükü (mod, kimlik bilgisi alanları, kurulum kılavuzu)
Bağlantı iletişim kutusunun bağlantı başlatmadan önce ihtiyaç duyduğu her şey: uygulamanın nasıl bağlandığı (oauth = barındırılan onay akışı, credentials = ürün içi form), credentials modu için toplanacak kimlik bilgisi alanları ve ürün içi kurulum kılavuzu (öncelikli uygulamalar için özel olarak yazılmıştır, diğerleri için uygulamanın alan meta verilerinden oluşturulur; asla harici belgelere bağlantı değildir). Kendi OAuth uygulamanızı getirdiğiniz (BYO) uygulamalar ayrıca müşterinin OAuth uygulamasının henüz BU ajan için kaydedilip kaydedilmediğini (byoConfigured) ve sağlayıcıya kaydedilecek yönlendirme URL'sini içerir.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si. toolkit `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-info/{toolkit}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-info/{toolkit} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir uygulamayı kullanıcının sağladığı kimlik bilgileriyle bağlama (API anahtarı vb., OAuth yok)
Credentials modundaki bir uygulama için barındırılan onay akışı olmadan, doğrudan ürün içi formdan bağlı bir hesap oluşturur. Kimlik bilgisi alanları uygulamanın connect-info yükünden gelir; tüm zorunlu alanlar sağlanmalıdır. Desteklendiği durumlarda kimlik bilgileri sağlayıcıyla doğrulanır (en iyi çaba esaslı; bazı uygulamalar yanlış bir anahtarı yalnızca ajanın ilk araç çağrısında reddeder). İsteğe bağlı bir diğer ad yeni hesabı etiketler (çoklu hesap: zaten bağlı bir uygulamayı bağlamak BAŞKA bir hesap ekler).
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-credentials
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-credentials \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
BYO uygulaması için müşterinin kendi OAuth uygulamasını kaydetme ve bağlantı akışını başlatma
Kendi OAuth uygulamanızı getirdiğiniz uygulamalar (Xero, Shopify, ...) için: müşterinin sağlayıcıda oluşturduğu OAuth uygulamasının istemci kimliğini ve istemci gizli anahtarını alır (uygulamanın kurulum kılavuzu adım adım anlatır), bunu BU ajan için kaydeder (gizli anahtar yalnızca üst akış entegrasyon platformunda saklanır; asla Performance Hub'da saklanmaz) ve hemen buna karşı barındırılan oturum açma akışını başlatır. Bağlantı uç noktasıyla aynı sözleşmeyle, kullanıcının yönlendirileceği onay URL'sini döndürür. Yeniden göndermek ajanın kayıtlı uygulamasını değiştirir (ör. gizli anahtar yenilendikten sonra); mevcut bağlı hesaplar çalışmaya devam eder.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-oauth-app
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-oauth-app \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir ajan için tek tıklamayla paket bağlantısı başlatma (zincirleme Connect Link akışları)
Bir paketin tamamı (ör. google-workspace) için zincirleme bağlantı akışını başlatır. Döndürülen URL ilk araç setinin onay ekranını açar; her tamamlama doğrudan bir sonraki araç setinin akışına 302 ile yönlendirir ve ph-ai-agent uygulama sayfasında sona erer. Zaten bağlı hesabı olan üyeler ATLANIR; böylece zincirin ortasındaki bir hatadan sonra yeniden denemek, yinelenen hesaplar oluşturmak yerine eksik uygulamalarla devam eder. Tüm üyeler zaten bağlı olduğunda zincirin tamamı yeniden çalışır; bu, açık "başka bir hesap ekle" akışıdır.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-suite
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/connect-suite \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir ajandan tek bir bağlı hesabın bağlantısını kesme
Tek bir bağlı hesabı siler (çoklu hesap: aynı uygulamanın diğer hesapları bağlı kalır). Silmeden önce hesabın bu ajana ait olduğu doğrulanır; hesap uygulamanın SON hesabıysa araç seti ajanın bağlı kümesinden kaldırılır (ajanın araç listesinin güncellenmesi için oturum gecikmeli olarak yeniden oluşturulur).
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/disconnect
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/disconnect \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir ajanın bağlı hesaplarından birini yeniden adlandırma (diğer adını değiştirme)
Tek bir bağlı hesabın görünen diğer adını ayarlar. Diğer adlar normalde OAuth sonrasında otomatik olarak ayarlanır (oturum açan kimlikten); bu uç nokta, uygulama ayrıntıları iletişim kutusundaki elle yeniden adlandırmayı destekler. Boş bir diğer ad etiketi temizler. Üst akış güncellemesinden önce hesabın bu ajana ait olduğu doğrulanır.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si.İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/rename-account
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/rename-account \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir ajan için yerleşik bir Performance Hub hizmetini açma/kapatma
Her zaman açık olan yerleşik bir hizmeti (Smart Search, Weather, ...) bu ajan için açar veya kapatır. Yerleşik hizmetler bağlantı veya OAuth gerektirmez; her ajana dahildir ve varsayılan olarak açıktır; bu anahtar ajan başına geçersiz kılmayı kalıcı olarak kaydeder ve araç setinin güncellenmesi için ajanın üst akış oturumunu hemen yeniden oluşturur. Ayrı "External apps" anahtarının (/enable rotası) uygulamalar MCP sunucusunun tamamı için kesin bir kapatma anahtarı olduğunu unutmayın; bu anahtar kapalıyken yerleşik hizmetler de tek tek ayarlarından bağımsız olarak kullanılamaz.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (zorunlu) Ajan cihazının balena UUID'si. slug `string` (zorunlu) Yerleşik hizmet slug değeri.İstek Gövdesi
Uç nokta
PATCH /api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/built-in/{slug}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/connected-apps/{facilityId}/{deviceId}/built-in/{slug} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent cihazını bir tesisle ilişkilendirme
Meta veri öncelikli ilişkilendirme. Cihazı canlı cihaz meta verilerinde seri numarasıyla arar, çevrimiçi olmasını gerektirir, ardından kayıt satırını gecikmeli olarak oluşturur, bir Chisel aktarma bölgesi + tünel bağlantı noktası + gizli anahtar atar, bu yuvayı aktarma sunucusuna kaydeder ve tesis + tünel yapılandırmasını Balena aracılığıyla cihaza gönderir. Yeni cihazlara ayrıca varsayılan bir MCP hizmet hesabı tanımlanır (etkin, bu tesisle sınırlı, tüm yetenekler); yeniden eşleştirme mevcut MCP iznini korur. İsteğe bağlı gelişmiş ayarlar, eşleştirme sırasında atanan varsayılanları geçersiz kılar (yedekleme yapılandırması, MCP açık/kapalı, erişim kısıtlaması); `restoreFrom` ise yeni cihazı tesisteki başka bir cihazın bulut yedeğinden başlatır (etkin veya hizmet dışı kaynak; depolar arası bir geri yüklemeyi kuyruğa alır ve ilerleme yoklaması için `restoreRequest` olarak döndürür).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/associate/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/associate/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin AI Agent cihazlarını listeleme
Tesisin AI Agent cihazlarını canlı çevrimiçi + tünel durumuyla birlikte döndürür (uygulamanın cihaz değiştiricisi tarafından kullanılır).
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/list/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/list/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
AI Agent güncelleme + çevrimiçi durumu
Cihazın çevrimiçi olup olmadığını, bir güncellemenin kullanılabilir/beklemede olup olmadığını ve sunulan sürümü döndürür (filo sabitlenmişse filo sabitlemesi; filo en son sürümü izliyorsa en yüksek başarılı sürüm).
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/update-status/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update-status/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
AI Agent canlı cihaz durumu + ölçümler
Uygulamanın ölçüm şeridi ve yönetim çekmecesi için seçilmiş bir anlık görüntü döndürür: kimlik + kayıt alanları, canlılık + bağlantı, yazılım sürümleri ve en son sinyal ölçümleri (CPU, sıcaklık, bellek, bağlama noktası başına depolama, çalışma süresi, ağ). Cihaz meta verisi sinyalini + Balena güncelleme durumunu düzleştirir; geçici bir kesintide iki yarıdan biri eksik olabilir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/device-status/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/device-status/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cihaz durum raporu için yapay zeka açıklaması
Türetilen mevcut durum sorunlarının operatöre yönelik kısa bir açıklamasını döndürür. Olgular ve çözüm kılavuzu adımları her zaman device-status içindedir; bu ek paragraf en iyi çaba esaslıdır ve null olabilir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
POST /api/devices/ph-ai-agent/health/{club}/{uuid}/explain
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/health/{club}/{uuid}/explain \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir AI Agent için doğrudan aktarma sunucusuna erişim belirteci oluşturma
Tarayıcının cihazın bölgesel aktarma ağ geçidine DOĞRUDAN bağlanmak için kullandığı kısa ömürlü imzalı URL'yi (küresel PH/Sydney atlamasını ortadan kaldırır) ve HS256 belirtecini döndürür. Yetki PH'de kalır (Google SSO + modül/tesis kontrolleri burada yapılır); aktarma ağ geçidi belirteci doğrular. /ai-agent-ui proxy'si yedek olarak kalır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/access/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent oturumuna sohbet mesajı gönderme (bildirimden satır içi yanıt)
Web push bildiriminin satır içi yanıt işlemi tarafından kullanılan sunucu tarafı aktarım; service worker buraya POST isteği gönderir (aynı kaynak, SSO çerezleri), böylece açık bir Performance Hub sekmesi olmadan da yanıt çalışır. PH, cihazın aktarma hedefini çözümler (/ai-agent-ui proxy'siyle aynı arama), tur ilişkilendirmesi için x-ph-user damgasını ekler (sonuçtaki tamamlama bildirimi bu kullanıcıya geri gider) ve isteği oturum kimliğiyle cihazın /api/chat/start adresine iletir.
İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/reply
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/reply \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent'ın erişim denetimi ayarlarını okuma (sahip)
Cihazın erişim bloğunu (mod, izin listesi, görünürlük, PH Support anahtarı) ve bekleyen erişim isteklerini döndürür. Cihaz sahibi tarafından okunabilir; diğer kullanıcılar 403 alır.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/access-settings/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-settings/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir AI Agent'ın erişim denetimi ayarlarını güncelleme (sahip)
Modu (org/restricted), kısıtlı izin listesini, liste görünürlüğünü (all/admins) ve "permit access from Performance Hub Support" anahtarını yazar. Cihaz sahibine izin verilir. Sahibin kendisi yalnızca reallocate-owner ile değiştirilebilir. Onaylanan erişim istekleri kalıcıdır; onayı süren istekte bulunanlar kaydedilen izin listesine yeniden eklenir; gönderilen listeden birini çıkarmak onayını iptal eder (istek reddedildi durumuna geçer; yeniden istekte bulunabilir).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/access-settings/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-settings/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent'ın sahibini yeniden atama
Cihaz sahipliğini başka bir Performance Hub kullanıcısına yeniden atar. Hesap sahipleriyle (SaaS faturalandırma modülü erişimi) sınırlıdır; kısıtlı bir ajanın sahibi ayrıldığında kullanılan çıkış yoludur. Hem önceki hem de yeni sahip bilgilendirilir (uygulama içi + push + e-posta).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/reallocate-owner/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/reallocate-owner/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
AI Agent izin listesi / sahip seçicileri için tesis kullanıcı listesi
Rolü kendisine BU tesise erişim veren her kullanıcının e-posta adresini + adını (+ isOrgAdmin bayraklarını) döndürür. Normal kullanıcıların kullanıcı tabanını listeleyememesi için cihaz sahibi ve yeniden atama yetkisi olanlarla (hesap sahibi) sınırlıdır.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/org-users/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/org-users/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kısıtlı bir AI Agent'a erişim isteme
Kısıtlı bir cihaz için istekte bulunanın erişim isteğini oluşturur (veya yeniden açar); kullanıcı+cihaz başına idempotent'tir. Sahip; uygulama içi, web push ve e-posta yoluyla, ajan modülüne giden derin bağlantıyla bilgilendirilir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/access-request/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-request/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent erişim isteğini onaylama veya reddetme (sahip)
Bekleyen bir isteğin cihaz sahibi tarafından sonuçlandırılması. Onaylamak, istekte bulunanı cihazın izin listesine ekler; her iki sonuçta da istekte bulunan bilgilendirilir (uygulama içi + push + e-posta).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/access-request-resolve/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/access-request-resolve/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent güncellemesine izin verme + uygulama
Cihazı sunulan sürüme sabitler (filo sabitlemesi veya filo en son sürümü izliyorsa en yüksek başarılı sürüm) ve balena supervisor'ın güncellemeyi uygulaması için güncelleme kilidini serbest bırakır. Cihazın veri birimindeki durum güncellemeden sonra korunur.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/update/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent güncellemesini daha sonraya zamanlama
Cihazın kaydında zamanlanmış bir yükleme zamanı saklar. Yinelenen bir arka uç işi (5 dakikada bir), zamanlanan süre geçtiğinde güncellemeyi uygular (sabitleme + kilit açma). Zamanlama, cihazın mevcut zamanlamasının yerini alır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/update-schedule/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update-schedule/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Zamanlanmış bir AI Agent güncellemesini iptal etme
Cihaz için bekleyen zamanlanmış yüklemeyi temizler (zamanlanmış bir şey yoksa hiçbir işlem yapmaz).
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
DELETE /api/devices/ph-ai-agent/update-schedule/{club}/{uuid}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/update-schedule/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir AI Agent cihazında uzaktan komut çalıştırma
İzin listesindeki bir MQTT komutunu (yeniden başlatma, bir kapsayıcıyı yeniden başlatma, güncellemeleri kilitleme/kilidini açma, Wi-Fi yönetimi) AI Agent üzerinde çalışan device-controller'a yayımlar. Cihaz tesisle ilişkilendirilmiş olmalıdır.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/command/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/command/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir AI Agent'ın tesise yönelik yapılandırmasını güncelleme
İlişkili bir Yapay Zeka Ajanı için operatörün düzenleyebileceği ayarları kalıcı olarak kaydeder: cihaz adı, fiziksel cihaz konumu ve zamanlanmış yeniden başlatma sıklığı. Yeniden başlatma zamanlaması, Display Screens davranışıyla aynı şekilde cihaza REBOOT_DEVICE Balena ortam değişkeni (yerel saatle 02:00) olarak da gönderilir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/config/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/config/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bu tesisteki bir Yapay Zeka Ajanının taşınabileceği tesisler
"Başka bir tesise taşı" seçicisi için, oturum açmış kullanıcının erişebildiği aynı organizasyondaki tesisleri (geçerli tesis hariç) döndürür. Taşıma işleminin kendisi POST /api/devices/move/:club ile yapılır; bu uç nokta aynı organizasyon ve hedef erişim kurallarını sunucu tarafında uygular.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/move-targets/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/move-targets/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İstekte bulunanın, bir tesisin Yapay Zeka Ajanlarına verebileceği MCP erişim sınırları
Oturum açmış kullanıcının, bu tesisin organizasyonundaki bir Yapay Zeka Ajanı MCP hizmet hesabına neleri verebileceğini döndürür: kendi erişimi dahilindeki tesisler/bölgeler, organizasyon genelinde kapsam verip veremeyeceği, sahip olduğu modüller ve tam MCP araç kataloğu (gelişmiş araç bazlı maske için). Arayüz bunu, kullanıcıların yalnızca kendi izin sınırları içindeki seçenekleri görmesi için kullanır; mcp-access POST uç noktası aynı kısıtlamayı sunucu tarafında uygular.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/mcp-grantable/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/mcp-grantable/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanının MCP hizmet hesabı yapılandırmasını alma
Cihazın MCP erişim yapılandırmasını (kapsam, modüller, araç maskesi, denetim alanları) döndürür.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/mcp-access/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/mcp-access/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanının MCP hizmet hesabını yapılandırma
Cihazın MCP erişim yapılandırmasını, verilme anında kısıtlama uygulayarak kaydeder. İstekte bulunanlar yalnızca kendi erişimleri dahilindeki tesisleri/bölgeleri, yalnızca organizasyon genelinde bir role sahiplerse organizasyon kapsamını ve yalnızca tesisin organizasyonunda kendilerinin sahip olduğu modülleri verebilir. Etkin bayrağı cihaza PH_MCP_ENABLED Balena ortam değişkeni olarak da gönderilir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/mcp-access/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/mcp-access/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanının VPN yapılandırmasını alma (gizlenmiş)
Cihazın VPN destek bayrağını ve bağlantı listesini döndürür. Profil içerikleri ve kimlik bilgisi değerleri hiçbir zaman döndürülmez; yalnızca içe aktarma sırasındaki meta veriler (uzak sunucular, rotalar, DNS) ve kimlik bilgisi var/yok bayrakları döndürülür. Bağlantı başına canlı durum, device-status uç noktasından (beacon metadata.vpn) gelir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/vpn-config/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-config/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanının VPN desteğini açma/kapatma
Cihazın VPN özelliğini açar/kapatır. PH_VPN_ENABLED balena cihaz değişkenini gönderir ve cihazı uyarır (MQTT vpnConfigChanged); kapatıldığında bağlantılar korunur (tüneller durur; yapılandırma yeniden etkinleştirme için saklanır).
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/vpn-config/{club}/{uuid}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-config/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanına OpenVPN profil(ler)i içe aktarma
base64 kodlu yüklemeleri kabul eder: tek .ovpn/.conf dosyaları, bölünmüş dosya paketleri (yapılandırma + sertifikalar/anahtarlar) ve arşivler (.zip, .tar/.tgz Pritunl dışa aktarımları, .tblk Tunnelblick, .visc/.visz Viscosity). Profiller standart bir satır içi biçime dönüştürülür; her profil bir bağlantı olur (bağlantısız olarak içe aktarılır; kimlik bilgilerini girin, ardından bağlanın). Kullanılamayan yüklemeler için ne yapılacağını belirten 400 hataları döndürülür.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/vpn-import/{club}/{uuid}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-import/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanı VPN bağlantısını güncelleme (ad / kimlik bilgileri / bölünmüş DNS)
Saklanan bağlantıyı günceller. Kimlik bilgisi alanları yalnızca yazılabilir (gönderilmezse saklanan değer korunur; boş dize gönderilirse temizlenir). Kimlik bilgisi/bölünmüş DNS değişiklikleri bağlantı revizyonunu artırır; böylece canlı bir tünel yeni değerlerle yeniden başlar.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/vpn-connection/{club}/{uuid}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-connection/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanı VPN bağlantısını silme
Bağlantıyı kayıttan kaldırır ve cihazı uyarır; cihaz tüneli kapatır ve önbelleğe alınmış profilini/kimlik bilgilerini temizler.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) connectionId `string` (zorunlu)Uç nokta
DELETE /api/devices/ph-ai-agent/vpn-connection/{club}/{uuid}/{connectionId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-connection/{club}/{uuid}/{connectionId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanı VPN bağlantısını bağlama / bağlantısını kesme
İstenen durum modeli: kayıttaki bağlantının etkin bayrağını ayarlar ve cihazı uyarır (yük içermeyen MQTT vpnConfigChanged); cihaz, JWT ile kimliği doğrulanmış universal-api çağrısıyla yetkili durumu çeker ve tünellerini buna göre uzlaştırır. Kaçırılan bir uyarı, periyodik eşitlemede telafi edilir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/vpn-command/{club}/{uuid}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/vpn-command/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanının bulut yedekleme yapılandırmasını ve durumunu alma
Cihazın yedekleme ayarlarını (etkin, saklama süresi, depolama bölgesi), sürekli güncellenen yedekleme durumunu (son yedekleme, boyut, hatalar), otomatik olarak belirlenen bölgeyi ve seçici için kullanılabilir depolama bölgelerini döndürür. restic deposu parolası hiçbir zaman döndürülmez.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-config/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-config/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanının bulut yedekleme yapılandırmasını güncelleme
Etkin/saklama süresi/bölge ayarlarını kaydeder. Cihazın bir sonraki saatlik yedekleme döngüsünde geçerli olur (cihaz her çalıştırmadan önce PH'den çalışma bağlamını ister), bu nedenle cihazın yeniden başlatılması gerekmez.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/backup-config/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-config/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Yeni bir Yapay Zeka Ajanını eşleştirmek için yedek geri yükleme kaynaklarını listeleme
Ajan ekleme iletişim kutusundaki "yedekten geri yükle" seçeneği için tesis genelinde görünüm: tesisteki, şifresi çözülebilir bir yedek deposu ve en az bir kullanılabilir geri yükleme noktası bulunan tüm kayıtlar (etkin VE devre dışı bırakılmış/değiştirilmiş), en yeni anlık görüntüleriyle birlikte. Ayrıca yedekleme yapılandırma seçenek listelerini (allowedRetentionDays, availableRegions) döndürür; böylece iletişim kutusu, seçim alanlarını doldurmak için cihaz UUID'sine ihtiyaç duymaz.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-sources/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-sources/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanının yedek geri yükleme noktalarını listeleme
Cihazın anlık görüntü dizinini (en yeniden eskiye) DynamoDB'den döndürür; cihaza veya depoya gidip gelme gerekmez. Ayrıca çekmece yoklaması için geçerli manuel yedekleme / geri yükleme isteği durumunu da döndürür. Eskimiş istekler (hiç alınmamış veya ilerleme sinyali olmayan) başarısız olarak gösterilir; böylece arayüz her zaman yeni bir istek gönderebilir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-snapshots/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-snapshots/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanının şimdi manuel yedeklemesini isteme
Kayıt satırına manuel çalıştırma isteği (kullanıcının notuyla birlikte) yazar ve cihazı MQTT üzerinden uyarır. Cihaz, doğrulanmış isteği JWT ile kimliği doğrulanmış universal-api run-context çağrısıyla alır; MQTT olmasa bile istek bir sonraki zamanlayıcı döngüsünde alınır. Başka bir yedekleme veya geri yükleme sürerken reddedilir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/backup-run/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-run/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanı geri yükleme noktasını sabitleme veya sabitlemeyi kaldırma
Sabitlenmiş geri yükleme noktaları saklama süresine bağlı temizlemeden korunur: cihazın gecelik bakımı, sabitlenmiş anlık görüntü kimliklerini run-context çağrısıyla alır ve bunları restic forget işleminden hariç tutar; dizin satırlarının TTL süresi de hiçbir zaman dolmaz. Sabitlemeyi kaldırmak normal saklama davranışını geri getirir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/backup-pin/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-pin/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Yapay Zeka Ajanını yedek geri yükleme noktasından geri yükleme
Kayıt satırına bir geri yükleme isteği yazar ve cihazı uyarır. Tam geri yüklemeler /data ve /home/hermeswebui dizinlerinin üzerine yazar (cihaz önce otomatik bir geri yükleme öncesi güvenlik anlık görüntüsü alır ve geri yükleme sırasında ajanı durdurur) ve onay olarak cihaz adının yazılmasını gerektirir. `paths` gönderilirse bunun yerine yalnızca bu yolların kesintisiz, dosya düzeyinde geri yüklemesi yapılır. İsteğe bağlı olarak, veri geri yüklemesi tamamlandığında cihazı anlık görüntünün yazılım sürümüne geri sabitler (bkz. backup-restore-release).
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/backup-restore/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-restore/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Tamamlanmış bir geri yüklemede kaydedilen yazılım sürümünü uygulama
Anlık görüntünün yazılım sürümünü isteyen bir geri yüklemenin son adımı: cihaz veri geri yüklemesinin tamamlandığını bildirdiğinde, cihazı saklanan sürüme sabitler ve güncellemelerin kilidini açar (güncelleme uç noktasıyla aynı mekanizma). Çekmecenin yoklamasıyla tetiklenir; idempotenttir, saklanan sabitleme uygulandıktan sonra temizlenir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/backup-restore-release/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-restore-release/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir yedek geri yükleme noktasındaki dosyalara göz atma
Bir restic anlık görüntüsünün tek bir dizin düzeyini listeler; tamamen sunucu tarafında Wasabi deposundan sunulur (cihaz çevrimdışıyken de çalışır). Yalnızca ağaç meta verileri okunur; listeleme için hiçbir dosya verisi indirilmez.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) takenAt `number` (zorunlu) path `string` (isteğe bağlı)Uç nokta
GET /api/devices/ph-ai-agent/backup-files/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-files/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir yedek geri yükleme noktasında dosya adı arama
Bir dizinden aşağıya doğru büyük/küçük harfe duyarsız dosya adı araması; sunucu tarafında restic ağaç meta verilerinden sunulur (dosya verisi okunmaz; cihaz çevrimdışıyken de çalışır). Listeyi akış olarak gönderir ve ilk 200 eşleşmede durur.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) takenAt `number` (zorunlu) q `string` (zorunlu) path `string` (isteğe bağlı)Uç nokta
GET /api/devices/ph-ai-agent/backup-search/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-search/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İki yedek geri yükleme noktası arasında neler değişti
Cihazın iki anlık görüntüsü arasında sunucu tarafında restic diff çalıştırır (yalnızca ağaç meta verileri) ve eklenen/kaldırılan/değiştirilen dosya listesini (en fazla 500 değişiklik) özet istatistiklerle birlikte döndürür. Anlık görüntüler değişmez olduğundan sonuçlar önbelleğe alınır.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) fromTakenAt `number` (zorunlu) toTakenAt `number` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-diff/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-diff/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir dosyanın tüm geri yükleme noktalarındaki sürüm geçmişi
Cihazın deposundaki tüm anlık görüntülerde tek bir sunucu tarafı restic find işlemi; sonuçlar FARKLI sürümlere indirgenir (art arda gelen aynı boyut+mtime eşleşmeleri birleştirilir) ve tarihler/türler/notlar için anlık görüntü dizini satırlarıyla birleştirilir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) path `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-file-versions/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-file-versions/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir cihazın yedeklerindeki tüm geri yükleme noktalarında dosya adına göre arama
Silinmiş dosya kurtarma yolu: depodaki TÜM anlık görüntülerde tek bir sunucu tarafı restic find işlemi (büyük/küçük harfe duyarsız, alt dize veya glob), her dosyanın bulunduğu geri yükleme noktalarıyla birlikte yola göre gruplanır. Cihazdan silinmiş bir dosya, herhangi bir geri yükleme noktası onu içerdiği sürece burada bulunabilir.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) q `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-find/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-find/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir yedek geri yükleme noktasından tek bir dosya indirme
Bir dosyayı doğrudan restic deposundan tarayıcıya akış olarak gönderir (ek olarak). Dizinler tar arşivi olarak gönderilir. Boyut sınırlıdır; sunucu tarafında sunulduğu için cihaz çevrimdışıyken de çalışır.
Parametreler
club `string` (zorunlu) uuid `string` (zorunlu) takenAt `number` (zorunlu) path `string` (zorunlu)Uç nokta
GET /api/devices/ph-ai-agent/backup-file-download/{club}/{uuid}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/backup-file-download/{club}/{uuid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanını tesisten devre dışı bırakma
Parametreler
club `string` (zorunlu)Uç nokta
POST /api/devices/ph-ai-agent/decommission/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/decommission/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Yapay Zeka Ajanını tesisten kaldırma ve donanımı fabrika ayarlarına sıfırlama
Cihazın HERHANGİ bir tesiste eşleştirilebilmesi için ilişkisini tamamen kaldırır ve NUC üzerindeki tüm verileri siler. Silme işlemi, bulut tarafındaki kaldırmadan ÖNCE PH_FACTORY_RESET balena cihaz değişkeni (tek kullanımlık bir nonce) ile hazırlanır; böylece cihaz kaldırma anında çevrimdışı olsa bile geçerliliğini korur ve silme, cihaz bir sonraki bağlantısında çalışır. MQTT factoryReset uyarısı, çevrimiçi durumda işlemi hemen başlatır. Ardından bulut tarafındaki kaldırma tüm kimlik bilgilerini ve izinleri iptal eder, Balena tesis bağını (cihaz değişkenleri + club etiketi) ve meta verideki clubID'yi temizler, erişim isteklerini ve LAN DNS kaydını siler. Bulut yedekleri KORUNUR: anlık görüntü dizini ve depo parolası, geçici olarak silinmiş kayıtta kalır ve yerine yeni bir cihaz eklenirken geri yükleme kaynağı olarak kullanılabilir. Onay olarak cihaz adının yazılmasını gerektirir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/reset/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/reset/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Arızalı bir Yapay Zeka Ajanını yeni bir NUC ile değiştirme (olağanüstü durum kurtarma)
Tek adımda cihaz değiştirme: yeni NUC'yi ilişkilendirir (tünel yuvası, gizli anahtarlar, balena değişkenleri, yedekleme başlangıç verisi), eski cihazın adını, konumunu, yeniden başlatma zamanlamasını, yedekleme ayarlarını, erişim engelini ve MCP iznini aktarır, eski anlık görüntü dizinini yeni cihaza yeniden anahtarlar (böylece tüm yedekleme geçmişine göz atılabilir kalır), eski kaydı devre dışı bırakır (replacedBy / replacedFrom ile işaretlenir) ve `restore` false olmadığı sürece, seçilen geri yükleme noktasının ESKİ cihazın yedek deposundan yeni donanıma tam geri yüklemesini kuyruğa alır. Eski cihaz arızalı/çevrimdışıyken de çalışır; onay olarak eski cihazın adının yazılmasını gerektirir. Yalnızca aynı tesis içinde kullanılabilir.
Parametreler
club `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/devices/ph-ai-agent/replace/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/devices/ph-ai-agent/replace/{club} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Cihaz Ekle tarayıcısının cihaz türünü algılayabilmesi için bir Performance Hub cihaz QR kısa bağlantısını işaret ettiği derin bağlantıya çözümler. Yalnızca performancehub.co ana bilgisayarları izlenir.
Parametreler
url `string` (zorunlu) Taranan kısa bağlantıUç nokta
GET /api/devices/resolve-qr
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/resolve-qr \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin Unifi Controller bağlantısını ve kimlik bilgilerinin doğru olup olmadığını test eder.
Parametreler
facilityID `string` (zorunlu) Unifi bağlantısını test etmek istediğiniz tesisin dahili kimliğiUç nokta
GET /api/devices/testUnifiController/{facilityID}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/devices/testUnifiController/{facilityID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisle ilişkili genel bir IoT cihazını günceller.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
PUT /api/devices/updateGenericDevice/{club}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/devices/updateGenericDevice/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcıya ve ilişkili kulüplere göre bekleyen ve işlem gerektiren sözleşmelerin sayısını listeler
Uç nokta
GET /api/agreements/agreements-outstanding
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agreements/agreements-outstanding \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün kullanabileceği tüm sözleşmeleri listeler
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. contracts-sort `string` (isteğe bağlı) Sözleşmeleri yürürlük tarihine veya alfabetik sıraya göre sıralayın. Varsayılan: yürürlük tarihi. contracts-acknowledgement `string` (isteğe bağlı) Sözleşmeleri tümü, onaylanmış veya onaylanmamış olarak filtreleyin. Varsayılan: tümü. contracts-requirement `string` (isteğe bağlı) Sözleşmeleri tümü, imza, onay kutusu, açılır pencere veya hiçbiri olarak filtreleyin. Varsayılan: tümü. contracts-status `string` (isteğe bağlı) Sözleşmeleri tümü, etkin veya arşivlenmiş olarak filtreleyin. Varsayılan: tümü.Uç nokta
GET /api/agreements/list-agreements/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/agreements/list-agreements/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kimliğine göre bir sözleşmeyi imzalar.
Parametreler
club `string` (zorunlu) Sözleşmeyi imzalayan kulübün dahili kimliği. agreementid `string` (zorunlu) İmzalanan sözleşmenin kimliği. body `string` (zorunlu) Sisteme eklenecek/yüklenecek sözleşmeyi ve parametreleri içeren JSON nesnesi ...Uç nokta
POST /api/agreements/sign/{club}/{agreementid}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/agreements/sign/{club}/{agreementid} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis Model Router özeti (yapılandırma, bakiye, harcama).
Parametreler
clubID `string` (zorunlu) tz `string` (isteğe bağlı) Görüntüleyenin IANA saat dilimi; tesisin saat dilimi verisi olmadığında günlük/aylık harcama aralıkları için yedek değer.Uç nokta
GET /api/clubs/{clubID}/ai-credits/overview
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/overview \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis başına etkinlik durumuyla birlikte kullanılabilir modellerin kataloğu (varsayılan olarak tümü etkin).
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/ai-credits/models
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/models \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanılabilir koruma önlemleri ve PH hazır şablonları.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/ai-credits/guardrails
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/guardrails \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bağlı Model Router hizmetleri. Eşleştirilmiş AI Agent cihazlarını, türü açıkça belirtilmiş harici ajanları ve tesisin Workflow hizmetini içerir. Yapılandırma PATCH /keys/{keyHash} ile düzenlenir.
Parametreler
clubID `string` (zorunlu) tz `string` (isteğe bağlı) Görüntüleyenin IANA saat dilimi; tesisin saat dilimi verisi olmadığında günlük/aylık harcama aralıkları için yedek değer.Uç nokta
GET /api/clubs/{clubID}/ai-credits/agents
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/agents \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için Model Router'ı etkinleştirme ve çıkarım erişimini sağlama.
Parametreler
clubID `string` (zorunlu)Uç nokta
POST /api/clubs/{clubID}/ai-credits/enable
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/enable \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Planı, model izin listesini, koruma önlemlerini, içerik filtrelerini (PH tarafında regex ile gizleme/engelleme), harcama limitini ve otomatik yükleme yapılandırmasını güncelleme.
Parametreler
clubID `string` (zorunlu)Uç nokta
PATCH /api/clubs/{clubID}/ai-credits/config
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/config \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ömür boyu kesin üst sınır sayacını 0'a sıfırlama (geçerli harcamaya göre yeniden temel alma) ve kapanan dönemi geçmişe kaydetme.
Parametreler
clubID `string` (zorunlu)Uç nokta
POST /api/clubs/{clubID}/ai-credits/spend-limit/reset-total
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/spend-limit/reset-total \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kesin üst sınır sıfırlama geçmişi (en yeni önce): kapanan her dönem için üst sınır, harcanan tutar ve zaman damgaları.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/ai-credits/spend-limit/history
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/spend-limit/history \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis için yeni bir phk_ API anahtarı oluşturma (düz metin bir kez döndürülür). İsteğe bağlı harcama üst sınırlarını, model izin listesini, koruma önlemlerini, içerik filtrelerini ve rpmLimit/tpmLimit hız sınırlarını kabul eder.
Parametreler
clubID `string` (zorunlu)Uç nokta
POST /api/clubs/{clubID}/ai-credits/keys
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/keys \
-H "x-api-key: YOUR_API_KEY"
Düzenlenebilir anahtar alanlarını güncelleme: etiket, anahtar başına harcama üst sınırları, model izin listesi, koruma önlemleri, içerik filtreleri ve rpmLimit/tpmLimit hız sınırları (anahtarla eşitlenir).
Parametreler
clubID `string` (zorunlu) keyHash `string` (zorunlu)Uç nokta
PATCH /api/clubs/{clubID}/ai-credits/keys/{keyHash}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/keys/{keyHash} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis için istek başına çıkarım kayıtları (canlı, yalnızca meta veriler).
Parametreler
clubID `string` (zorunlu) page `string` (isteğe bağlı) pageSize `string` (isteğe bağlı) status `string` (isteğe bağlı) model `string` (isteğe bağlı) provider `string` (isteğe bağlı) source `string` (isteğe bağlı) `key` veya `agent` keyHash `string` (isteğe bağlı) PH keyHash değerine göre tek bir anahtar/ajanla filtreleyin. q `string` (isteğe bağlı) İstek kimliği, anahtar/ajan etiketi, model, sağlayıcı ve son kullanıcı genelinde serbest metin araması. minutes `string` (isteğe bağlı) Bir günden kısa aralık (ör. Live=1440); startDate/endDate değerlerini geçersiz kılar. startTs `string` (isteğe bağlı) Epoch saniye cinsinden aralık başlangıcı (tıklayarak yakınlaştırma); minutes/tarih değerlerini geçersiz kılar. endTs `string` (isteğe bağlı) Epoch saniye cinsinden aralık bitişi (tıklayarak yakınlaştırma); minutes/tarih değerlerini geçersiz kılar.Uç nokta
GET /api/clubs/{clubID}/ai-credits/logs
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/logs \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Logs görünümü için zaman içindeki istekler histogramı. Liste rotasıyla aynı filtreler kullanılır ancak sonuçlar sunucu tarafında zaman gruplarına (başarılı/başarısız sayıları) toplanır; böylece kayıt hacminden bağımsız olarak yanıt çok küçüktür. Grup boyutu, aralığa göre otomatik olarak seçilir.
Parametreler
clubID `string` (zorunlu) status `string` (isteğe bağlı) model `string` (isteğe bağlı) provider `string` (isteğe bağlı) source `string` (isteğe bağlı) keyHash `string` (isteğe bağlı) q `string` (isteğe bağlı) minutes `string` (isteğe bağlı) startDate `string` (isteğe bağlı) endDate `string` (isteğe bağlı) startTs `string` (isteğe bağlı) endTs `string` (isteğe bağlı)Uç nokta
GET /api/clubs/{clubID}/ai-credits/logs/histogram
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/logs/histogram \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir aralık için kullanım analizi grupları + model başına toplamlar (canlı).
Parametreler
clubID `string` (zorunlu) range `string` (isteğe bağlı) 24h | 7 | 30 | 90 | year | all (startDate/endDate verilirse yok sayılır) startDate `string` (isteğe bağlı) endDate `string` (isteğe bağlı) groupBy `string` (isteğe bağlı) model (varsayılan) | key | source | provider | status: gruplar ve kümeler için boyut subgroupBy `string` (isteğe bağlı) her kümenin altına yerleştirilen isteğe bağlı ikinci boyut (Explore) keyHash `string` (isteğe bağlı) ayrıntılı inceleme filtresi: tek bir anahtar/ajanla sınırlar model `string` (isteğe bağlı) ayrıntılı inceleme filtresi: tek bir modelle sınırlar provider `string` (isteğe bağlı) source `string` (isteğe bağlı) compare `string` (isteğe bağlı) groupsPrev değerini de döndürmek için "prev" olarak ayarlayın (hemen önceki eşit uzunluktaki dönem)Uç nokta
GET /api/clubs/{clubID}/ai-credits/stats
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/stats \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Son bir yıllık kayan dönem için günlük etkinlik takvimi (GitHub tarzı yaklaşık 53 hafta).
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/ai-credits/activity
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/activity \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ön ödemeli Model Router kredisi eklemek için kayıtlı SaaS faturalandırma kartından ödeme alma.
Parametreler
clubID `string` (zorunlu) body `object` (isteğe bağlı)Uç nokta
POST /api/clubs/{clubID}/ai-credits/topup
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/topup \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Uygulama 3DS kimlik doğrulamasını tamamladıktan sonra bakiye yüklemeyi sonuçlandırma.
Parametreler
clubID `string` (zorunlu)Uç nokta
POST /api/clubs/{clubID}/ai-credits/topup/confirm
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/topup/confirm \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bakiye yüklemelerinin / otomatik bakiye yüklemenin ücretlendireceği kayıtlı SaaS faturalandırma kartının özeti.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/ai-credits/payment-method
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/payment-method \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin defter işlemleri, en yeni önce. İsteğe bağlı olarak türe göre filtrelenebilir (ör. para hareketi geçmişi için `types=topup,adjustment` veya bir ayın kullanım kesintileri için `from`/`to` ile `types=charge-reconcile`).
Parametreler
clubID `string` (zorunlu) limit `integer` (isteğe bağlı) En fazla satır (varsayılan 50, en fazla 200) types `string` (isteğe bağlı) Virgülle ayrılmış işlem türleri (topup, charge-reconcile, refund, adjustment, trueup-shortfall) from `integer` (isteğe bağlı) Yalnızca createdAt >= from olan işlemler (unix saniye) to `integer` (isteğe bağlı) Yalnızca createdAt <= to olan işlemler (unix saniye)Uç nokta
GET /api/clubs/{clubID}/ai-credits/transactions
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İstenen türlerde en az bir işlem içeren farklı `YYYY-MM` ayları (UTC, en yeni önce). Arayüzün yalnızca gerçekten veri bulunan dönemleri sunması için veriye dayalı yıl/ay filtre açılır listelerini besler.
Parametreler
clubID `string` (zorunlu) types `string` (isteğe bağlı) Virgülle ayrılmış işlem türleri (topup, charge-reconcile, refund, adjustment, trueup-shortfall)Uç nokta
GET /api/clubs/{clubID}/ai-credits/transactions/available-periods
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions/available-periods \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tek bir Model Router işlemi için markalı PDF ödeme makbuzu.
Parametreler
clubID `string` (zorunlu) txId `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/ai-credits/transactions/{txId}/receipt.pdf
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions/{txId}/receipt.pdf \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Seçilen bakiye yükleme işlemleri için markalı PDF ödeme makbuzlarının ZIP paketi. Her kimlik, tesise ait bir bakiye yükleme olmalıdır; kullanım kesintilerinin ve yönetici düzeltmelerinin makbuzu yoktur ve reddedilir.
Parametreler
clubID `string` (zorunlu) ids `string` (zorunlu) Virgülle ayrılmış işlem kimlikleri (en fazla 50)Uç nokta
GET /api/clubs/{clubID}/ai-credits/transactions/receipts.zip
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/transactions/receipts.zip \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin kullanım kesintilerinin takvim ayı (UTC) bazında toplamları, en yeni önce. Geçerli ay her zaman dahil edilir ve `isCurrentMonth` (ay başından bugüne) olarak işaretlenir.
Parametreler
clubID `string` (zorunlu) months `integer` (isteğe bağlı) Ay cinsinden geriye dönük aralık (varsayılan 12, en fazla 24; `year` ayarlandığında yok sayılır) year `integer` (isteğe bağlı) Toplamları tek bir UTC takvim yılıyla sınırlar (ör. 2026)Uç nokta
GET /api/clubs/{clubID}/ai-credits/usage-statements
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage-statements \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Markalı aylık Kullanım Bildirimi PDF'si: ayın kullanım kesintilerinin özeti (günlük ara toplamlar + toplam). Açıkça fatura veya makbuz değildir; kullanım kesintileriyle herhangi bir ödeme tahsil edilmez.
Parametreler
clubID `string` (zorunlu) month `string` (zorunlu) UTC takvim ayı, `YYYY-MM`Uç nokta
GET /api/clubs/{clubID}/ai-credits/usage-statements/{month}/statement.pdf
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage-statements/{month}/statement.pdf \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir aya ait ham kullanım kesintisi kalemleri CSV olarak (işlem kimliği, UTC zaman damgası, tutar, sonraki bakiye, ömür boyu harcama anlık görüntüsü); ayın bildirim toplamıyla uzlaşan ayrıntılı dışa aktarım.
Parametreler
clubID `string` (zorunlu) month `string` (zorunlu) UTC takvim ayı, `YYYY-MM`Uç nokta
GET /api/clubs/{clubID}/ai-credits/usage-statements/{month}/detail.csv
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage-statements/{month}/detail.csv \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin kullanım/harcama özeti (canlı veriler ve uzlaştırılmış defter).
Parametreler
clubID `string` (zorunlu) tz `string` (isteğe bağlı) Görüntüleyenin IANA saat dilimi; tesisin saat dilimi verisi olmadığında günlük/aylık harcama aralıkları için yedek değer.Uç nokta
GET /api/clubs/{clubID}/ai-credits/usage
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/ai-credits/usage \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir AI Edge Processor cihazını bir kulüple ilişkilendirir/günceller
Parametreler
body `string` (zorunlu) AI Edge Processor cihaz kaydını güncellemek için JSON nesnesi.Uç nokta
POST /api/ai-edge-processor/devices
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ai-edge-processor/devices \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir AI Edge Processor cihazını bir kulüple ilişkilendirir. Cihazı öncelikle meta verilere göre çözümler (canlı sinyal önceliklidir), cihaz kendini hiç kaydetmediyse kayıt satırını geriye dönük olarak doldurur ve yeniden hazırlanan donanımdan kalan eski kayıt satırlarını temizler.
Parametreler
body `string` (zorunlu) AI Edge Processor cihaz kaydını güncellemek için JSON nesnesi.Uç nokta
POST /api/ai-edge-processor/devices/associate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ai-edge-processor/devices/associate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulüpteki bbox yükleme kayıtlarının listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/bbox-timeline/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/bbox-timeline/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kamera veritabanı arama dizini
Ağ kameraları eklenirken Find my camera iletişim kutusunun kullandığı herkese açık belge kamera veritabanı arama dizinini (üreticiler, seriler, modeller, diğer adlar) aktarır. Sunucu tarafında 12 saat önbelleğe alınır.
Uç nokta
GET /api/cctv/camera-db/search-index
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/camera-db/search-index \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kamera veritabanı üretici şablonları
Tek bir üreticinin RTSP URL şablonlarını ve varsayılanlarını herkese açık belge kamera veritabanından aktarır. Yol geçişini önlemek için slug doğrulanır. Sunucu tarafında 12 saat önbelleğe alınır.
Parametreler
slug `string` (zorunlu) Üretici slug değeri (ör. hikvision)Uç nokta
GET /api/cctv/camera-db/manufacturers/{slug}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/camera-db/manufacturers/{slug} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin giriş (check-in) verilerinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün/tesisin dahili kimliği. startDate `string` (isteğe bağlı) YYYY-MM-DD biçiminde başlangıç tarihi endDate `string` (isteğe bağlı) YYYY-MM-DD biçiminde bitiş tarihi timezone `string` (isteğe bağlı) Tarihlerin yorumlanacağı saat dilimi (varsayılan Australia/Brisbane) nextToken `string` (isteğe bağlı) Sonraki sayfayı getirmek için sayfalama belirteciUç nokta
GET /api/cctv/check-ins/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/check-ins/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV ön yüzü veya arayüzü için yapılandırmayı alma
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/config/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/config/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV içerik dağıtım yapılandırmasını alma
CCTV istemcilerinin medya varlıklarını çözümlemek için kullandığı içerik alan adını döndürür. Alan adı CONTENT_DOMAIN ortam değişkenine göre belirlenir; bu yoksa aşamaya duyarlı bir varsayılan kullanılır (üretim /cctv, diğer aşamalar /cctv-stg sunar).
Uç nokta
GET /api/cctv/content-config
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/content-config \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV ön yüzü veya arayüzü için yapılandırmayı değiştirme
Parametreler
body `object` (zorunlu) Sisteme eklenecek yeni yapılandırma bloğunun JSON nesnesi.Uç nokta
PUT /api/cctv/config/:club/:section
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/cctv/config/:club/:section \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV depolama sağlayıcısı yapılandırması için klasör bölgesi kullanılabilirliğinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/bucket-region/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/bucket-region/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tanımlanmamış yüz koleksiyonunu sıfırlama
Tüm kişileri silerek tesisin tanımlanmamış CompreFace koleksiyonunu sıfırlar. DynamoDB kişi kayıtları, yüz algılamaları ve OpenSearch zaman çizelgesi blokları ETKİLENMEZ. Yalnızca temeldeki yüz tanıma verileri temizlenir. Sistem yeni kamera algılamalarını işledikçe yeni gölge profiller otomatik olarak oluşturulur.
Parametreler
facilityId `string` (zorunlu)Uç nokta
DELETE /api/cctv/config/{facilityId}/unidentified-collection
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/config/{facilityId}/unidentified-collection \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tanımlanmamış koleksiyon bilgilerini alma
Tesisin tanımlanmamış CompreFace koleksiyonundaki geçerli kişi sayısını döndürür.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/cctv/config/{facilityId}/unidentified-collection-info
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/config/{facilityId}/unidentified-collection-info \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Akış URL'si (RTSP, HTTP, HTTPS) aracılığıyla bir ağ kamerası (OEM/IP kamera) ekler
Parametreler
body `string` (zorunlu) Ağ kamerası eklemek için JSON nesnesi.Uç nokta
POST /api/cctv/devices/add-network-camera
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/add-network-camera \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Edge Processor'a toplu ağ kamerası ekleme
Birden çok RTSP/HTTP ağ kamerasını tek bir Edge Processor'a kaydeder, ardından FEED_CONFIG'i bir kez gönderir; böylece cihaz yapılandırmayı yalnızca bir kez yeniden yükler.
Parametreler
body `object` (zorunlu)Uç nokta
POST /api/cctv/devices/add-network-cameras
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/add-network-cameras \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir cihazı bir kulüple ilişkilendirir/günceller
Parametreler
body `string` (zorunlu) CCTV cihaz kaydını güncellemek için JSON nesnesi.Uç nokta
POST /api/cctv/devices
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir cihazı bir kulüple ilişkilendirir
Parametreler
body `string` (zorunlu) CCTV cihaz kaydını güncellemek için JSON nesnesi.Uç nokta
POST /api/cctv/devices/associate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/associate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir cihaz UUID'sine MQTT isteği gönderir ve kameranın kullanılabilir özelliklerini içeren bir yanıt (websocket aracılığıyla) bekler.
Parametreler
club `string` (zorunlu) Sorguladığınız cihazın sahibi olan kulübün dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/cctv/devices/list-camera-capabilities/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/list-camera-capabilities/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cihaz kayıtlarını listeleme
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/devices/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/devices/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir ağ kamerasını silinmiş olarak işaretleyip Edge Processor FEED_CONFIG'inden kaldırarak kaldırır
Parametreler
club `string` (zorunlu) Cihazın sahibi olan kulübün dahili kimliği. balenaUUID `string` (zorunlu) Kaldırılacak ağ kamerasının UUID'si.Uç nokta
DELETE /api/cctv/devices/remove-network-camera/{club}/{balenaUUID}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/devices/remove-network-camera/{club}/{balenaUUID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yapılandırılmış tüm kamera özelliklerini kaydeder ve bunları cihaza ortam değişkeni olarak uygular (balena aracılığıyla)
Parametreler
club `string` (zorunlu) Sorguladığınız cihazın sahibi olan kulübün dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/cctv/devices/save-camera-capabilities/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/save-camera-capabilities/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kamera için hareket maskesini (yapılandırılmışsa) kaydeder ve cihaza ortam değişkeni olarak uygular (balena aracılığıyla)
Parametreler
club `string` (zorunlu) Sorguladığınız cihazın sahibi olan kulübün dahili kimliği. body `string` (zorunlu) Kamera maskesinin JSON nesnesi.Uç nokta
POST /api/cctv/devices/save-camera-mask/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/save-camera-mask/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Fiziksel cihaza belirli bir v4l2 komutu (ör. parlaklık veya kontrast) gönderir
Parametreler
club `string` (zorunlu) Sorguladığınız cihazın sahibi olan kulübün dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/cctv/devices/set-camera-capability/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/set-camera-capability/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ağ kamerası akış URL'sini test etme
Bir kamera akış URL'sini ffprobe ile doğrulamak için Edge Processor'a test komutu gönderir
İstek Gövdesi
Uç nokta
POST /api/cctv/devices/test-stream
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/devices/test-stream \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Tek bir yüz algılama kaydını veritabanından kalıcı olarak siler. Bir kişinin etkinlik günlüğünden yanlış eşleşen veya hatalı iz girişlerini kaldırmak için kullanılır.
Parametreler
club `string` (zorunlu) fdID `string` (zorunlu)Uç nokta
DELETE /api/cctv/face-detections/:club/:fdID
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/face-detections/:club/:fdID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kişinin yüz algılama verilerinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. personID `string` (zorunlu) Yüz tanımlama sistemindeki kişinin kimliğiUç nokta
GET /api/cctv/face-detections/:club/:personID
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections/:club/:personID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
personCropImage GSI aracılığıyla sorgulanan, belirli bir kişi kırpma görseline başvuran yüz algılamalarını döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. personCropImage `string` (zorunlu) Yüz algılama kaydında saklanan kişi kırpma görseli URL'si. limit `string` (isteğe bağlı) Döndürülecek en fazla algılama sayısı. nextToken `string` (isteğe bağlı) Önceki bir yanıttan alınan sayfalama belirteci.Uç nokta
GET /api/cctv/face-detections-by-person-crop-image/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections-by-person-crop-image/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün, geçerli zamana göre bir aralıktan gruplanmış yüz algılama verilerinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/face-detections/:club/timeline
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections/:club/timeline \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün yüz algılama verilerinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/face-detections/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/face-detections/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
OpenSearch kullanarak bir tesisteki yüz algılama zaman çizelgesi bloklarında arama
Parametreler
facilityId `string` (zorunlu) Aramanın yapılacağı tesisin dahili kimliği timezone `string` (zorunlu) Tarih dönüştürme için IANA saat dilimi (ör. Pacific/Auckland) startDate `string` (isteğe bağlı) Başlangıç tarihi filtresi (YYYY-MM-DD), saat dilimi kullanılarak startUnix değerine dönüştürülür endDate `string` (isteğe bağlı) Bitiş tarihi filtresi (YYYY-MM-DD), saat dilimi kullanılarak endUnix değerine dönüştürülür personId `string` (isteğe bağlı) Belirli bir kişi kimliğine göre filtreleme query `string` (isteğe bağlı) Serbest metin araması (ör. kişi adı) limit `string` (isteğe bağlı) Sayfa başına sonuç (varsayılan 20, en fazla 100) filters `string` (isteğe bağlı) JSON kodlu filtre nesnesi (ör. {"matchType":"identified"}) sortBy `string` (isteğe bağlı) Sıralama alanı (startUnix, endUnix, created). Varsayılan endUnix. page `string` (isteğe bağlı) Sayfalama için sayfa numarası (varsayılan 1) sortOrder `string` (isteğe bağlı) Sıralama yönü (asc veya desc). Varsayılan desc.Uç nokta
GET /api/cctv/search/face-detections/timeline-blocks/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/search/face-detections/timeline-blocks/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulüp tesisiyle ilgili raporların listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/facility/:club/reports
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/facility/:club/reports \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İsteğe bağlı ısı haritası oluşturmayı tetikler. Zamanlanmış cron görevinin kullandığı Starter mantığının aynısını çağırır, ancak belirli bir tesisi, tarihi/saati ve dönem kümesini hedeflemeye olanak tanır. Gövde olmadan çağrıldığında cron göreviyle aynı şekilde davranır; tüm uygun tesisleri tarar ve her cihazı kuyruğa alır.
İstek Gövdesi
Uç nokta
POST /api/cctv/heatmaps/generate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/heatmaps/generate \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Tek bir cihaz için birleştirilmiş kayan pencere ısı haritası PNG'sinin konumunu çözümler. Yalnızca JSON meta verileri döndürür; PNG baytları içerik alan adında bulunur ve ön yüz URL'yi şu şekilde oluşturur: `${contentDomain}/cctv/${storageService}/${region}/${filePath}?s=${token}` Çözümleme sırası: 1. DynamoDB `composed#…` dizininde eşleşme → hemen döndürülür (~10 ms). 2. Deterministik önbellek anahtarı üzerinde Wasabi HEAD. Eşleşme olursa geriye dönük dizin satırı yazılır ve döndürülür. 3. Eski kayda geri dönüş: bu (device, range, hour) demeti için farklı bir tarihten de olsa birleştirilmiş bir kayıt vardır. Ön yüzün *bir şey* gösterebilmesi için `cache: 'HIT-STALE'` ile hemen döndürülür. Yeni bir birleştirme eşzamansız olarak başlatılır. 4. Soğuk yol: hiç kayıt yoktur. Compose Lambda `InvocationType: 'Event'` ile kuyruğa alınır ve uç nokta `202 { cache: 'PENDING' }` döndürür. Ön yüz, bir kayıt oluşana kadar yoklama yapar (genellikle 3-5 saniye). Bugün için davranış: `endDate` tesisin yerel "bugün" tarihi olduğunda, uç nokta bunun yerine dünün PNG'sini sunar; bugünün dilimleri Starter cron görevi tarafından hâlâ yazılmaktadır ve yeni bir birleştirme eksik olur. Yanıt, istenen `endDate` değerini yineler ve `endDateUsed` (= dün) değerini içerir. `cache` enum değerleri: - `HIT` — istenen tarih için DDB dizininden sunulur. - `HIT-FALLBACK` — bugün istendi; dünün dizin satırı sunuldu. - `HIT-BACKFILL` — DDB'de yok ancak PNG Wasabi'de vardı; satır az önce yazıldı. - `HIT-FALLBACK-BACKFILL` — dün yedeğinde geriye dönük doldurma. - `HIT-STALE` — istenen tarih için kayıt yok ancak bu demet için başka bir tarihten kayıt var; hemen sunulur ve arka planda yeni bir birleştirme kuyruğa alınır. - `PENDING` — hiç kayıt yok; birleştirme kuyruğa alındı. Ön yüz yoklama yapmalıdır. Yanıt `202 Accepted` olur, `filePath` yoktur.
Parametreler
facilityId `string` (zorunlu) deviceUUID `string` (zorunlu) Birleştirmenin yapılacağı cihaz. Birleştirmeler cihaz başınadır. hour `integer` (zorunlu) Geriye dönük aralık boyunca birleştirilecek günün saati (0–23). endDate `string` (isteğe bağlı) Aralıktaki son tarih (YYYY-MM-DD). Varsayılan bugün (tesis saat dilimi). range `string` (isteğe bağlı) Geriye dönük aralık. İzin verilen aralıklardan biri olmalıdır. nocache `integer` (isteğe bağlı) DDB + HEAD önbellek katmanlarını atlayıp yeni bir birleştirmeyi zorlamak için `1` olarak ayarlayın.Uç nokta
GET /api/cctv/heatmaps/hourly/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/heatmaps/hourly/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kayan bir geriye dönük aralıkta, bir cihaz için günün hangi saatlerinde `1h` dilim kayıtları bulunduğunu keşfeder. Ön yüz bunu, birleştirme uç noktasını çağırmadan önce tarih + aralık seçicisinin yanındaki saat seçicisini doldurmak için kullanır (`/api/cctv/heatmaps/hourly/...`). Örnek: `GET /api/cctv/heatmaps/query-hourly/Birkdale?deviceUUID=abc123&endDate=2026-04-16&range=30d` Dahili olarak: şu tablo üzerinde tek bir DynamoDB aralık sorgusu: `cctvheatmaps` (`sk BETWEEN 1h#{start}-00 AND 1h#{end}-23`), saate göre gruplanır. En az bir dilimi olan her saat için bir giriş döndürür; buna temsili bir ref JPEG dahildir (aralıktaki en son günden alınır; ref, cihaz ve gün başına paylaşılır).
Parametreler
facilityId `string` (zorunlu) deviceUUID `string` (zorunlu) Sorgulanacak cihaz. Saatlik dilimler cihaz başınadır. endDate `string` (isteğe bağlı) Aralıktaki son tarih (YYYY-MM-DD). Varsayılan bugün (tesis saat dilimi). range `string` (isteğe bağlı) Geriye dönük aralık. İzin verilen aralıklardan biri olmalıdır.Uç nokta
GET /api/cctv/heatmaps/query-hourly/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/heatmaps/query-hourly/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için önceden oluşturulmuş ısı haritası kayıtlarını sorgulama. **Bir dönem türüne ait tüm kayıtlar:** - `/api/cctv/heatmaps/Birkdale?periodType=1y` - `/api/cctv/heatmaps/Birkdale?deviceUUID=abc123&periodType=1d` **Tarih aralığı, tek dönem türü:** - `/api/cctv/heatmaps/Birkdale?periodType=1d&from=2026-03-01&to=2026-03-31` - `/api/cctv/heatmaps/Birkdale?periodType=6h&from=2026-03-31&to=2026-03-31` **Tarih aralığı, geçerli tüm dönem türleri (periodType belirtmeyin):** - `/api/cctv/heatmaps/Birkdale?from=2026-03-01&to=2026-03-31` Verilen aralıkla çakışan yıllık, altı aylık, üç aylık vb. 6h kayıtlarına kadar tüm kayıtları döndürür. **Belirli bir an, tek cihaz için 9 dönem türünün tümü:** - `/api/cctv/heatmaps/Birkdale?deviceUUID=abc123&date=2026-03-15T14:30` En fazla 9 kayıt döndürür (1y, 6m, 3m, 2m, 1m, 1w, 1d, 12h, 6h).
Parametreler
facilityId `string` (zorunlu) Tesis tanımlayıcısı. deviceUUID `string` (isteğe bağlı) Belirli bir cihazı sorgulayın. Belirtilmezse tüm cihazlarda sorgulama yapılır (GSI). periodType `string` (isteğe bağlı) Tek bir dönem türüne göre filtreleyin. from/to ile birlikte belirtilmezse tüm türler sorgulanır. from `string` (isteğe bağlı) Başlangıç tarihi (yyyy-mm-dd). `to` ile birlikte kullanılmalıdır. to `string` (isteğe bağlı) Bitiş tarihi (yyyy-mm-dd). `from` ile birlikte kullanılmalıdır. date `string` (isteğe bağlı) Belirli bir an için arama (yyyy-mm-dd veya yyyy-mm-ddTHH:mm). deviceUUID gerektirir. Dönem türü başına bir kayıt döndürür.Uç nokta
GET /api/cctv/heatmaps/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/heatmaps/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cihazın canlı yayın küçük resmini alma
Parametreler
club `string` (zorunlu) Kulübün dahili kimliği. deviceId `string` (zorunlu) CCTV cihazının dahili kimliği.Uç nokta
GET /api/cctv/livestream/:club/thumbnail/:deviceId
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/livestream/:club/thumbnail/:deviceId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV sistemine canlı yayın izleyeceğinizi bildirme
Parametreler
club `string` (zorunlu) Kulübün dahili kimliği. deviceId `string` (zorunlu) CCTV cihazının dahili kimliği.Uç nokta
POST /api/cctv/livestream/:club/iswatching/:deviceId
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/livestream/:club/iswatching/:deviceId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kesişim eşleşmesini onaylama
Eşleşme durumunu onaylandı olarak ayarlar ve inceleyeni kaydeder.
Parametreler
club `string` (zorunlu) matchId `string` (zorunlu)Uç nokta
POST /api/cctv/matching/{club}/detail/{matchId}/approve
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/approve \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ziyaret ayrıntılarıyla tek bir kesişim eşleşmesini alma
Eşleşme kaydını ve ziyaret başına zamanlama dökümünü döndürür.
Parametreler
club `string` (zorunlu) matchId `string` (zorunlu)Uç nokta
GET /api/cctv/matching/{club}/detail/{matchId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Eşleşmemiş bir kişiyi bir üyeye elle bağlama
Bir CCTV personId değerini belirli bir üyeyle ilişkilendirir ve eşleşmeyi onaylandı olarak ayarlar.
Parametreler
club `string` (zorunlu) matchId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/cctv/matching/{club}/detail/{matchId}/link
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/link \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin kesişim eşleşmelerini listeleme
Duruma göre filtrelenmiş, sayfalara bölünmüş eşleşmeleri döndürür.
Parametreler
club `string` (zorunlu) status `string` (isteğe bağlı) limit `integer` (isteğe bağlı) nextToken `string` (isteğe bağlı)Uç nokta
GET /api/cctv/matching/{club}/list
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/matching/{club}/list \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kesişim eşleşmesini reddetme
Eşleşme durumunu reddedildi olarak ayarlar ve inceleyeni kaydeder.
Parametreler
club `string` (zorunlu) matchId `string` (zorunlu)Uç nokta
POST /api/cctv/matching/{club}/detail/{matchId}/reject
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/reject \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kesişim eşleştirme özet sayılarını alma
Tesisin eşleşme sayılarını duruma göre gruplanmış olarak döndürür.
Parametreler
club `string` (zorunlu) Tesis kimliğiUç nokta
GET /api/cctv/matching/{club}/summary
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/matching/{club}/summary \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Otomatik öğrenilen profil eşleşmesinin bağlantısını kaldırma
Bağlı bir eşleşmeyi reddedildi durumuna geri döndürür ve üye kaydındaki autoLearnedFrom değerini temizler.
Parametreler
club `string` (zorunlu) matchId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/cctv/matching/{club}/detail/{matchId}/unlink
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/matching/{club}/detail/{matchId}/unlink \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Devam eden bir "tanımlanmış kişiyi ekle/güncelle" işleminin durumunu okur (oluşturma ve düzenlemeyi kapsar). Satırı doğrudan cctv-rekognition-api'ye ait `people-ops` tablosundan okur; Lambda üzerinden geçmez. CCTV ön yüzü tarafından POST /api/cctv/people/{facility}/identified sonrasında ilerlemeyi yoklamak için kullanılır. Yol, `/cctv/people/...` altında iç içe değil onunla aynı düzeydedir; böylece express yönlendiricisi `operationId` değerini `/cctv/people/:club/:personID` üzerindeki `:personID` olarak yanlış eşleştiremez. createAPIRouter glob sırasına bakın. upsertIdentifiedPerson Lambda henüz ilk aşama girişini yazmadığında (soğuk başlatma aralığı) bir `pending` yer tutucu döndürür. Ön yüz yoklama kancası yer tutucuyu ve pending durumunu aynı şekilde ele alır; böylece çağıranlar için sözleşme sabit kalır.
Parametreler
operationId `string` (zorunlu)Uç nokta
GET /api/cctv/people-operations/{operationId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people-operations/{operationId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir yüz görselini (mevcut bir iz algılamasından) kişinin CompreFace tanıma öznesine ekler ve gölge fotoğraflar tablosunda bir başvuru saklar. Görseli Wasabi'ye YÜKLEMEZ; görsel zaten bir yüz algılama yakalaması olarak oradadır.
Parametreler
club `string` (zorunlu) personID `string` (zorunlu) body `string` (zorunlu)Uç nokta
POST /api/cctv/people/:club/:personID/add-face
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/:personID/add-face \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kişi kaydına gölge fotoğraflar ekleme
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. personID `string` (zorunlu) Kişinin kayıt kimliği body `string` (zorunlu) Sisteme eklenecek yeni yapılandırma bloğunun JSON nesnesi.Uç nokta
POST /api/cctv/people/:club/shadow-photos/:personID
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/shadow-photos/:personID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kişinin gölge fotoğraflarını sorgulama
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. personID `string` (zorunlu) Kişinin kayıt kimliğiUç nokta
GET /api/cctv/people/:club/shadow-photos/:personID
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club/shadow-photos/:personID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir gölge fotoğraf kaydını CCTVShadowPhotosTable tablosundan kalıcı olarak kaldırır ve ilgili yüzü CompreFace'ten kaldırır (faceId saklanmışsa).
Parametreler
club `string` (zorunlu) personID `string` (zorunlu) id `string` (zorunlu) Gölge fotoğraf kaydı kimliği (birincil anahtar)Uç nokta
DELETE /api/cctv/people/:club/shadow-photos/:personID/:id
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/people/:club/shadow-photos/:personID/:id \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir personID'ye göre başvuruları ve ilişkili rekognition kayıtlarını siler
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. personID `string` (zorunlu) CCTV kişisinin benzersiz kimliği.Uç nokta
DELETE /api/cctv/people/:club/:personID
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/cctv/people/:club/:personID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün kişi kaydını döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. personID `string` (zorunlu) Kişinin veritabanı kimliği.Uç nokta
GET /api/cctv/people/:club/:personID
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club/:personID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kişinin üyelik profiliyle eşleşen erişim bölgelerini alma
Kişinin üye türünü, etiketlerini ve üyelik planlarını çözümler, ardından dahil etme/hariç tutma kurallarıyla eşleşen gerçek erişim bölgelerini (origin=membership-plan, absorbe edilmemiş) döndürür. Her bölgedeki accessRestriction, yalnızca kişiyle eşleşen kurallara indirgenir. Alt bölge kameraları üst bölgelerle birleştirilir.
Parametreler
club `string` (zorunlu) Tesisin dahili kimliği personID `string` (zorunlu) CCTV kişiler tablosundaki kişi kimliğiUç nokta
GET /api/cctv/people/{club}/{personID}/allowed-zones
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/{club}/{personID}/allowed-zones \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kaynak başına sonuçlar dahil bir birleştirme işinin geçerli durumunu döndürür. Durum IN_PROGRESS iken bu uç noktayı 3-5 saniyede bir yoklayın.
Parametreler
club `string` (zorunlu) mergeJobID `string` (zorunlu)Uç nokta
GET /api/cctv/people/:club/merge-status/:mergeJobID
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club/merge-status/:mergeJobID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Birden çok tanımlanmamış kişi profilinin tek bir hayatta kalan profilde arka planda birleştirilmesini başlatır. Hemen bir mergeJobID ile 202 yanıtı verir. İlerleme için /merge-status/:mergeJobID adresini yoklayın.
Parametreler
club `string` (zorunlu) body `string` (zorunlu)Uç nokta
POST /api/cctv/people/:club/merge-unidentified
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/merge-unidentified \
-H "x-api-key: YOUR_API_KEY"
Bir tesis için kara liste koleksiyonuna yüz ekleme
Parametreler
facilityId `string` (zorunlu) Tesisin dahili kimliğiİstek Gövdesi
Uç nokta
POST /api/cctv/people/{facilityId}/blacklist
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/{facilityId}/blacklist \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesiste tanımlanmış bir kişiyi ekleme veya güncelleme: yeni bir kayıt oluşturur veya mevcut bir kaydı günceller. Kişi kaydını yazan, verilen fotoğrafı Wasabi'ye yükleyen ve yüzü CompreFace'te yeniden dizine ekleyen upsertIdentifiedPerson Lambda'ya aktarır. `isNewRecord` true olduğunda (varsayılan) Lambda oluşturma dalını çalıştırır (cctvPeople.save) ve verilmemişse bir `personID` oluşturulur. `isNewRecord` false olduğunda Lambda güncelleme dalını çalıştırır (cctvPeople.update); `personID` zorunludur ve mevcut bir kaydı tanımlamalıdır.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/cctv/people/{facilityId}/identified
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/{facilityId}/identified \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Bir tesis için CCTV kişiler tablosuna eşitlenen isteğe bağlı iş ortağı alanları kümesini güncelleme.
Parametreler
facilityId `string` (zorunlu) Tesisin dahili kimliğiİstek Gövdesi
Uç nokta
PUT /api/cctv/people/{facilityId}/sync-fields
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/cctv/people/{facilityId}/sync-fields \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir kulübün kişi verilerinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/people/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/people/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisteki kişileri yüz görseline göre arama. Yüklenen base64 görsel ve yoldaki tesis kimliğiyle cctv-rekognition-api imageFaceSearch Lambda'sını çağırır. Sıralanmış eşleşmeleri ve bir DeepFace öznitelik özetini döndürür.
Parametreler
club `string` (zorunlu) Tesis / kulüp kimliği body `string` (zorunlu)Uç nokta
POST /api/cctv/people/{club}/search-by-face
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/{club}/search-by-face \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
OpenSearch kullanarak bir tesisteki kişilerde arama
Parametreler
facilityId `string` (zorunlu) Aramanın yapılacağı tesisin dahili kimliği query `string` (isteğe bağlı) Arama terimi (ör. ad) page `string` (isteğe bağlı) Sayfa numarası (varsayılan 1) limit `string` (isteğe bağlı) Sayfa başına sonuç (varsayılan 20, en fazla 100) filters `string` (isteğe bağlı) JSON kodlu filtre nesnesi (ör. {"membershipStatus":"active"}) sortBy `string` (isteğe bağlı) Sıralama alanı (created, lastName, firstName, membershipUpdatedOn). Varsayılan created. sortOrder `string` (isteğe bağlı) Sıralama yönü (asc veya desc). Varsayılan desc.Uç nokta
GET /api/cctv/search/people/:facilityId
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/search/people/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yüz algılama öğelerini yeni bir personID ile günceller ve rekognition kayıtlarını ilişkilendirir
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. body `string` (zorunlu) Sisteme eklenecek yeni yapılandırma bloğunun JSON nesnesi.Uç nokta
POST /api/cctv/people/:club/validate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/people/:club/validate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün CCTV kayıt verileri için kullanılabilir tüm filtreleri içeren bir nesne döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/recordings/filters/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/filters/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kaydı akış olarak oynatma.
Uç nokta
GET /api/cctv/recordings/:club/:dir/:filename
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club/:dir/:filename \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kayıtla ilgili bilgileri güncelleme.
Uç nokta
PUT /api/cctv/recordings/:club/:dir/:filename
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/cctv/recordings/:club/:dir/:filename \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün CCTV kayıt verilerinin özetini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/recordings/:club/summary
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club/summary \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün CCTV kayıt verilerinin, geçerli zamana göre bir aralığa dayalı listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/recordings/:club/timeline
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club/timeline \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün CCTV kayıt verilerinin listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/recordings/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/recordings/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kayıtlar belirli bir süre sonra otomatik olarak silinir; kayıtları saklamak için bu işlevi kullanın
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
POST /api/cctv/recordings/:club/:action
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/recordings/:club/:action \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tarih aralığında bir tesisin rapor anlık görüntülerinde arama
Parametreler
facilityId `string` (zorunlu) Tesisin dahili kimliği startDate `string` (zorunlu) Başlangıç tarihi filtresi (YYYY-MM-DD) endDate `string` (zorunlu) Bitiş tarihi filtresi (YYYY-MM-DD) deviceIds `string` (isteğe bağlı) Filtrelenecek kamera/cihaz kimliklerinin virgülle ayrılmış listesi view `string` (isteğe bağlı) Hesaplanacak alternatif rapor görünümü (rapor Lambda'sına iletilir)Uç nokta
GET /api/cctv/reports/search-report-snapshots/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/reports/search-report-snapshots/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin dizine eklenmiş CCTV medyası üzerinde vektör araması. searchAnything Lambda'sından aktarılan bir text/event-stream ile yanıt verir; böylece istemci, soğuk bir kapsayıcı kodlayıcıyı yüklerken ilerlemeyi gösterebilir. Olaylar önce `status`, ardından `result` veya `error` şeklindedir. Sormanın üç yolu vardır; ikisi bu fiil üzerindedir. Serbest metinle aramak için `query` gönderin. Örnekle aramak ("buna benzer daha fazlası") için `seedIndex` + `seedKey` gönderin; bu, dizinde zaten bulunan bir satırın vektörünü kullanır ve kullanıcının baktığı bir sonuçtan daha fazlasını bulmanın yoludur. Kullanıcının elindeki bir görselle aramak için baytları bunun yerine aynı yola `POST` ile gönderin. Birini diğeriyle daraltmak için resimle birlikte kelimeler gönderin: **metin filtreler, görsel sıralar**. Adaylar tohumdan gelir, hangilerinin kalacağına kelimeler karar verir ve sırayı görsel benzerlik belirler; böylece sonuçlar yine resme benzer ve kelimeler eşleşmeyenleri eler. İkisi asla tek bir vektörde harmanlanmaz; bu nedenle birleşik bir aramada `queryKind` değeri `similar` olarak kalır; sonuçta `query` bulunması, metin filtresinin uygulandığını gösterir. Birleşik aramaların oldukça sık hiçbir sonuç döndürmemesini bekleyin ve bunu ayrı bir sonuç olarak ele alın: `perIndex.
Parametreler
facilityId `string` (zorunlu) Aramanın yapılacağı tesisin dahili kimliği query `string` (isteğe bağlı) Neyin aranacağına ilişkin serbest metin açıklaması. warm=1 veya bir tohum gönderilmediği sürece zorunludur. Bir tohumla birlikte kullanıldığında sıralanan şey olmaktan çıkar ve tohumun adayları üzerinde bir filtreye dönüşür; metin puanı dizinin ilgi alt eşiğinin altında kalanları eler. seedIndex `string` (isteğe bağlı) Metin yerine örnekle arama: tohum satırının bulunduğu dizin (person-crops, recording-frames, timelapse-frames). Bu, kullanıcının tıkladığı sonucun `index` değeridir. seedKey ile birlikte gönderilmelidir. seedKey `string` (isteğe bağlı) Tohum satırının sonuçtan olduğu gibi alınan `key` değeri. Tohum kendi sonuçlarından hariç tutulur; bir kayıt için bu, klibin tamamı anlamına gelir, çünkü diğer kareleri 2 saniye arayla ve neredeyse aynıdır. seedFrameId `string` (isteğe bağlı) seedIndex değeri recording-frames olduğunda zorunludur: bu dizin örneklenen her kare için bir satır saklar ve hepsi klibin anahtarını paylaşır; bu nedenle anahtar tek başına bir anı değil bir klibi belirtir. Sonucun `frameId` değerini gönderin. Eski satırlarda bu değer yoktur; bunun yerine seedOffsetMs gönderin. seedOffsetMs `string` (isteğe bağlı) Satırı `frame_id` alanından önceye ait olan recording-frames tohumları için yedek kare tanımlayıcısı. Sonucun `offsetMs` değerini gönderin. seedFrameId verildiğinde yok sayılır. warm `string` (isteğe bağlı) Arama çalıştırmadan bir Lambda kapsayıcısını hazırlama. Bunu sayfa yüklendiğinde tetikleyin. warmTarget `string` (isteğe bağlı) `warm` işleminin yüklediği kodlayıcı: `text` (varsayılan), `image` veya `both`. Görüntü kulesi 355 MB, metin kulesi ise 283 MB'tır; bu nedenle onu hazırlamak isteğe bağlıdır; `image` değerini sayfa yüklendiğinde değil, yalnızca kullanıcı gerçekten bir resim hazırladığında isteyin. index `string` (isteğe bağlı) Aranacak virgülle ayrılmış veri kümeleri: person-crops, recording-frames, timelapse-frames. Sonuçlar puana göre sıralanmış tek bir listede birleştirilir. Varsayılan olarak üçünde de arama yapılır; daraltmak için açık bir liste verin. timelapse-frames, hiçbir şey kaydetmeyen ve dakikada yalnızca bir kare üreten kameraları kapsar ve ilgi alt eşiği henüz kalibre edilmemiştir. model `string` (isteğe bağlı) Sorgu için kullanılacak kodlayıcı. Veri kümesinin dizine eklendiği kodlayıcıyla eşleşmelidir. limit `string` (isteğe bağlı) Dizin başına döndürülecek sonuç (varsayılan 50, en fazla 100); toplam değildir, dolayısıyla üç dizinin tümünde arama yapmak bunun üç katına kadar sonuç döndürebilir. Kayıtlar için eşleşen kareleri değil klipleri sayar. from `string` (isteğe bağlı) Yalnızca bu zamanda veya sonrasında yakalanan medyayla eşleştirin (epoch'tan bu yana milisaniye). Bunun yükleme zamanı değil yakalama zamanı olduğunu unutmayın. to `string` (isteğe bağlı) Yalnızca bu zamandan önce (hariç) yakalanan medyayla eşleştirin (epoch'tan bu yana milisaniye). cameraId `string` (isteğe bağlı) Daraltılacak virgülle ayrılmış kamera balenaUUID değerleri; /api/cctv/recordings/filters/:club tarafından döndürülen her girişin `balenaUUID` alanı. Tercih edilen kamera filtresidir: her dizin aynı değeri saklar, böylece tek bir filtre tümünü daraltır. Yalnızca yüz algılama birleştirmesi çözümlenen kırpmaların bu değeri taşıdığını unutmayın (bugün ~%1); bu nedenle kırpma geriye dönük doldurması çalışana kadar kırpmaları kameraya göre daraltmak az sonuç veya hiç sonuç döndürmez; kayıtlar tamamen doludur ve tam olarak filtrelenir. camera `string` (isteğe bağlı) Daraltılacak virgülle ayrılmış kamera adları. Fiilen yalnızca kayıtlar için geçerlidir: person-crops her satırda boş bir kamera adı saklar, bu nedenle buradaki herhangi bir değer tüm kırpmaları hariç tutar. cameraId tercih edin. cameraGroup `string` (isteğe bağlı) Daraltılacak virgülle ayrılmış kamera grupları. Tüm kayıtlarda doludur ancak kırpmaların yalnızca ~%1'inde doludur; nedeni cameraId ile aynıdır. minScore `string` (isteğe bağlı) Gürültüyü filtreleyen dizin başına kosinüs alt eşiğini geçersiz kılın. Üretimde belirtmeyin; her dizinin kalibre edilmiş bir varsayılanı (ve tohumlu aramalar için ayrı, kalibre edilmemiş bir varsayılanı) vardır. İlgi düzeyinde hata ayıklarken filtrelenmemiş en yakın komşuları görmek için 0 verin.Uç nokta
GET /api/cctv/search/anything/:facilityId
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/search/anything/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kelimelerle veya ekranda zaten bulunan bir sonuçla değil, kullanıcının elindeki bir görselle arama. Diğer her açıdan GET ile aynıdır (aynı sorgu parametreleri, aynı olay akışı, aynı sonuç yapısı); bu nedenle burada yalnızca farklılıklar belgelenir. İstek gövdesi olarak **orijinal dosya baytlarını** `image/*` Content-Type ile gönderin. Görseli önce tarayıcıda yeniden boyutlandırmayın, kırpmayın veya yeniden kodlamayın: sunucu, dizine eklenen vektörlerin oluşturulduğu çok belirli bir yeniden boyutlandırmayı (kenar yumuşatmalı çift doğrusal çekirdekle 256x256'ya sıkıştırma) uygular ve canvas ölçeklemesi farklı bir yöntem kullanır. Ölçümlere göre bu değişiklik doğru yanıttan yaklaşık 0.93 kosinüs uzağa düşer; bu, gerçekten farklı iki görselin arasındaki mesafeden fazladır; dolayısıyla sonuçlar hiçbir hata olmadan makul görünen ama yanlış bir sırayla döner. 4 MB ile sınırlıdır; bu bir kalite değil aktarım kısıtlamasıdır: baytlar, üst sınırı 6 MB olan Lambda çağrı yükü içinde taşınır ve base64 bunları üçte bir oranında büyütür. Sonuçlar görselden görsele puanlanır; bu nedenle `queryKind` değeri `image` olur ve puanlar tohumlu bir aramayla aynı, çok daha yüksek ölçektedir; metin puanlarıyla asla karşılaştırılamaz. Puanların eşdeğer bir tohumlu aramanın biraz *altında* olmasını bekleyin: tohumun vektörü cihazın kendisi tarafından yazılmıştır, oysa yüklenen görsel burada farklı bir motor tarafından yeniden kodlanır ve cihazın koyacağı yerden yüzde birkaç uzağa düşer. Ölçümlere göre buna rağmen sonuçlar eşit kalitededir; yalnızca birebir aynı küme değildir. `query` eklemek, bir tohumda olduğu gibi sonuçları bu kelimelere göre filtreler. Bir tohum *ve* bir görsel göndermek reddedilir: ikisi de sıralanan şeydir, dolayısıyla bu ikilinin bir anlamı yoktur. Bu, uç noktanın sunduğu en maliyetli istektir. Yüklenen bir görsel görüntü kulesini yükler ve kelime eklemek metin kulesini de yükler; her ikisi de soğuk bir kapsayıcıda. Kullanıcı bir resim hazırladığında `warm=1&warmTarget=image` göndermek bu yükü kritik yoldan çıkarır.
Parametreler
facilityId `string` (zorunlu) Aramanın yapılacağı tesisin dahili kimliği body `string` (zorunlu) Değiştirilmemiş ham görsel baytları, en fazla 4 MB query `string` (isteğe bağlı) Görsel sonuçlarını daraltmak için isteğe bağlı kelimeler; metin puanı dizinin ilgi alt eşiğinin altında kalan eşleşmeleri eler.Uç nokta
POST /api/cctv/search/anything/:facilityId
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/search/anything/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulüp CCTV'si için depolama ayrıntılarını ve diğer ölçüm verilerini döndürür
Uç nokta
GET /api/cctv/storage-details/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/storage-details/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün timelapse yükleme kayıtlarının listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/timelapse/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/timelapse/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV ön yüzünde veya arayüzünde kayıtlar üzerinde gerçekleştirilen kullanıcı işlemlerini listeleme
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/cctv/ui/actions/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/ui/actions/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV ön yüzünde veya arayüzünde kayıtlar üzerinde gerçekleştirilen bir kullanıcı işlemini kaydetme
Parametreler
body `string` (zorunlu) Sisteme eklenecek yeni yapılandırma bloğunun JSON nesnesi.Uç nokta
POST /api/cctv/ui/actions/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/ui/actions/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CCTV ön yüzü veya arayüzü için kullanıcı belirteci alma
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
GET /api/cctv/ui/token/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/ui/token/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Geçici veya misafir erişimi için belirteç oluşturma
Parametreler
club `string` (zorunlu) Kulübün benzersiz tanımlayıcısı. body `string` (zorunlu) Verilecek belirteç ayrıntılarının JSON nesnesi.Uç nokta
POST /api/cctv/token/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/cctv/token/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{
"accessID": "00000000-0000-0000-0000-000000000014"
}
Geçici veya misafir erişimi için belirteç kayıtlarının listesini döndürür
Parametreler
club `string` (zorunlu) Kulübün benzersiz tanımlayıcısı.Uç nokta
GET /api/cctv/token/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/cctv/token/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Erişim kimliğiyle erişim belirteci alma
Parametreler
accessID `string` (zorunlu) Veritabanındaki belirteç kaydının kimliği.Uç nokta
POST /guest/cctv/token/:accessID
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/guest/cctv/token/:accessID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin erişim saatlerini silme
Parametreler
facilityId `string` (zorunlu) body `object` (zorunlu) Yeni erişim saatlerinin JSON nesnesi.Uç nokta
DELETE /api/ai/computer-vision/access-hours/:facilityId
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/ai/computer-vision/access-hours/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis erişim saatlerinin listesini döndürür
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/ai/computer-vision/access-hours/:facilityId
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ai/computer-vision/access-hours/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin erişim saatlerini günceller veya oluşturur
Parametreler
facilityId `string` (zorunlu) body `object` (zorunlu) Yeni erişim saatlerinin JSON nesnesi.Uç nokta
POST /api/ai/computer-vision/access-hours/:facilityId
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ai/computer-vision/access-hours/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis erişim bölgesini silme
Parametreler
facilityId `string` (zorunlu) body `object` (zorunlu) Yeni erişim bölgesinin JSON nesnesi.Uç nokta
DELETE /api/ai/computer-vision/access-zones/:facilityId
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/ai/computer-vision/access-zones/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis erişim bölgelerinin listesini döndürür
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/ai/computer-vision/access-zones/:facilityId
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ai/computer-vision/access-zones/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis erişim bölgesini günceller veya oluşturur
Parametreler
facilityId `string` (zorunlu) body `object` (zorunlu) Yeni erişim bölgesinin JSON nesnesi.Uç nokta
POST /api/ai/computer-vision/access-zones/:facilityId
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ai/computer-vision/access-zones/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyonun markaları ve tesisleri genelindeki tüm yönetici modül kimliklerinin birleşimini, modül nesneleri olarak doldurulmuş şekilde döndürür.
Parametreler
organisationId `string` (zorunlu) Organizasyon kimliğiUç nokta
GET /api/organisations/{organisationId}/admin-modules
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/organisations/{organisationId}/admin-modules \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm organizasyonların listesini döndürür
Parametreler
includeBrands `string` (isteğe bağlı) Organizasyonla ilişkili markaları dahil et includeFacilities `string` (isteğe bağlı) Organizasyonla ilişkili tesisleri dahil et includeRegions `string` (isteğe bağlı) Organizasyonla ilişkili bölgeleri dahil etUç nokta
GET /api/organisations
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/organisations \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir destek talebinin içeriğini analiz eden ve mevcut konulara dayalı öneriler ile önerilen Algolia arama konuları oluşturan basit bir yapay zeka yardımcısı...
Parametreler
messageBody `string` (zorunlu) Gönderilecek mesajın gövdesi topicData `string` (zorunlu) osTicket'tan (talep/destek sistemi) döndürülen topicData'nın JSON nesnesi/dizisi facilityId `string` (isteğe bağlı) Doğru Algolia dizininde arama yapmak için gereken kulübün dahili kimliği.Uç nokta
PUT /api/ai/helpers/analyse-support-ticket
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/ai/helpers/analyse-support-ticket \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Basit bir görsel oluşturma API'si
Parametreler
type `string` (zorunlu) Oluşturulacak görsel türü name `string` (zorunlu) Görsel adı maxSize `string` (isteğe bağlı) İsteğe bağlı en büyük yanıt boyutu, ör. 200KB, 1MB veya düz bayt sayısı. Görsel sığması için küçültülür/sıkıştırılır.Uç nokta
PUT /api/ai/images/:type/:name
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/ai/images/:type/:name \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Basit LLM sorgusu
Basit, durumsuz LLM sorguları için hafif uç nokta. Katı belirteç sınırlarıyla düşük maliyetli, akıl yürütmesiz bir model (gpt-4o-mini) kullanır. Konuşma geçmişi yok, araç yok, akış yok: yalnızca istem girer, metin çıkar.
İstek Gövdesi
Uç nokta
POST /api/ai/llm/query
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ai/llm/query \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Dizin adı, uygulama kimliği ve API anahtarı dahil Algolia yapılandırmasını döndürür.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/facilities/{facilityId}/algolia/config
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/algolia/config \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Algolia pazarlama baskı dizinini başlatır
Parametreler
organisationId `string` (zorunlu)Uç nokta
PUT /api/algolia/index
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/algolia/index \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Pazarlama baskı materyallerinde arama
İstek Gövdesi
Uç nokta
POST /algolia/search-marketing-print
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/algolia/search-marketing-print \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Pazarlama baskı materyallerinde arama
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği searchTerms `string` (isteğe bağlı) Arama terimleri algoliaArgs `object` (isteğe bağlı) Ek Algolia arama bağımsız değişkenleriUç nokta
GET /algolia/search-marketing-print
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/algolia/search-marketing-print \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir kulübün pazarlama baskı nesnelerini toplu olarak güncelleme
Uç nokta
POST /algolia/bulk-update-marketing-print
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/algolia/bulk-update-marketing-print \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Pazarlama baskı varlıklarını Algolia'dan getirir.
Parametreler
organisationId `string` (zorunlu) search `string` (isteğe bağlı) limit `string` (isteğe bağlı) brand `string` (isteğe bağlı) tag `string` (isteğe bağlı)Uç nokta
GET /api/algolia/marketing/assets
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/algolia/marketing/assets \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Algolia pazarlama baskı dizinini tesisin yapılandırmasıyla başlatır.
Parametreler
organisationId `string` (zorunlu)Uç nokta
POST /api/algolia/marketing/assets
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/algolia/marketing/assets \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Arama terimlerine, kulübe ve/veya yerel ayara göre belirtilen bir Algolia dizininde arama yapar. Arama, ek Algolia bağımsız değişkenleriyle daha da özelleştirilebilir.
Parametreler
searchTerms `string` (zorunlu) Algolia dizininde aranacak terimler. club `string` (isteğe bağlı) İsteği yapan kulübün dahili kimliği. Belirtilirse arama, kulüple ilişkili bölgeye göre filtrelenir. locale `string` (isteğe bağlı) Kulüp belirtilmediğinde bölgeyi belirlemek için kullanılacak yerel ayar. navigator.languages değerinden türetilir. algoliaArgs `string` (isteğe bağlı) Algolia arama isteğine aktarılacak ek/özel bağımsız değişkenler.Uç nokta
POST /api/algolia/search-wiki
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/algolia/search-wiki \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm duyuruları listeler
Uç nokta
GET /api/announcements/list
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/announcements/list \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir varlığı (Upload API aracılığıyla) HERKESE AÇIK bir S3 KLASÖRÜNE yükler; ardından dosya son işleme tabi tutulur/optimize edilir, küçük resimler oluşturulur vb. *Not: Varlıklar herkese açık olacaktır*
Parametreler
file `string` (isteğe bağlı) Yüklenecek dosyanın/varlığın adı.Uç nokta
POST /api/asset-upload
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/asset-upload \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yükleme kaydının verilen uuid değerine göre yüklemenin durumunu döndürür
Parametreler
uuid `string` (zorunlu) Yükleme kaydının UUID'siUç nokta
GET /api/asset-upload/:uuid
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/asset-upload/:uuid \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün Sonos sistemine komut gönderme
Parametreler
body `object` (zorunlu) Sonos'a gönderilecek komutun ve girdinin JSON nesnesi.Uç nokta
PUT /api/audio-control/command/:club
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/audio-control/command/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ses Kontrolü ön yüzü için yapılandırmayı alma
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/audio-control/config/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/audio-control/config/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ses Kontrolü ön yüzü için yapılandırmayı değiştirme
Parametreler
body `object` (zorunlu) Sisteme eklenecek yeni yapılandırma bloğunun JSON nesnesi.Uç nokta
PUT /api/audio-control/config/:club/:section
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/audio-control/config/:club/:section \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir bölge için marka ayarlarını alır
Parametreler
brandId `string` (isteğe bağlı) Markanın kimliği regionCode `string` (isteğe bağlı) Ayarları alınacak bölgenin ISO koduUç nokta
GET /api/brands/{brandId}/regions/{regionCode}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/regions/{regionCode} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir bölge için birden çok marka ayarını günceller
Parametreler
brandId `string` (isteğe bağlı) Güncellenecek markanın kimliği regionCode `string` (isteğe bağlı) Ayarları güncellenecek bölgenin ISO kodu acceptFreeTrialBookingsVisibility `string` (isteğe bağlı) customTrackingCodeVisibility `string` (isteğe bağlı) displayDataSources `string` (isteğe bağlı) displayDefaultDataSource `string` (isteğe bağlı) displayDefaultUI `string` (isteğe bağlı) displayUIOptions `string` (isteğe bağlı) defaultAboutBusiness `string` (isteğe bağlı) defaultAboutBusinessFacebook `string` (isteğe bağlı) facilityCoverImage `string` (isteğe bağlı) digitalProfileSettingsVisibility `string` (isteğe bağlı) facilityHoursVisibility `string` (isteğe bağlı) facilityLocationVisibility `string` (isteğe bağlı) facilityPaymentMethods `string` (isteğe bağlı) facilityPrimaryLogo `string` (isteğe bağlı) facilityStatusVisibility `string` (isteğe bağlı) landingPagesVisibility `string` (isteğe bağlı) lineChatIntegrationVisibility `string` (isteğe bağlı) whatsAppIntegrationVisibility `string` (isteğe bağlı) defaultWhatsAppMessage `string` (isteğe bağlı) socialUrlsVisibility `string` (isteğe bağlı) yextApiKey `string` (isteğe bağlı) Bu marka-bölge için Yext entegrasyonunun kullandığı API anahtarı. Yalnızca `directorySyncMode` değeri `yext` olduğunda dikkate alınır. directorySyncMode `string` (isteğe bağlı) Bu marka-bölge altındaki tesisler için hangi eşitleme arka ucunun çalışacağı. Directory Publishers kullanıma sunulmadan önceki markalarla geriye dönük uyumluluk için, eksik olduğunda varsayılan değer `yext` olur. websiteUrl `string` (isteğe bağlı) androidAppUrl `string` (isteğe bağlı) iosAppUrl `string` (isteğe bağlı) featuredMessageDescription `string` (isteğe bağlı) yextCategoryIds `string` (isteğe bağlı) Eski depolama anahtarı; bunlar aslında Google Business Profile kategori kimlikleridir (ör. gcid:gym). "yext" ön eki Yext'in kullanımdan kaldırılmasından öncesine aittir; mevcut veritabanı satırlarıyla geriye dönük uyumluluk için korunmuştur. customInputFields `string` (isteğe bağlı) customInputFieldsToRemove `string` (isteğe bağlı)Uç nokta
PUT /api/brands/{brandId}/regions/{regionCode}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/brands/{brandId}/regions/{regionCode} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesisin marka ayarlarını alır
Parametreler
facilityId `string` (isteğe bağlı) Marka ayarları alınacak tesisin kimliğiUç nokta
GET /api/facilities/{facilityId}/brand-settings
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/brand-settings \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yeni bir marka oluşturur
Parametreler
name `string` (zorunlu) Markanın adı organisationId `string` (zorunlu) Markanın ait olduğu organizasyonun kimliği redirectDashboard `string` (isteğe bağlı) Oturum açtıktan sonra varsayılan gösterge paneli yerine yönlendirilecek URLUç nokta
POST /api/brands
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/brands \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm markaların listesini döndürür
Uç nokta
GET /api/brands
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/brands \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Marka nesnesini döndürür
Parametreler
brandId `string` (zorunlu) Alınacak markanın kimliği includeOrganisation `boolean` (isteğe bağlı) Organizasyon verilerinin yanıta dahil edilip edilmeyeceğiUç nokta
GET /api/brands/{brandId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir markayı kimliğe göre günceller
Parametreler
brandId `string` (isteğe bağlı) Güncellenecek markanın kimliği name `string` (zorunlu) Markanın adı brandOrganisationId `string` (isteğe bağlı) Markanın ait olduğu organizasyonun kimliği redirectDashboard `string` (isteğe bağlı) Oturum açtıktan sonra varsayılan gösterge paneli yerine yönlendirilecek URL yextApiKey `string` (isteğe bağlı) Bu marka için Yext API'ye erişmekte kullanılan API anahtarı customMenuLayout `object` (isteğe bağlı) Marka başına yan menü düzeni ağacı (sistem modüllerine veya özel URL'lere başvuran bölümler / gruplar / öğeler). Yalnızca bu markanın organizasyonunun organizasyon yöneticisi tarafından ayarlanabilir.Uç nokta
PUT /api/brands/{brandId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/brands/{brandId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir markanın tesislerini listeleme
Markaya ait tesislerin hafif bir listesini (kimlik, ad, bölge ISO kodu) döndürür. Marka yapılandırmasındaki tesis hedefleme seçicilerini doldurmak için kullanılır.
Parametreler
brandId `string` (zorunlu) Tesisleri listelenecek markanın kimliğiUç nokta
GET /api/brands/{brandId}/facilities
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/facilities \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün organizasyonuyla ilişkili tüm markaların listesini döndürür.
Uç nokta
GET /api/clubs/{club}/brands
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/brands \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm takvim türlerinin listesini döndürür
Uç nokta
GET /api/programs/calendars/calendar-types
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/programs/calendars/calendar-types \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün KYC varlığını döndürür.
Parametreler
clubId `string` (zorunlu) Kulübün kimliği. key `string` (zorunlu) KYC varlığının anahtarı.Uç nokta
GET /api/clubs/{clubId}/kyc-assets/{key}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc-assets/{key} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün KYC bilgilerini döndürür.
Uç nokta
GET /api/clubs/{clubId}/kyc
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün KYC bilgilerini günceller.
Parametreler
clubId `string` (zorunlu) Güncellenecek kulübün kimliği. body `object` (zorunlu)Uç nokta
PUT /api/clubs/{clubId}/kyc
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulüp için KYC varlığı yükler.
Parametreler
clubId `string` (zorunlu) Kulübün kimliği. file `string` (zorunlu) Yüklenecek dosya.Uç nokta
POST /api/clubs/{clubId}/kyc-assets
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubId}/kyc-assets \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulüp tercih ayarlarını döndürür.
Uç nokta
GET /api/club/preferences/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/preferences/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulüp tercihleri girişini oluşturur veya günceller.
İstek Gövdesi
Uç nokta
POST /api/club/preferences/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/club/preferences/:club \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Sözleşmesi olan üyelerin listesini döndürür.
Uç nokta
GET /api/clubpass/user/email/exist/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubpass/user/email/exist/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Sözleşmesi olan üyelerin listesini döndürür.
Uç nokta
GET /api/clubpass/user/phone/exist/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubpass/user/phone/exist/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirtilen kulübe ait kullanıcıların listesini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliğiUç nokta
GET /api/clubs/{club}/members
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/members \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün belirtilen tarihte açık olup olmadığını döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. date `string` (zorunlu) Kontrol edilecek tarih (unix biçiminde)Uç nokta
GET /api/club-busy-hours/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club-busy-hours/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Example Club web sitelerinde görüntülenen Kulübe ait tüm meta verileri döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/clubpage/clubdata/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/clubpage/clubdata/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün meta verilerini ön yüzden gelen yeni verilerle günceller. İstek gövdesinde bulunmayan alanlar korunur (SET yok, REMOVE yok). `null` veya boş dize olarak gönderilen alanlar temizlenir. Özel kısmi birleştirme yolunu kullanmak için `updateAll: false` verin; her iki durumda da çağıranların sahibi olmadıkları alanları göndermesi gerekmez.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. body `string` (zorunlu) Güncellemek istediğiniz kulüp verilerinin JSON nesnesi.Uç nokta
POST /api/clubs/clubpage/updateclub/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/clubpage/updateclub/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
yeni özel izleme kaydı ekleme
Parametreler
club `string` (zorunlu) kulübün kimliği body `string` (zorunlu) Özel izleme öğeleri dizisi.Uç nokta
POST /api/clubs/{club}/customtracking
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{club}/customtracking \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir kulübün özel izleme kayıtlarını döndürür
Uç nokta
GET /api/clubs/customtracking/:clubID
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/customtracking/:clubID \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Özel izleme girişlerini güncelleme
Parametreler
club `string` (zorunlu) kulübün kimliği body `string` (zorunlu) Güncellemek istediğiniz kulüp verilerinin JSON nesnesi.Uç nokta
POST /api/clubs/{club}/customtracking/update
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{club}/customtracking/update \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün varsayılan mağaza önü görselini döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club}/default-shop-front
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/default-shop-front \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesiste kullanılabilen kapıları listeleme
Parametreler
body `object` (zorunlu) Güncellemek istediğiniz kulüp verilerinin JSON nesnesi.Uç nokta
POST /api/clubs/integrations/doors/:facilityId
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/integrations/doors/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisteki belirli bir kapının kilidini açma
Parametreler
body `object` (zorunlu) Güncellemek istediğiniz kulüp verilerinin JSON nesnesi.Uç nokta
POST /api/clubs/integrations/doors/unlock
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/integrations/doors/unlock \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirtilen kulübün tüm entegrasyonlarını ve yapılandırma ayrıntılarını döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/integrations/list/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/integrations/list/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kulübün meta verilerini ön yüzden gelen yeni verilerle günceller.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. body `object` (zorunlu) Güncellemek istediğiniz kulüp verilerinin JSON nesnesi.Uç nokta
POST /api/clubs/integrations/update/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/integrations/update/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün bir Avrupa ülkesinde olup olmadığını boolean olarak döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. date `string` (zorunlu) Kontrol edilecek tarih (unix biçiminde)Uç nokta
GET /api/clubs/is-eu/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/is-eu/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Veritabanımızdaki tüm kulüplerin üst düzey listesini döndürür.
Uç nokta
GET /api/clubs/listclubs
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/listclubs \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulübün belirtilen tarihte açık olup olmadığını döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. date `string` (zorunlu) Kontrol edilecek tarih (unix biçiminde)Uç nokta
GET /api/clubs/{club}/open-on/{date}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/open-on/{date} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulüp değerlendirmelerini DynamoDB'den alma.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
GET /api/clubs/{club}/reviews
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/reviews \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kulüp değerlendirme ayarlarını DynamoDB'den alma.
Parametreler
facilityId `string` (zorunlu) tesis kimliğiUç nokta
GET /api/clubs/{club}/reviews-settings
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
DynamoDB'deki kulüp değerlendirme ayarlarını güncelleme.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
PUT /api/clubs/{club}/reviews-settings
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Değerlendirme ayarlarında otomatik yayımlamayı yeniden etkinleştirme.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
PUT /api/clubs/{club}/reviews/publish-recent-reviews
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/publish-recent-reviews \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir değerlendirmeyi yayımlar
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. review `string` (zorunlu) Yayımlamak istediğiniz değerlendirmenin dahili kimliği.Uç nokta
PUT /api/clubs/{club}/reviews/{review}/publish
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/{review}/publish \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Değerlendirme ayarlarında otomatik yayımlamayı yeniden etkinleştirme.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
PUT /api/clubs/{club}/reviews-settings/re-enable-auto-publish
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings/re-enable-auto-publish \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir değerlendirmeye, değerlendirmenin geldiği yayıncı (Google vb.) üzerinden yanıt gönderme.
Parametreler
club `string` (zorunlu) Tesis kimliği reviewId `string` (zorunlu) PH değerlendirme kimliği (club-social-reviews tablosunda aranır) body `string` (zorunlu)Uç nokta
POST /api/clubs/{club}/reviews/{reviewId}/respond
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/{reviewId}/respond \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir değerlendirmenin yayımını kaldırır
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. review `string` (zorunlu) Yayımını kaldırmak istediğiniz değerlendirmenin dahili kimliği.Uç nokta
PUT /api/clubs/{club}/reviews/{review}/un-publish
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/{review}/un-publish \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
PH veritabanından belirtilen kulübe ait sahiplerin listesini döndürür
Parametreler
clubID `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliğiUç nokta
GET /api/clubs/{clubID}/owners
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/owners \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin tüm üyelik planlarını döndürür.
Parametreler
facilityId `string` (zorunlu) Tesisin dahili kimliğiUç nokta
GET /api/facilities/membership-plans/:facilityId
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/membership-plans/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir üyelik planı kaydını günceller.
Parametreler
facilityId `string` (zorunlu) Tesisin dahili kimliği body `object` (zorunlu) Güncellemek istediğiniz üyelik planı verilerinin JSON nesnesi.Uç nokta
PUT /api/facilities/membership-plans/:facilityId
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/facilities/membership-plans/:facilityId \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Değerlendirme ayarlarında otomatik yayımlamayı yeniden etkinleştirme.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
PUT /api/clubs/{club}/reviews/publish-recent-reviews
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews/publish-recent-reviews \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Değerlendirme ayarlarında otomatik yayımlamayı yeniden etkinleştirme.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
PUT /api/clubs/{club}/reviews-settings/re-enable-auto-publish
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{club}/reviews-settings/re-enable-auto-publish \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanılabilir tüm para birimlerinin listesini döndürür
Uç nokta
GET /api/currencies
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/currencies \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
IP adresini kullanarak coğrafi konumu döndürür.
Parametreler
ip `string` (zorunlu) Sorgulanacak IP adresiUç nokta
GET /api/geo/ip-location/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/geo/ip-location/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Geçerli kullanıcının IP adresine göre coğrafi konumunu döndürür.
Uç nokta
GET /api/geo/ip-current
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/geo/ip-current \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yalnızca istekte bulunan istemcinin genel IP adresini döndürür (coğrafi konum sorgusu veya üçüncü taraf API çağrısı yapılmaz). Aynı ağ algılaması için tarayıcının genel IP adresini bir cihazın bildirdiği WAN IP adresiyle karşılaştırmak üzere Yapay Zeka Ajanı uygulaması tarafından kullanılır.
Uç nokta
GET /api/geo/client-ip
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/geo/client-ip \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Telefon ayrıştırıcı.
Parametreler
body `string` (zorunlu) Ayrıştırmak istediğiniz numarayı içeren JSON nesnesi.Uç nokta
POST /api/phone/parser
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/phone/parser \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ana saat cihazını döndürür
Parametreler
club_id `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club_id}/smart-club/health-check/master-clock
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/master-clock \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ana Sonos cihazını döndürür
Parametreler
club_id `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club_id}/smart-club/health-check/sonos-mqtt
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/sonos-mqtt \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
belirli bir kulüp için düşük pil duress bildirimlerini alma.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club}/smart-club/health-check/low-battery-duress
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/smart-club/health-check/low-battery-duress \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ağ analizi verilerini döndürür
Parametreler
club_id `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club_id}/smart-club/health-check/network-analysis
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/network-analysis \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
belirli bir kulüp için düşük pil duress bildirimlerini gönderme.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club}/smart-club/health-check/send-low-battery-duress-notifs
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club}/smart-club/health-check/send-low-battery-duress-notifs \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Her cihaz türü için cihaz hız testi verilerini döndürür
Parametreler
club_id `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/clubs/{club_id}/smart-club/health-check/speed-test
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{club_id}/smart-club/health-check/speed-test \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için listeleme içgörülerini alır. Varsayılan olarak yayıncılar genelinde toplanmış günlük toplamları, `publisherId` verildiğinde ise tek bir yayıncının verilerini döndürür.
Parametreler
facilityId `string` (zorunlu) publisherId `string` (isteğe bağlı) startDate `string` (zorunlu) endDate `string` (zorunlu)Uç nokta
GET /api/facilities/{facilityId}/directory-insights
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/directory-insights \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir marka için tüm yayıncılar genelinde toplanmış listeleme içgörülerini alır.
Parametreler
brandId `string` (zorunlu) startDate `string` (zorunlu) endDate `string` (zorunlu)Uç nokta
GET /api/brands/{brandId}/directory-insights
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/directory-insights \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için en çok kullanılan arama anahtar sözcükleri (markalı/markasız ayrımıyla); şu anda Google Business Profile'dan alınır.
Parametreler
facilityId `string` (zorunlu) publisherId `string` (isteğe bağlı) Varsayılan değer "google"dır; şu anda yalnızca Google desteklenmektedir. startDate `string` (zorunlu) endDate `string` (zorunlu) limit `string` (isteğe bağlı)Uç nokta
GET /api/facilities/{facilityId}/directory-search-keywords
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/directory-search-keywords \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir marka için tüm tesisler genelinde toplanmış en çok kullanılan arama anahtar sözcükleri.
Parametreler
brandId `string` (zorunlu) startDate `string` (zorunlu) endDate `string` (zorunlu) limit `string` (isteğe bağlı)Uç nokta
GET /api/brands/{brandId}/directory-search-keywords
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/directory-search-keywords \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin soru-cevaplarını listeler.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/facilities/{facilityId}/qna
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/qna \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir soruyu yanıtlar.
Uç nokta
POST /api/facilities/{facilityId}/qna/{questionId}/answer
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/facilities/{facilityId}/qna/{questionId}/answer \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir yanıtı siler.
Uç nokta
DELETE /api/facilities/{facilityId}/qna/{questionId}/answer/{answerId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/facilities/{facilityId}/qna/{questionId}/answer/{answerId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin organizasyonu için etkinleştirilmiş yayıncıları bağlantı durumlarıyla birlikte döndürür.
Parametreler
facilityId `string` (zorunlu) organisationId `string` (zorunlu)Uç nokta
GET /api/facilities/{facilityId}/directory-publishers/resolved
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/directory-publishers/resolved \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin Access Policies kayıtlarını alma
Mevcut erişim yapılandırması, ilk okumada otomatik olarak eşdeğer zorunlu politikalara dönüştürülür.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/policies/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Access Policies kayıtlarını iyimser revizyon denetimiyle değiştirme
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/door-access/policies/{facilityId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Access Policy oluşturma
Parametreler
facilityId `string` (zorunlu)Uç nokta
POST /api/door-access/policies/{facilityId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Access Policy'yi güncelleme
Parametreler
facilityId `string` (zorunlu) policyId `string` (zorunlu)Uç nokta
PATCH /api/door-access/policies/{facilityId}/{policyId}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Access Policy'yi silme
Parametreler
facilityId `string` (zorunlu) policyId `string` (zorunlu) revision `integer` (zorunlu)Uç nokta
DELETE /api/door-access/policies/{facilityId}/{policyId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Access Policy'yi yeni ve kalıcı bir kimlikle çoğaltma
Parametreler
facilityId `string` (zorunlu) policyId `string` (zorunlu)Uç nokta
POST /api/door-access/policies/{facilityId}/{policyId}/duplicate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId}/duplicate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm Access Policies için etkilenen kullanıcıları ve kapıları sayma
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/policies/{facilityId}/impacts
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/impacts \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Access Policy'den etkilenen kullanıcıları ve kapıları sayma
Parametreler
facilityId `string` (zorunlu) policyId `string` (zorunlu)Uç nokta
GET /api/door-access/policies/{facilityId}/{policyId}/impact
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/policies/{facilityId}/{policyId}/impact \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisteki kapı denetleyicilerini etkin Door/Gate Access kurallarıyla listeleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/doors/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kapı bazlı geçersiz kılmaları, simgeyi ve cihaz tarafı yapılandırmayı kaydetme
DGA yönetici uygulamasının bir kapıda düzenlediği her şey için tek yazma noktası: - `accessRulesOverride` / `geofenceOverride`: temizlemek ve tesis varsayılanına dönmek için `null` gönderin. - `icon`: kalıcı aktarım anahtarı (bkz. services/door-access/door-icons.js); bilinmeyen değerler 400 döndürür. - `holdTimeSeconds` (1–30), `maintenanceMode` (`off` / `force-open` / `force-closed`), `doorLocation` (serbest metin, en fazla 64 karakter), `playNotificationSoundOnRelayToggle` (boolean), `autoUnlockSchedule` (haftalık zaman aralığı tablosu). Bunlar eskiden yalnızca Aygıt Yönetimi alanlarıydı, ancak uygulama artık bunları yerinde yazar; böylece yöneticiler günlük yapılandırma değişiklikleri için kapı çekmecesinden çıkmak zorunda kalmaz. Cihaz tarafı alanlardan herhangi biri değiştiğinde, rota ilgili Balena ortam değişkenlerini de (`RELAY_NOTIFICATION_SOUND`, `DOOR_MAINTENANCE_MODE`, `DOOR_AUTO_UNLOCK_SCHEDULE`) gönderir ve cihazın bir sonraki Balena ortam yenilemesini beklemeden yeni yapılandırmayı alması için bir `unlockUpdates` MQTT komutu tetikler. En iyi çaba esasına dayanır: Balena geçici olarak erişilemez olsa bile yanıt 200 döner.
Parametreler
facilityId `string` (zorunlu) doorId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/door-access/doors/{facilityId}/{doorId}/override
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/override \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Kapı çekmecesinin yeniden yükleme bildirimi için hafif Balena durum sorgusu
DGA uygulamasının çekmecesi, bir yönetici kapıyı açtığında bunu gecikmeli olarak getirir; böylece doğru "kaydetmek denetleyiciyi yeniden yükleyecek" metnini gösterebilir: varsayılan "birkaç saniye" sürümü veya bir sürüm güncellemesi de beklemedeyse daha güçlü "birkaç dakika" sürümü. `balena.models.device.get()` çağrısından türetilen düz bir anlık görüntü döndürür. Hata durumunda (5xx yerine) `data: null` döndürür; böylece bir Balena kesintisi çekmecenin açılmasını engellemek yerine yalnızca bildirim metnini zayıflatır.
Parametreler
facilityId `string` (zorunlu) doorId `string` (zorunlu)Uç nokta
GET /api/door-access/doors/{facilityId}/{doorId}/device-status
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/device-status \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yönetici geçersiz kılması: uygulamadan bir kapının kilidini açma
Kapının geçerli `holdTimeSeconds` değerini kullanarak röleyi kısa süreliğine tetikler ve işlemin Erişim Kayıtları'nda izlenebilmesi için ph-door-app-access-events tablosuna bir `admin-override` denetim satırı yazar. `maintenanceMode === 'force-closed'` durumundan bağımsız olarak her zaman başarılı olur; bu, yöneticinin acil çıkış yoludur. MQTT yayını gönderilir gönderilmez 200 döndürür; onaylandı / başarısız / zaman aşımı durumları burada beklenmez (eski /api/devices/door-controllers + /api/ics/devices/command akışı da gönder ve unut şeklinde çalışır).
Parametreler
facilityId `string` (zorunlu) doorId `string` (zorunlu)Uç nokta
POST /api/door-access/doors/{facilityId}/{doorId}/unlock
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/unlock \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kapı denetleyicisinde konum bulma bip deseni çalma
Denetleyicinin üç orta uzunlukta bip sesi (her biri ~500 ms, ~350 ms aralık, toplam ~2 sn) çıkarması için bir `beep` MQTT komutu yayımlar. Yöneticiler tarafından bir kapı denetleyicisini sahada fiziksel olarak bulmak için kullanılır. Eski Aygıt Yönetimi düğmesi ~30 sn süren kısa bip sesleri gönderir, ancak donanım yazılımının buzzer sürücüsü yalnızca ilkini güvenilir şekilde çalar; bu nedenle uygulama daha kısa ve daha güvenilir bir desen gönderir. Denetim satırı yazılmaz; erişim denetimi üzerinde yan etkisi olmayan bir tanılama işlemidir.
Parametreler
facilityId `string` (zorunlu) doorId `string` (zorunlu)Uç nokta
POST /api/door-access/doors/{facilityId}/{doorId}/identify
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/identify \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kapı denetleyicisini uzaktan yeniden başlatma
Eski Aygıt Yönetimi "Remotely Reboot Device" düğmesinin gönderdiği aynı gönder ve unut `rebootDevice` MQTT komutunu yayımlar, ancak `door-gate-access` modülüyle sınırlandırılmıştır; böylece DGA yöneticileri ayrı bir `device-management` izni olmadan kapı çekmecesinin Advanced bölümünden bir denetleyiciyi yeniden başlatabilir. Yayın gönderilir gönderilmez 200 döndürür; cihaz yeniden başlatma süresince çevrimdışı olur.
Parametreler
facilityId `string` (zorunlu) doorId `string` (zorunlu)Uç nokta
POST /api/door-access/doors/{facilityId}/{doorId}/reboot
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/doors/{facilityId}/{doorId}/reboot \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisteki User Access satırlarını listeleme
Tesisteki silinmemiş tüm kullanıcı erişimi satırlarını döndürür. İstemci tarafı filtreleri destekler (source, search, accessEnabled, hasGrants). Phase 4 `hideExcluded` sunucu tarafı hesaplaması, hibrit izin değerlendiricisi devreye girdiğinde eklenecektir; şimdilik parametre kabul edilir ancak tam küme döndürülür.
Parametreler
facilityId `string` (zorunlu) search `string` (isteğe bağlı) source `string` (isteğe bağlı) accessEnabled `string` (isteğe bağlı) hasGrants `string` (isteğe bağlı) hideExcluded `boolean` (isteğe bağlı) true olduğunda, bu tesiste hiçbir zaman hiçbir kapıdan geçemeyecek eşitlenmiş kullanıcılar (source != manual) gizlenir. Yanıt bir `hidden: { count, sample }` zarfı içerir.Uç nokta
GET /api/door-access/users/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/users/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesiste manuel olarak User Access satırı oluşturma
`source: 'manual'` ile yeni bir satır oluşturur. Verilen telefon veya e-posta bu tesisteki bir satırla zaten eşleşiyorsa `existingUserId` ile birlikte 409 döndürür.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/users/{facilityId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Tek bir User Access satırını alma
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
GET /api/door-access/users/{facilityId}/{userId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir User Access satırının kısmi güncellemesi
Kimlik / yetkilendirme alanlarının herhangi bir alt kümesini düzenler. İsteğe bağlı bir alanı temizlemek için `null` gönderin. Yeni telefon veya e-posta aynı tesisteki başka bir satırla çakışırsa 409 döndürür. `appMessage`, PUT /api/door-access/rules/{facilityId} üzerindeki tesis geneli mesajla aynı yapıyı kabul eder: gövde metni, önem derecesi, isteğe bağlı bağlantı, isteğe bağlı başlangıç/bitiş zamanlaması. Mobil uygulama bunu yalnızca hedeflenen kullanıcı için gösterge panelinde gösterir.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)İstek Gövdesi
Uç nokta
PATCH /api/door-access/users/{facilityId}/{userId}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir User Access satırını geçici olarak silme
Satırı `deleted: true` olarak işaretler ve erişimi devre dışı bırakır. userId ile denetim kaydı bağlantısı korunur; yöneticiler manuel olarak yeniden etkinleştirebilir.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
DELETE /api/door-access/users/{facilityId}/{userId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcı için kapı bazlı erişim kaynağı
Her kapı için geçerli belirleyici yetkilendirmeyi (`allowedNow`, `allowedVia`, `deniedReason`) ve Access Policies, kalıcı izinler, politika zamanlamaları, yönetici zaman aralığı izinleri ve güncel eşlenmiş iş ortağı kaynak aralıkları için yapılandırılmış yolları döndürür. Ayrıca etkin/sonraki uygunluk durumunu ve kaynak güncelliğini döndürür. Kapı blockAllAccess ve bakım durumları tüm izin yollarından önce değerlendirilir.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
GET /api/door-access/users/{facilityId}/{userId}/effective-access
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/effective-access \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CSV içe aktarmasından toplu User Access satırları oluşturma
Tek bir istekte birden fazla `source: 'manual'` satırı oluşturur; tekli oluşturmayla aynı doğrulama, telefon/e-posta normalleştirme, tesis bazlı çakışma denetimi, otomatik mesajlaşma ve (isteğe bağlı) davet mantığını kullanır. Satırlar sırayla işlenir; bu nedenle daha önce oluşturulmuş bir satırla çakışan sonraki bir satır yinelenen olarak bildirilir. İzinler, önceden çözümlenmiş kapı/grup kimlikleri olarak verilir (istemci adları kimliklere çözümler). Zaman aralığı izinleri toplu işlemde bilerek reddedilir ve içe aktarmadan sonra kullanıcı bazlı değiştirme uç noktasıyla eklenmelidir. Satır bazında hiçbir zaman hata fırlatmaz; her satırın sonucu ayrı ayrı bildirilir.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/users/{facilityId}/bulk
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/bulk \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir User Access satırındaki ek Access Time Window izinlerini değiştirme
Yalnızca `timeWindowGrants` değerini değiştirir; kalıcı `grants` ve entegrasyon `sourceTimeWindows` değerlerine dokunulmaz. Her öğe bir kapsam (`facilityWide`, `doors` veya `groups`) ve mutlak ya da haftalık bir `window` gerektirir. Boş bir dizi göndermek tüm yönetici aralıklarını açıkça temizler.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/door-access/users/{facilityId}/{userId}/time-window-grants
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/time-window-grants \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir User Access satırını kaynak kaynaklı eşitleme güncellemelerine karşı dondurma
`decoupledFromSource: true` ayarlar, entegrasyona ait tüm `sourceTimeWindows` değerlerini temizler ve bir yönetici /recouple ile bayrağı temizleyene kadar eşitlemenin (cron + akışlar) bu satırı kaydedip atlamasını sağlar.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
POST /api/door-access/users/{facilityId}/{userId}/decouple
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/decouple \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir User Access satırını kaynak kaynaklı eşitleme güncellemelerine yeniden bağlama
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
POST /api/door-access/users/{facilityId}/{userId}/recouple
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/recouple \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcının tüm Door/Gate Access uygulaması yenileme belirteçlerini iptal etme
Kullanıcının saklanan telefonu/e-postasıyla iptal eder (yenileme belirteci tablosu `sha256(plaintext)` ile anahtarlanır; byMobilePhone / byEmail GSI'ları tek bir kullanıcıdan yayılarak silme yapılmasını sağlar). Farklı bir tesiste aynı telefonu/e-postayı paylaşan diğer kullanıcıların da oturumu kapatılır.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
POST /api/door-access/users/{facilityId}/{userId}/logout
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/logout \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcıya Door/Gate Access uygulaması davet e-postasını (yeniden) gönderme
Uygulama indirme davet e-postasını kullanıcının saklanan e-posta adresine zorla gönderir (yalnızca e-posta; SMS yok). Otomatik eşitleme yolunun kullandığı uygunluk ve zaten gönderildi denetimlerini yok sayar; bu açık bir yönetici işlemidir. Kullanıcının kayıtlı e-postası yoksa 400 döndürür.
Parametreler
facilityId `string` (zorunlu) userId `string` (zorunlu)Uç nokta
POST /api/door-access/users/{facilityId}/{userId}/resend-invite
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/resend-invite \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Toplu uygulama daveti gönderiminin alıcılarını önizleme
Uygulama davet e-postası alacak kullanıcı kümesini hesaplar. Temel havuz, e-postası olan ve uygulamayı hiç kullanmamış (`appLastSeenAt` boş) silinmemiş tüm kullanıcılardır. Varsayılan olarak havuz, şu anda erişimi olan (kural eşleşmesi veya izin) ve hiç davet edilmemiş kullanıcılarla daraltılır; `includeAlreadyInvited` ve `includeNoAccess` havuzu genişletir. Hiçbir e-posta gönderilmez; sayıları, küçük bir örneği ve execute uç noktası için aday userIds değerlerini döndürür.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/users/{facilityId}/bulk-invite/preview
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/bulk-invite/preview \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir grup kullanıcıya uygulama davet e-postaları gönderme
Uygulama indirme davet e-postasını verilen her userIds değerine gönderir (istek başına en fazla 50; istemci önizlemedeki tam aday listesini gruplara böler). Her kullanıcı gönderim anında yeniden doğrulanır: artık mevcut olmayan, e-postası olmayan veya önizlemeden sonra uygulamayı kullanmış satırlar atlanır, hiçbir zaman başarısız sayılmaz. İstemcinin gönderilen / başarısız / atlanan özetini çıkarabilmesi için kullanıcı bazlı sonuçlar ayrı ayrı bildirilir.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/users/{facilityId}/bulk-invite
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/bulk-invite \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisteki Kapı Gruplarını listeleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/door-groups/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kapı Grubu oluşturma
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/door-groups/{facilityId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Tek bir Kapı Grubunu alma
Parametreler
facilityId `string` (zorunlu) groupId `string` (zorunlu)Uç nokta
GET /api/door-access/door-groups/{facilityId}/{groupId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId}/{groupId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Kapı Grubunu güncelleme
Parametreler
facilityId `string` (zorunlu) groupId `string` (zorunlu)İstek Gövdesi
Uç nokta
PATCH /api/door-access/door-groups/{facilityId}/{groupId}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId}/{groupId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Kapı Grubunu geçici olarak silme
Parametreler
facilityId `string` (zorunlu) groupId `string` (zorunlu)Uç nokta
DELETE /api/door-access/door-groups/{facilityId}/{groupId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/door-access/door-groups/{facilityId}/{groupId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesiste yapılandırılmış iş ortağı entegrasyonlarını listeleme
ph-facility-partner-config ile ph-partners kataloğunu birleştirerek tesisin iş ortağı entegrasyonlarını (id, name, logo, enabled) döndürür. Door-gate-access kapsamındadır (böylece external-integrations erişimi olmayan yöneticiler de iş ortağı rozetlerini ve iş ortağı bazlı eşitleme listesini görebilir).
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/partners/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/partners/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin User Access eşitleme yapılandırmasını okuma
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/sync-config/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/sync-config/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin User Access eşitleme yapılandırmasını güncelleme
Yalnızca yönetici tarafından denetlenen alanlar (`enabled`, `requireIdentifier` ve iş ortağı `partners` eşlemesi) kabul edilir; `lastRunAt` ve `lastRunCounts` eşitleme motorunun kendisi tarafından yazılır. `partner.partners`, partnerId ile anahtarlanmış iş ortağı bazlı bir etkinleştirme eşlemesidir (varsayılan açık): ana `partner.enabled` açıkken, burada açık bir `{ enabled: false }` girdisi olmadıkça iş ortağı eşitlenir.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/door-access/sync-config/{facilityId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/sync-config/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin kullanıcı bazlı otomatik mesajlaşma yapılandırmasını okuma
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/auto-messages/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/auto-messages/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin kullanıcı bazlı otomatik mesajlaşma yapılandırmasını güncelleme
Kuralları kaydeder, ardından tesisteki her User Access satırını hemen yeniden değerlendirir; böylece mevcut kullanıcılar otomatik mesajlarını hemen alır veya kaybeder. Manuel mesajlara ve ayrılmış satırlara dokunulmaz.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/door-access/auto-messages/{facilityId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/auto-messages/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Arka plandaki otomatik mesaj yeniden değerlendirme taramasının durumu
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/auto-messages/{facilityId}/sweep-status
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/auto-messages/{facilityId}/sweep-status \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için isteğe bağlı User Access eşitlemesi çalıştırma
Tesisteki her etkin kaynağı (partner / cctv) eşzamanlı olarak tarar ve yinelenenleri ayıklama sıralamasıyla ph-door-access-users satırlarını uzlaştırır. Kaynak bazlı sayıları döndürür. Devre dışı kaynaklar, arayüzün her iki satırı da tutarlı şekilde gösterebilmesi için yok sayılmak yerine `skippedSyncDisabled: 1` olarak görünür.
Parametreler
facilityId `string` (zorunlu)Uç nokta
POST /api/door-access/sync/{facilityId}/run
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/run \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İş ortağıyla eşitlenmiş toplu silme işleminin deneme önizlemesi
Geçici olarak silinecek kullanıcı erişimi satırlarının sayısını + bir örneğini ve execute uç noktasına geri gönderilmesi gereken bir confirmToken döndürür. Hiçbir veri değiştirilmez. Erişim kayıtları hiçbir zaman etkilenmez.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/sync/{facilityId}/bulk-delete/preview
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/bulk-delete/preview \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
İş ortağıyla eşitlenmiş toplu silme işlemini yürütme (geçici silme)
Kapsamdaki iş ortağıyla eşitlenmiş tüm kullanıcı erişimi satırlarını geçici olarak siler. Önizlemenin döndürdüğü confirmToken gerekir; canlı küme önizlemeden sonra değiştiyse belirteç eşleşmez ve yöneticinin yeniden gözden geçirmesi için istek reddedilir (409). Erişim kayıtları korunur.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/door-access/sync/{facilityId}/bulk-delete
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/bulk-delete \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Son User Access eşitleme etkinliği (sorun giderme kaydı)
Bir tesisin en son eşitleme sonuçlarını (created / skipped / disabled) nedenleriyle birlikte döndürür; böylece yöneticiler bir üyenin neden eşitlendiğini veya eşitlenmediğini görebilir. En yeniden eskiye sıralanır.
Parametreler
facilityId `string` (zorunlu) limit `integer` (isteğe bağlı)Uç nokta
GET /api/door-access/sync/{facilityId}/log
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/sync/{facilityId}/log \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin Door/Gate Access olaylarını listeleme
Mobil, yönetici geçersiz kılma ve harici Partner API kilit açma olaylarını yeniden eskiye sıralı tek bir akışta döndürür.
Parametreler
facilityId `string` (zorunlu) from `integer` (isteğe bağlı) to `integer` (isteğe bağlı) limit `integer` (isteğe bağlı)Uç nokta
GET /api/door-access/events/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/events/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yöneticinin test modu işaretçisi için deneme geofence değerlendirmesi
İstek Gövdesi
Uç nokta
POST /api/door-access/geofence/test
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/door-access/geofence/test \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin başlangıç / etkinleştirme durumunu alma
Uygulamanın "Get Started" giriş sayfasını ve kurulum ilerleme başlığını yönetir. Canlı kapı + kullanıcı sayılarını, türetilen iki temel adımı (bir kullanıcı var, bir kapı var), kalıcı olarak saklanan isteğe bağlı "gözden geçirildi" bayraklarını ve tesisin etkinleştirilip etkinleştirilmediğini (iki temel adım da tamamlandı) döndürür. Bir tesis ilk kez etkinleştirildiğinde activatedAt zaman damgası eklenir.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/door-access/onboarding/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/door-access/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin isteğe bağlı başlangıç "gözden geçirildi" bayraklarını güncelleme
Bir yöneticinin işaretlediği isteğe bağlı kurulum kontrol listesi bayraklarını (erişim kuralları, eşitleme ayarları, geofencing) kalıcı olarak kaydeder. Temel adımlar ve etkinleştirme, veri sayılarından canlı olarak türetilir ve burada ayarlanamaz. Yenilenmiş tam başlangıç durumunu döndürür.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/door-access/onboarding/{facilityId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/door-access/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/lead-events
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/lead-events \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/analytics/page-views
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/page-views \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/analytics/referrers
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/referrers \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/analytics/socials
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/socials \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/analytics/top-cities
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/top-cities \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/analytics/total-page-views
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/total-page-views \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis analiz verilerini JSON yanıtı olarak döndürür.
Parametreler
clubId `string` (isteğe bağlı) Analiz verileri alınacak tesisin kimliği. fromDate `string` (isteğe bağlı) Alınacak analiz verilerinin başlangıç tarihi. toDate `string` (isteğe bağlı) Alınacak analiz verilerinin bitiş tarihi.Uç nokta
GET /clubs/{clubId}/analytics/traffic
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/clubs/{clubId}/analytics/traffic \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ön yüzdeki 'analytics' sayfasında Google Analytics yerleştirilebilir grafikleri için geçici bir ön yüz JWT'si (JSON Web Token) oluşturur.
Uç nokta
GET /api/ga/onetimetoken
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ga/onetimetoken \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin etkin üyeleri varsa 'The Training Camp' gösterge paneli widget'larını döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/reporting/apps/widgets/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/apps/widgets/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Gözden geçirilmemiş tüm tesis tatillerini döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/reporting/club/{club}/unreviewed-holidays
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/club/{club}/unreviewed-holidays \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Gözden geçirilmemiş tüm tesis tatillerini gözden geçirildi olarak ayarlar.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
PUT /api/reporting/club/{club}/review-holidays
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/reporting/club/{club}/review-holidays \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
KPI Raporunu, son 12 ay boyunca aylık olarak ayrıştırılmış şekilde CSV biçiminde döndürür. *NOT* Bu, sistemdeki TÜM tesisler için tek bir rapor oluşturur; bunu paralel olarak birden fazla kez çalıştırmayın, aksi takdirde GymMaster'a aşırı yük bindirirsiniz!
Parametreler
months `string` (isteğe bağlı) Getirilecek ay sayısı (geçerli tarihten itibaren; varsayılan 12)Uç nokta
GET /api/reporting/gymmaster/all-clubs-kpi-report
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/gymmaster/all-clubs-kpi-report \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesis için MMS gelir grafiğini/grafiklerini döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. range `string` (isteğe bağlı) Getirmek istediğimiz gün cinsinden aralık (geçerli tarihten geriye doğru sayılır)Uç nokta
GET /api/reporting/gymmaster/revenuegraph/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/gymmaster/revenuegraph/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesis için gösterge panelinin MMS (Member Management System) verilerini/analizlerini döndürür. Veriler, GymMaster/Perfect Gym istatistiklerinin yanı sıra sistemimiz tarafından toplanan diğer dahili ölçümleri içerir.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. range `string` (isteğe bağlı) Getirmek istediğimiz gün cinsinden aralık (geçerli tarihten geriye doğru sayılır)Uç nokta
GET /api/reporting/gymmaster/widgets/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/gymmaster/widgets/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesis için gösterge panelinin Myzone widget verilerini döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/reporting/myzone/widgets/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/myzone/widgets/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Durum sayfası/izleme uç noktalarımızdan bir veya daha fazlasına göre çevrimdışı kabul edilen hizmetlerin bir nesnesini döndürür; dahili 'Uptime Kuma' aracıyla yapılandırılır.
Uç nokta
GET /api/reporting/statuspage/events
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/statuspage/events \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Önümüzdeki 7 gün için yaklaşan antrenman rezervasyonlarını döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/reporting/clubs/{club}/workout-bookings
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/reporting/clubs/{club}/workout-bookings \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin geçmiş tatillerinin listesini döndürür.
Parametreler
clubId `string` (isteğe bağlı) Kulüp kimliği fromDate `string` (isteğe bağlı) Döndürülecek tatil aralığının başlangıç tarihinin Unix zaman damgası. toDate `string` (isteğe bağlı) Döndürülecek tatil aralığının bitiş tarihinin Unix zaman damgası.Uç nokta
GET /api/clubs/{clubId}/historical-holidays
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/historical-holidays \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisle ilişkili cihaz otomasyonlarını döndürür.
Parametreler
club `string` (zorunlu) Cihazlarını listelemek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/ics/automations/list/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ics/automations/list/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir ekranın/cihazın cihaz yapılandırmasını günceller.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/ics/automations/update/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ics/automations/update/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Fiziksel bir ekran cihazını/bilgisayarı tesisinizle ilişkilendirir.
Parametreler
club `string` (zorunlu) Cihazı altına eklemek istediğiniz kulübün dahili kimliği. body `string` (zorunlu) İlişkilendirilecek yeni ekranın JSON nesnesi.Uç nokta
POST /api/ics/devices/add/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/add/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cihaza, parametrelere göre yeni bir SSID'ye bağlanma talimatı verir.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/ics/devices/changewifi/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/changewifi/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir ekranın/cihazın cihaz yapılandırmasını günceller.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/ics/devices/command/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/command/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir cihaz ekranında bir URL/web sayfası yükler.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
POST /api/ics/devices/loadurl/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ics/devices/loadurl/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir ekranın/cihazın cihaz yapılandırmasını günceller.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerinin JSON nesnesi.Uç nokta
PUT /api/ics/devices/update/{club}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/ics/devices/update/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir ekranı/cihazı yeniden adlandırır. Yalnızca kaydı etkiler: güncelleme uç noktasının aksine cihaza hiçbir şey göndermez, bu nedenle kullanım ömrü sona ermiş bir yazılım sürümünü çalıştıran ekranlar için de kullanılabilir.
Parametreler
club `string` (zorunlu) Cihazın ait olduğu tesisin dahili kimliği. body `string` (zorunlu) Yeniden adlandırma parametrelerini içeren JSON nesnesi.Uç nokta
PUT /api/ics/devices/rename/{club}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/ics/devices/rename/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Verilen tarihe göre bir tesisin widget'larını ve çevrimdışı medya bağlantılarını alır.
Parametreler
club `string` (zorunlu) Şablonlu içerik programını değiştirmek istediğiniz tesisin dahili kimliği. date `string` (zorunlu) Widget URL'lerinin döndürüleceği tarih; `YYYY-MM-DD` biçimini kullanın.Uç nokta
GET /api/ics/external-resources/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ics/external-resources/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Verilen tarihe göre bir tesisin widget'larını ve çevrimdışı medya bağlantılarını alır.
Parametreler
club `string` (zorunlu) Şablonlu içerik programını değiştirmek istediğiniz tesisin dahili kimliği.Uç nokta
GET /api/ics/list-scheduled-workouts/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ics/list-scheduled-workouts/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesisin şablonlu içerik programını değiştirir.
Parametreler
club `string` (zorunlu) Şablonlu içerik programını değiştirmek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Değiştirilecek yeni şablonlu içeriği içeren JSON nesnesi.Uç nokta
POST /api/ics/loadprogram/{club}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ics/loadprogram/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir ekranın/cihazın program yapılandırmasını alır.
Parametreler
club `string` (zorunlu) Program verilerini almak istediğiniz tesisin dahili kimliği.Uç nokta
GET /api/ics/programs/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ics/programs/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir ekranın/cihazın program yapılandırmasını günceller.
Parametreler
club `string` (zorunlu) Cihazı güncellemek istediğiniz tesisin dahili kimliği. body `string` (zorunlu) Güncelleme parametrelerini içeren JSON nesnesi.Uç nokta
PUT /api/ics/programs/{club}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/ics/programs/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Program yapılandırma seçeneklerini alır.
Uç nokta
GET /api/ics/programs/options/{facilityID}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ics/programs/options/{facilityID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
RAG bağlamıyla sohbet: Bu uç noktanın araçlara erişimi yoktur; yalnızca bilgi tabanından doğrudan bilgi çekmenizi sağlayan basit bir API istek|yanıt aracı vardır.
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)İstek Gövdesi
Uç nokta
POST /api/llm/chat
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/chat \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Makale gömmelerini vektör deposundan silme ve gömme izleme durumunu güncelleme
İstek Gövdesi
Uç nokta
DELETE /api/llm/delete-article
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/llm/delete-article \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Gömme izleyici kayıtlarını organizasyona ve duruma göre listeleme
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (atlanırsa otomatik çözümlenir) status `string` (zorunlu) Filtrelenecek durum (in_queue, done, anomaly, fail, deleted değerlerinden biri olmalıdır) Limit `string` (isteğe bağlı) Sayfa başına en fazla öğe LastEvaluatedKey `string` (isteğe bağlı) Sayfalama için DynamoDB LastEvaluatedKey JSON'uUç nokta
GET /api/llm/embedding-track/by-org-and-status
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/llm/embedding-track/by-org-and-status \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Gömme izleyici kayıtlarını organizasyona göre listeleme (isteğe bağlı olarak kaynak türüne göre filtreleme)
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (atlanırsa otomatik çözümlenir) resourceType `string` (isteğe bağlı) İsteğe bağlı kaynak türü (ör. "article"). Verildiğinde, resourceTypeId değeri "{type}#" ile başlayan kayıtlar filtrelenir. Limit `string` (isteğe bağlı) Sayfa başına en fazla öğe LastEvaluatedKey `string` (isteğe bağlı) Sayfalama için DynamoDB LastEvaluatedKey JSON'uUç nokta
GET /api/llm/embedding-track/by-org
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/llm/embedding-track/by-org \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Organizasyon vektör veritabanı koleksiyonunu başlatma
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)Uç nokta
POST /api/llm/init-org
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/init-org \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bilgi tabanında anlamsal arama
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)İstek Gövdesi
Uç nokta
POST /api/llm/semantic-search
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/semantic-search \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Kuyruktaki makalelerin gömme işlemini gerçek zamanlı ilerleme güncellemeleriyle akış halinde başlatma
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)Uç nokta
POST /api/llm/start-embedding-stream
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/start-embedding-stream \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Makale gömmelerini vektör veritabanına ekleme veya güncelleme
Makale gömme işlemini geçerli duruma göre yürütür: - Makale yayımlanmamışsa VEYA özelse: gömmeleri siler - Makale yayımlanmışsa VE herkese açıksa: tam içerikle yeniden gömer Her zaman makalenin tam gövdesini gerektirir.
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)İstek Gövdesi
Uç nokta
POST /api/llm/upsert-embeddings
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/upsert-embeddings \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Makale gömmelerini organizasyona ve isteğe bağlı duruma göre toplu silmek için test uç noktası
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (atlanırsa kullanıcı bağlamından otomatik çözümlenir) status `string` (isteğe bağlı) Filtrelenecek durum (isteğe bağlı; atlanırsa durumdan bağımsız olarak organizasyonun TÜM makaleleri silinir) hardDelete `string` (isteğe bağlı) Gömme izleme kayıtlarının kalıcı olarak mı silineceği (true) yoksa durum güncellenerek geçici olarak mı silineceği (false)Uç nokta
DELETE /api/llm/test/batch-delete-by-status
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/llm/test/batch-delete-by-status \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Metni dönüştürme ve ayrıntılı istatistiklerle parçalara bölme
Metni dönüştüren ve parçalara bölen, ardından parçalama etkinliğini değerlendirmeye yardımcı olmak için karakter sayıları, yüzdeler ve kalite ölçümleri dahil parça dağılımına ilişkin ayrıntılı istatistikler sağlayan test uç noktası.
İstek Gövdesi
Uç nokta
POST /api/llm/test/transform-chunk
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/test/transform-chunk \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Organizasyonun vektör dizinindeki toplam vektör sayısını alma
Geçerli kullanıcının organizasyonu için vektör dizinindeki tüm vektörleri sayan test uç noktası
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)Uç nokta
GET /api/llm/test/vector-count
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-count \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir articleId için tüm vektörleri vektör dizininden silme
Geçerli kullanıcının organizasyonu için belirli bir articleId ile ilişkili tüm vektörleri vektör dizininden silen test uç noktası.
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır) articleId `string` (zorunlu) Vektörleri silinecek articleId dryRun `string` (isteğe bağlı) true ise, gerçekten silmeden yalnızca nelerin silineceğini gösterirUç nokta
DELETE /api/llm/test/vector-delete-article
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/llm/test/vector-delete-article \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm dizinleri listeleyerek Vector SDK'yı test etme
Vector SDK bağlantısını doğrulayan ve vektör paketindeki tüm dizinleri listeleyen test uç noktası
Uç nokta
GET /api/llm/test/vector-indices
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-indices \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyon için vektör dizinini başlatma
Geçerli kullanıcının organizasyonu için vektör paketini ve dizinini oluşturur
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır)Uç nokta
POST /api/llm/test/vector-init-index
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/llm/test/vector-init-index \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir articleId için tüm vektör meta verilerini alma
Belirli bir articleId için tüm vektör parçalarını ve meta verilerini vektör dizininden alan test uç noktası. Bir makalenin nasıl parçalara bölünüp saklandığını incelemek için kullanışlıdır. Filtreleme, vektör deposu hizmeti tarafından yapılır.
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır) articleId `string` (zorunlu) Vektör meta verileri alınacak makale kimliğiUç nokta
GET /api/llm/test/vector-metadata-by-article
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-metadata-by-article \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Vektör dizinindeki son vektörleri meta verileriyle alma
Geçerli kullanıcının organizasyonu için vektör dizinindeki en son 10 vektörü meta verileriyle (ancak vektör verileri olmadan) alan test uç noktası. Meta veri yapısını incelemek için kullanışlıdır.
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği (verilmezse otomatik algılanır) limit `string` (isteğe bağlı) Döndürülecek son vektör sayısı (en fazla 100)Uç nokta
GET /api/llm/test/vector-recent
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/llm/test/vector-recent \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Marketing Manager/Designer için bir varlığı S3 depolamaya yükler.
Parametreler
file `string` (isteğe bağlı) Yüklenecek dosyanın/varlığın adı.Uç nokta
POST /api/marketing/design/static/download
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/marketing/design/static/download \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Varlık yöneticisine yüklenecek tek tek varlıkları JSON biçiminde döndürür.
Parametreler
id `string` (zorunlu) Alınacak varlığın kimliği. organisationId `string` (zorunlu) Varlığın ait olduğu tesisin organizasyon kimliği.Uç nokta
GET /api/marketing/assets/get/{id}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets/get/{id} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm tasarım varlıklarını döndürür.
Parametreler
body `string` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi. organisationId `string` (zorunlu) Varlığın ait olduğu tesisin organizasyon kimliği. useCache `string` (isteğe bağlı) search `string` (isteğe bağlı) Varlıkları ada veya etiketlere göre filtrelemek için arama sorgusu. brand `string` (isteğe bağlı) Varlıkları filtrelemek için marka. tag `string` (isteğe bağlı) Varlıkları filtrelemek için etiket.Uç nokta
GET /api/marketing/assets/get
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets/get \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyonun pazarlama baskı varlıklarının tek bir sayfasını döndürür. İlgililik araması + sayfa tabanlı sayfalama (toplam sayılarla) için Algolia'yı kullanır ve Algolia kullanılamadığında DynamoDB'ye geri döner.
Parametreler
organisationId `string` (zorunlu) Varlıkların ait olduğu tesisin organizasyon kimliği. search `string` (isteğe bağlı) Varlıkları ada veya etiketlere göre filtrelemek için arama sorgusu. brand `string` (isteğe bağlı) Varlıkları filtrelemek için marka. tag `string` (isteğe bağlı) Varlıkları filtrelemek için etiket. page `string` (isteğe bağlı) Getirilecek sıfır tabanlı sayfa numarası. limit `string` (isteğe bağlı) Sayfa başına varlık sayısı (en fazla 300). useCache `string` (isteğe bağlı) false olduğunda Algolia atlanır ve doğrudan DynamoDB sorgulanır.Uç nokta
GET /api/marketing/assets
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Varlık yöneticisi aracılığıyla yüklenmiş kullanılabilir varlıkların listesini döndürür.
Parametreler
organisationId `string` (zorunlu)Uç nokta
GET /api/marketing/assets/list
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/assets/list \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir varlık ekler/kaydeder.
Parametreler
body `string` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi. organisationId `string` (zorunlu) Varlığın ait olduğu tesisin organizasyon kimliği.Uç nokta
PUT /api/marketing/assets/save
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/assets/save \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Marketing Manager/Designer için bir varlığı S3 depolamaya yükler.
Parametreler
file `string` (isteğe bağlı) Yüklenecek dosyanın/varlığın adı. organisationId `string` (isteğe bağlı) Varlığın ait olduğu organizasyonun kimliği.Uç nokta
POST /api/marketing/assets/upload
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/marketing/assets/upload \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyonun tüm özel sayfalarının listesini döndürür.
Parametreler
organisationId `string` (zorunlu) Özel sayfaları döndürülecek organizasyonun dahili kimliği.Uç nokta
GET /api/marketing/custom-pages
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/custom-pages \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyon için özel bir sayfa ekler veya günceller.
Parametreler
organisationId `string` (zorunlu) Özel sayfaları döndürülecek organizasyonun dahili kimliği. body `object` (zorunlu) Eklenecek veya güncellenecek özel sayfa verileri.Uç nokta
PUT /api/marketing/custom-pages
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/custom-pages \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin tüm özel sayfalarının listesini döndürür.
Parametreler
facilityId `string` (zorunlu) Özel sayfaları döndürülecek tesisin dahili kimliği.Uç nokta
GET /api/facilities/{facilityId}/marketing/custom-pages
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/marketing/custom-pages \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesis kimliği için dışa aktarılmış/oluşturulmuş tüm tasarımları döndürür.
Parametreler
club `string` (zorunlu) İsteği yapan tesisin dahili kimliği. sort `string` (isteğe bağlı) Tasarımları sıralamak için filtre; 'oldest', 'newest' veya 'design' desteklenir.Uç nokta
GET /api/marketing/designs/{club}/exports
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/{club}/exports \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Düzenleyiciye yüklenmek üzere bir tasarımın tek tek HTML içeriklerini JSON biçiminde döndürür.
Parametreler
id `string` (zorunlu) Alınacak tasarımın kimliği.Uç nokta
GET /api/marketing/designs/get/{id}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/get/{id} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Pazarlama ve baskı tasarımlarındaki ve tasarım şablonlarındaki giriş eşlemelerinin listesini döndürür
Parametreler
clubId `string` (zorunlu) İsteği yapan tesisin dahili kimliği. availableFeatures `string` (isteğe bağlı) Belirli özelliklere sahip tüm öğeleri döndürür brand `string` (isteğe bağlı) Tasarımları markaya göre filtreler features `string` (isteğe bağlı) Sonuçları özelliklere göre filtrelerUç nokta
GET /api/marketing/designs/input-mapping/{clubId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/input-mapping/{clubId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Hub'ın pazarlama/baskı düzenleyicisinde oluşturulan tasarımlarda (Print Designs) kullanılabilecek, belirli bir tesis için kullanılabilir tasarımların listesini döndürür.
Parametreler
club `string` (zorunlu) İsteği yapan tesisin dahili kimliği. designAdmin `string` (isteğe bağlı) Tüm tasarım verilerini döndürür (yönetici görünümü / kullanıcının yönetici olmasını gerektirir). brand `string` (isteğe bağlı) Tasarımları markaya göre filtrelerUç nokta
GET /api/marketing/designs/{club}/list
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/{club}/list \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Sistemi tüm tasarım küçük resimlerini ve önizlemelerini oluşturmaya/yeniden oluşturmaya zorlar (çoğunlukla S3'teki 'kaynak' varlıklar değiştiğinde kullanılır). **NOT** Bu işlevi X dakikada yalnızca bir kez çağırabilirsiniz (veya bir oluşturma işlemi zaten çalışıyorsa bu işlevi çağıramazsınız). Bu, tüm tasarımları oluştururken sunucularımıza aşırı yük binmemesini sağlamak içindir.
Uç nokta
GET /api/marketing/designs/render-all-thumbnails
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/render-all-thumbnails \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Dinamik bir tasarımın oluşturulmasını başlatır
Parametreler
body `string` (zorunlu) Tasarım oluşturma işlemcisine göndermek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
POST /api/marketing/designs/dynamic/render-design
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/marketing/designs/dynamic/render-design \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tasarım ekler/kaydeder/günceller.
Parametreler
body `string` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
PUT /api/marketing/designs/{club}/save
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/designs/{club}/save \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yüklenecek tek tek statik tasarımı JSON biçiminde döndürür
Parametreler
id `string` (zorunlu) Alınacak statik tasarımın kimliği.Uç nokta
GET /api/marketing/designs/static/get/{id}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/designs/static/get/{id} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Statik bir tasarım şablonu ekler/kaydeder/günceller.
Parametreler
body `string` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
PUT /api/marketing/designs/static/{club}/save
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/designs/static/{club}/save \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcı tarafından ayarlanmış bir değişkeni sistemden kaldırır.
Parametreler
club `string` (zorunlu) İsteği yapan tesisin dahili kimliği. body `string` (zorunlu) Kaldırılacak değişken kimliğini içeren JSON.Uç nokta
DELETE /api/marketing/variables/{club}/delete
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/marketing/variables/{club}/delete \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Hub'ın pazarlama/baskı düzenleyicisinde oluşturulan tasarımlarda (Print Designs) kullanılabilecek, belirli bir tesis için kullanılabilir değişkenlerin listesini döndürür.
Parametreler
club `string` (zorunlu) İsteği yapan tesisin dahili kimliği.Uç nokta
GET /api/marketing/variables/{club}/list
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/marketing/variables/{club}/list \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir tesis için kullanıcı tabanlı yeni tek bir 'değişken' oluşturur.
Parametreler
club `string` (zorunlu) İsteği yapan tesisin dahili kimliği. body `string` (zorunlu) Yeni değişkeni içeren JSON nesnesi.Uç nokta
POST /api/marketing/variables/{club}/new
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/marketing/variables/{club}/new \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir nesne dizisi aracılığıyla sistemdeki bir veya daha fazla tasarım değişkenini ekler/kaydeder/günceller.
Parametreler
club `string` (zorunlu) İsteği yapan tesisin dahili kimliği. body `string` (zorunlu) Eklenecek/güncellenecek bir veya daha fazla JSON nesnesinden oluşan dizi (tek bir API isteğinde birden fazla öğenin/nesnenin kaydedilmesini sağlar).Uç nokta
PUT /api/marketing/variables/{club}/save
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/marketing/variables/{club}/save \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Oturum açmış kullanıcı için MCP belge manifestini döndürür
Uygulama içi `/mcp-docs` sayfasını besler. MCP sunucu URL'sini, desteklenen kimlik doğrulama başlıklarını, çağıranın kimliğini/yönetici bayrağını ve filtrelenmiş araç listesini döndürür (`/mcp/tools/list` ile aynı şekilde filtrelenir; böylece belge sayfası, çağıranın gerçekte kullanamayacağı bir aracı hiçbir zaman göstermez).
Uç nokta
GET /api/mcp/docs-manifest
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/mcp/docs-manifest \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcı sözleşmesi oluşturur.
Parametreler
body `object` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
POST /api/member-agreements/contracts-tna/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Sözleşme listesini döndürür.
Uç nokta
GET /api/member-agreements/contracts-tna/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcı sözleşmesini siler.
Uç nokta
DELETE /api/member-agreements/contracts-tna/:club/:id
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club/:id \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir sözleşmeyi döndürür.
Uç nokta
GET /api/member-agreements/contracts-tna/:club/:id
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club/:id \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcı sözleşmesini günceller.
Parametreler
body `object` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
PATCH /api/member-agreements/contracts-tna/:club/:id
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/member-agreements/contracts-tna/:club/:id \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin varsayılan sözleşmelerini alır.
Parametreler
body `object` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
GET /api/member-agreements/default-tna/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/default-tna/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin varsayılan sözleşmesini ayarlar.
Parametreler
body `object` (zorunlu) Kaydetmek istediğiniz tesis verilerini içeren JSON nesnesi.Uç nokta
POST /api/member-agreements/default-tna/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/member-agreements/default-tna/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Genel veya bölgesel sözleşmelerin listesini döndürür.
Uç nokta
GET /api/member-agreements/global-tna/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/global-tna/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Sözleşmesi olan üyelerin listesini döndürür.
Uç nokta
GET /api/member-agreements/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/member-agreements/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Eğitim kampı uygulaması için tesis üyelerinin sezona göre listesini döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. season `string` (isteğe bağlı) Filtrelemek istediğiniz eğitim kampı sezonu. userIds `string` (isteğe bağlı) Filtrelenecek kullanıcı kimlikleri dizisi. useCache `string` (isteğe bağlı) Önbelleğin kullanılıp kullanılmayacağı. isUserMemberInfo `string` (isteğe bağlı) Etkinleştirilirse veriler userIds değerine göre filtrelenir (yalnızca bir kullanıcı kimliği kullanılması önerilir) ve skor tablosu ile kullanıcı tercihleri gibi gerekli veriler eklenir.Uç nokta
GET /api/members-leads/trainingcamp/club/season-members/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/members-leads/trainingcamp/club/season-members/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Birden fazla antrenman rezervasyonu potansiyel müşterisini siler.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. body `string` (zorunlu)Uç nokta
DELETE /api/members-leads/workout-booking/club/leads/{club}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin antrenman rezervasyonu potansiyel müşterilerinin listesini döndürür.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. all `string` (isteğe bağlı) Tüm potansiyel müşterilerin mi yoksa yalnızca yaklaşanların mı gösterileceği.Uç nokta
GET /api/members-leads/workout-booking/club/leads/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir antrenman rezervasyonu potansiyel müşterisini günceller.
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği. body `string` (zorunlu)Uç nokta
PUT /api/members-leads/workout-booking/club/leads/{club}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir antrenman rezervasyonu potansiyel müşterisinin işaretlenme durumunu değiştirir.
Parametreler
club `string` (zorunlu) Kulübün dahili kimliği. body `string` (zorunlu)Uç nokta
PATCH /api/members-leads/workout-booking/club/leads/{club}/flag
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/members-leads/workout-booking/club/leads/{club}/flag \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin geçerli modüllerini alma
Hiyerarşiyi çözümleyerek bir tesis için kullanılabilir tüm modülleri döndürür: tesis tercihleri → marka modülleri → organizasyon modülleri. Sonuçlar performans için Redis'te önbelleğe alınır.
Parametreler
facilityId `string` (zorunlu) Modülleri çözümlenecek tesisin kimliğiUç nokta
GET /api/facilities/{facilityId}/modules
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/modules \
-H "x-api-key: YOUR_API_KEY"
Yanıt
[]
Modül kataloğunu ve yan menü görüntüleme yapılandırmasını döndürür. Ön yüz görüntüleyicisinin görünürlüğe kullanıcı bazında karar verebilmesi için tam modül listesi döndürülür; ACL yine de `auth.checkModuleAccess()` ile sunucu tarafında uygulanır.
Uç nokta
GET /api/modules
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/modules \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirim kategorilerini alır.
Uç nokta
GET /api/notification/categories
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/notification/categories \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Okunmuş bildirimi siler.
Uç nokta
DELETE /api/club/notification/consumed/:club
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/club/notification/consumed/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirim mesajı oluşturur.
Uç nokta
POST /api/club/notification/consumed/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/club/notification/consumed/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Okunmuş bildirimlerin dizisini döndürür.
Uç nokta
GET /api/club/notification/consumed/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/notification/consumed/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bildirim mesajını siler.
Uç nokta
DELETE /api/club/notification/messages/:club
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bildirim mesajlarının dizisini döndürür.
Uç nokta
GET /api/club/notification/messages/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirim mesajını günceller.
Uç nokta
PATCH /api/club/notification/messages/:club
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirim mesajı oluşturur.
Parametreler
body `string` (zorunlu)Uç nokta
POST /api/club/notification/messages/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/club/notification/messages/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirimi görüntüleyenleri tesise göre alır.
Uç nokta
POST /api/club/notification/viewers/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/club/notification/viewers/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirim kategorilerini kullanıcıya göre alır.
Uç nokta
GET /api/club/notification/user-categories/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/notification/user-categories/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
bildirim mesajı oluşturur.
Uç nokta
POST /api/notification/webhook
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/notification/webhook \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
HTML5 anlık bildirimleri için VAPID genel anahtarını alma
Tarayıcı anlık bildirim abonelikleri oluşturmak için kullanılan VAPID genel anahtarını döndürür.
Uç nokta
GET /html5-push/vapid-public-key
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/html5-push/vapid-public-key \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
HTML5 anlık bildirim aboneliğini kaydetme veya güncelleme
Geçerli kullanıcı için bir tarayıcı anlık bildirim aboneliğini kalıcı olarak kaydeder.
İstek Gövdesi
Uç nokta
POST /html5-push/subscribe
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/html5-push/subscribe \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
HTML5 anlık bildirim aboneliğini silme
Geçerli kullanıcı için bir tarayıcı anlık bildirim aboneliğini kaldırır.
İstek Gövdesi
Uç nokta
POST /html5-push/unsubscribe
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/html5-push/unsubscribe \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Çağıran kullanıcı için konum başlangıç durumunu alma
Bir tesisin iki başlangıç bölümünü döndürür: kurulum (ayrıntılar + ürün seçimleri, tesis tercihlerinde saklanır) ve ödeme (SaaS faturalandırma ödeme ayarları kaydından canlı olarak türetilir); ayrıca uygulama kabuğunun erişimi sınırlamak için kullandığı, çağırana özel bir `required` bayrağı döndürür. Yalnızca teknoloji yığını konumları için geçerlidir; iş yığını konumları her zaman required=false döndürür.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/onboarding/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için devam eden başlangıç sihirbazı ilerlemesini kaydetme
Kısmi sihirbaz durumunu (ürün seçimleri, "Other" serbest metni, gözden geçirilmiş işletme ayrıntıları, geçerli adım) kalıcı olarak kaydeder; böylece yenileme/yarıda bırakma sonrasında kullanıcı kaldığı yerden devam eder. Hiçbir zaman tamamlanma işareti koymaz; bkz. complete uç noktası.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/onboarding/{facilityId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/onboarding/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Başlangıç sihirbazı için yapay zeka ön doldurma önerileri oluşturma
Mevcut tesis/marka/organizasyon bağlamını kullanarak tesis ayrıntıları (tanıtım metni, düzenlenmiş iletişim alanları), önerilen ürün seçimleri ve kısa kişiselleştirilmiş ipuçları önerir. Sonuçlar Redis'te 7 gün önbelleğe alınır. Öneriler yalnızca tavsiye niteliğindedir; istemci bunları düzenlenebilir bir inceleme formunda gösterir. Her zaman 200 döndürür; yapay zeka kullanılamadığında `suggestions` null olur ve sihirbaz sorunsuz çalışmaya devam eder.
Parametreler
facilityId `string` (zorunlu)Uç nokta
POST /api/onboarding/{facilityId}/ai-prefill
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/onboarding/{facilityId}/ai-prefill \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Konum başlangıcının kurulum bölümünü tamamlama
Onaylanan seçimleri/ayrıntıları doğrular, işletme ayrıntılarını tesis kaydına kalıcı olarak kaydeder, ürün seçimlerinden tesis teknoloji menüsü düzenini oluşturur (özelleştirilmiş bir düzen zaten yoksa) ve kurulumun tamamlandığını işaretler. Ödeme bölümü burada bilerek tamamlanamaz; SaaS faturalandırma ödeme ayarları kaydından canlı olarak türetilir, bu nedenle zorunlu kart gereksinimi bu uç nokta çağrılarak atlanamaz. Yenilenmiş durumu döndürür.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/onboarding/{facilityId}/complete
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/onboarding/{facilityId}/complete \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesis için tanımlanmış bir iş ortağı entegrasyonu işlemini tetikleme
İş ortağı kaydında (ph-partners.actions[]) tanımlanmış bir "Run integration" işlemini bir tesis kapsamında çalıştırır. Redis tek uçuş kilidi, aynı işlem+tesis için eşzamanlı manuel çalıştırmaları engeller.
Parametreler
partnerId `string` (zorunlu) actionId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/partners/{partnerId}/actions/{actionId}/run
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/partners/{partnerId}/actions/{actionId}/run \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Bir iş ortağı entegrasyonu işleminin çalışma durumunu okuma
Ayarlar düğmesinin yoklaması için, şu anda bir manuel çalıştırmanın sürüp sürmediğini (tek uçuş kilidi tutuluyor) ve son istenen çalıştırmayı döndürür.
Parametreler
partnerId `string` (zorunlu) actionId `string` (zorunlu) facilityId `string` (zorunlu)Uç nokta
GET /api/partners/{partnerId}/actions/{actionId}/status
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/partners/{partnerId}/actions/{actionId}/status \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir markanın tüm iş ortağı yapılandırmalarını alma
Parametreler
brandId `string` (zorunlu) Marka kimliğiUç nokta
GET /api/partners/brand-config/{brandId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/partners/brand-config/{brandId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
[]
Bir marka iş ortağı yapılandırması oluşturma veya güncelleme
Parametreler
body `object` (zorunlu)Uç nokta
PUT /api/partners/brand-config
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/partners/brand-config \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
GymMaster entegrasyon verilerini facility-partner-config'e taşıma
gymMasterAPI ve gymMasterDomain alanlarına sahip tüm tesisleri sorgular ve karşılık gelen facility-partner-config kayıtlarını oluşturur/günceller. Bu tek seferlik bir taşıma uç noktasıdır.
Parametreler
partnerId `string` (zorunlu) Taşınan tüm kayıtlar için kullanılacak GymMaster iş ortağı kimliği dryRun `boolean` (isteğe bağlı) true ise, veritabanına yazmadan yalnızca nelerin taşınacağını bildirirUç nokta
GET /api/partners/migrate-gymmaster
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/partners/migrate-gymmaster \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyon için iş ortağını etkinleştirir.
Parametreler
partnerId `string` (zorunlu) İş ortağının kimliğiUç nokta
POST /api/partners/organisation/enable
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/partners/organisation/enable \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Organizasyon iş ortaklarını listeler. Organizasyon yöneticileri yalnızca kendi organizasyonlarının iş ortaklarını görür.
Uç nokta
GET /api/partners/organisation
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/partners/organisation \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir organizasyon iş ortağını kaldırır.
Parametreler
keyId `string` (zorunlu) Organizasyon iş ortağının anahtar kimliği organisationId `string` (zorunlu) İş ortağının organizasyon kimliğiUç nokta
DELETE /api/partners/organisation/{keyId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/partners/organisation/{keyId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Organizasyon iş ortağının erişim modunu ve modüllerini günceller.
Parametreler
keyId `string` (zorunlu) Organizasyon iş ortağının anahtar kimliği organisationId `string` (zorunlu) İş ortağının organizasyon kimliği partnerId `string` (zorunlu) İş ortağı kimliği accessMode `string` (zorunlu) İş ortağının erişim modu modules `string` (isteğe bağlı) LIMITED erişim modu için modül listesiUç nokta
PUT /api/partners/organisation/update-access
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/partners/organisation/update-access \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için giriş kayıtları oluşturma
Bir giriş nesneleri dizisini kabul eder ve işlenmek üzere Partner API'ye iletir. İstek başına en fazla 25 giriş kaydı.
İstek Gövdesi
Uç nokta
POST /api/partners/check-ins
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/partners/check-ins \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin iş ortağı yapılandırmasını silme
Bir tesisteki iş ortağı entegrasyonunun yapılandırmasını kaldırır
Parametreler
facilityId `string` (zorunlu) Tesis kimliği (club ID) partnerId `string` (zorunlu) İş ortağı kimliğiUç nokta
DELETE /api/partners/facility-config/{facilityId}/{partnerId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/partners/facility-config/{facilityId}/{partnerId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin tüm iş ortağı yapılandırmalarını listeleme
Belirtilen tesis için yapılandırılmış tüm iş ortağı entegrasyonlarını döndürür
Parametreler
facilityId `string` (zorunlu) Tesis kimliği (club ID)Uç nokta
GET /api/partners/facility-config/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/partners/facility-config/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için iş ortağı yapılandırması oluşturma veya güncelleme
Bir tesisteki iş ortağı entegrasyonunun yapılandırmasını ekler veya günceller
İstek Gövdesi
Uç nokta
POST /api/partners/facility-config
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/partners/facility-config \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
memberId ile bir üyeyi silme
memberId kullanarak mevcut bir üye kaydını siler.
Parametreler
memberId `string` (zorunlu) Üye için benzersiz tanımlayıcıUç nokta
DELETE /api/partners/members/{memberId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/partners/members/{memberId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
memberId ile bir üyeyi güncelleme
memberId kullanarak mevcut bir üye kaydını günceller.
Parametreler
memberId `string` (zorunlu) Üye için benzersiz tanımlayıcıİstek Gövdesi
Uç nokta
PUT /api/partners/members/{memberId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/partners/members/{memberId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir üye eşitleme işleminin durumunu alma
POST /api/partners/members veya DELETE /api/partners/members/{memberId} ile başlatılan eşzamansız bir üye oluşturma/silme işleminin geçerli durumunu döndürür. Ön yüz, eski liste yoklama + ad eşleştirme akışının yerine bu uç noktayı yoklar. NOT Satır düzeyinde partnerId/facilityId kapsamlandırması çok kiracılı yalıtım kuralları gereği zorunludur ancak bir Phase 3a.1 güçlendirme PR'ına ertelenmiştir; operationIds 128 bit UUID'lerdir ve rota zaten `external-integrations` modül erişimiyle sınırlandırılmıştır. Geçerli bir operationId ve yönetici modül erişimi olan herkes durumunu sorgulayabilir.
Parametreler
operationId `string` (zorunlu) POST/DELETE işleminden döndürülen UUIDUç nokta
GET /api/partners/members/operations/{operationId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/partners/members/operations/{operationId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için üye oluşturma veya güncelleme
Bir üye nesneleri dizisini kabul eder ve işlenmek üzere Partner API'ye iletir. İstek başına en fazla 25 üye.
İstek Gövdesi
Uç nokta
POST /api/partners/members
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/partners/members \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesis için üyelik planları oluşturma veya güncelleme
Bir üyelik planı nesneleri dizisini kabul eder ve işlenmek üzere Partner API'ye iletir. İstek başına en fazla 25 üyelik planı.
İstek Gövdesi
Uç nokta
POST /api/partners/membership-plans
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/partners/membership-plans \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Yeni bir rol oluşturur
Parametreler
body `string` (zorunlu) Rol nesnesiUç nokta
POST /api/roles
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/roles \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm rollerin listesini döndürür
Uç nokta
GET /api/roles
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/roles \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir rolü kimliğe göre siler
Uç nokta
DELETE /api/roles/{roleId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/roles/{roleId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir rolü kimliğe göre günceller
Parametreler
body `string` (zorunlu) Rol nesnesiUç nokta
PUT /api/roles/{roleId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/roles/{roleId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
SaaS faturalandırma faturası için yeni bir ek kalem oluşturma
Parametreler
organisationId `string` (isteğe bağlı) Ek kalemin oluşturulacağı organizasyon kimliği body `string` (isteğe bağlı) İsteğin gövdesiUç nokta
POST /api/saas-billing/additional-line-items
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/saas-billing/additional-line-items \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
SaaS faturalandırma faturasının ek kalemlerinin listesini döndürür
Parametreler
organisationId `string` (zorunlu) Organizasyon kimliğiUç nokta
GET /api/saas-billing/additional-line-items
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/additional-line-items \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin SaaS faturalandırma faturasının ek kalemlerinin listesini döndürür
Uç nokta
GET /api/clubs/{clubId}/saas-billing/additional-line-items
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubId}/saas-billing/additional-line-items \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
SaaS faturalandırma faturasındaki bir ek kalemi günceller
Parametreler
itemId `string` (zorunlu) Güncellenecek ek kalemin kimliği body `string` (zorunlu) İsteğin gövdesiUç nokta
PUT /api/saas-billing/additional-line-items/{itemId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/saas-billing/additional-line-items/{itemId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Your Rates için birleşik Cloud Agent saatlik ücretleri
Sunulan Cloud Agent boyutlarını tek bir birleşik saatlik fiyatla (barındırma + yazılım) döndürür. Ayrıntılı dağılım dahil değildir. usedPlans, bu tesisin son 30 günde çalıştırdığı SKU'lardır.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/cloud-agent-rates
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/cloud-agent-rates \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İçe aktarılan aylık raporu silme
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği reportId `string` (isteğe bağlı) Rapor kimliğiUç nokta
DELETE /api/saas-billing/extended-access/monthly-usage-report/{reportId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{reportId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin en son güvenlik kamerası depolama raporunu alma
Saklanan faturalandırma kayıtlarından (son 31 güne kadar) tesisin en son günlük güvenlik kamerası depolama anlık görüntüsünü döndürür. totalStorage, date ve depolamayla ilgili ücretleri içerir.
Parametreler
club `string` (zorunlu) Kulüp kimliğiUç nokta
GET /api/saas-billing/extended-access/latest-cctv-storage-report/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/latest-cctv-storage-report/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirtilen dönem için tesisin PDF faturasını döndürür.
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği month `string` (isteğe bağlı) raporun ayı, sayı biçiminde. 1 = Ocak, 2 = Şubat vb. year `string` (isteğe bağlı) raporun yılı, sayı biçiminde. ör. 2021Uç nokta
GET /api/saas-billing/extended-access/monthly-usage-report/:club/invoice
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/:club/invoice \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Seçilen kullanım aylarına ait platform faturası PDF'lerinin ZIP olarak paketi. Tekli .../invoice uç noktasının toplu karşılığıdır; Billing & Cost Management uygulamasının Invoices & Receipts sekmesindeki çoklu seçimli indirmeyi destekler.
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği months `string` (isteğe bağlı) YYYY-MM biçiminde, virgülle ayrılmış kullanım/rapor ayları (en fazla 24)Uç nokta
GET /api/saas-billing/extended-access/monthly-usage-report/{club}/invoices.zip
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{club}/invoices.zip \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Birden fazla kullanım ayının aylık kullanım raporlarını tek bir çağrıda döndürür. Billing & Cost Management uygulamasındaki Cost History grafiğini ve aydan aya farkları destekler. Henüz kullanımı olmayan aylar report: null döndürür (tek ay uç noktasının 404 → $0 arayüz davranışıyla uyumlu).
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği months `string` (isteğe bağlı) YYYY-MM biçiminde, virgülle ayrılmış kullanım ayları (en fazla 12)Uç nokta
GET /api/saas-billing/extended-access/monthly-usage-report/{club}/batch
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{club}/batch \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis için aylık raporları içe aktarır.
Parametreler
club `string` (isteğe bağlı) Kulüp kimliğiUç nokta
PUT /api/saas-billing/extended-access/usage-report/:club
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/saas-billing/extended-access/usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm tesisler için son 30 günün güvenlik kamerası kullanımına ilişkin bir CSV raporu döndürür.
Uç nokta
GET /api/saas-billing/extended-access/usage-report/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin ilgili aydaki tüm günlük raporlarını listeler.
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği month `string` (isteğe bağlı) raporun ayı, sayı biçiminde. 1 = Ocak, 2 = Şubat vb. year `string` (isteğe bağlı) raporun yılı, sayı biçiminde. ör. 2021Uç nokta
GET /api/saas-billing/extended-access/monthly-usage-report/{club}/daily-reports
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/{club}/daily-reports \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yönetici için içe aktarılmış aylık raporların listesini döndürür
Parametreler
organisationId `string` (zorunlu) Organizasyon kimliğiUç nokta
GET /api/saas-billing/extended-access/usage-report/imported
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/usage-report/imported \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm tesisler için son 30 günün güvenlik kamerası kullanımına ilişkin bir CSV raporu döndürür.
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği month `string` (isteğe bağlı) raporun ayı, sayı biçiminde. 1 = Ocak, 2 = Şubat vb. year `string` (isteğe bağlı) raporun yılı, sayı biçiminde. ör. 2021Uç nokta
GET /api/saas-billing/extended-access/monthly-usage-report/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/monthly-usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin dönemsel kullanım raporunu döndürür.
Parametreler
club `string` (isteğe bağlı) Kulüp kimliği periodStart `string` (isteğe bağlı) Dönemin başlangıcı, YYYY-MM-DD biçiminde periodEnd `string` (isteğe bağlı) Dönemin sonu, YYYY-MM-DD biçimindeUç nokta
GET /api/saas-billing/extended-access/periodical-usage-report/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/extended-access/periodical-usage-report/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Farklı belge türlerini bir arada içeren tek bir ZIP halinde faturalandırma belgesi PDF'leri paketi: platform faturaları (kullanım ayına göre), SaaS cüzdanı yükleme makbuzları ve Model Router yükleme makbuzları. Birleştirilmiş Invoices & Receipts sekmesi için tür bazlı invoices.zip / receipts.zip uç noktalarının toplu karşılığıdır. İstenen her ay/kimlik, tesisin sahip olduğu bir belgeye karşılık gelmelidir; hatalı tek bir değer tüm paketin başarısız olmasına neden olur.
Parametreler
clubID `string` (zorunlu) invoiceMonths `string` (isteğe bağlı) YYYY-MM biçiminde, virgülle ayrılmış kullanım ayları walletIds `string` (isteğe bağlı) Virgülle ayrılmış SaaS cüzdanı yükleme işlem kimlikleri aiIds `string` (isteğe bağlı) Virgülle ayrılmış Model Router yükleme işlem kimlikleriUç nokta
GET /api/clubs/{clubID}/saas-billing/documents.zip
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/documents.zip \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Aylık bir kayda not ekleme
Parametreler
recordID `string` (isteğe bağlı) Alınacak kaydın kimliği note `string` (isteğe bağlı) Kayda eklenecek notUç nokta
POST /api/saas-billing/monthly-records/{recordID}/notes
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/saas-billing/monthly-records/{recordID}/notes \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
SaaS faturalandırma aylık kayıtlarının listesini döndürür
Parametreler
club `string` (isteğe bağlı) Alınacak tesisin kimliği month `string` (isteğe bağlı) YYYY-MM biçiminde faturalandırma ayıUç nokta
GET /api/saas-billing/monthly-records/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/monthly-records/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Başarısız olan veya 3D Secure gerektiren SaaS faturalandırma aylık kayıtlarının listesini döndürür
Parametreler
clubID `string` (isteğe bağlı) Başarısız aylık kayıtları alınacak tesisin kimliğiUç nokta
GET /api/clubs/:clubID/saas-billing/flagged
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/:clubID/saas-billing/flagged \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin TÜM SaaS faturalandırma aylık kayıtlarını (fatura defteri) en yeni faturalandırma ayından başlayarak döndürür. Yalnızca yöneticilere açık paginate-monthly-records uç noktasının tesis kapsamlı karşılığıdır; Billing & Cost Management uygulamasındaki müşteriye yönelik "Invoices & Receipts" sekmesini destekler.
Parametreler
clubID `string` (isteğe bağlı) Aylık kayıtları listelenecek tesisin kimliğiUç nokta
GET /api/clubs/{clubID}/saas-billing/monthly-records
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/monthly-records \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
SaaS faturalandırma aylık kayıtlarının listesini döndürür
Parametreler
organisationId `string` (isteğe bağlı) Organizasyon kimliği month `string` (isteğe bağlı) MM biçiminde ay. year `string` (isteğe bağlı) YYYY biçiminde yıl. filters `string` (isteğe bağlı) Veri tablosunun oluşturduğu sorgu dizesi filtreleri. order `string` (isteğe bağlı) Veri tablosunun oluşturduğu sorgu dizesi.Uç nokta
GET /api/saas-billing/monthly-records
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/monthly-records \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin başarısız ödemelerini yeniden deneme
Parametreler
clubID `string` (isteğe bağlı) Başarısız aylık kayıtları alınacak tesisin kimliğiUç nokta
PUT /api/clubs/:clubID/saas-billing/retry-failed-payments
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/:clubID/saas-billing/retry-failed-payments \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Aylık bir kaydı güncelleme
Parametreler
recordID `string` (isteğe bağlı) Alınacak kaydın kimliği status `string` (isteğe bağlı) Kaydın güncelleneceği durumUç nokta
PUT /api/saas-billing/monthly-records/{recordID}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/saas-billing/monthly-records/{recordID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ödemelerin başarılı olup olmadığını denetler ve kaydın durumunu günceller
Parametreler
clubID `string` (isteğe bağlı) recordID `string` (isteğe bağlı) Alınacak kaydın kimliğiUç nokta
PUT /api/clubs/{clubID}/saas-billing/monthly-records/{recordID}/validate
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/monthly-records/{recordID}/validate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesis için ödeme yöntemi ekler.
Parametreler
clubID `string` (isteğe bağlı)Uç nokta
POST /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin ödeme yöntemlerini Stripe ile eşitler.
Parametreler
clubID `string` (isteğe bağlı)Uç nokta
PUT /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin harcama bütçesini ve hesaplanmış ay başından bugüne/tahmin değerlerini döndürür.
Parametreler
clubID `string` (isteğe bağlı)Uç nokta
GET /api/clubs/{clubID}/saas-billing/budget
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/budget \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis harcama bütçesini oluşturur/günceller/temizler.
Parametreler
clubID `string` (isteğe bağlı) body `object` (isteğe bağlı)Uç nokta
PUT /api/clubs/{clubID}/saas-billing/budget
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/budget \
-H "x-api-key: YOUR_API_KEY"
Tesisin ödeme ayarlarından bir ödeme yöntemini siler.
Parametreler
clubID `string` (isteğe bağlı) paymentMethodID `string` (isteğe bağlı)Uç nokta
DELETE /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin ödeme ayarlarını alır.
Parametreler
clubID `string` (isteğe bağlı)Uç nokta
GET /api/clubs/{clubID}/saas-billing/payment-settings
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin ödeme ayarlarını günceller.
Parametreler
clubID `string` (isteğe bağlı) lockedOut `boolean` (isteğe bağlı) Tesisin sisteme erişiminin kilitlenip kilitlenmeyeceği. pauseBilling `boolean` (isteğe bağlı) Tesisin otomatik faturalandırmasının duraklatılıp duraklatılmayacağı. customerID `string` (isteğe bağlı) Bu değer eklendiğinde tesisin Stripe müşteri kimliği güncellenir. deleteSourceID `string` (isteğe bağlı) Kaynak müşterinin Stripe'tan silinip silinmeyeceği.Uç nokta
PUT /api/clubs/{clubID}/saas-billing/payment-settings
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tüm tesisler için faturalandırılan en erken ayı alır.
Parametreler
clubID `string` (isteğe bağlı)Uç nokta
GET /api/saas-billing/payment-settings/earliest-billed-month
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/payment-settings/earliest-billed-month \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin faturalandırma kilidini kaldırabilecek hesapları kademeli olarak listeler: önce faturalandırma modülüne sahip kullanıcılar, hiç kimse yoksa yedek olarak yalnızca organizasyon yöneticileri.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/lockout-contacts
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/lockout-contacts \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Sistemdeki tüm tesisler arasında sayfalayarak her tesisin müşteri kimliklerini döndürür.
Parametreler
clubID `string` (isteğe bağlı) organisationId `string` (isteğe bağlı) Organizasyon kimliğiUç nokta
GET /api/saas-billing/payment-settings/customer-ids
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/payment-settings/customer-ids \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin birincil ödeme yöntemini ayarlar.
Parametreler
clubID `string` (isteğe bağlı)Uç nokta
PUT /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID}/primary
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{paymentMethodID}/primary \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin faturalandırma profilini günceller.
Parametreler
clubID `string` (isteğe bağlı) invoiceEntity `string` (isteğe bağlı) billingContacts `string` (isteğe bağlı) KYC kişilerinin UUID listesi ccEmails `string` (isteğe bağlı) Faturalarda bilgi olarak eklenecek e-posta adreslerinin listesiUç nokta
PUT /api/clubs/{clubID}/saas-billing/payment-settings/billing-profile
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/billing-profile \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin ödeme yöntemini günceller.
Parametreler
clubID `string` (isteğe bağlı) cardID `string` (isteğe bağlı)Uç nokta
PUT /api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{cardID}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/payment-settings/payment-methods/{cardID} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
CSV dışa aktarımı için geçerli tüm ürün ücretlerinin ve ek kalemlerin tesis bazında dökümünü döndürür. Kullanıcının erişebildiği her tesis için genel/bölge/tesis geçersiz kılma hiyerarşisini çözümler.
Parametreler
organisationId `string` (zorunlu) ACL için organizasyon kimliğiUç nokta
GET /api/saas-billing/charges-config/export
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/charges-config/export \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Belirli bir hedefin ücret yapılandırmasını döndürür
Parametreler
clubId `string` (isteğe bağlı) Ücret yapılandırması alınacak tesisin kimliğiUç nokta
GET /api/saas-billing/charges-config/{clubId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/saas-billing/charges-config/{clubId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisin organizasyonu için organizasyon faturalandırma özeti: geçerli ödeyici kapsamı, zamanlanmış herhangi bir birleştirme değişikliği ve çağıranın birleştirme anahtarını yönetip yönetemeyeceği.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/org/summary
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/org/summary \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis bazında dökümle birlikte birleştirilmiş organizasyon aylık kayıtları (ekstreler), en yeniden eskiye. Organizasyonun ilk birleştirilmiş ayı kesinleşene kadar boştur.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/org/monthly-records
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/org/monthly-records \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ön ödemeli cüzdan özeti: bakiye, ay başından bugüne kullanım borçları, otomatik yükleme yapılandırması, faturalandırma yöntemi.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/wallet
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Cüzdan defteri, en yeniden eskiye. Organizasyon kapsamlı cüzdanlar tüm tesislerin satırlarını içerir (her satır kaynak clubID değerini taşır).
Parametreler
clubID `string` (zorunlu) limit `string` (isteğe bağlı) types `string` (isteğe bağlı) virgülle ayrılmış işlem türleri from `string` (isteğe bağlı) to `string` (isteğe bağlı) cursor `string` (isteğe bağlı) Önceki sayfadan alınan nextCursorUç nokta
GET /api/clubs/{clubID}/saas-billing/wallet/transactions
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/transactions \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tek bir cüzdan işlemi (yüklemeler ve krediler) için markalı PDF makbuzu.
Parametreler
clubID `string` (zorunlu) txId `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/wallet/transactions/{txId}/receipt.pdf
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/transactions/{txId}/receipt.pdf \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Seçilen cüzdan yükleme işlemlerine ait markalı PDF makbuzlarının ZIP olarak paketi. Her kimlik, bu tesisin cüzdanına ait bir yükleme (kart veya fatura) olmalıdır; kullanım borçları ve düzeltmelerin makbuzu yoktur ve reddedilir.
Parametreler
clubID `string` (zorunlu) ids `string` (zorunlu) Virgülle ayrılmış işlem kimlikleri (en fazla 50)Uç nokta
GET /api/clubs/{clubID}/saas-billing/wallet/transactions/receipts.zip
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/transactions/receipts.zip \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Ön ödemeli bakiye eklemek için kayıtlı bir SaaS faturalandırma kartından ödeme alır. 3DS gerektiğinde requires_action + clientSecret döndürür.
Parametreler
clubID `string` (zorunlu) body `object` (isteğe bağlı)Uç nokta
POST /api/clubs/{clubID}/saas-billing/wallet/topup
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/topup \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Uygulama 3DS kimlik doğrulamasını tamamladıktan sonra bir cüzdan yüklemesini sonuçlandırır. İdempotenttir.
Parametreler
clubID `string` (zorunlu)Uç nokta
POST /api/clubs/{clubID}/saas-billing/wallet/topup/confirm
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/topup/confirm \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin otomatik yükleme kuralını günceller (faturalandırma profili geçersiz kılma satırında saklanır).
Parametreler
clubID `string` (zorunlu) body `object` (isteğe bağlı)Uç nokta
PATCH /api/clubs/{clubID}/saas-billing/wallet/auto-topup
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/auto-topup \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisin cüzdanı için yükleme faturaları (fatura ödeme yöntemi), en yeniden eskiye.
Parametreler
clubID `string` (zorunlu)Uç nokta
GET /api/clubs/{clubID}/saas-billing/wallet/invoices
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/invoices \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Referansla ödenecek bir yükleme faturası ister (yalnızca fatura ödeme yöntemi). Cüzdan başına en fazla bir bekleyen fatura olabilir; ikinci bir istek mevcut faturayı alreadyPending=true ile döndürür.
Parametreler
clubID `string` (zorunlu) body `string` (isteğe bağlı) { amountCents: number }Uç nokta
POST /api/clubs/{clubID}/saas-billing/wallet/topup-invoice
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/clubs/{clubID}/saas-billing/wallet/topup-invoice \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin siparişlerinin listesini döndürür.
Parametreler
facilityID `string` (isteğe bağlı)Uç nokta
GET /api/store/facilities/:facilityID/orders
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/store/facilities/:facilityID/orders \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis için kullanılabilir ürünlerin listesini döndürür.
Parametreler
clubID `string` (zorunlu) search `string` (isteğe bağlı) limit `string` (isteğe bağlı) page `string` (isteğe bağlı) Sayfalama için sayfa numarası (1'den başlar).Uç nokta
GET /api/store/clubs/{clubID}/products
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/store/clubs/{clubID}/products \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin Stripe kayıtlarını listeler.
Parametreler
club `string` (zorunlu) fromDate `string` (isteğe bağlı) Unix zaman damgası toDate `string` (isteğe bağlı) Unix zaman damgası socketID `string` (zorunlu) Soket isteği için benzersiz tanımlayıcıUç nokta
GET /api/club/{club}/stripe/records
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/records \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir ödeme amacını iptal etme
Parametreler
club `string` (zorunlu) paymentIntent `string` (isteğe bağlı)Uç nokta
GET /api/club/{club}/stripe/payment-intent/:paymentIntent/cancel
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/payment-intent/:paymentIntent/cancel \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Gömülü bileşenler için Stripe Account Session oluşturma
Bağlı bir hesap için Stripe Account Session oluşturur. Connect gömülü bileşenlerini (itirazlar, ödemeler, hesap yönetimi, belgeler) başlatmak için kullanılan bir client_secret döndürür.
İstek Gövdesi
Uç nokta
POST /api/stripe/account-session
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/stripe/account-session \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bağlı bir hesap için Stripe KYC sayfasına tek kullanımlık bir bağlantı oluşturur.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/club/{club}/stripe/generate-kyc-token
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/generate-kyc-token \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
KYC sürecinin bir parçası olarak Stripe bağlı hesabının hesap ayrıntılarını alır.
Parametreler
club `string` (zorunlu)Uç nokta
GET /api/club/{club}/stripe/connect-account-details
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/club/{club}/stripe/connect-account-details \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis kimliğine göre tüm destek talebi geçmişini döndürür
Parametreler
club `string` (zorunlu) Erişmek istediğiniz kulübün dahili kimliği.Uç nokta
GET /api/ticketing/clubtickets/{club}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/clubtickets/{club} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Departmanları alır
Uç nokta
GET /api/ticketing/departments
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/departments \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tek bir destek talebinin ayrıntılarını alır
Parametreler
user `string` (zorunlu) kullanıcının e-posta adresi. ticketNumber `string` (zorunlu) Erişmek istediğiniz destek talebinin 6 haneli kimliği. club `string` (zorunlu) seçilen tesis kimliği.Uç nokta
GET /api/ticketing/ticket-details/:ticketNumber/:club
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/ticket-details/:ticketNumber/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Konuları alır
Uç nokta
GET /api/ticketing/topics
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/topics \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Geçerli oturum açmış kullanıcının oluşturduğu tüm destek taleplerini alır. Not: Bu değer, Google SSO hizmetimizin sağladığı başlıklardan ayarlanır.
Parametreler
user `string` (zorunlu) Şu anda oturum açmış kullanıcının e-posta adresiUç nokta
GET /api/ticketing/usertickets
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/ticketing/usertickets \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yeni bir destek talebi oluşturur
Parametreler
club `string` (zorunlu) seçilen tesis kimliği.Uç nokta
POST /api/ticketing/clubticket/:club
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ticketing/clubticket/:club \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Yeni bir destek talebi oluşturur
Parametreler
subject `string` (zorunlu) Destek talebinin konusu. message `string` (zorunlu) Destek talebinin tam mesajı.Uç nokta
POST /api/ticketing/userticket
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ticketing/userticket \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Mevcut bir destek talebine yanıt oluşturur
Parametreler
subject `string` (zorunlu) Destek talebinin konusu. message `string` (zorunlu) Destek talebinin tam mesajı.Uç nokta
POST /api/ticketing/user-reply
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/ticketing/user-reply \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcının tercihlerini alır
Uç nokta
GET /api/user-preferences
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/user-preferences \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir kullanıcının tercihlerini günceller
Parametreler
body `string` (zorunlu)Uç nokta
PUT /api/user-preferences
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/user-preferences \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcı parolasını değiştirme
Kullanıcının parolasını değiştirir. Kullanıcının telefon numarası varsa OTP doğrulaması, yoksa telefon numarası eklenmesi gerekir.
İstek Gövdesi
Uç nokta
POST /api/user/change-password
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/change-password \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Kullanıcının 2FA durumunu denetleme
Kullanıcı için 2FA'nın etkin olup olmadığını ve rollerinden herhangi birinin 2FA'yı zorunlu kılıp kılmadığını döndürür
Uç nokta
GET /api/user/check-2fa-status
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/user/check-2fa-status \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcının belirli bir modül için erişebildiği organizasyonları, tesisleri ve bölgeleri listeler.
Parametreler
moduleId `string` (zorunlu)Uç nokta
POST /api/user/me/modules/{moduleId}/org-access
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/me/modules/{moduleId}/org-access \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir son kullanıcıdan, bir tesise 'Katılma' isteğinde bulunan bir 'Bağlantı İsteği' oluşturur.
Parametreler
body `string` (zorunlu) Sisteme eklenecek yeni kulübün JSON nesnesi.Uç nokta
POST /api/user/linkclub
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/linkclub \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kullanıcıya yetkilendirilmiş tüm tesisleri listeler.
Uç nokta
GET /api/user/listauthorised
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/user/listauthorised \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Çift kanallı OTP gönderme (e-posta + SMS)
OTP kodlarını hem kullanıcının e-posta adresine hem de belirtilen bir telefon numarasına gönderir. Telefon numarasının ilk kez doğrulanması gibi yüksek güvenlikli işlemler için kullanılır. Bu uç nokta yalnızca OTP gönderir ve hiçbir kullanıcı verisini değiştirmez.
İstek Gövdesi
Uç nokta
POST /api/user/send-dual-otp
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/send-dual-otp \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Telefon numarasına veya e-postaya OTP gönderme
Doğrulama için kullanıcının telefon numarasına (SMS) veya e-posta adresine bir OTP kodu gönderir
İstek Gövdesi
Uç nokta
POST /api/user/send-otp
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/send-otp \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Kullanıcının geçerli hassas sayfa erişimi olup olmadığını denetleme
Kullanıcının hassas sayfalara erişim için OTP ile doğrulanmış geçerli bir oturumu olup olmadığını döndürür
Uç nokta
GET /api/user/sensitive-page-access
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/user/sensitive-page-access \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
OTP'yi doğrulama ve hassas sayfa erişimi verme
OTP kodunu doğrular ve geçerliyse hassas sayfalara 1 saatlik erişim verir
İstek Gövdesi
Uç nokta
POST /api/user/sensitive-page-access/verify
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/sensitive-page-access/verify \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Hassas sayfa erişimini iptal etme (hassas sayfalardan çıkış)
Kullanıcının geçerli hassas sayfa erişim oturumunu iptal eder
Uç nokta
POST /api/user/sensitive-page-access/revoke
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/sensitive-page-access/revoke \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
2FA'yı etkinleştirme veya devre dışı bırakma
Kullanıcı için iki faktörlü kimlik doğrulamayı etkinleştirir veya devre dışı bırakır. Telefon numarası ve OTP doğrulaması gerektirir.
İstek Gövdesi
Uç nokta
POST /api/user/toggle-2fa
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/user/toggle-2fa \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Kullanıcının kendi profilini güncelleme
Kullanıcının kendi profil bilgilerini (ad, soyad, telefon numarası) güncellemesine olanak tanır. İlk kez telefon numarası eklenirken çift kanallı OTP doğrulaması gerekir (hem e-posta hem SMS kodları). Mevcut bir telefon numarası değiştirilirken yalnızca e-posta OTP'si gerekir.
İstek Gövdesi
Uç nokta
PATCH /api/user/update-profile
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/user/update-profile \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
URL'ye göre bir simge alır.
Uç nokta
GET /api/website-icon
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/website-icon \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Parola kasası girdi şablonlarını listeleme
Parametreler
organisationId `string` (isteğe bağlı) Modül erişim denetimleri için organizasyon bağlamıUç nokta
GET /api/vault/templates
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/vault/templates \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Görünür parola kasası girdilerini listeleme
Parametreler
organisationId `string` (zorunlu) scope `string` (isteğe bağlı)Uç nokta
GET /api/vault/entries
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/vault/entries \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Parola kasası girdisi oluşturma
Uç nokta
POST /api/vault/entries
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/vault/entries \
-H "x-api-key: YOUR_API_KEY"
Gizli değerleri gösterilmeden bir parola kasası girdisini alma
Parametreler
entryId `string` (zorunlu) organisationId `string` (zorunlu)Uç nokta
GET /api/vault/entries/{entryId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/vault/entries/{entryId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir parola kasası girdisini güncelleme
Uç nokta
PUT /api/vault/entries/{entryId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/vault/entries/{entryId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir parola kasası girdisini silme
Uç nokta
DELETE /api/vault/entries/{entryId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/vault/entries/{entryId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Seçilen gizlenmiş veya gizli alanları gösterme
Uç nokta
POST /api/vault/entries/{entryId}/reveal
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/vault/entries/{entryId}/reveal \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Parola kasası klasör özetlerini listeleme
Uç nokta
GET /api/vault/folders
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/vault/folders \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kimlik doğrulayıcı kodları olan girdileri listeleme
Uç nokta
GET /api/vault/authenticator
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/vault/authenticator \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kayıtlı iş akışı düğüm türlerini listeleme
Uç nokta
GET /api/workflow-engine/node-types
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/node-types \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İş akışı bloklarının kullandığı tesis saatleri projeksiyonunu alma
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/facility-hours/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/facility-hours/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis markalı iş akışı e-posta göndericisini önizleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/email-branding/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/email-branding/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tetikleyici yapılandırması için tesis kaynaklarını listeleme
Parametreler
facilityId `string` (zorunlu) resourceType `string` (zorunlu)Uç nokta
GET /api/workflow-engine/resources/{facilityId}/{resourceType}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/resources/{facilityId}/{resourceType} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir tesisin iş akışlarını listeleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/workflows/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Boş olmayan bir grafikten taslak iş akışı oluşturma
Düzenleyici, yeni bir iş akışını en az bir blok içerene kadar yerel olarak tutar; bu nedenle ilk kaydetme, iş akışını grafiğiyle birlikte tek bir çağrıda oluşturur. `nodes` içermeyen bir gövde saklanmak yerine reddedilir.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/workflows/{facilityId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir tesisin iş akışlarının kullanabileceği kimlik bilgilerini listeleme
Tesisin kendi kimlik bilgilerini ve markasında veya organizasyonunda paylaşılanları döndürür. Gizli değerler hiçbir zaman döndürülmez; `hasValue` yalnızca bir değerin saklandığını bildirir.
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/credentials/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
İş akışı kimlik bilgisi oluşturma
Kapsam düzeyi `scopeType` değerinden gelir; marka ve organizasyon kimlikleri çağırandan kabul edilmek yerine tesisten çözümlenir.
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/credentials/{facilityId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Tesis geneli iş akışı ayarları (hata bildirimi alıcıları)
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/facility-settings/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/facility-settings/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesis geneli hata bildirimi alıcılarını kaydetme
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/workflow-engine/facility-settings/{facilityId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/facility-settings/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir iş akışı kimlik bilgisini değiştirme
Boş bir `secret` saklanan değeri korur; böylece bir kimlik bilgisi yeniden girilmeden yeniden adlandırılabilir. Gizli bir değeri geri okumanın hiçbir yolu yoktur.
Parametreler
facilityId `string` (zorunlu) credentialId `string` (zorunlu)Uç nokta
PUT /api/workflow-engine/credentials/{facilityId}/{credentialId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId}/{credentialId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir iş akışı kimlik bilgisini silme
Anlık görüntü yalnızca başvuruyu sakladığından, ona başvuran düğümler bir sonraki çağrıda güvenli şekilde başarısız olur; buna zaten yayımlanmış iş akışları da dahildir.
Parametreler
facilityId `string` (zorunlu) credentialId `string` (zorunlu)Uç nokta
DELETE /api/workflow-engine/credentials/{facilityId}/{credentialId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/workflow-engine/credentials/{facilityId}/{credentialId} \
-H "x-api-key: YOUR_API_KEY"
Bir iş akışı tetikleyicisinin webhook URL'sini alma
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu) nodeId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir iş akışı tetikleyicisinin webhook URL'sini yenileme
Önceki URL'yi hemen geçersiz kılar.
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu) nodeId `string` (zorunlu)Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook/rotate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/nodes/{nodeId}/webhook/rotate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Kimliğe göre bir iş akışını alma
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Taslak iş akışı oluşturma veya güncelleme
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
PUT /api/workflow-engine/workflows/{facilityId}/{workflowId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
İş akışı adını ve/veya açıklamasını güncelleme
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
PATCH /api/workflow-engine/workflows/{facilityId}/{workflowId}
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir iş akışını ve sürümlerini silme
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)Uç nokta
DELETE /api/workflow-engine/workflows/{facilityId}/{workflowId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir iş akışını yeni ve etkin olmayan bir taslak olarak çoğaltma
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/duplicate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/duplicate \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Geçerli taslağı yayımlama (değiştirilemez sürüm anlık görüntüsü)
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/publish
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/publish \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Taslağı son yayımlanan sürüme sıfırlama
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/discard
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/discard \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir iş akışını etkinleştirme veya devre dışı bırakma
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
PATCH /api/workflow-engine/workflows/{facilityId}/{workflowId}/active
Örnek İstek
curl -X PATCH https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/active \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Yapay zeka ile iş akışı grafiği oluşturma veya düzeltme
Parametreler
facilityId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/generate/{facilityId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/generate/{facilityId} \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir Agent düğümünün bu tesis için çalışabileceği modelleri listeleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/agent-models/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-models/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir Agent düğümünün bu tesis için ekleyebileceği MCP araçlarını listeleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/agent-tools/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-tools/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesisin kalıcı olarak saklanan Agent konuşmalarında arama (Conversation key bağlamaları)
Parametreler
facilityId `string` (zorunlu) deviceId `string` (isteğe bağlı) Tek bir Agent cihazının konuşmalarıyla sınırlandırma (düğümün yapılandırılmış deviceId değeri) q `string` (isteğe bağlı) Conversation key, oturum kimliği veya cihaz adında büyük/küçük harfe duyarsız alt dize eşleşmesi limit `integer` (isteğe bağlı) offset `integer` (isteğe bağlı)Uç nokta
GET /api/workflow-engine/agent-conversations/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-conversations/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin Agent cihazının kendisinde tutulan konuşmalarda arama
Bir iş akışının mevcut bir konuşmayı bağlamıyla sürdürebilmesi için cihazın kendi oturumlarını (Agent arayüzü kenar çubuğundaki konuşmalar) listeler. Geçmiş cihaza aittir; tesiste birden fazla cihaz varsa `deviceId` hangisinin kullanılacağını seçer (düğümün yapılandırılmış cihazı). Cihaza erişilemezse → 502.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (isteğe bağlı) Düğümün yapılandırılmış Agent cihazı; tesisin tek cihazını çözümlemek için atlayın q `string` (isteğe bağlı) Oturum başlığında veya kimliğinde büyük/küçük harfe duyarsız alt dize eşleşmesi limit `integer` (isteğe bağlı) offset `integer` (isteğe bağlı)Uç nokta
GET /api/workflow-engine/agent-device-sessions/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/agent-device-sessions/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin Agent cihazı kanbanındaki panolarda arama
Agent: Kanban bloğunun Board ID seçicisini besler. Pano adında veya kısa adında (slug) büyük/küçük harfe duyarsız alt dize eşleşmesi yapar; `current`, görev seçicisinin kapsamını varsayılan olarak belirleyebilmesi için cihazın etkin panosunun kısa adıdır. Tesiste birden fazla cihaz varsa `deviceId` hangisinin kullanılacağını seçer. Cihaza erişilemezse → 502.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (isteğe bağlı) Düğümün yapılandırılmış Agent cihazı; tesisin tek cihazını çözümlemek için atlayın q `string` (isteğe bağlı) Pano adında veya kısa adında (slug) büyük/küçük harfe duyarsız alt dize eşleşmesi limit `integer` (isteğe bağlı) offset `integer` (isteğe bağlı)Uç nokta
GET /api/workflow-engine/kanban-boards/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/kanban-boards/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tesisin Agent cihazı kanbanında tek bir panonun görevlerinde arama
Agent: Kanban bloğunun Task ID seçicisini besler. Görev kimliğinde, başlığında veya gövdesinde büyük/küçük harfe duyarsız alt dize eşleşmesi yapar; görevler pano bazında tutulur (cihazda panolar arası arama yoktur), bu nedenle `board` getirme kapsamını belirler; cihazın etkin panosu için atlayın. Cihaza erişilemezse → 502.
Parametreler
facilityId `string` (zorunlu) deviceId `string` (isteğe bağlı) Düğümün yapılandırılmış Agent cihazı; tesisin tek cihazını çözümlemek için atlayın board `string` (isteğe bağlı) Listelenecek pano kısa adı (slug); cihazın etkin panosu için atlayın q `string` (isteğe bağlı) Görev kimliğinde, başlığında veya gövdesinde büyük/küçük harfe duyarsız alt dize eşleşmesi limit `integer` (isteğe bağlı) offset `integer` (isteğe bağlı)Uç nokta
GET /api/workflow-engine/kanban-tasks/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/kanban-tasks/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bu tesis için filtrelenmiş, seçilmiş iş akışı şablonlarını listeleme
Parametreler
facilityId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/templates/{facilityId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/templates/{facilityId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Açık taslak için bir şablondan grafik parçası oluşturma
Parametreler
facilityId `string` (zorunlu) templateId `string` (zorunlu)Uç nokta
POST /api/workflow-engine/templates/{facilityId}/{templateId}
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/templates/{facilityId}/{templateId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Şablon yönetim sayfası için kapsam seçici bağlamı (yönetici katmanları)
Uç nokta
GET /api/workflow-engine/template-admin/context
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/context \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Çağıranın yönetebileceği şablonları izin bayraklarıyla listeleme
Uç nokta
GET /api/workflow-engine/template-admin
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/template-admin \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Şablon oluşturma (yönetici katmanları)
İstek Gövdesi
Uç nokta
POST /api/workflow-engine/template-admin
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/template-admin \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yönetici düzenleyicisi için grafik dahil şablon ayrıntısı
Uç nokta
GET /api/workflow-engine/template-admin/{templateId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir şablonu değiştirme (sahip organizasyon)
Uç nokta
PUT /api/workflow-engine/template-admin/{templateId}
Örnek İstek
curl -X PUT https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bir şablonu geçici olarak silme (sahip organizasyon)
Uç nokta
DELETE /api/workflow-engine/template-admin/{templateId}
Örnek İstek
curl -X DELETE https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Görünür bir şablonu, çağıranın kullanabileceği bir hedef kapsama çoğaltma
İstek Gövdesi
Uç nokta
POST /api/workflow-engine/template-admin/{templateId}/duplicate
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/template-admin/{templateId}/duplicate \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Bir iş akışının yayımlanmış grafiğini manuel tetikleyiciyle çalıştırma
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/run
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/run \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Kaydedilmiş taslağı yayımlamadan test etme
Geçerli taslak grafiği çalıştırır ve sonucu `mode: test` ile ve `versionId` olmadan kaydeder. Yayımlama, canlı bayrağı ve `publishedVersionId` değerine hiçbir zaman dokunulmaz. Yan etkiler varsayılan olarak simüle edilir; `sideEffects: live` ayrıca `confirmLiveSideEffects: true` gerektirir.
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/test
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/test \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
İzin listesindeki tek bir iş akışı düğümünü test etme
Kaydedilmiş taslaktan bağımsız olarak test edilebilen tek bir düğümü çalıştırır. Değişken değerleri, kaydedilmiş çalıştırma adımlarından sağlanabilir. Veri değiştiren HTTP yöntemleri açık onay gerektirir.
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/test-node
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/test-node \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Bir iş akışının son çalıştırmalarını listeleme
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tek bir çalıştırmayı okuma (durum + sıralı adımlar)
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu) executionId `string` (zorunlu)Uç nokta
GET /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Bekleyen bir çalıştırmanın üzerinde durduğu Delay adımını iptal etme
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu) executionId `string` (zorunlu)Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/cancel
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/cancel \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Tamamlanmış bir çalıştırmayı kaydedilmiş tetikleyici yüküyle yeniden oynatma
`mode: published`, özgün çalıştırmanın sabitlendiği sürümü gerçek yan etkilerle yeniden çalıştırır. `mode: draft-test`, geçerli taslağı simüle edilmiş bir test olarak yeniden çalıştırır. Tetikleyici yükü yazma sırasında kısaltılmış bir çalıştırma yeniden oynatılamaz.
Parametreler
facilityId `string` (zorunlu) workflowId `string` (zorunlu) executionId `string` (zorunlu)İstek Gövdesi
Uç nokta
POST /api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/retry
Örnek İstek
curl -X POST https://portal.hub.gymsystems.co/api/workflow-engine/workflows/{facilityId}/{workflowId}/runs/{executionId}/retry \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Yanıt
{}
Belirli bir düğüm türünü içeren iş akışlarının dizinli araması
Parametreler
nodeType `string` (zorunlu) facilityId `string` (isteğe bağlı) organisationId `string` (isteğe bağlı)Uç nokta
GET /api/workflow-engine/master-view/{nodeType}
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/api/workflow-engine/master-view/{nodeType} \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Beyaz etiketli OAuth yönlendirme proxy'si (Connected Apps)
Bir OAuth sağlayıcısı geri çağrısını, sorgu dizesini koruyarak yukarı akış araç platformunun kimlik doğrulama geri çağrısına ileten, kimlik doğrulaması gerektirmeyen genel bir 302. PH'ye ait OAuth uygulamalarının bir performancehub.co yönlendirme URI'si kaydetmesini sağlar; böylece yukarı akış sağlayıcının alan adı adres çubuğunda hiçbir zaman görünmez (gelecekteki özel OAuth uygulamaları projesi için gereklidir; yönetilen kimlik doğrulamada zararsızdır).
Uç nokta
GET /guest/connected-apps/oauth-callback
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/guest/connected-apps/oauth-callback \
-H "x-api-key: YOUR_API_KEY"
Bağlantı zinciri bitiş sayfası (Connected Apps)
Bir bağlantı zincirinin çalıştığı OAuth sekmesi için hafif "bu pencereyi kapatabilirsiniz" sayfası. Sonucu (bağlanan paket/araç seti + yeni hesap kimlikleri veya başarısız araç seti) aynı kaynaklı window.opener.postMessage ile pazar yeri sekmesine geri gönderir; açan pencereyle bağlantı kopmuşsa uygulama içi sayfayı yeniden oluşturan ph-ai-agent uygulamasına derin bağlantıya geri döner. Yalnızca bilgilendirme amaçlıdır; gizli bilgi tutmaz ve yazma işlemi yapmaz.
Parametreler
connected `string` (isteğe bağlı) Bağlanmayı tamamlayan paket kimliği veya araç seti kısa adı (başarılı durum). accounts `string` (isteğe bağlı) Zincirin oluşturduğu, virgülle ayrılmış bağlı hesap kimlikleri. connectError `string` (isteğe bağlı) Adımı başarısız olan araç setinin kısa adı (başarısız durum).Uç nokta
GET /guest/connected-apps/finish
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/guest/connected-apps/finish \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}
Paket bağlantı zinciri geri çağrısı (Connected Apps)
Tek tıklamayla paket bağlama akışı için OAuth geri çağrısı adımı. İmzalı durum JWT'si (HS256, 30 dk TTL) { clubID, deviceId, suite, toolkits, step, caids } değerlerini kodlar: hesaplar o tek ajan cihazına bağlanır ve caids, her adımın oluşturduğu hesap kimliklerini biriktirir (son uygulama yönlendirmesi bunları taşır; böylece pazar yeri yeni hesapları etiketlemeyi önerebilir). Adımın araç setini bağlandı olarak işaretler, ardından bir sonraki araç setinin Connect Link'ine veya paket tamamlandığında ph-ai-agent uygulama sayfasına (ajana derin bağlantıyla) 302 ile yönlendirir. Tek araç seti bağlantıları da tek araç setli bir paketle aynı işleyiciden geçer.
Parametreler
state `string` (zorunlu) İmzalı bağlantı zinciri durum JWT'si.Uç nokta
GET /guest/connected-apps/connect-next
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/guest/connected-apps/connect-next \
-H "x-api-key: YOUR_API_KEY"
Parola oluşturma e-postasını tetikleme
Hoş geldiniz e-postasındaki imzalı bağlantıyı doğrular, bir parola sıfırlama e-postası tetikler ve bir onay sayfası gösterir. Kimlik doğrulaması gerekmez.
Parametreler
email `string` (zorunlu) Kullanıcının e-posta adresi sig `string` (zorunlu) E-posta için HMAC imzasıUç nokta
GET /guest/setup-password
Örnek İstek
curl -X GET https://portal.hub.gymsystems.co/guest/setup-password \
-H "x-api-key: YOUR_API_KEY"
Yanıt
{}