meisa.io valid
Meisa
Meisa is behavioral lifecycle email for SaaS. Your app syncs user state to Meisa over a small REST API; your growth team then owns every onboarding flow, lifecycle sequence, and triggered email from the Meisa dashboard. The integration philosophy: your code only syncs current user state and fires transactional emails. Tagging, sequence enrollment, and event reactions are configured once in Meisa as automations and run automatically when the data you sync changes.
Their llms.txt
The beginning of the file, from our validated copy saved 2026-10-23T14:18:51.982Z. Cached copy · Source on meisa.io
# Meisa
> Meisa is behavioral lifecycle email for SaaS. Your app syncs user state to Meisa over a small REST API; your growth team then owns every onboarding flow, lifecycle sequence, and triggered email from the Meisa dashboard. The integration philosophy: your code only syncs current user state and fires transactional emails. Tagging, sequence enrollment, and event reactions are configured once in Meisa as automations and run automatically when the data you sync changes.
Base URL: `https://api.meisa.io/api/v1`
Auth: send your API key in the `X-API-Key` header on every request. Keys look like `meisa_live_...` and are created in Settings → API Keys. Each key has scopes.
Verify a key: `GET https://api.meisa.io/api/v1/ping/`
## The two endpoints most integrations need
- Sync a user: `POST /contacts/upsert/` (scope `contacts:write`). Send the user's current state keyed by `email` (and ideally `external_id`). Custom data goes in `custom_fields`. Meisa automations react to changes.
- Send a transactional email: `POST /emails/trigger/` (scope `emails:trigger`). Identify a dashboard-configured trigger by `trigger_key`, send to `to_email`, pass `variables`.
## Full endpoint list
- `POST /contacts/upsert/` — create/update a contact by email or external_id (scope: contacts:write)
- `POST /events/track/` — record a custom event for a contact; fires automations (scope: events:track)
- `POST /contacts/{id}/add_tag/` — add a tag to a contact (scope: contacts:write)
- `POST /contacts/{id}/remove_tag/` — remove a tag from a contact (scope: contacts:write)
- `GET /contacts/api/unsubscribed-emails/` — list emails that must not be sent to (scope: contacts:read)
- `POST /sequences/enroll/` — enroll a contact in a sequence by slug (scope: sequences:enroll)
- `POST /sequences/api/bulk-enroll/` — enroll up to 500 emails in a sequence (scope: sequences:enroll)
- `GET /sequences/api/list/` — list active sequences and their slugs (scope: sequences:read)
- `GET /sequences/api/contact-enrollments/` — list a contact's enrollments (scope: sequences:read)
- `POST /emails/trigger/` — send a triggered/transactional email (scope: emails:trigger)
- `GET /ping/` — verify an API key (any valid key)
## Docs
- [API overview & AI prompt](https://meisa.io/docs): start here.
- [Quickstart](https://meisa.io/docs/quickstart): first sync + first triggered email.
- [Authentication & scopes](https://meisa.io/docs/authentication)
- [Contacts & upsert](https://meisa.io/docs/contacts): the core endpoint and custom_fields.
- [Events](https://meisa.io/docs/events)
- [Tags](https://meisa.io/docs/tags)
- [Sequences](https://meisa.io/docs/sequences)
- [Triggered emails](https://meisa.io/docs/triggered-emails)
- [Automations: you sync, Meisa reacts](https://meisa.io/docs/automations)
- [Full reference](https://meisa.io/docs/reference)
- [Full machine-readable spec](https://meisa.io/llms-full.txt): the complete API in one file, ideal to paste into an AI coding assistant.
## Notes
- Broadcasts
…
Machine-readable: GET /v1/resolve?q=meisa.io · GET /v1/domain/meisa.io · this page as Accept: application/json or text/markdown · MCP lookup_domain
Automatically discovered from public files. Inclusion does not imply endorsement or publisher participation.
Own or manage this website?
If you own or manage meisa.io, you can update its listing and review file health, discovery activity and score history.
Manage this listing — optional
What verification unlocks
See how your site is discovered—and control what agents see.
- Control what agents see
Edit your listing description, tags, public contact details and additional llms.txt paths. Publish your terms for automated access, attribution and pricing.
- Make your profile eligible for search
A valid, listed, unblocked, verified profile can appear in our publisher sitemap and become eligible for search-engine visibility. Search engines decide what to index and rank.
- Appear in our llms-full.txt
Eligible verified publishers are listed by name, with their file links and summaries, in the service overview agents can read.
Free. No account registration, backlink or payment required. Public discovery remains available without verification.
Let your coding agent verify it
If your coding agent is authorized to manage this website, paste these instructions into it.
Claim my listing on Agent Web Map for meisa.io:
1. POST https://agentwebmap.com/v1/sites/meisa.io/claims and keep claim_id and claim_secret private.
2. Publish the proof: add the line "AgentWebMap ownership: <token>" (token from step 1) to https://meisa.io/llms.txt, or use the DNS, meta-tag or well-known method the response describes.
3. POST https://agentwebmap.com/v1/sites/meisa.io/verify with {"claim_id": "...", "claim_secret": "..."}.
4. Save the api_key from the answer; it manages the listing (PATCH https://agentwebmap.com/v1/sites/meisa.io).
MCP equivalent: tools begin_ownership_claim, then verify_domain, at https://agentwebmap.com/mcp. Docs: https://agentwebmap.com/docs#verifyCorrections or removal requests: contact the directory.