Monite Mail templates API

The Mail templates API from Monite — 5 operation(s) for mail templates.

Operations 8

GET /mail_templates Get All With Filters #
POST /mail_templates Create #
POST /mail_templates/preview Preview #
GET /mail_templates/system Get All System Templates #
GET /mail_templates/{template_id} Get #
PATCH /mail_templates/{template_id} Update #
DELETE /mail_templates/{template_id} Delete #
POST /mail_templates/{template_id}/make_default Make Default #

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/monite:monite-mail-templates-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

monite-mail-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Monite Mail templates API
  contact:
    name: Monite team
    url: https://monite.com/about/
    email: developers@monite.com
  termsOfService: https://monite.com/terms
  version: '1.0'
  description: 'Operations tagged Mail templates across 3 of this provider''s published API definitions: monite-openapi-2023-09-01.json, monite-openapi-2024-05-25.json, monite-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.dev.monite.com/v1
  description: Development environment
- url: https://api.sandbox.monite.com/v1
  description: Sandbox environment
- url: https://api.monite.com/v1
  description: Production environment (Europe)
- url: https://us.api.monite.com/v1
  description: Production environment (North America)
- url: https://api.monite.oaknorth.co.uk/v1
  description: Oak POC environment
tags:
- name: Mail templates
paths:
  /mail_templates:
    get:
      tags:
      - Mail templates
      summary: Get All With Filters
      description: Get all custom templates
      operationId: get_mail_templates
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      - description: Sort order (ascending by default). Typically used together with the `sort` parameter.
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/OrderEnum'
          default: asc
        name: order
        in: query
      - description: The number of items (0 .. 100) to return in a single page of the response. The response may contain fewer items if it is the last or only page.
        required: false
        schema:
          type: integer
          maximum: 100.0
          minimum: 1.0
          default: 100
        name: limit
        in: query
      - description: 'A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters are ignored and inferred from the initial query.


          If not specified, the first page of results will be returned.'
        required: false
        schema:
          type: string
        name: pagination_token
        in: query
      - description: The field to sort the results by. Typically used together with the `order` parameter.
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/CustomTemplatesCursorFields'
        name: sort
        in: query
      - required: false
        schema:
          $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
        name: type
        in: query
      - required: false
        schema:
          items:
            $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          type: array
        name: type__in
        in: query
      - required: false
        schema:
          items:
            $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          type: array
        name: type__not_in
        in: query
      - required: false
        schema:
          type: boolean
        name: is_default
        in: query
      - required: false
        schema:
          type: string
        name: name
        in: query
      - required: false
        schema:
          type: string
        name: name__iexact
        in: query
      - required: false
        schema:
          type: string
        name: name__contains
        in: query
      - required: false
        schema:
          type: string
        name: name__icontains
        in: query
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplatesPaginationResponse'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    post:
      tags:
      - Mail templates
      summary: Create
      description: Create custom template
      operationId: post_mail_templates
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCustomTemplateSchema'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    servers:
    - url: https://api.dev.monite.com/v1
      description: Development environment
    - url: https://api.sandbox.monite.com/v1
      description: Sandbox environment
    - url: https://api.monite.com/v1
      description: Production environment (Europe)
    - url: https://us.api.monite.com/v1
      description: Production environment (North America)
    - url: https://api.monite.oaknorth.co.uk/v1
      description: Oak POC environment
  /mail_templates/preview:
    post:
      tags:
      - Mail templates
      summary: Preview
      description: Preview rendered template
      operationId: post_mail_templates_preview
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      - description: The ID of the entity that owns the requested resource.
        required: true
        schema:
          type: string
          format: uuid
          examples:
          - 9d2b4c8f-2087-4738-ba91-7359683c49a4
        name: x-monite-entity-id
        in: header
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewTemplateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreviewTemplateResponse'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    servers:
    - url: https://api.dev.monite.com/v1
      description: Development environment
    - url: https://api.sandbox.monite.com/v1
      description: Sandbox environment
    - url: https://api.monite.com/v1
      description: Production environment (Europe)
    - url: https://us.api.monite.com/v1
      description: Production environment (North America)
    - url: https://api.monite.oaknorth.co.uk/v1
      description: Oak POC environment
  /mail_templates/system:
    get:
      tags:
      - Mail templates
      summary: Get All System Templates
      description: Get all system templates
      operationId: get_mail_templates_system
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemTemplates'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    servers:
    - url: https://api.dev.monite.com/v1
      description: Development environment
    - url: https://api.sandbox.monite.com/v1
      description: Sandbox environment
    - url: https://api.monite.com/v1
      description: Production environment (Europe)
    - url: https://us.api.monite.com/v1
      description: Production environment (North America)
    - url: https://api.monite.oaknorth.co.uk/v1
      description: Oak POC environment
  /mail_templates/{template_id}:
    get:
      tags:
      - Mail templates
      summary: Get
      description: Get custom template by ID
      operationId: get_mail_templates_id
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      - required: true
        schema:
          type: string
          format: uuid
        name: template_id
        in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    patch:
      tags:
      - Mail templates
      summary: Update
      description: Update custom template by ID
      operationId: patch_mail_templates_id
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      - required: true
        schema:
          type: string
          format: uuid
        name: template_id
        in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomTemplateSchemaRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    delete:
      tags:
      - Mail templates
      summary: Delete
      description: Delete custom template bt ID
      operationId: delete_mail_templates_id
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      - required: true
        schema:
          type: string
          format: uuid
        name: template_id
        in: path
      responses:
        '204':
          description: Successful Response
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    servers:
    - url: https://api.dev.monite.com/v1
      description: Development environment
    - url: https://api.sandbox.monite.com/v1
      description: Sandbox environment
    - url: https://api.monite.com/v1
      description: Production environment (Europe)
    - url: https://us.api.monite.com/v1
      description: Production environment (North America)
    - url: https://api.monite.oaknorth.co.uk/v1
      description: Oak POC environment
  /mail_templates/{template_id}/make_default:
    post:
      tags:
      - Mail templates
      summary: Make Default
      description: Make template default
      operationId: post_mail_templates_id_make_default
      parameters:
      - required: true
        schema:
          type: string
          format: date
        example: '2023-09-01'
        name: x-monite-version
        in: header
      - required: true
        schema:
          type: string
          format: uuid
        name: template_id
        in: path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomTemplateDataSchema'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
    servers:
    - url: https://api.dev.monite.com/v1
      description: Development environment
    - url: https://api.sandbox.monite.com/v1
      description: Sandbox environment
    - url: https://api.monite.com/v1
      description: Production environment (Europe)
    - url: https://us.api.monite.com/v1
      description: Production environment (North America)
    - url: https://api.monite.oaknorth.co.uk/v1
      description: Oak POC environment
