Brújula Ir a la app

Brújula para desarrolladores

Para quien arma sus propias automatizaciones: creá tareas, anotá gastos o hablale al asistente desde Atajos del iPhone, Zapier, Make, n8n o tu propio código, con una llave de acceso que creás vos y podés revocar cuando quieras.

1. Creá tu llave

Cada herramienta lleva su propia llave. Así, si dejás de usar una, la revocás y el resto sigue andando.

  1. Entrá a Brújula y andá a Ajustes → Desarrolladores.
  2. Escribí para qué es (por ejemplo, "Atajos del iPhone"), elegí el permiso y tocá Crear llave. "Solo lectura" sirve para consultar; para crear tareas o hablar con el asistente hace falta "Lectura y escritura".
  3. Copiala en ese momento: empieza con brj_ y, por seguridad, no se vuelve a mostrar. Si la perdés, creá otra y revocá la vieja.

Tratala como una contraseña: quien la tenga puede ver y cambiar tu agenda. Brújula guarda solo una huella de la llave, no la llave.

2. Con Siri: Atajos del iPhone

Decís "Oye Siri, Brújula", le hablás como por WhatsApp y te responde. Se arma una sola vez, en unos cinco minutos.

  1. Abrí la app Atajos, tocá + y ponele de nombre Brújula. Ese nombre es lo que le vas a decir a Siri.
  2. Agregá la acción Dictar texto.
  3. Agregá Obtener contenido de URL con la dirección https://brujula.day/api/v1/mensaje. Tocá la flecha para ver más opciones:
    Método: POST.
    Encabezados: agregá uno con clave Authorization y valor Bearer, un espacio y tu llave.
    Solicitar cuerpo (así le dice el iPhone en español al cuerpo del pedido): JSON. Tocá Agregar nuevo campo → Texto, de clave texto y de valor la variable del texto dictado.
  4. Agregá Obtener valor del diccionario y pedí la clave respuesta.
  5. Terminá con Leer texto para que te conteste en voz alta, o con Mostrar contenido (en iOS 17 y 18, Mostrar resultado) si lo preferís en pantalla.

Los nombres son los del iPhone en español de Latinoamérica (en España cambian algunos: «Cabeceras», «Leer texto con voz»). Apple los cambia con las actualizaciones de iOS: si algo no coincide, buscá una acción con un nombre parecido.

Probá: "Oye Siri, Brújula" y después "mañana a las 10, dentista", o "¿qué tengo hoy?". Si el asistente necesita elegir entre opciones, te las nombra y le contestás con otro "Oye Siri, Brújula".

3. Zapier, Make y n8n

Las tres tienen un paso de pedido web que habla con Brújula. Se configura igual en todas:

HerramientaPaso a usar
ZapierWebhooks by Zapier → Custom Request (en los planes pagos de Zapier: el gratis no lo incluye)
MakeMódulo HTTP → Make a request
n8nNodo HTTP Request

En ese paso: método POST, la dirección de la acción que quieras (abajo están todas), el encabezado Authorization: Bearer brj_… y el cuerpo en JSON.

Revisado con la ayuda de cada herramienta el 16/10/2026. Zapier, Make y n8n cambian sus menús cada tanto: si un nombre no coincide, buscá el paso de pedido HTTP.

Ideas para empezar

4. Referencia de la API

Para quien programa, o para configurar cualquier herramienta que haga pedidos web.

QuéCómo
Dirección basehttps://brujula.day/api/v1
AutenticaciónEncabezado Authorization: Bearer brj_…
FormatoJSON en el cuerpo y en la respuesta. Los errores vienen como {"error": "…"}, con su código HTTP.
Fechas y horasAAAA-MM-DD y HH:MM (24 h), en el huso horario de la cuenta (el de Tu cuenta → Perfil; GET /api/v1/yo lo devuelve en zona_horaria).
Límite120 pedidos por minuto por llave. El asistente tiene además un tope diario de mensajes.
PrivacidadLa API no devuelve eventos de Google Calendar, y el asistente no los usa al responder por acá.

GET/yo

Tu cuenta y lo que necesitás para armar pedidos: roles, espacios compartidos, funciones activas, categorías de gasto y monedas.

curl https://brujula.day/api/v1/yo \
  -H "Authorization: Bearer brj_…"

