Endpunkte
Dies ist die Dokumentation der öffentlichen API von Capgo Cloud
Fügen Sie in den Headers Ihren API-Schlüssel als authorization
hinzu
Organisationen
Dieser Endpunkt ermöglicht die Verwaltung von Organisationen und deren Mitgliedern
GET
https://apicapgoapp/organization
Ruft Organisationsinformationen ab. Wenn orgId
in den Parametern angegeben ist, wird eine einzelne Organisation zurückgegeben. Andernfalls werden alle zugänglichen Organisationen zurückgegeben
interface Organization { id: string created_by: string created_at: string updated_at: string logo: string | null name: string management_email: string customer_id: string | null}
Rückgabe:
return Organization[] | Organization
POST
https://apicapgoapp/organization
Aktualisiert eine bestehende Organisation. Erfordert Admin-Rolle
interface OrganizationUpdate { orgId: string logo?: string name?: string management_email?: string}
Erfordert einen Request-Body vom Typ OrganizationUpdate
Bei Erfolg wird Folgendes zurückgegeben:
return { status: 'Organization updated', data: Organization }
PUT
https://apicapgoapp/organization
Erstellt eine neue Organisation
interface OrganizationCreate { name: string}
Erfordert einen Request-Body vom Typ OrganizationCreate
Bei Erfolg wird Folgendes zurückgegeben:
return { status: 'Organization created', id: string }
API-Schlüssel
Dieser Endpunkt ermöglicht die Verwaltung von API-Schlüsseln für den Zugriff auf die Capgo API
GET
https://apicapgoapp/apikey
Ruft API-Schlüssel für Ihr Konto ab. Gibt alle zugänglichen API-Schlüssel zurück
interface ApiKey { created_at: string | null id: number key: string mode: 'read' | 'write' | 'upload' | 'all' name: string updated_at: string | null user_id: string}
Rückgabe:
return ApiKey[]
POST
https://apicapgoapp/apikey
Erstellt einen neuen API-Schlüssel für eine bestimmte Organisation
Abfrageparameter:
interface ApiKeyCreate { org_id: string mode: 'read' | 'write' | 'upload' | 'all'}
Rückgabe:
return { apikey: ApiKey }
DELETE
https://apicapgoapp/apikey/:id
Löscht einen bestehenden API-Schlüssel
Parameter:
id
: Der zu löschende API-Schlüssel
Bei Erfolg wird zurückgegeben:
return { success: true }
Bei Fehler wird zurückgegeben:
return { error: string, supabaseError?: any }
Mitglieder (/organization/members)
GET
Ruft Organisationsmitglieder ab
Erfordert einen Request-Body (Abfrageparameter) vom Typ { orgId: string }
Bei Erfolg wird Folgendes zurückgegeben:
interface Member { uid: string; email: string; image_url: string; role: "invite_read" | "invite_upload" | "invite_write" | "invite_admin" | "invite_super_admin" | "read" | "upload" | "write" | "admin" | "super_admin";}return Member[]
DELETE
https://apicapgoapp/organization/members
Löscht ein Organisationsmitglied
interface MemberDelete { orgId: string email: string}
Erfordert einen Request-Body (Abfrageparameter) vom Typ MemberDelete
Bei Erfolg wird Folgendes zurückgegeben:
return { status: 'OK' }
Bei Fehler wird Folgendes zurückgegeben:
return { error: string, status: 'KO' }
Statistiken
Dieser Endpunkt ermöglicht es Ihnen, verschiedene Statistiken über Ihre Apps und Organisationen abzurufen
GET /statistics/app/:app_id
Ruft Statistiken für eine bestimmte App ab
Abfrageparameter:
interface StatsQuery { from: Date to: Date graph?: 'mau' | 'storage' | 'bandwidth'}
Rückgabe:
interface Stats { date: string mau: number // Monatlich aktive Benutzer storage: number // Speichernutzung in Bytes bandwidth: number // Bandbreitennutzung in Bytes}
Wenn der graph
-Parameter angegeben ist, wird eine SVG-Bildvisualisierung der angeforderten Metrik zurückgegeben
GET /statistics/user
Ruft aggregierte Statistiken über alle Organisationen ab, auf die der Benutzer Zugriff hat
Abfrageparameter:
interface StatsQuery { from: Date to: Date graph?: 'mau' | 'storage' | 'bandwidth'}
Rückgabe:
Wenn graph
nicht angegeben ist:
interface Stats { date: string mau: number // Monatlich aktive Benutzer storage: number // Speichernutzung in Bytes bandwidth: number // Bandbreitennutzung in Bytes}[]
Wenn der graph
-Parameter angegeben ist, wird eine SVG-Bildvisualisierung der angeforderten Metrik zurückgegeben
GET /statistics/org/:org_id
Ruft Statistiken für eine bestimmte Organisation ab
Abfrageparameter:
interface StatsQuery { from: Date to: Date graph?: 'mau' | 'storage' | 'bandwidth'}
Rückgabe:
Wenn graph
nicht angegeben ist:
interface Stats { date: string mau: number // Monatlich aktive Benutzer storage: number // Speichernutzung in Bytes bandwidth: number // Bandbreitennutzung in Bytes}[]
Wenn der graph
-Parameter angegeben ist, wird eine SVG-Bildvisualisierung der angeforderten Metrik zurückgegeben
Kanäle
Dieser Endpunkt ermöglicht es Ihnen, alle verfügbaren Kanäle Ihrer App zu überprüfen und zu ändern
POST
https://apicapgoapp/channel
Senden Sie dies, um einen Kanal zu erstellen oder zu aktualisieren
type disable_update = "major" | "minor" | "version_number" | "none"interface ChannelSet { app_id: string channel: string version?: string public?: boolean disableAutoUpdateUnderNative?: boolean disableAutoUpdate?: disable_update ios?: boolean android?: boolean allow_device_self_set?: boolean allow_emulator?: boolean allow_dev?: boolean}
Empfangen Sie dies:
{ "status": "ok" }
GET
https://apicapgoapp/channel
Senden Sie app_id
als URL-Parameter und empfangen Sie ein Array der ersten 50 Kanäle
Sie können die nächsten erhalten, indem Sie page=1
senden
interface Channel { id: number; created_at: string; name: string; app_id: string; version: { id: number, name: string }; created_by: string; updated_at: string; public: boolean; // Standard oder nicht disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}[]
und optional channel
Name als URL-Parameter, um einen zu empfangen:
interface Channel { id: number; created_at: string; name: string; app_id: string; version: { id: number, name: string }; created_by: string; updated_at: string; public: boolean; // Standard oder nicht disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}
DELETE
https://apicapgoapp/channel
Senden Sie dies als Abfrageparameter
interface Channel { channel: string app_id: string}
Empfangen Sie dies:
{ "status": "ok" }
Geräte
Dieser Endpunkt ermöglicht es Ihnen, alle mit Ihrer App verknüpften Geräte zu überprüfen und zu ändern
POST
https://apicapgoapp/device
Senden Sie dies
interface DeviceLink { app_id: string device_id: string version_id?: string // Versionsname (wird zu einem besseren Namen migriert) channel?: string // Kanalname}
Empfangen Sie dies:
{ "status": "ok" }
GET
https://apicapgoapp/device
Senden Sie app_id
als URL-Parameter und empfangen Sie ein Array der ersten 50 GeräteSie können den nächsten erhalten, indem Sie page=1
senden
interface Device{ created_at?: string | undefined; updated_at?: string | undefined; device_id: string; custom_id: string; version: { id: number, name: string }; app_id: string; platform?: "ios" | "android" | undefined; plugin_version: string; os_version?: string | undefined; version_build: string; is_prod: boolean; is_emulator: boolean;}[]
und optional den device_id
Namen als URL-Parameter, um einen zu erhalten:
interface Device { created_at?: string | undefined; updated_at?: string | undefined; device_id: string; version: { id: number, name: string }; app_id: string; platform?: "ios" | "android" | undefined; plugin_version: string; os_version?: string | undefined;}
DELETE
Dieser Endpunkt dient zum Trennen des Kanals und der Versionsüberschreibung. Sie können ein Gerät nicht von Capgo löschen
https://apicapgoapp/device
Senden Sie dies als Query-Parameter
interface Device { device_id: string app_id: string}
erhalten Sie dies:
{ "status": "ok" }
Bundles
Dieser Endpunkt ermöglicht es Ihnen, alle mit Ihrer App verknüpften Bundles zu überprüfen und zu löschen
GET
https://apicapgoapp/bundle
Senden Sie app_id
als URL-Parameter und erhalten Sie ein Array der ersten 50 Bundles
Sie können die nächsten erhalten, indem Sie page=1
senden
interface Bundle { app_id: string bucket_id: string | null checksum: string | null created_at: string | null deleted: boolean external_url: string | null id: number minUpdateVersion: string | null name: string native_packages: Json[] | null owner_org: string r2_path: string | null session_key: string | null storage_provider: string updated_at: string | null user_id: string | null}[]
DELETE
Löscht ein Bundle in der Cloud
https://apicapgoapp/bundle
Senden Sie dies als Query-Parameter
interface Bundle { app_id: string version: string}
erhalten Sie dies:
{ "status": "ok" }
Alternativ können Sie senden
interface Bundle { app_id: string}
Um alle Bundles zu löschen