components:
  schemas:
    OrderEnum:
      type: string
      enum:
      - asc
      - desc
    CustomTemplatesPaginationResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/CustomTemplateDataSchema'
          type: array
          description: All user-defined email templates
        next_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the next page of results, or `null` if there is no next page (i.e. you've reached the last page).
        prev_pagination_token:
          type: string
          description: A token that can be sent in the `pagination_token` query parameter to get the previous page of results, or `null` if there is no previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
      - data
    SystemTemplates:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SystemTemplateDataSchema'
          type: array
          description: All pre-defined email templates
      type: object
      required:
      - data
    DocumentObjectTypeRequestEnum:
      type: string
      enum:
      - receivables_quote
      - receivables_invoice
      - receivables_paid_invoice
      - receivables_credit_note
      - receivables_discount_reminder
      - receivables_final_reminder
      - payables_purchase_order
      - payables_notify_approver
      - payables_notify_payer
    CustomTemplatesCursorFields:
      type: string
      enum:
      - type
      - name
    UpdateCustomTemplateSchemaRequest:
      properties:
        body_template:
          type: string
          description: Jinja2 compatible string with email body
        language:
          allOf:
          - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Lowercase ISO code of language
        name:
          type: string
          maxLength: 128
          minLength: 1
          description: Custom template name
          serialization_alias: template_name
        subject_template:
          type: string
          description: Jinja2 compatible string with email subject
      additionalProperties: false
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    SystemTemplateDataSchema:
      properties:
        available_templates:
          items:
            $ref: '#/components/schemas/TemplateDataSchema'
          type: array
          description: Array of templates
        template_name:
          type: string
          description: Name of the template
      additionalProperties: false
      type: object
      required:
      - available_templates
      - template_name
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
      type: object
      required:
      - loc
      - msg
      - type
    AddCustomTemplateSchema:
      properties:
        body_template:
          type: string
          minLength: 1
          description: Jinja2 compatible string with email body
        is_default:
          type: boolean
          description: Is default template
          default: false
        language:
          allOf:
          - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Lowercase ISO code of language
          default: en
        name:
          type: string
          maxLength: 128
          minLength: 1
          description: Custom template name
        subject_template:
          type: string
          minLength: 1
          description: Jinja2 compatible string with email subject
        type:
          allOf:
          - $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          description: Document type of content
      additionalProperties: false
      type: object
      required:
      - body_template
      - name
      - subject_template
      - type
    PreviewTemplateResponse:
      properties:
        body_preview:
          type: string
        subject_preview:
          type: string
      additionalProperties: false
      type: object
      required:
      - body_preview
      - subject_preview
    TemplateDataSchema:
      properties:
        body_template:
          type: string
          description: Jinja2 compatible email body template
        language:
          type: string
          description: Lowercase ISO code of language
        subject_template:
          type: string
          description: Jinja2 compatible email subject template
      additionalProperties: false
      type: object
      required:
      - body_template
      - language
      - subject_template
    PreviewTemplateRequest:
      properties:
        body:
          type: string
          description: Body text of the template
        document_type:
          allOf:
          - $ref: '#/components/schemas/DocumentObjectTypeRequestEnum'
          description: Document type of content
        language_code:
          allOf:
          - $ref: '#/components/schemas/LanguageCodeEnum'
          description: Lowercase ISO code of language
        subject:
          type: string
          description: Subject text of the template
      additionalProperties: false
      type: object
      required:
      - body
      - document_type
      - language_code
      - subject
    ErrorSchemaResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorSchema'
      type: object
      required:
      - error
    CustomTemplateDataSchema:
      properties:
        id:
          type: string
          format: uuid
          description: ID of email template
        created_at:
          type: string
          format: date-time
          description: Template created date and time
        updated_at:
          type: string
          format: date-time
          description: Template updated date and time
        body_template:
          type: string
          description: Jinja2 compatible email body template
        is_default:
          type: boolean
          description: Is default template
        language:
          type: string
          maxLength: 4
          description: Lowercase ISO code of language
        name:
          type: string
          maxLength: 128
          description: Name of the template
        subject_template:
          type: string
          maxLength: 2048
          description: Jinja2 compatible email subject template
        type:
          type: string
          description: Document type of content
      additionalProperties: false
      type: object
      required:
      - id
      - created_at
      - updated_at
      - body_template
      - is_default
      - language
      - name
      - subject_template
      - type
    LanguageCodeEnum:
      type: string
      enum:
      - ab
      - aa
      - af
      - ak
      - sq
      - am
      - ar
      - an
      - hy
      - av
      - ae
      - ay
      - az
      - bm
      - ba
      - eu
      - be
      - bn
      - bi
      - bs
      - br
      - bg
      - my
      - ca
      - ch
      - ce
      - ny
      - zh
      - cu
      - cv
      - kw
      - co
      - cr
      - hr
      - cs
      - da
      - dv
      - nl
      - dz
      - en
      - eo
      - et
      - ee
      - fo
      - fj
      - fi
      - fr
      - fy
      - ff
      - gd
      - gl
      - lg
      - ka
      - de
      - el
      - kl
      - gn
      - gu
      - ht
      - ha
      - he
      - hz
      - hi
      - ho
      - hu
      - io
      - ig
      - id
      - ia
      - ie
      - iu
      - ik
      - ga
      - it
      - ja
      - jv
      - kn
      - kr
      - ks
      - kk
      - km
      - ki
      - rw
      - ky
      - kv
      - kg
      - ko
      - kj
      - ku
      - lo
      - la
      - lv
      - li
      - ln
      - lt
      - lu
      - lb
      - mk
      - mg
      - ms
      - ml
      - mt
      - gv
      - mi
      - mr
      - mh
      - mn
      - na
      - nv
      - nd
      - nr
      - ng
      - ne
      - 'no'
      - nb
      - nn
      - ii
      - oc
      - oj
      - om
      - os
      - pi
      - ps
      - fa
      - pl
      - pt
      - pa
      - qu
      - ro
      - rm
      - rn
      - ru
      - se
      - sm
      - sg
      - sa
      - sc
      - sr
      - sn
      - sd
      - si
      - sk
      - sl
      - so
      - st
      - es
      - su
      - sw
      - ss
      - sv
      - tl
      - ty
      - tg
      - ta
      - tt
      - te
      - th
      - bo
      - ti
      - to
      - ts
      - tn
      - tr
      - tk
      - tw
      - ug
      - uk
      - ur
      - uz
      - ve
      - vi
      - vo
      - wa
      - cy
      - wo
      - xh
      - yi
      - yo
      - za
      - zu
    ErrorSchema:
      properties:
        message:
          type: string
      type: object
      required:
      - message
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
x-refined-from:
- monite-openapi-2023-09-01.json
- monite-openapi-2024-05-25.json
- monite-openapi.yml