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 şimdi

Uç 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 verileri

Uç 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// ile sınırlar ve ajan sohbetine/terminaline bu belirteçle asla erişilemez. Görüntüleyicilerin, uygulamanın hedef kitlesinin kapsadığı bir tesiste custom-apps modülüne sahip olması gerekir; ph-ai-agent modülüne veya cihaz başına ajan erişimine ihtiyaçları YOKTUR.

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 tesisin AI Agent'ındaki hazırlanmış beceri dışa aktarımları (paylaşım seçicisi)

Uygulamanın "Share a skill" seçicisi için cihaz köprüsünün hazırlanmış dışa aktarım listesini (GET /__skills/exports) tünel üzerinden aktarır. Dışa aktarımlar, cihazdaki ph-skill-sharing güvenlik/taşınabilirlik denetimi tarafından hazırlanır; her giriş cihaz tarafındaki tarama sonucunu içerir. ph-ai-agent modülü VE cihaz başına 'open' erişimi gerektirir (yayımlamanın kendisiyle aynı koşul).

Parametreler

club `string` (zorunlu) device `string` (zorunlu)

Uç nokta

GET /api/agent-skills/exports/{club}/{device}

Örnek İstek

curl -X GET https://portal.hub.gymsystems.co/api/agent-skills/exports/{club}/{device} \
  -H "x-api-key: YOUR_API_KEY"

Yanıt

{}

Hazırlanmış bir beceri dışa aktarımını YENİ bir paylaşılan beceri olarak yayımlama (taslak sürüm)

Adı verilen hazırlanmış dışa aktarım tar arşivini cihaz köprüsünden tünel üzerinden çeker, bellekte açar (yol geçişi/sembolik bağlantılar/aşırı boyut reddedilir), bulut tarafında deterministik güvenlik taramasını çalıştırır, manifesti SKILL.md ön bilgilerinden oluşturur, tar arşivini içerik adresli olarak özel beceri klasöründe saklar ve beceri başlığını + bir TASLAK sürümü oluşturur. Tarama engellemesi HİÇBİR ŞEYİ kaydetmez ve bulguları döndürür. Hedef kitle, yayımlayıcının kendi rol kapsamlarıyla sınırlıdır. Yayımlamak için taslağı gönderin (POST submit).

Parametreler

club `string` (zorunlu)

İstek Gövdesi

Uç nokta

POST /api/agent-skills/publish/{club}

Örnek İstek

curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/publish/{club} \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Yanıt

{}

Hazırlanmış bir dışa aktarımı mevcut bir paylaşılan becerinin YENİ SÜRÜMÜ olarak yayımlama

Yayımlamayla aynı işlem hattı, mevcut bir beceri üzerinde: dışa aktarımın SKILL.md adı beceriyle eşleşmeli, sürüm yeni olmalı (sürümler değiştirilemez) ve bir değişiklik günlüğü gereklidir. Yalnızca yayımlayıcı sürüm ekleyebilir. Tarama engellemesi, 'rejected' durumunda bir sürüm satırı kaydeder (yalnızca rapor, yapıt yok); böylece bulgular yayımlayıcının geçmişinde görünür.

Parametreler

club `string` (zorunlu)

İstek Gövdesi

Uç nokta

POST /api/agent-skills/new-version/{club}

Örnek İstek

curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/new-version/{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

{}

Paylaşılan bir becerinin listelemesini kaldırma (kitaplıktan kaldırır)

Yalnızca yayımlayıcı. Beceri kitaplıktan hemen kaybolur ve yeni yüklemeleri reddeder; MEVCUT yüklemeler çalışmaya devam eder; listelemeden kaldırma bir listeleme işlemidir, acil durdurma anahtarı değildir.

Parametreler

club `string` (zorunlu)

İstek Gövdesi

Uç nokta

POST /api/agent-skills/delist/{club}

Örnek İstek

curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/delist/{club} \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Yanıt

{}

Paylaşılan bir becerinin listelemesini düzenleme (görünen ad, açıklama, simge)

Yalnızca yayımlayıcı. Yalnızca sunumla ilgili alanlar; standart beceri adı becerinin kimliğidir (manifestler, yükleme dizinleri, sürüm eşleştirme) ve asla değişmez. Boş bir dize, alanı yeniden null değerine döndürür (standart ada / simgesiz duruma geri döner). Simgeler, yayımlanan ajan uygulamalarıyla aynı biçimde MDI kataloğunu (mdi:icon-name) kullanır.

Parametreler

club `string` (zorunlu)

İstek Gövdesi

Uç nokta

POST /api/agent-skills/update-listing/{club}

Örnek İstek

curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/update-listing/{club} \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Yanıt

{}

Paylaşılan bir becerinin sahipliğini devretme

Yayımlanan uygulamaların devir akışının aynısıdır: geçerli yayımlayıcı veya bir hesap sahibi (faturalandırma modülü) beceriyi başka bir kullanıcıya devredebilir ve becerinin sürümlerini ve listelemesini artık o kullanıcı yönetir. Yeni sahibin, becerinin ana kulübünde tesis erişimi olmalıdır.

Parametreler

club `string` (zorunlu)

İstek Gövdesi

Uç nokta

POST /api/agent-skills/transfer-owner/{club}

Örnek İstek

curl -X POST https://portal.hub.gymsystems.co/api/agent-skills/transfer-owner/{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ği

Uç 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ği

Uç 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 parametreleri

Uç 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 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 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ği

Uç 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 belirteci

Uç 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ği

Uç 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

{}

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ği

Uç 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

{}

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ği

Uç 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ği

Uç 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..textGated`, resimle eşleşen ancak kelimelerle eşleşmeyen adayları sayar; böylece boş bir sayfa "başka bir resim deneyin" yerine "kelimeleri çıkarın" şeklinde açıklanabilir. Kelime içermeyen tohumlu bir arama kodlayıcı yüklemez, dolayısıyla asla soğuk başlatma maliyeti ödemez; kelime eklemek bu avantajı ortadan kaldırır. Her iki durumda da varsayılan olarak tüm dizinlerde arama yapılır: kırpma, kayıt ve timelapse vektörleri aynı uzayı paylaşır; böylece bir kişi kırpması eşleşen görüntüleri bulabilir. Tohumlu puanlar metin puanlarından çok daha yüksektir (görselden görsele arama bir kip farkını aşmaz) ve ayrı, henüz kalibre edilmemiş bir alt eşikle filtrelenir; `result.queryKind` hangi ölçeği okuduğunuzu belirtir ve birinden gelen bir puan asla diğeriyle karşılaştırılmamalıdır. Varsayılan olarak tüm dizinlerde arama yapar ve puana göre sıralanmış tek bir birleşik liste döndürür; her sonuç `index` ve `kind` içerir; böylece çağıran, görsel sonucunu video sonucundan ayırt edebilir (video sonucu ayrıca `offsetMs` ekler). Tesis için tablosu olmayan dizinler, başarısız olmak yerine `skipped` altında bildirilir. Her dizinin kalibre edilmiş ilgi alt eşiğinin altındaki sonuçlar atılır; böylece gerçek eşleşmesi olmayan bir sorgu, kendinden emin anlamsız sonuçlar yerine boş bir liste döndürür; `perIndex`, her dizinin neye katkıda bulunduğunu ve nedenini bildirir. Sonuçlar yakalama zamanına ve kameraya göre daraltılabilir. `camera` yerine `cameraId` tercih edin: bu, kameranın balenaUUID değeridir ve her dizinin aynı şekilde sakladığı tek değerdir; böylece tek bir filtre tümünü daraltır. Bir dizinin yanıtlayamadığı filtre `perIndex..filtersIgnored` altında bildirilir ve o dizin aramadan çıkarılmak yerine daraltılmadan aranır. Kayıt sonuçları **eşleşen kare başına bir değil, klip başına birdir**: kareler 2 saniyede bir örneklenir; bu nedenle oyalanan bir özne aynı kaydın neredeyse aynı on karesiyle eşleşir. Her klip en iyi karesini, ayrıca içinde eşleşen her anı listeleyen `matchCount` ve `offsetsMs` değerlerini döndürür; bunlar doğrudan atlama noktaları olarak kullanılabilir. Kişi kırpmaları asla birleştirilmez, çünkü bir kişinin iki kırpması iki ayrı görülmedir.

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ği

Uç 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ği

Uç 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 et

Uç 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şkenleri

Uç 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'si

Uç 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 kodu

Uç 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ği

Uç 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 URL

Uç 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ği

Uç 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ği

Uç 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

{}

Gösterge paneli başlığını silme

Markaya ait bir gösterge paneli başlığını geçici olarak siler.

Parametreler

brandId `string` (zorunlu) Başlığın ait olduğu markanın kimliği bannerId `string` (zorunlu) Silinecek başlığın kimliği

Uç nokta

DELETE /api/brands/{brandId}/dashboard-banners/{bannerId}

Örnek İstek

curl -X DELETE https://portal.hub.gymsystems.co/api/brands/{brandId}/dashboard-banners/{bannerId} \
  -H "x-api-key: YOUR_API_KEY"

Yanıt

{}

Bir markanın gösterge paneli başlıklarını listeleme

Yönetim amacıyla, marka için yapılandırılmış (silinmemiş) tüm gösterge paneli başlıklarını döndürür.

Parametreler

brandId `string` (zorunlu) Başlıkları listelenecek markanın kimliği

Uç nokta

GET /api/brands/{brandId}/dashboard-banners

Örnek İstek

curl -X GET https://portal.hub.gymsystems.co/api/brands/{brandId}/dashboard-banners \
  -H "x-api-key: YOUR_API_KEY"

Yanıt

{}

Gösterge paneli başlığı oluşturma veya güncelleme

Marka için yeni bir gösterge paneli başlığı oluşturur veya gövdede `bannerId` verildiğinde mevcut bir başlığı günceller. Başlıklar zamanlanabilir (unix saniye başlangıç/bitiş, null = sınırsız) ve tüm markayı, belirli bölgeleri (ISO kodları) veya belirli tesisleri hedefleyebilir.

Parametreler

brandId `string` (zorunlu) Başlığın ait olduğu markanın kimliği

İstek Gövdesi

Uç nokta

PUT /api/brands/{brandId}/dashboard-banners

Örnek İstek

curl -X PUT https://portal.hub.gymsystems.co/api/brands/{brandId}/dashboard-banners \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Yanıt

{}

Bir tesisin etkin gösterge paneli başlıklarını alma

Tesisin markasına, bölgesine (ISO ülke kodu) ve her başlığın etkin bayrağına, zamanlama aralığına ve hedeflemesine göre bir tesiste şu anda gösterilmesi gereken gösterge paneli başlıklarını belirler. Gösterge paneli arayüzleri tarafından kullanılır.

Parametreler

facilityId `string` (zorunlu) Başlıkların belirleneceği tesisin kimliği

Uç nokta

GET /api/facilities/{facilityId}/dashboard-banners

Örnek İstek

curl -X GET https://portal.hub.gymsystems.co/api/facilities/{facilityId}/dashboard-banners \
  -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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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 adresi

Uç 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 paylaşılan Door/Gate Access ayarlarını alma

Parametreler

facilityId `string` (zorunlu)

Uç nokta

GET /api/door-access/rules/{facilityId}

Örnek İstek

curl -X GET https://portal.hub.gymsystems.co/api/door-access/rules/{facilityId} \
  -H "x-api-key: YOUR_API_KEY"

Yanıt

{}

Bir tesisin paylaşılan Door/Gate Access ayarlarını güncelleme

Parametreler

facilityId `string` (zorunlu)

İstek Gövdesi

Uç nokta

PUT /api/door-access/rules/{facilityId}

Örnek İstek

curl -X PUT https://portal.hub.gymsystems.co/api/door-access/rules/{facilityId} \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

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

{}

Tesis için kişi türlerini, durumları ve etiketleri listeleme

Tesisin User Access satırlarında (ph-door-access-users) bulunan, iş ortağı eşitlemesi + manuel girişten türetilen farklı kişi türü, üyelik durumu ve etiket değerlerini döndürür. door-gate-access uygulaması bunları erişim kuralı açılır listelerini doldurmak için kullanır. Etiketler, kural değerlendiricisiyle uyumlu olarak eşitlenmiş `tags` ve yönetici `customTags` değerlerinin birleşimidir.

Parametreler

facilityId `string` (zorunlu)

Uç nokta

GET /api/door-access/people-config/{facilityId}

Örnek İstek

curl -X GET https://portal.hub.gymsystems.co/api/door-access/people-config/{facilityId} \
  -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 hibrit yetkilendirme izinlerini değiştirme

Phase 3 hibrit değerlendirici aktarımı. İzinler, tesis etiket kurallarıyla birlikte bulunur; kilit açma anında bunlardan biri eşleşirse kullanıcıya izin verilir.

Parametreler

facilityId `string` (zorunlu) userId `string` (zorunlu)

İstek Gövdesi

Uç nokta

PUT /api/door-access/users/{facilityId}/{userId}/grants

Örnek İstek

curl -X PUT https://portal.hub.gymsystems.co/api/door-access/users/{facilityId}/{userId}/grants \
  -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'u

Uç 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'u

Uç 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österir

Uç 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ği

Uç 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 filtreler

Uç 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 filtreler

Uç 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ği

Uç 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ği

Uç 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ı bildirir

Uç 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ği

Uç 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ği

Uç 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 listesi

Uç 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ği

Uç 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 UUID

Uç 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 nesnesi

Uç 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 nesnesi

Uç 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övdesi

Uç 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ği

Uç 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övdesi

Uç 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ği

Uç 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ği

Uç 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. 2021

Uç 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ği

Uç 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. 2021

Uç 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ği

Uç 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. 2021

Uç 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çiminde

Uç 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 kimlikleri

Uç 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 not

Uç 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ği

Uç 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ği

Uç 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ği

Uç 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 durum

Uç 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ği

Uç 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ği

Uç 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 listesi

Uç 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ği

Uç 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ği

Uç 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 nextCursor

Uç 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 adresi

Uç 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

{}