엔드포인트
Capgo 클라우드의 공개 API 문서입니다.
접근하려면 헤더에 API 키를 authorization
으로 추가하세요
조직
이 엔드포인트는 조직과 구성원을 관리할 수 있게 해줍니다
GET
https://apicapgoapp/organization
조직 정보를 검색합니다. 파라미터로 orgId
가 제공되면 단일 조직을 반환합니다. 그렇지 않으면 접근 가능한 모든 조직을 반환합니다
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}
반환:
return Organization[] | Organization
POST
https://apicapgoapp/organization
기존 조직을 업데이트합니다. 관리자 권한이 필요합니다
interface OrganizationUpdate { orgId: string logo?: string name?: string management_email?: string}
OrganizationUpdate
타입의 요청 본문이 필요합니다
성공 시 다음을 반환합니다:
return { status: 'Organization updated', data: Organization }
PUT
https://apicapgoapp/organization
새 조직을 생성합니다
interface OrganizationCreate { name: string}
OrganizationCreate
타입의 요청 본문이 필요합니다
성공 시 다음을 반환합니다:
return { status: 'Organization created', id: string }
API 키
이 엔드포인트는 Capgo API 접근을 위한 API 키를 관리할 수 있게 해줍니다
GET
https://apicapgoapp/apikey
계정의 API 키를 검색합니다. 접근 가능한 모든 API 키를 반환합니다
interface ApiKey { created_at: string | null id: number key: string mode: 'read' | 'write' | 'upload' | 'all' name: string updated_at: string | null user_id: string}
반환:
return ApiKey[]
POST
https://apicapgoapp/apikey
특정 조직을 위한 새 API 키를 생성합니다
쿼리 파라미터:
interface ApiKeyCreate { org_id: string mode: 'read' | 'write' | 'upload' | 'all'}
반환:
return { apikey: ApiKey }
DELETE
https://apicapgoapp/apikey/:id
기존 API 키를 삭제합니다
파라미터:
id
: 삭제할 API 키
성공 시 반환:
return { success: true }
실패 시 반환:
return { error: string, supabaseError?: any }
멤버 (/organization/members)
GET
조직 멤버를 검색합니다
{ orgId: string }
타입의 요청 본문(쿼리 파라미터)이 필요합니다
성공 시 다음을 반환합니다:
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
조직 멤버를 삭제합니다
interface MemberDelete { orgId: string email: string}
MemberDelete
타입의 요청 본문(쿼리 파라미터)이 필요합니다
성공 시 다음을 반환합니다:
return { status: 'OK' }
실패 시 다음을 반환합니다:
return { error: string, status: 'KO' }
통계
이 엔드포인트는 앱과 조직에 대한 다양한 통계를 검색할 수 있게 해줍니다
GET /statistics/app/:app_id
특정 앱의 통계를 검색합니다
쿼리 파라미터:
interface StatsQuery { from: Date to: Date graph?: 'mau' | 'storage' | 'bandwidth'}
반환:
interface Stats { date: string mau: number // 월간 활성 사용자 storage: number // 저장소 사용량(바이트) bandwidth: number // 대역폭 사용량(바이트)}
graph
파라미터가 제공되면 요청된 메트릭의 SVG 이미지 시각화를 반환합니다
GET /statistics/user
사용자가 접근할 수 있는 모든 조직의 집계된 통계를 검색합니다
쿼리 파라미터:
interface StatsQuery { from: Date to: Date graph?: 'mau' | 'storage' | 'bandwidth'}
반환:
graph
가 제공되지 않은 경우:
interface Stats { date: string mau: number // 월간 활성 사용자 storage: number // 저장소 사용량(바이트) bandwidth: number // 대역폭 사용량(바이트)}[]
graph
파라미터가 제공되면 요청된 메트릭의 SVG 이미지 시각화를 반환합니다
GET /statistics/org/:org_id
특정 조직의 통계를 검색합니다
쿼리 파라미터:
interface StatsQuery { from: Date to: Date graph?: 'mau' | 'storage' | 'bandwidth'}
반환:
graph
가 제공되지 않은 경우:
interface Stats { date: string mau: number // 월간 활성 사용자 storage: number // 저장소 사용량(바이트) bandwidth: number // 대역폭 사용량(바이트)}[]
graph
파라미터가 제공되면 요청된 메트릭의 SVG 이미지 시각화를 반환합니다
채널
이 엔드포인트는 앱의 모든 사용 가능한 채널을 확인하고 수정할 수 있게 해줍니다
POST
https://apicapgoapp/channel
채널을 생성하거나 업데이트하려면 다음을 전송하세요
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}
다음을 수신합니다:
{ "status": "ok" }
GET
https://apicapgoapp/channel
URL 파라미터로 app_id
를 보내면 처음 50개의 채널 배열을 수신합니다
page=1
을 보내서 다음 것들을 얻을 수 있습니다
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; // 기본값 여부 disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}[]
선택적으로 URL 파라미터로 channel
이름을 보내면 하나를 수신합니다:
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; // 기본값 여부 disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}
DELETE
https://apicapgoapp/channel
다음을 쿼리 파라미터로 보내세요
interface Channel { channel: string app_id: string}
다음을 수신합니다:
{ "status": "ok" }
디바이스
이 엔드포인트는 앱에 연결된 모든 디바이스를 확인하고 수정할 수 있게 해줍니다
POST
https://apicapgoapp/device
다음을 보내세요
interface DeviceLink { app_id: string device_id: string version_id?: string // 버전 이름 (더 나은 이름으로 마이그레이션 될 예정) channel?: string // 채널 이름}
다음을 수신합니다:
{ "status": "ok" }
GET
https://apicapgoapp/device
URL 파라미터로 app_id
를 보내면 처음 50개의 디바이스 배열을 수신합니다page=1
을 전송하여 다음 항목을 얻을 수 있습니다
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;}[]
그리고 선택적으로 하나를 받기 위해 URL 매개변수로 device_id
이름을 전송할 수 있습니다:
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
이 엔드포인트는 채널과 버전 오버라이드를 연결 해제하기 위한 것입니다. Capgo에서 디바이스를 삭제할 수는 없습니다
https://apicapgoapp/device
쿼리 매개변수로 다음을 전송하세요
interface Device { device_id: string app_id: string}
다음을 수신합니다:
{ "status": "ok" }
번들
이 엔드포인트를 통해 앱에 연결된 모든 번들을 확인하고 삭제할 수 있습니다
GET
https://apicapgoapp/bundle
URL 매개변수로 app_id
를 전송하면 처음 50개 번들의 배열을 수신합니다
page=1
을 전송하여 다음 항목을 얻을 수 있습니다
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
클라우드에서 하나의 번들을 삭제합니다
https://apicapgoapp/bundle
쿼리 매개변수로 다음을 전송하세요
interface Bundle { app_id: string version: string}
다음을 수신합니다:
{ "status": "ok" }
또는 다음을 전송할 수 있습니다
interface Bundle { app_id: string}
모든 번들을 삭제하기 위해