Introducción
Resumen de la API REST
La API REST v1 de Filmo es una API JSON sobre HTTPS en https://. Te autenticas con una clave de API y todas las respuestas usan el mismo sobre.
URL base y una primera llamada
Enlace a esta sección: URL base y una primera llamadaTodas las rutas de esta referencia empiezan por /api, en el origen https://: por ejemplo, GET /api. Las peticiones y las respuestas correctas son JSON (application); los errores son application.
Una buena primera llamada es GET /api. Necesita el scope account:read y devuelve la cuenta, la zona horaria en la que se leen las fechas sin hora y los scopes de la clave que usaste. Para crear una clave, un administrador abre la sección API y MCP de los ajustes de la cuenta en Filmo (*Ajustes → API y MCP*); consulta Autenticación.
curl -sS --fail-with-body "${FILMO_BASE_URL:-https://app.filmo.io}/api/v1/account" \
-H "Authorization: Bearer $FILMO_API_KEY"const base = process.env.FILMO_BASE_URL ?? "https://app.filmo.io";
const res = await fetch(base + "/api/v1/account", {
headers: { Authorization: `Bearer ${process.env.FILMO_API_KEY}` },
});
if (!res.ok) throw new Error(res.status + " " + (await res.text()));
const { data } = await res.json();
console.log(data.name, data.timezone, data.currency);import os
import requests
base = os.environ.get("FILMO_BASE_URL", "https://app.filmo.io")
res = requests.get(
base + "/api/v1/account",
headers={"Authorization": f"Bearer {os.environ['FILMO_API_KEY']}"},
timeout=30,
)
res.raise_for_status()
data = res.json()["data"]
print(data["name"], data["timezone"], data["currency"])Para un recorrido guiado desde una clave nueva hasta tu primera escritura, sigue la guía rápida. El archivo OpenAPI y los clientes que puedes generar a partir de él se tratan en Archivo OpenAPI y clientes generados; la referencia de cada operación está en la Referencia de OpenAPI.
Envoltorio de la respuesta
Enlace a esta sección: Envoltorio de la respuestaCada respuesta de la API tiene una de tres formas.
| Tipo | Forma | Se usa para |
|---|---|---|
| Lista | { "data": [ … ], "pagination": { "nextCursor", "hasMore", "total"? } } | Colecciones como pedidos o contactos. |
| Recurso único | { "data": { … } } | Lecturas de detalle, creaciones y actualizaciones. |
| Error | Un problema RFC 9457 en application: type, title, status, code, detail, requestId | Cualquier 4xx o 5xx que produzca la API. |
Las respuestas de la API llevan una cabecera X-Request-Id, y los cuerpos de error la repiten como requestId. Cítala cuando contactes con soporte. Los endpoints de OAuth son la excepción: no la devuelven. Las cabeceras, el objeto meta adicional que devuelven algunas operaciones y los estados en uso están en Respuestas; todos los códigos de error están en Errores.
Convenciones de un vistazo
Enlace a esta sección: Convenciones de un vistazo| Tema | Regla |
|---|---|
| URL base | https:// |
| Autenticación | Authorization: Bearer <API key>. Solo los administradores crean claves. |
| Dinero | Cadenas decimales con dos decimales ("1234.), nunca números de coma flotante. |
| Fechas | ISO 8601. Las escrituras toman un instante con desplazamiento; las respuestas usan UTC. |
| Paginación | Cursor opaco. Tamaño de página limit: 50 por defecto, 500 como máximo. |
| Límites de peticiones | 120 peticiones por minuto por clave, y 30 por minuto compartidas por las tres comprobaciones de disponibilidad. |
| Reintentos | Envía Idempotency-Key en las escrituras. Una clave se recuerda durante 24 horas. |
| Concurrencia | Las lecturas de detalle devuelven un ETag; envíalo de vuelta como If-Match para no sobrescribir un cambio más reciente. |
| Versionado | Cambios aditivos dentro de v1; los cambios incompatibles siguen los plazos de aviso documentados. |
Claves bearer, quién posee una clave y cómo revocarla.
Cuándo usar OAuth en lugar de una clave.
Qué habilita cada permiso.
Variantes del sobre, cabeceras y estados.
Dinero, fechas, nulls y mapas.
Recorre una lista con el cursor.
sort, ventanas de fechas, filtros de listas y búsqueda.Todos los códigos y cuándo reintentar.
Cuotas, cabeceras y espera creciente.
Reintenta una escritura sin duplicarla.
Bloqueo optimista con
ETageIf-Match.Qué cambia dentro de v1 y qué no cambia nunca.
Prueba llamadas sin dañar los datos de producción.
Mantén otro sistema al día mediante consultas periódicas.
La lista de comprobación antes de producción.
Antes de empezar
Enlace a esta sección: Antes de empezar- Pide a un administrador de la empresa de alquiler que cree la clave y decide quién la posee: Autenticación.
- Da a la clave solo los permisos que usa la integración: Permisos (scopes).
- Lee qué cubre v1, y qué no cubre, en Capacidades y límites.
- Comprueba qué add-ons tiene tu cuenta: la API y el MCP están incluidos en cualquier plan de pago y no son un add-on, pero un recurso que pertenece a un módulo con un add-on que no has contratado responde 402
addon_required. Consulta Planes y add-ons. - Una clave trabaja sobre los datos en vivo de la cuenta a la que pertenece. Lee Pruebas antes de tu primera escritura.
- Antes de pasar a producción, repasa Pasar a producción.
Versionado y compatibilidad
Enlace a esta sección: Versionado y compatibilidadConsulta la versión del contrato que devuelve GET /api o la publicada en el archivo OpenAPI. Las reglas de compatibilidad y los plazos de aviso están documentados en Versionado.
Mantener tus datos sincronizados
Enlace a esta sección: Mantener tus datos sincronizadosv1 no envía webhooks. Para mantener otro sistema sincronizado con Filmo, haz polling incremental: pide a cada lista que tenga filtros updated* los registros que han cambiado desde tu último recorrido. Sincronizar datos describe un algoritmo que no se salta registros y cómo detectar eliminaciones.
Úsalo desde un asistente de IA
Enlace a esta sección: Úsalo desde un asistente de IACada operación es también una herramienta MCP en https://, con la misma clave y los mismos permisos (scopes). Consulta la Resumen de MCP.
Páginas relacionadas
Enlace a esta sección: Páginas relacionadasPrimeros pasos
Guía rápida
Crea una clave de API en la sección API y MCP de los ajustes de Filmo y luego llama a
GET /api. La respuesta te dice la zona horaria, la moneda, los add-ons y los permisos (scopes) con los que construir./v1 /account Guías
Autenticación
Cada operación requiere una clave de API enviada como bearer token. Solo un administrador puede crear una clave, y la clave actúa como ese administrador, así que decide quién la posee antes de crearla.
Guías
Respuestas
Las respuestas correctas envuelven su contenido en
data; las listas añadenpagination; algunas operaciones añadenmeta; los errores son problemas RFC 9457. Las respuestas de la API comparten un mismo conjunto de cabeceras.Guías
Errores
Los errores son documentos de problema RFC 9457. Ramifica según el
codeestable, nunca según el texto, y usa la tabla de reintentos para decidir si volver a intentarlo.
¿Te ha resultado útil esta página?