Loops: API Design — Events & Contacts
Docs-backedREST API at app.loops.so/api/v1/. Contact management: POST /v1/contacts/create, PUT /v1/contacts/update, GET /v1/contacts/find with email lookup. Contact properties are custom key-value pairs. Event sending: POST /v1/events/send with email, eventName, and optional eventProperties — this triggers any automation loops configured for that event. Transactional email: POST /v1/transactional with transactionalId (template ID), email, and dataVariables for dynamic content. Mailing list management: POST /v1/contacts/create with mailingLists object. The API surface is intentionally minimal — fewer than 10 endpoints. No batch contact operations. No campaign creation or analytics via API (dashboard only). The simplicity is the design philosophy: agents handle contact and event data, Loops handles email delivery and automation.