---
title: "Get your Templates"
method: GET
path: "/v1/templates"
tags: ["Templates"]
---

# Get your Templates

`GET /v1/templates`

## Request

- Base URL: `https://api.dexatel.com`
- URL: `https://api.dexatel.com/v1/templates`
- Auth: API key in header `X-Dexatel-Key`

## Query parameters

- `page_size` string: Default value is 10, can be at maximum 1000
- `page_token` string: Found in pagination links and can be used to get 'previous' or 'next' items
- `filter[channel]` 'SMS' | 'VIBER' | 'WHATSAPP': Filter by Channel. Enumeration values [SMS, VIBER, WHATSAPP]
- `filter[name]` string: Filter(Starts With) Templates by Name
- `filter[status]` 'COMPLETED' | 'IN_PROCESS' | 'CANCELED'

## Response `200`

OK

- TemplateResponseListWrapperDto
  - `data` TemplateResponseDto[]
    - `id` string, uuid: Unique identifier of the template
    - `account_id` string, uuid: Unique identifier of the account
    - `name` string: Name (unique identifier) of the template
    - `text` string: Text of the template may contain variables. Maximum 1000 characters
    - `channel` 'SMS' | 'VIBER' | 'WHATSAPP': Template channel. Enumeration values [SMS, VIBER, WHATSAPP]
    - `status` 'COMPLETED' | 'IN_PROCESS' | 'CANCELED': Template status. Enumeration values [COMPLETED, IN_PROCESS, CANCELED]
    - `type` 'text' | 'image' | 'video' | 'document' | 'carousel' | 'survey': Template type. Enumeration values [text, image, video, document, carousel, survey]
    - `url` string: Template media url for image,video or document types
    - `filename` string: Template filename for document type
    - `button_type` string: WhatsApp Template button type
    - `button_text` string: Template button text
    - `button_value` string: Template button value
    - `placeholder_count` integer: Indicates the number of attributes. Values wrapped in {}
    - `media_id` string, uuid: Template media id for image,video or document types
    - `carousel_items` object[]: Array of carousel items. Present when type is 'carousel'
      - `title` string: Title of the carousel item
      - `media_id` string, uuid: Media ID of the carousel item image
      - `image_url` string, nullable: Image URL of the carousel item
      - `primary_button` object: Primary button of the carousel item
        - `label` string: Button label text
        - `action_url` string: URL to open when button is clicked
        - `inactive_viber_link` boolean: Whether Viber link is inactive
      - `secondary_button` object: Secondary button of the carousel item
        - `label` string: Button label text
        - `action_url` string: URL to open when button is clicked
        - `inactive_viber_link` boolean: Whether Viber link is inactive
    - `survey_options` string[]: Array of survey option strings. Present when type is 'survey'. Minimum 2, maximum 5 options
    - `create_date` string, date-time: Creation date of the template in UTC, formatted as yyyy-mm-dd hh:mm:ss
    - `update_date` string, date-time: Update date of the template in UTC, formatted as yyyy-mm-dd hh:mm:ss
    - `viber_category` 'PROMOTIONAL' | 'TRANSACTIONAL' | 'OTP': Viber template category. Enumeration values [PROMOTIONAL, TRANSACTIONAL, OTP]
    - `viber_template` object: Viber OTP/Transactional template details. Present when viber_category is OTP or TRANSACTIONAL
      - `template_id` string: Viber template ID assigned by the Viber service
      - `sender_code` string: Viber sender code
      - `status` string: Viber template registration status
      - `status_note` string: Additional status information
      - `category` string: Viber template category as returned by the Viber service
      - `service_id` integer: Viber service ID
      - `created_at` integer: Template creation timestamp (Unix epoch)
      - `params` ViberTemplateParamDto[]: Template parameter definitions
        - `name` string: Parameter name. Must contain only English letters, digits, and underscores. Maximum 50 characters
        - `type` 'TEXT': Parameter type. Must be TEXT
      - `locales` ViberTemplateLocaleDto[]: Template locale entries
        - `lang` string: Language code. Must be one of the supported language codes
        - `template` string: Template body text. Must be between 1 and 875 characters. Must start and end with static text, not a placeholder. Must not contain consecutive placeholders. Must contain a placeholder for every defined param
      - `var_example` ViberTemplateVarExampleDto[]: Example values for template variables
        - `name` string: Variable name. Must match a defined parameter name. Maximum 50 characters
        - `example` string: Example value for the variable. Must not contain a URL, link, or email address. Maximum 100 characters
    - `wa_sender_code` string: WhatsApp sender code associated with the template
    - `wa_category` string: WhatsApp template category (e.g. MARKETING, UTILITY, AUTHENTICATION)
    - `wa_text_examples` string[]: Example values for placeholders in the template text
    - `wa_carousel` object: WhatsApp carousel details. Present when channel is WHATSAPP and type is 'carousel'
      - `name` string: Name (unique identifier) of the carousel template
      - `text` string: Text of the message shown above the carousel
      - `wa_text_examples` string[]: Example values for placeholders in the template text
      - `cards` WaCarouselCardResponseDto[]: Cards of the carousel
        - `card_index` integer: Zero-based position of the card in the carousel
        - `header_format` 'IMAGE': Media format of the card header. Only 'IMAGE' is supported
        - `media_id` string, uuid: Media id of the card header. Null when 'url' was used instead
        - `url` string: Media url of the card header. Null when 'media_id' was used instead
        - `body_text` string: Card body text
        - `body_text_examples` string[]: Example values for placeholders in 'body_text'
        - `buttons` WaCarouselCardButtonResponseDto[]: Buttons of the card
          - `type` 'QUICK_REPLY' | 'LINK' | 'PHONE_CALL': Button type
          - `index` integer: Zero-based position of the button within the card
          - `text` string: Button label
          - `value` string: Url, phone number or quick-reply payload of the button
          - `example` string: Example value for the dynamic placeholder used in 'value'
    - `button_url_example` string: Example value for the dynamic URL segment in a CALL_TO_ACTION button
    - `otp_expiration_seconds` integer: OTP expiration time in seconds for WhatsApp OTP templates
  - `pagination` Pagination
    - `number` integer: Current page number
    - `size` integer: Page size. Default value is 10, can be at maximum 1000
    - `total` integer: Total count of requested resources
    - `links` object: Contains URLs to get next/previous resources
      - `first` string: URL to the first page
      - `current` string: URL to the current page
      - `previous` string: URL to the previous page, if any
      - `next` string: URL to the next page, if any

## Other responses

- `400`: **Bad Request:** Code Message Description 1257 'filter\[channel\]' value should be: \[SMS, VIBER, WHATSAPP\]

---

[API](https://skmtc.dev/dexatel/apis/contacts-and-messaging.md) - [All operations](https://skmtc.dev/dexatel/apis/contacts-and-messaging/llms.txt) - [OpenAPI document](https://skmtc.dev/dexatel/apis/contacts-and-messaging/revisions/f07e4f03a129?raw)
