# List all templates in project

Returns a paginated list of templates for the specified project. If no page token is supplied then the first `50` templates are returned in alphabetical order.

Endpoint: GET /v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}/templates
Version: 1.2.91
Security: BasicAuth, BearerAuth, OAuth2Production

## Security:

  - `BasicAuth` (unknown)
    http basic

  - `BearerAuth` (unknown)
    http bearer JWT

  - `OAuth2Production` (unknown)
    oauth2

## Path parameters:

  - `projectId` (string, required)
    The unique ID of the project. You can find this on the Sinch Dashboard.

  - `plusFriendId` (string, required)
    The unique ID of the sender.

## Query parameters:

  - `filterStates` (array)
    Optionally query for template by states.

  - `filterStatuses` (array)
    Optionally query for template by statuses.

  - `pageSize` (number)
    The page size requested.

  - `pageToken` (string)
    The page token if retrieving the next page from a previous query.

  - `templateName` (string)
    Optionally query for template by name. Will return all templates with names that begin with the query string.

## Response 200:

  - `200` (unknown)
    List of templates

## Response 200 fields (application/json):

  - `totalSize` (number, required)
    Total size of the entries matching the search query.

  - `pageSize` (number, required)
    Requested size of the page.

  - `previousPageToken` (string)
    Encoded token to use in list request to fetch previous batch of entries.

  - `nextPageToken` (string)
    Encoded token to use in list request to fetch next batch of entries.

  - `templates` (array, required)
    List of templates

  - `templates.id` (string)
    The unique ID of the template.

  - `templates.code` (string, required)
    Registered delivery template code

  - `templates.state` (string)
    The current state of the template.
    Enum: "APPROVED", "REJECTED"

  - `templates.changes` (object)
    Any pending changes to the template.

  - `templates.changes.status` (string, required)
    Current status of the pending changes
    Enum: "DRAFT", "IN_PROGRESS", "REJECTED"

  - `templates.changes.details` (any, required)
    Template details and information.

  - `templates.changes.details.language` (string, required)
    Template language
    Enum: "AF", "AR", "AZ", "BG", "BN", "CA", "CS", "DA", "DE", "EL", "EN", "EN_GB", "EN_US", "ES", "ES_AR", "ES_ES", "ES_MX", "ET", "FA", "FI", "FIL", "FR", "GA", "GU", "HA", "HE", "HI", "HR", "HU", "ID", "IT", "JA", "KA", "KK", "KN", "KO", "KY_KG", "LO", "LT", "LV", "MK", "ML", "MR", "MS", "NB", "NL", "PA", "PL", "PT_BR", "PT_PT", "RO", "RU", "RW_RW", "SK", "SL", "SQ", "SR", "SV", "SW", "TA", "TE", "TH", "TR", "UK", "UR", "UZ", "VI", "ZH_CN", "ZH_HK", "ZH_TW", "ZU", "UNRECOGNIZED"

  - `templates.changes.details.messageType` (string, required)
    Types of template message
    Enum: "AD_INCLUDED", "BASIC", "EXTRA_INFORMATION", "MIXED", "TEMPLATE_MESSAGE_TYPE_UNSPECIFIED", "UNRECOGNIZED"

  - `templates.changes.details.emphasizeType` (string, required)
    Types of emphasized template
    Enum: "EMPHASIZE_TYPE_IMAGE", "EMPHASIZE_TYPE_NONE", "EMPHASIZE_TYPE_TEXT", "EMPHASIZE_TYPE_UNSPECIFIED", "UNRECOGNIZED"

  - `templates.changes.details.categoryCode` (string, required)
    Template category code

  - `templates.changes.details.securityFlag` (boolean, required)
    Security template

  - `templates.changes.details.name` (string, required)
    Button name

  - `templates.changes.details.content` (string)
    Template body

  - `templates.changes.details.extra` (string)
    Additional template information

  - `templates.changes.details.ad` (string)
    Request for consent of receiving within template or simple ad phrases

  - `templates.changes.details.title` (string)
    Template title

  - `templates.changes.details.subtitle` (string)
    Auxiliary template phrase

  - `templates.changes.details.imageName` (string)
    Image name (name of uploaded file)

  - `templates.changes.details.imageUrl` (string)
    Image URL

  - `templates.changes.details.buttons` (array, required)
    List of buttons

  - `templates.changes.details.buttons.ordering` (number)
    Button sequence

  - `templates.changes.details.buttons.type` (string)
    Button type
    Enum: "APP_LINK", "BOT_FOR_CONSULTATION", "BOT_KEYWORD", "BOT_TRANSFER", "BUSINESS_FORM", "BUTTON_TYPE_UNSPECIFIED", "CHANNEL_ID_ADDED", "DELIVERY_SEARCH", "IMAGE_SECURE_TRANSMISSION_PLUGIN_ID", "MESSAGE_DELIVERY", "ONE_CLICK_PAYMENT_PLUGIN", "PERSONAL_INFORMATION_USE_PLUGIN_ID", "WEB_LINK", "UNRECOGNIZED"

  - `templates.changes.details.buttons.name` (string)
    Button name

  - `templates.changes.details.buttons.linkMo` (string)
    Mobile web link

  - `templates.changes.details.buttons.linkPc` (string)
    PC web link

  - `templates.changes.details.buttons.schemeIos` (string)
    iOS app link

  - `templates.changes.details.buttons.schemeAndroid` (string)
    Android app link

  - `templates.details` (object)
    Template details and information.

  - `templates.created` (string)
    The UTC Date Time in ISO 8601 for when the template was created.

  - `templates.modified` (string)
    The UTC Date Time in ISO 8601 for when the template was last modified.

## Response 400:

  - `400` (unknown)
    BadRequest

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: project_not_initialized

  - `message` (string)
    Human readable message.
    Example: Project not initialized for KakaoTalk.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Verify that the project ID is correct and that it has been onboarded for KakaoTalk.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: unauthorized_error

  - `message` (string)
    Human readable message.
    Example: Unauthorized error.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Verify that projectId is correct.

## Response 404:

  - `404` (unknown)
    NotFound

## Response 404 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: sender_not_found

  - `message` (string)
    Human readable message.
    Example: Sender not found.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Verify that the parameters are correct.

## Response 500:

  - `500` (unknown)
    InternalServerError

## Response 500 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: internal_error

  - `message` (string)
    Human readable message.
    Example: Internal server error.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Please wait and try again, if the error persist please contact support.

## Response 200 examples:

  - `List response` (unknown)
    Response with templates.

