Theme Store
API REST para la tienda de temas. Permite explorar el catálogo, instalar y activar temas por tenant.
Endpoints
Listar catálogo
GET /api/v1/theme-store
Respuesta 200 OK:
{
"data": [
{
"id": "uuid",
"name": "dawn",
"display_name": "Dawn",
"description": "Default OmniBuy theme",
"preview_url": "https://...",
"thumbnail_url": "https://...",
"price": 0,
"currency": "USD",
"author": "OmniBuy",
"tags": ["default", "responsive"],
"is_free": true
}
]
}
Listar temas instalados
GET /api/v1/theme-store/installed
Retorna los temas instalados en el tenant actual.
Obtener tema del catálogo
GET /api/v1/theme-store/:id
Instalar tema
Instala un tema del catálogo en el tenant actual. Requiere que el tema haya sido comprado (si es de pago).
POST /api/v1/theme-store/:id/install
Respuesta 201 Created:
{
"data": {
"id": "uuid",
"theme_catalog_id": "uuid",
"theme_name": "dawn",
"is_active": false,
"installed_at": "2026-07-22T12:00:00Z"
}
}
Activar tema
Activa un tema instalado. Desactiva automáticamente el tema activo anterior.
POST /api/v1/theme-store/:id/activate
Respuesta 200 OK:
{
"data": {
"status": "activated"
}
}
Errores
| Código | HTTP | Descripción |
|---|---|---|
THEME_NOT_FOUND | 404 | Tema no existe en el catálogo |
THEME_ALREADY_INSTALLED | 409 | Ya está instalado en este tenant |
THEME_NOT_PURCHASED | 402 | Tema de pago no ha sido comprado |
THEME_NOT_INSTALLED | 404 | No se puede activar un tema no instalado |