Skip to main content
Give this prompt to your AI coding tool (Lovable, V0, Replit, Cursor, Claude) to automatically build a contact sync integration with Minimo.
You can copy the entire prompt from the Full Prompt section at the bottom of this page and paste it directly into your AI tool.
Using PostgreSQL or Supabase? If your application runs on a PostgreSQL database (including Supabase), we strongly recommend using the native Supabase Connection instead of this API-based sync. The native connection is plug-and-play: it reads your data directly from the database in read-only mode, requires zero extra code, has no API failure points, and your data stays entirely in your infrastructure.

What This Prompt Does

When given to an AI coding assistant, it will implement:
  1. A reusable Minimo API client with authentication
  2. Custom field setup that runs on app startup to ensure all required fields exist
  3. Contact upsert on every user create/update to keep Minimo in sync
  4. Contact deletion when users are removed

Prerequisites

Before using this prompt, you need:

API Endpoints Used

This integration uses the following endpoints:

Authentication

All requests require the API key in the Authorization header:
The company is automatically identified from your API key — no additional headers needed.
Never expose your API key in client-side code. Always call Minimo APIs from your backend.

How Contact Matching Works

The upsert endpoint matches contacts in this order:
1

Match by email

If email is provided, searches for an existing contact with the same email in your company.
2

Match by phone

If no email match is found and phone is provided, searches by phone number.
3

Create new

If no match is found, creates a new contact.
Custom fields are merged on update: existing values not included in the request are preserved. Only the keys you send are overwritten.
Need to update a contact’s email? Use GET /public/v1/contacts/by-email/:email to find the contact ID, then PUT /public/v1/contacts/:id to update it. The upsert endpoint matches by email first, so changing it would create a duplicate unless a phone number is also provided.

Key Behaviors

FIRST_NAME and LAST_NAME are created automatically for every Minimo company. You don’t need to create them — just include their values in the customFields object.
Field keys are normalized to uppercase internally. Always use uppercase keys like PLAN_TYPE, not planType.
Sending "" for email or phone is treated as null. Sending null for a field on update preserves the existing value.
The status field accepts any string (e.g., active, churned, trial). There is no predefined list.
Supported types: text, number, boolean, date, datetime, time, json.

Quick Example

Create a custom field

Upsert a contact

Response:

Full Prompt

Copy the prompt below and paste it into your AI coding tool.