Skip to main content
POST
/
custom-templates
/
inapp
/
search
Search In-app Templates
curl --request POST \
  --url https://api-0{dc}.moengage.com/v1.0/custom-templates/inapp/search \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "page": 1,
  "entries": 15,
  "template_source": [
    "API"
  ],
  "sort_params": [
    {
      "template_name": "ASCENDING"
    }
  ]
}
'
{
  "data": [
    {
      "external_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "version": 123,
      "basic_details": {
        "payload": "<string>",
        "preview_image": "<string>",
        "inapp_template_type": "SELF_HANDLED"
      },
      "meta_info": {
        "template_id": "<string>",
        "template_name": "<string>",
        "template_version": "<string>",
        "created_by": "<string>",
        "channel": "INAPP",
        "template_source": "API",
        "template_type": "CUSTOM"
      },
      "created_by": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_by": "<string>",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  ]
}
Mandatory PaginationWe are introducing mandatory pagination, effective November 15, 2025. All calls to this API must include the following two parameters:
  • page: The page number of the results you wish to fetch.
  • entries: The number of templates to return per page, with a maximum value of 15.
Please update all integrations to include these parameters. API requests submitted without them after the effective date will result in an error and fail to execute.

Authorizations

Authorization
string
header
required

Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.

  • Username: Use your MoEngage workspace ID (also known as the App ID). You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).
  • Password: Use your API Key, which you can find within the Campaign report/Business events/Custom templates/Catalog API/Inform Report tile.

For more information on authentication and getting your credentials, refer here.

Body

application/json

Search filters for finding In-app templates.

Notes:

  • All fields are optional.
  • If the request body is passed empty, then all templates will be returned.
  • Here, the preview_image field will be generated by MoEngage for the HTML template payload.
page
integer

This field contains the index of the pages to be returned in the search result. Mandatory after Nov 15, 2025.

entries
integer

This field contains the number of entries per page in the search result. Max 15. Mandatory after Nov 15, 2025.

Required range: x <= 15
template_name
string

This field indicates the name of the template. When this value is specified, the template that matches the name specified in this field will be returned.

template_source
enum<string>[]

This field indicates the template source that created the template. For example: ["API", "MOENGAGE"]. When specified, the templates whose source matches that specified in this list will be returned.

Available options:
API,
MOENGAGE
template_type
enum<string>[]

This field indicates whether the template is a custom one or a pre-built one. Allowed values: CUSTOM, PRE_BUILT.

Available options:
CUSTOM,
PRE_BUILT
created_by
string<email>[]

This field indicates the user who created the template. When specified, the templates for which the created_by user information matches that specified in this list will be returned.

updated_by
string<email>[]

This field indicates the user who updated the template. When specified, the templates for which the updated_by user information matches that specified in this list will be returned.

sort_params
object[]

Sort the templates by multiple fields in ASCENDING or DESCENDING order: template_name, last_modified_date, last_modified_by.

template_ids
object[]

Search multiple templates using Pair of external_template_id and version.

Response

The template was searched successfully.

data
object[]

This field contains all the details of the template searched, such as the meta info, template ID, template version, payload, date and time the template was created or updated, and the user attribute of the user who created or updated the template.