Mailmodo Hooks API

The Hooks API from Mailmodo — 2 operation(s) for hooks.

Operations 2

POST /hooks/start/{journey-id} Add a new user to the journey #
POST /hooks/abort/{journey-id} Abort the journey for a user #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mailmodo-hooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mailmodo-hooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: User Journeys Hooks API
  version: '1.0'
  summary: Send users to a series of emails
  description: 'Use the API to trigger or abort the journey for a contact directly from your system.


    Users require mmAPI key and journey id in respective cases to configure this API.


    Follow the help doc to get these details from your Mailmodo account. ( https://help.mailmodo.com/en/articles/204-how-to-get-the-mmapi-key-and-journey-id )'
servers:
- url: https://api.mailmodo.com
security:
- mmApiKey: []
tags:
- name: Hooks
paths:
  /hooks/start/{journey-id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: journey-id
      in: path
      required: true
    post:
      summary: Add a new user to the journey
      tags:
      - Hooks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: ''
                type: object
                x-examples:
                  example-1:
                    success: true
                    message: string
                properties:
                  success:
                    type: boolean
                    description: 'true'
                  message:
                    type: string
                    minLength: 1
                  ref:
                    type: string
                    format: uuid
                    description: Instance Id of the started journey
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                description: ''
                type: object
                x-examples:
                  example-1:
                    success: false
                    message: string
                properties:
                  success:
                    type: boolean
                    description: 'false'
                  message:
                    type: string
                    minLength: 1
                    readOnly: true
      operationId: post-hooks-start-journey-id
      requestBody:
        content:
          application/json:
            schema:
              description: ''
              type: object
              x-examples:
                example-1:
                  email: email for journey
                  data: {}
              properties:
                email:
                  type: string
                  minLength: 1
                  format: email
                  writeOnly: true
                data:
                  type: object
                  description: key value pairs for the personalization
                allowDuplicateEmail:
                  type: boolean
                  default: false
                  description: Set true to allow multiple instances of the journey for the same email id.
              required:
              - email
          application/xml:
            schema:
              type: object
              properties: {}
      parameters:
      - schema:
          type: string
        in: header
        description: Please input your API key available at https://manage.mailmodo.com/app/settings/apikey
        name: mmApiKey
        required: true
      - schema:
          type: string
        in: header
        name: Content-Type
        description: application/json
        required: true
  /hooks/abort/{journey-id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: journey-id
      in: path
      required: true
    post:
      summary: Abort the journey for a user
      tags:
      - Hooks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                description: ''
                type: object
                x-examples:
                  example-1:
                    success: true
                    message: The provided email is not a valid email id
                properties:
                  success:
                    type: boolean
                    description: 'true'
                  message:
                    type: string
                    minLength: 1
                required:
                - success
                - message
              examples: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                description: ''
                type: object
                x-examples:
                  example-1:
                    success: false
                    status: error
                    message: The provided email is not a valid email id
                properties:
                  success:
                    type: boolean
                    description: 'false'
                    default: false
                  message:
                    type: string
                    minLength: 1
                    readOnly: true
                required:
                - success
                - message
      operationId: post-hooks-abort-journey-id
      requestBody:
        content:
          application/json:
            schema:
              description: ''
              type: object
              x-examples:
                example-1:
                  email: email for journey
                  reason: reason for abort
              properties:
                email:
                  type: string
                  minLength: 1
                  format: email
                  example: john@example.com
                  writeOnly: true
                reason:
                  type: string
                  minLength: 1
                  example: purchase completed
                  description: abort reason
                instanceId:
                  type: string
                  format: uuid
                  description: Instance Id of the journey instance to be cancelled
        description: 'Note: Either email or the instanceId should be provided to cancel the jouney'
      parameters:
      - schema:
          type: string
        in: header
        description: application/json
        name: Content-Type
        required: true
      - schema:
          type: string
        in: header
        name: mmApiKey
        description: Please input your API key available at https://manage.mailmodo.com/app/settings/apikey
        required: true
components:
  securitySchemes:
    mmApiKey:
      name: mmApiKey
      type: apiKey
      in: header