Saltar al contenido

Endpunkte

Esta es la documentación de la API pública de Capgo cloud

Para acceder, agrega en los headers tu clave API como authorization

Organizaciones

Este endpoint te permite gestionar organizaciones y sus miembros

GET

https://apicapgoapp/organization

Recupera información de la organización. Si se proporciona orgId en los parámetros, devuelve una única organización. De lo contrario, devuelve todas las organizaciones accesibles

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
}

Devuelve:

return Organization[] | Organization

POST

https://apicapgoapp/organization

Actualiza una organización existente. Requiere rol de administrador

interface OrganizationUpdate {
orgId: string
logo?: string
name?: string
management_email?: string
}

Requiere un cuerpo de solicitud del tipo OrganizationUpdate

En caso de éxito, devuelve lo siguiente:

return { status: 'Organization updated', data: Organization }

PUT

https://apicapgoapp/organization

Crea una nueva organización

interface OrganizationCreate {
name: string
}

Requiere un cuerpo de solicitud del tipo OrganizationCreate

En caso de éxito, devuelve lo siguiente:

return { status: 'Organization created', id: string }

Claves API

Este endpoint te permite gestionar claves API para acceder a la API de Capgo

GET

https://apicapgoapp/apikey

Recupera las claves API de tu cuenta. Devuelve todas las claves API accesibles

interface ApiKey {
created_at: string | null
id: number
key: string
mode: 'read' | 'write' | 'upload' | 'all'
name: string
updated_at: string | null
user_id: string
}

Devuelve:

return ApiKey[]

POST

https://apicapgoapp/apikey

Crea una nueva clave API para una organización específica

Parámetros de consulta:

interface ApiKeyCreate {
org_id: string
mode: 'read' | 'write' | 'upload' | 'all'
}

Devuelve:

return { apikey: ApiKey }

DELETE

https://apicapgoapp/apikey/:id

Elimina una clave API existente

Parámetros:

  • id: La clave API a eliminar

En caso de éxito, devuelve:

return { success: true }

En caso de fallo, devuelve:

return { error: string, supabaseError?: any }

Miembros (/organization/members)

GET

Recupera los miembros de la organización

Requiere un cuerpo de solicitud (parámetros de consulta) del tipo { orgId: string }

En caso de éxito, devuelve lo siguiente:

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

Elimina un miembro de la organización

interface MemberDelete {
orgId: string
email: string
}

Requiere un cuerpo de solicitud (parámetros de consulta) del tipo MemberDelete

En caso de éxito, devuelve lo siguiente:

return { status: 'OK' }

En caso de fallo, devuelve lo siguiente:

return { error: string, status: 'KO' }

Estadísticas

Este endpoint te permite recuperar varias estadísticas sobre tus aplicaciones y organizaciones

GET /statistics/app/:app_id

Recupera estadísticas para una aplicación específica

Parámetros de consulta:

interface StatsQuery {
from: Date
to: Date
graph?: 'mau' | 'storage' | 'bandwidth'
}

Devuelve:

interface Stats {
date: string
mau: number // Usuarios Activos Mensuales
storage: number // Uso de almacenamiento en bytes
bandwidth: number // Uso de ancho de banda en bytes
}

Si se proporciona el parámetro graph, devuelve una imagen SVG de visualización de la métrica solicitada

GET /statistics/user

Recupera estadísticas agregadas de todas las organizaciones a las que el usuario tiene acceso

Parámetros de consulta:

interface StatsQuery {
from: Date
to: Date
graph?: 'mau' | 'storage' | 'bandwidth'
}

Devuelve: Si no se proporciona graph:

interface Stats {
date: string
mau: number // Usuarios Activos Mensuales
storage: number // Uso de almacenamiento en bytes
bandwidth: number // Uso de ancho de banda en bytes
}[]

Si se proporciona el parámetro graph, devuelve una imagen SVG de visualización de la métrica solicitada

GET /statistics/org/:org_id

Recupera estadísticas para una organización específica

Parámetros de consulta:

interface StatsQuery {
from: Date
to: Date
graph?: 'mau' | 'storage' | 'bandwidth'
}

Devuelve: Si no se proporciona graph:

interface Stats {
date: string
mau: number // Usuarios Activos Mensuales
storage: number // Uso de almacenamiento en bytes
bandwidth: number // Uso de ancho de banda en bytes
}[]

Si se proporciona el parámetro graph, devuelve una imagen SVG de visualización de la métrica solicitada

Canales

Este endpoint te permite verificar y modificar todos los Canales disponibles de tu aplicación

POST

https://apicapgoapp/channel

Envía esto para crear o actualizar un canal

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
}

recibe esto:

{ "status": "ok" }

GET

https://apicapgoapp/channel

Envía app_id como parámetro URL y recibe array de los primeros 50 canales
Puedes obtener los siguientes enviando 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; // predeterminado o no
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}[]

y opcionalmente el nombre del channel como parámetro URL para recibir uno:

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; // predeterminado o no
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

DELETE

https://apicapgoapp/channel

Envía esto como parámetro de consulta

interface Channel {
channel: string
app_id: string
}

recibe esto:

{ "status": "ok" }

Dispositivos

Este endpoint te permite verificar y modificar todos los dispositivos vinculados a tu aplicación

POST

https://apicapgoapp/device

Envía esto

interface DeviceLink {
app_id: string
device_id: string
version_id?: string // nombre de versión (será migrado a un mejor nombre)
channel?: string // nombre del canal
}

recibe esto:

{ "status": "ok" }

GET

https://apicapgoapp/device

Envía app_id como parámetro URL y recibe array de los primeros 50 dispositivosPuedes obtener el siguiente enviando 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;
}[]

y opcionalmente device_id como parámetro URL para recibir uno:

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

Este endpoint es para desvincular el canal y la anulación de versión. No puedes eliminar un dispositivo de Capgo

https://apicapgoapp/device

Envía esto como parámetro de consulta

interface Device {
device_id: string
app_id: string
}

recibe esto:

{ "status": "ok" }

Bundles

Este endpoint te permite verificar y eliminar todos los bundles vinculados a tu aplicación

GET

https://apicapgoapp/bundle

Envía app_id como parámetro URL y recibe un array de los primeros 50 bundles Puedes obtener el siguiente enviando 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

Elimina un bundle en la nube

https://apicapgoapp/bundle

Envía esto como parámetro de consulta

interface Bundle {
app_id: string
version: string
}

recibe esto:

{ "status": "ok" }

Alternativamente puedes enviar

interface Bundle {
app_id: string
}

Para eliminar todos los bundles