POST/mensaje

Hablarle al asistente como por WhatsApp. Entiende lenguaje natural: agenda, consulta, marca como hecho y anota gastos. Devuelve respuesta (texto) y opciones (si te pregunta algo con respuestas cortas, mandá la elegida en el próximo mensaje; respuesta también las nombra al final, para que Siri las lea).

curl https://brujula.day/api/v1/mensaje \
  -H "Authorization: Bearer brj_…" \
  -H "Content-Type: application/json" \
  -d '{"texto": "mañana a las 10, dentista"}'

{"respuesta": "Listo: dentista, mañana a las 10:00.", "opciones": []}

Atiende un mensaje por vez por cuenta, como por WhatsApp. Si todavía está terminando uno anterior (de la API, Slack o WhatsApp), espera hasta 9 segundos; si sigue ocupado, devuelve 409 y no hace nada con el mensaje nuevo: mandalo de nuevo en un ratito.

HTTP 409
{"error": "Estoy terminando tu mensaje anterior: mandalo de nuevo en un ratito.",
 "respuesta": "Estoy terminando tu mensaje anterior: mandalo de nuevo en un ratito.",
 "opciones": [], "ocupado": true}

GET/tareas

Tareas entre desde y hasta (por defecto, los próximos 7 días; hasta 93 días). estado: pendiente (por defecto), hecha o todas. Con sin_fecha=1 se suman las que no tienen día.

curl "https://brujula.day/api/v1/tareas?desde=2026-10-12&hasta=2026-10-18" \
  -H "Authorization: Bearer brj_…"

POST/tareas

Crea una tarea. Solo titulo es obligatorio.

CampoQué es
tituloQué hay que hacer.
fecha, horaCuándo. Sin fecha queda en "Sin fecha".
duracionMinutos.
notasDetalle libre.
rolNombre de una parte de tu vida ("Trabajo"), o rol_id.
avisoMinutos antes para avisarte por WhatsApp.
espacio_idPara crearla en un espacio compartido.
en_google_calendartrue o false. Si no lo mandás, se publica cuando tiene fecha y tenés Google Calendar conectado.
curl https://brujula.day/api/v1/tareas \
  -H "Authorization: Bearer brj_…" \
  -H "Content-Type: application/json" \
  -d '{"titulo": "Revisar el formulario de Ana", "fecha": "2026-10-14", "hora": "09:30", "rol": "Trabajo"}'

GET/tareas/{id} PATCH DELETE

Ver, cambiar o borrar una tarea. Con PATCH mandá solo lo que cambia, por ejemplo {"estado": "hecha"} o {"fecha": "2026-10-15"}.

GET/gastos POST

Con la función Finanzas activa. GET devuelve los gastos de un mes (mes=AAAA-MM, por defecto el actual). POST anota uno: descripcion y monto son obligatorios; además moneda (UYU o USD), categoria, fecha, notas, espacio_id y, con Finanzas avanzadas, forma_pago (con qué se pagó, como lo dirías: "Visa BBVA", "BROU pesos" o "efectivo") y cuotas. Sin forma_pago, Brújula lo pregunta en la revisión de Finanzas.

curl https://brujula.day/api/v1/gastos \
  -H "Authorization: Bearer brj_…" \
  -H "Content-Type: application/json" \
  -d '{"descripcion": "Supermercado", "monto": 1250.50, "categoria": "Súper", "forma_pago": "Visa BBVA"}'

POST/ingresos

Anota un ingreso (prende Ingresos si estaba apagado): descripcion y monto son obligatorios; moneda, fecha y categoria (Sueldo, Honorarios, Ventas, Turnos, Alquileres, Reintegros, Regalos, Otros) son opcionales.

POST/listas/items

Agrega cosas a una lista de un espacio: items (lista de textos, o texto separado por comas), lista (nombre o parte; sin él, la última abierta) y espacio_id (sin él, tu único espacio).

GET/tareas/nuevas · /tareas/hechas · /gastos/nuevos · /ingresos/nuevos · /turnos/nuevos

Lo último que pasó, del más nuevo al más viejo (hasta limite=100, por defecto 50): para herramientas que preguntan cada pocos minutos, como Zapier o Make. /tareas?q=palabras busca tareas por texto.