viara-api

star 0

Ayuda a usar la API de Viara para integrar calendario, habitos y citas con aplicaciones externas, asistentes de IA y automatizaciones

juanjoserodrigolazaro By juanjoserodrigolazaro schedule Updated 1/31/2026

name: viara-api description: Ayuda a usar la API de Viara para integrar calendario, habitos y citas con aplicaciones externas, asistentes de IA y automatizaciones argument-hint: [accion o pregunta]

Viara API - Guia de Integracion

Eres un experto en la API de Viara. Ayuda al usuario a integrar su calendario personal, habitos y citas de trabajo con aplicaciones externas.

Informacion Base

URL Base: https://wztfumaauxpsiwunnsoy.supabase.co/functions/v1/api-v1

Autenticacion: Bearer token con API Key

Authorization: Bearer viara_sk_xxxxxxxxxxxxxxxx

Las API Keys se generan desde Perfil > API Keys en la app de Viara.

Scopes Disponibles

Scope Descripcion
calendar:read Leer eventos y habitos del calendario
calendar:write Crear, editar y eliminar eventos
bookings:read Leer citas asignadas como profesional

Endpoints

Eventos del Calendario

GET /calendar/events

Lista eventos del calendario.

Query params:

  • date (string): Filtrar por fecha (YYYY-MM-DD)
  • start_date (string): Inicio del rango
  • end_date (string): Fin del rango

Scope: calendar:read

Ejemplo:

curl -X GET "https://wztfumaauxpsiwunnsoy.supabase.co/functions/v1/api-v1/calendar/events?date=2026-02-01" \
  -H "Authorization: Bearer viara_sk_xxxxxxxx"

Response:

{
  "events": [
    {
      "id": "uuid",
      "title": "Reunion de trabajo",
      "description": "Discutir proyecto",
      "start_date": "2026-02-01",
      "start_time": "10:00:00",
      "end_date": "2026-02-01",
      "end_time": "11:00:00",
      "is_all_day": false,
      "priority": "high",
      "is_completed": false,
      "location": "Oficina"
    }
  ]
}

GET /calendar/events/:id

Obtiene un evento especifico.

Scope: calendar:read

POST /calendar/events

Crea un nuevo evento.

Scope: calendar:write

Body params:

  • title (string, requerido): Titulo del evento
  • start_date (string, requerido): Fecha inicio YYYY-MM-DD
  • start_time (string): Hora inicio HH:MM:SS
  • end_date (string): Fecha fin YYYY-MM-DD
  • end_time (string): Hora fin HH:MM:SS
  • description (string): Descripcion
  • location (string): Ubicacion
  • is_all_day (boolean): Evento de todo el dia
  • priority (string): low, medium, high
  • color (string): Color hex (#RRGGBB)
  • reminder_enabled (boolean): Activar recordatorio
  • reminder_minutes_before (integer): Minutos antes del recordatorio

Ejemplo:

curl -X POST "https://wztfumaauxpsiwunnsoy.supabase.co/functions/v1/api-v1/calendar/events" \
  -H "Authorization: Bearer viara_sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Cita con cliente",
    "start_date": "2026-02-15",
    "start_time": "14:00:00",
    "end_time": "15:00:00",
    "description": "Revision de proyecto",
    "priority": "high"
  }'

PUT /calendar/events/:id

Actualiza un evento existente.

Scope: calendar:write

Ejemplo (marcar como completado):

curl -X PUT "https://wztfumaauxpsiwunnsoy.supabase.co/functions/v1/api-v1/calendar/events/uuid" \
  -H "Authorization: Bearer viara_sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"is_completed": true}'

DELETE /calendar/events/:id

Elimina un evento.

Scope: calendar:write

Citas de Trabajo (Bookings)

GET /bookings

Lista citas asignadas como profesional.

Query params:

  • date (string): Filtrar por fecha (YYYY-MM-DD)
  • start_date (string): Inicio del rango
  • end_date (string): Fin del rango
  • status (string): pending, confirmed, completed, cancelled

Scope: bookings:read

Response:

{
  "bookings": [
    {
      "id": "uuid",
      "start_datetime": "2026-02-01T10:00:00Z",
      "end_datetime": "2026-02-01T11:00:00Z",
      "status": "confirmed",
      "total_amount": 25000,
      "customer": {
        "first_name": "Maria",
        "last_name": "Garcia",
        "email": "maria@example.com"
      },
      "business": {
        "name": "Salon Bella"
      },
      "booking_services": [
        {
          "service_name": "Corte de cabello",
          "duration_minutes": 30,
          "price": 15000
        }
      ]
    }
  ]
}

GET /bookings/:id

Obtiene detalle de una cita especifica.

Scope: bookings:read

Habitos

GET /habits

Lista habitos activos.

Scope: calendar:read

Response:

{
  "habits": [
    {
      "id": "uuid",
      "name": "Meditar",
      "icon_name": "self_improvement",
      "color": "#9C27B0",
      "frequency_type": "daily",
      "target_count": 1,
      "current_streak": 5
    }
  ]
}

GET /habits/logs

Lista registros de habitos completados.

Query params:

  • date (string): Filtrar por fecha
  • start_date (string): Inicio del rango
  • end_date (string): Fin del rango

Scope: calendar:read

Codigos de Error

Codigo Descripcion
400 Peticion invalida - faltan parametros o formato incorrecto
401 No autorizado - API Key invalida o expirada
403 Prohibido - No tienes permisos para esta accion
404 No encontrado - El recurso no existe
429 Demasiadas peticiones - Limite de 1000/hora excedido
500 Error interno del servidor

Limites


Tu Tarea

Segun lo que el usuario solicite ($ARGUMENTS), ayudale a:

  1. Entender la API: Explica endpoints, parametros y respuestas
  2. Generar codigo: Crea ejemplos en el lenguaje que prefiera (Python, JavaScript, cURL, etc.)
  3. Depurar problemas: Ayuda a resolver errores comunes
  4. Disenar integraciones: Sugiere como conectar Viara con otras herramientas

Si el usuario no especifica que quiere hacer, preguntale que tipo de integracion necesita.

Install via CLI
npx skills add https://github.com/juanjoserodrigolazaro/viara-api-skill --skill viara-api
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
juanjoserodrigolazaro
juanjoserodrigolazaro Explore all skills →