openapi: 3.2.0 info: title: Provisioning WhatsApp Templates API description: The WhatsApp template endpoint offers a way for you to manage your WhatsApp templates that can be used with the Conversation API. The WhatsApp templates are a requirement to send the initial outbound messages in the WhatsApp API. version: 1.2.117 servers: - url: https://provisioning.api.sinch.com description: Production server security: - BasicAuth: [] BearerAuth: [] OAuth2Production: [] tags: - name: WhatsApp Templates description: The WhatsApp template endpoint offers a way for you to manage your WhatsApp templates that can be used with the Conversation API. The WhatsApp templates are a requirement to send the initial outbound messages in the WhatsApp API. paths: /v1/projects/{projectId}/whatsapp/templates: get: description: 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. operationId: WhatsappTemplatesController_listTemplates_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: pageToken required: false in: query schema: type: string description: The page token if retrieving the next page from a previous query. - name: pageSize required: false in: query schema: type: number minimum: 1 maximum: 1000 description: The page size requested. - name: fieldMask required: false in: query description: Field masks are a way for API callers to list the fields that a request should return. schema: type: array items: $ref: '#/components/schemas/WhatsappTemplateDtoFieldMaskPathsEnum' - name: filterStates required: false in: query description: Optionally query for sender by states. x-enumDescriptions: APPROVED: The template is approved and available for use. DISABLED: The template has been disabled and is restricted from outbound messaging operations. PAUSED: The template is temporarily paused and cannot be utilized until explicitly resumed. PENDING: The template is queued and currently awaiting approval or processing milestones. REJECTED: The template was rejected and cannot be used. schema: type: array items: $ref: '#/components/schemas/WhatsappTemplateStatesEnum' - name: filterStatuses required: false in: query description: Optionally query for sender by statuses. x-enumDescriptions: DRAFT: The template changes are saved as a draft only. IN_PROGRESS: The template changes have been submitted and are still processing. REJECTED: The template changes have been reviewed and rejected. schema: type: array items: $ref: '#/components/schemas/WhatsappTemplateStatusesEnum' - name: templateAnalyticsDateRange required: false in: query description: The date range to retrieve template analytics for. Fallback to DAY if none is set. x-enumDescriptions: DAY: Filters metrics collection to include data from the last 24 hours. MONTH: Filters metrics collection to include data from the last 30 days. QUARTER: Filters metrics collection to include data from the last 90 days. WEEK: Filters metrics collection to include data from the last 7 days. schema: $ref: '#/components/schemas/WhatsappTemplateAnalyticsDateRangesEnum' - name: templateName required: false in: query description: Optionally query for template by name. Will return all templates with names that begin with the query string. schema: type: string responses: '200': description: List of templates content: application/json: schema: oneOf: - $ref: '#/components/schemas/WhatsappTemplateListDto' - $ref: '#/components/schemas/WhatsappPartialTemplateListDto' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. invalid_page_size-1: summary: InvalidPageSizeError value: errorCode: invalid_page_size message: Page size must be numeric. resolution: Use a integer value for pageSize parameter. invalid_page_token-2: summary: InvalidPageTokenError value: errorCode: invalid_page_token message: Invalid page token. resolution: The page token to use is provided in the previous query response, for new queries simply leave this field undefined. invalid_filter_states-3: summary: InvalidFilterStatesError value: errorCode: invalid_filter_states message: Invalid filterStates. resolution: Verify that the filterStates used are supported by the Provisioning API. additionalInformation: supportedCodes: APPROVED, DISABLED, PAUSED, PENDING, REJECTED invalid_filter_statuses-4: summary: InvalidFilterStatusesError value: errorCode: invalid_filter_statuses message: Invalid filter statuses. resolution: Verify that the filterStatuses used are supported by the Provisioning API. additionalInformation: supportedCodes: DRAFT, IN_PROGRESS, REJECTED invalid_fields-5: summary: InvalidFieldsError value: errorCode: invalid_fields message: Invalid fields. resolution: Verify that the fields used are supported by the Provisioning API. additionalInformation: supportedCodes: whatsappId, state, name, language, category, rejectionCode, qualityScore, changes, changes.status, changes.allowCategoryChange, changes.details, changes.details.components, changes.details.components.0.type, changes.details.components.0.format, changes.details.components.0.text, changes.details.components.0.example, changes.details.components.0.example.url, changes.details.components.0.examples, changes.details.components.0.addSecurityRecommendation, changes.details.components.0.codeExpirationMinutes, changes.details.components.0.buttons, changes.details.components.0.buttons.0.type, changes.details.components.0.buttons.0.text, changes.details.components.0.buttons.0.phoneNumber, changes.details.components.0.buttons.0.url, changes.details.components.0.buttons.0.example, changes.details.components.0.buttons.0.otpType, changes.details.components.0.buttons.0.autofillText, changes.details.components.0.buttons.0.packageName, changes.details.components.0.buttons.0.signatureHash, changes.details.components.0.buttons.0.supportedApps, changes.details.components.0.buttons.0.supportedApps.0.packageName, changes.details.components.0.buttons.0.supportedApps.0.signatureHash, changes.details.components.0.buttons.0.zeroTapTermsAccepted, changes.details.components.0.buttons.0.flowId, changes.details.components.0.buttons.0.flowAction, changes.details.components.0.buttons.0.navigateScreen, changes.details.components.0.hasExpiration, changes.details.messageSendTtlSeconds, changes.details.optimization, details, details.components, details.components.0.type, details.components.0.format, details.components.0.text, details.components.0.example, details.components.0.example.url, details.components.0.examples, details.components.0.addSecurityRecommendation, details.components.0.codeExpirationMinutes, details.components.0.buttons, details.components.0.buttons.0.type, details.components.0.buttons.0.text, details.components.0.buttons.0.phoneNumber, details.components.0.buttons.0.url, details.components.0.buttons.0.example, details.components.0.buttons.0.otpType, details.components.0.buttons.0.autofillText, details.components.0.buttons.0.packageName, details.components.0.buttons.0.signatureHash, details.components.0.buttons.0.supportedApps, details.components.0.buttons.0.supportedApps.0.packageName, details.components.0.buttons.0.supportedApps.0.signatureHash, details.components.0.buttons.0.zeroTapTermsAccepted, details.components.0.buttons.0.flowId, details.components.0.buttons.0.flowAction, details.components.0.buttons.0.navigateScreen, details.components.0.hasExpiration, details.messageSendTtlSeconds, details.optimization, analytics, analytics.0.sent, analytics.0.delivered, analytics.0.read, analytics.0.start, analytics.0.end, analytics.0.buttons, analytics.0.buttons.0.type, analytics.0.buttons.0.content, analytics.0.buttons.0.clicks, isMetaGenerated '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: List all templates in project tags: - WhatsApp Templates x-badges: - name: GA position: after color: green post: callbacks: Comment: '{$request.body#webhooks.target}': post: summary: WhatsApp Template received a comment description: "\n Callback sent when a comment is placed on a template.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_COMMENT_ADDED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_COMMENT_ADDED payload: name: My WhatsApp Template category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN changes: status: DRAFT details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: HEADER format: DOCUMENT examples: - url: https://example.com/photos/1.png - type: HEADER format: LOCATION - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true - type: FOOTER text: To track your order please click the 'Track Your Order' button codeExpirationMinutes: 5 - type: BUTTONS buttons: - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: OTP otpType: COPY_CODE text: Example text. - type: REQUEST_CONTACT_INFO text: Share Contact Info - type: ORDER_DETAILS text: Copy Pix code - type: COPY_CODE text: Copy offer code examples: - WINTER27 - type: CAROUSEL cards: - components: - type: HEADER format: IMAGE examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith - type: BUTTONS buttons: - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. Approved: '{$request.body#webhooks.target}': post: summary: WhatsApp Template approved description: "\n Callback sent when a template is approved.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_APPROVED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_APPROVED payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. Rejected: '{$request.body#webhooks.target}': post: summary: WhatsApp Template rejected description: "\n Callback sent when a template is rejected.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_REJECTED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_REJECTED payload: name: My WhatsApp Template state: REJECTED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. StatusUpdated: '{$request.body#webhooks.target}': post: summary: WhatsApp Template status updated description: "\n Callback sent when a template status in changed to `ARCHIVED`, `DISABLED`, `FLAGGED`, `PAUSED`, `REINSTATED` or `UNPAUSED`.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_STATUS_UPDATED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' newState: description: New state for template. type: string enum: - ARCHIVED - DISABLED - FLAGGED - PAUSED - REINSTATED - UNPAUSED x-enumDescriptions: ARCHIVED: The template has been archived. DISABLED: The template has been disabled. FLAGGED: The template has been flagged for review or policy compliance issues. PAUSED: The template has been paused and cannot be used until unpaused. REINSTATED: The template has been reinstated after a previous restriction was lifted. UNPAUSED: The template has been unpaused and is available for use. comment: description: Comment for template. type: string required: - type - payload - newState example: type: WHATSAPP_TEMPLATE_STATUS_UPDATED payload: whatsappId: '123456' name: My WhatsApp Template state: PAUSED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false newState: PAUSED responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. Deleted: '{$request.body#webhooks.target}': post: summary: WhatsApp Template deleted description: Callback sent when a template is deleted. parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case WHATSAPP_TEMPLATE_DELETED. type: string required: - type example: type: WHATSAPP_TEMPLATE_DELETED payload: whatsappId: '123456' name: My WhatsApp Template category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. QualityScoreUpdated: '{$request.body#webhooks.target}': post: summary: WhatsApp Template quality score updated description: "\n Callback sent when a template quality score changed.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. CategoryUpdated: '{$request.body#webhooks.target}': post: summary: WhatsApp Template category updated description: "\n Callback sent when a templates category is changed.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_CATEGORY_UPDATED payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. FutureCategoryUpdate: '{$request.body#webhooks.target}': post: summary: WhatsApp Template category coming update description: "\n Callback sent when a templates category coming to be changed.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' futureCategory: description: Future category for template. type: string enum: - AUTHENTICATION - MARKETING - UTILITY - UNRECOGNIZED x-enumDescriptions: AUTHENTICATION: Billing or functional category for authentication and verification messages. MARKETING: Billing or functional category for promotional or marketing messages. UTILITY: Billing or functional category for utility and service-related messages. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. comment: description: Comment for template. type: string required: - type - payload - futureCategory example: type: WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false futureCategory: MARKETING responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. description: Creates a new template with the request data. If the `status` field is set to `submit` the template will be created immediately, otherwise it will be saved as a `draft`. operationId: WhatsappTemplatesController_createTemplate_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string requestBody: required: true description: Template data content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateInputDto' examples: marketingOrUtilityFull: summary: Marketing or Utility full example description: "\n Full body to create a Marketing or Utility template.\n " value: name: my_template category: MARKETING language: EN details: components: - type: HEADER format: LOCATION - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: HEADER format: DOCUMENT examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true - type: FOOTER text: To track your order please click the 'Track Your Order' button codeExpirationMinutes: 5 - type: BUTTONS buttons: - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: OTP otpType: COPY_CODE text: Example text. - type: FLOW text: Start Flow flowId: flow-id navigateScreen: QUESTION_ONE flowAction: NAVIGATE - type: REQUEST_CONTACT_INFO - type: ORDER_DETAILS - type: COPY_CODE examples: - WINTER27 - type: CAROUSEL cards: - components: - type: HEADER format: IMAGE examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith - type: BUTTONS buttons: - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 marketingWithOptimization: summary: Marketing template with dynamic pricing optimization description: "\n Body example to create a Marketing template with dynamic pricing optimization.\n " value: name: my_template category: MARKETING language: EN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true optimization: bidAmount: 500 bidStrategy: LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' marketingOrUtilityMinimum: summary: Minimalist Marketing or Utility example description: "\n Minimalist body to create a Marketing or Utility template.\n " value: name: my_template category: UTILITY language: EN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true authenticationFull: summary: Authentication full example description: "\n Full body to create an Authentication template.\n " value: name: my_template category: AUTHENTICATION language: EN details: components: - type: BODY addSecurityRecommendation: true - type: FOOTER codeExpirationMinutes: 62 - type: BUTTONS buttons: - type: OTP otpType: ONE_TAP text: My copy code text autofillText: My autofill text packageName: com.android.chrome signatureHash: sample+hash supportedApps: - packageName: com.android.chrome signatureHash: sample+hash - type: BUTTONS buttons: - type: OTP otpType: ZERO_TAP text: My copy code text autofillText: My autofill text packageName: com.android.chrome signatureHash: sample+hash supportedApps: - packageName: com.android.chrome signatureHash: sample+hash zeroTapTermsAccepted: true messageSendTtlSeconds: 360 authenticationMinimum: summary: Minimalist Authentication example description: "\n Minimalist body to create an Authentication template.\n " value: name: my_template category: AUTHENTICATION language: EN details: components: - type: BODY addSecurityRecommendation: false - type: BUTTONS buttons: - type: OTP otpType: COPY_CODE text: Copy code flowUtility: summary: Start Flow Utility example description: "\n Body example to create a Flow template of utility category.\n " value: name: my_template category: UTILITY language: EN details: components: - type: BUTTONS buttons: - type: FLOW flowId: flow-id text: Start Flow navigateScreen: QUESTION_ONE flowAction: NAVIGATE flowMarketing: summary: Start Flow Marketing example description: "\n Body example to create a Flow template of marketing category.\n " value: name: my_template category: MARKETING language: EN details: components: - type: BUTTONS buttons: - type: FLOW flowId: flow-id text: Start Flow navigateScreen: QUESTION_ONE flowAction: NAVIGATE responses: '201': description: Created template content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateDto' examples: response: summary: Create response description: "\n Response when successfully creating a template.\n " value: name: My WhatsApp Template category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN changes: status: DRAFT details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: HEADER format: DOCUMENT examples: - url: https://example.com/photos/1.png - type: HEADER format: LOCATION - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true - type: FOOTER text: To track your order please click the 'Track Your Order' button codeExpirationMinutes: 5 - type: BUTTONS buttons: - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: OTP otpType: COPY_CODE text: Example text. - type: REQUEST_CONTACT_INFO text: Share Contact Info - type: ORDER_DETAILS text: Copy Pix code - type: COPY_CODE text: Copy offer code examples: - WINTER27 - type: CAROUSEL cards: - components: - type: HEADER format: IMAGE examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith - type: BUTTONS buttons: - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: invalid_input-0: summary: InvalidInputError value: errorCode: invalid_input message: Invalid input. resolution: Correct the validation errors and submit again. additionalInformation: validationErrors: - 'category must be one of the following values: AUTHENTICATION, MARKETING, UTILITY' project_not_initialized-1: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_policies_violations-2: summary: TemplatePoliciesViolationsError value: errorCode: template_policies_violations message: Your message couldn't be sent because it includes content that other people on Facebook have reported as abusive. resolution: Remove violating content. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_check_media_file_size-3: summary: TemplateCheckMediaFileSizeError value: errorCode: template_check_media_file_size message: Failed to check media file size. resolution: Ensure media file URL is correct and then try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_dynamic_pricing_not_available-4: summary: TemplateDynamicPricingNotAvailableError value: errorCode: template_dynamic_pricing_not_available message: Dynamic pricing is not available for this account. resolution: Enable dynamic pricing prerequisites for the WhatsApp Business Account before retrying. template_invalid_category-5: summary: TemplateInvalidCategoryError value: errorCode: template_invalid_category message: Template invalid category. resolution: 'Verify that categories are correct: AUTHENTICATION, MARKETING, UTILITY.' template_invalid_button_example-6: summary: TemplateInvalidButtonExampleError value: errorCode: template_invalid_button_example message: Invalid button example. resolution: Only dynamic URL buttons are allowed to have an example. template_media_file_size_exceeds_maximum_file_size_limit-7: summary: TemplateMediaFileSizeExceedsMaximumFileSizeLimitError value: errorCode: template_media_file_size_exceeds_maximum_file_size_limit message: Template media file size exceeds maximum file size limit. resolution: Try again with a smaller file. file_invalid_mime_type-8: summary: FileInvalidMimeTypeError value: errorCode: file_invalid_mime_type message: 'details.components[0].headerExample.media.url: invalid file mime type.' resolution: 'Try again with supported mime types: image/jpeg, image/png, application/pdf, video/3gp, video/mp4.' invalid_payload-9: summary: InvalidPayloadError value: errorCode: invalid_payload message: Invalid payload. resolution: Correct payload and submit again. '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. template_exists-1: summary: TemplateExistsError value: errorCode: template_exists message: Template already exists. resolution: Templates must have unique name and language. Change language or name and submit again. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 template_name_recently_used-2: summary: TemplateNameRecentlyUsedError value: errorCode: template_name_recently_used message: A template with the same name has been deleted within 30 days. resolution: Use another "name" for "EN" or wait the required time. template_incorrect_category-3: summary: TemplateIncorrectCategoryError value: errorCode: template_incorrect_category message: Template incorrect category. resolution: 'Use a category that has been used in another language: "UTILITY".' template_restricted_Domain_for_button_url-4: summary: TemplateRestrictedDomainForButtonUrlError value: errorCode: template_restricted_Domain_for_button_url message: Restricted domain for button url. resolution: 'Replace any of the following restricted domains: wa.me, whatsapp.com' file_not_found-5: summary: FileNotFoundError value: errorCode: file_not_found message: 'details.components[0].headerExample.media.url: file not found.' resolution: Verify that the url is correct. file_size_too_large-6: summary: FileSizeTooLargeError value: errorCode: file_size_too_large message: 'details.components[0].headerExample.media.url: file size is too large.' resolution: Try again with a smaller file. Max size for `image/jpeg` is 5MB. file_unexpected_error-7: summary: FileUnexpectedErrorError value: errorCode: file_unexpected_error message: 'details.components[0].headerExample.media.url: file unexpected error.' resolution: The file cannot be handled properly. Please try with another one. object_with_whatsapp_business_account_id_does_not_exist-8: summary: ObjectWithWhatsappBusinessAccountIdDoesNotExistError value: errorCode: object_with_whatsapp_business_account_id_does_not_exist message: WhatsApp Business Account does not exist. resolution: Verify that WhatsApp Business ID still exists and contact support. template_language_recently_deleted-9: summary: TemplateLanguageRecentlyDeletedError value: errorCode: template_language_recently_deleted message: A template with the same language has been deleted within 4 weeks. resolution: Try to create EN content again in 4 weeks or create a new template. '424': description: FailedDependency content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_limit_reached-0: summary: TemplateLimitReachedError value: errorCode: template_limit_reached message: Number of templates has reached the limit. resolution: Delete some templates or reach out to support to increase the template limit. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_content_already_exists-1: summary: TemplateContentAlreadyExistsError value: errorCode: template_content_already_exists message: Template cannot be submitted because the content is the same as the content in another template. resolution: Use other template or edit template data and submit again. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_submit_error-2: summary: TemplateSubmitErrorError value: errorCode: template_submit_error message: Template submit error. resolution: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. additionalInformation: metaError: code: '123' subcode: '123456' message: Invalid parameter description: Character Limit Exceeded reason: field 'name' can't have more than 1,024 characters '429': description: TooManyRequests content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: whatsapp_business_api_request_limit_exceeded-0: summary: WhatsappBusinessApiRequestLimitExceededError value: errorCode: whatsapp_business_api_request_limit_exceeded message: WhatsApp business api request limit reached. resolution: WhatsApp business API request limits reached. Please try again later. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_start_session_for_uploading_media-0: summary: TemplateStartSessionForUploadingMediaError value: errorCode: template_start_session_for_uploading_media message: Failed to start session for uploading template media example. resolution: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. internal_error-1: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. internal_error-2: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Create a template in project tags: - WhatsApp Templates x-badges: - name: GA position: after color: green /v1/projects/{projectId}/whatsapp/templates/{templateName}: get: description: Returns a paginated list of templates for the specified project and name. If no page token is supplied then the first `50` templates are returned in alphabetical order. operationId: WhatsappTemplatesController_listTemplatesByName_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: pageToken required: false in: query schema: type: string description: The page token if retrieving the next page from a previous query. - name: pageSize required: false in: query schema: type: number minimum: 1 maximum: 1000 description: The page size requested. - name: fieldMask required: false in: query description: Field masks are a way for API callers to list the fields that a request should return. schema: type: array items: $ref: '#/components/schemas/WhatsappTemplateDtoFieldMaskPathsEnum' - name: templateAnalyticsDateRange required: false in: query description: The date range to retrieve template analytics for. Fallback to DAY if none is set. x-enumDescriptions: DAY: Filters metrics collection to include data from the last 24 hours. MONTH: Filters metrics collection to include data from the last 30 days. QUARTER: Filters metrics collection to include data from the last 90 days. WEEK: Filters metrics collection to include data from the last 7 days. schema: $ref: '#/components/schemas/WhatsappTemplateAnalyticsDateRangesEnum' responses: '200': description: List of templates with the same name content: application/json: schema: oneOf: - $ref: '#/components/schemas/WhatsappTemplateListDto' - $ref: '#/components/schemas/WhatsappPartialTemplateListDto' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. invalid_page_size-1: summary: InvalidPageSizeError value: errorCode: invalid_page_size message: Page size must be numeric. resolution: Use a integer value for pageSize parameter. invalid_page_token-2: summary: InvalidPageTokenError value: errorCode: invalid_page_token message: Invalid page token. resolution: The page token to use is provided in the previous query response, for new queries simply leave this field undefined. invalid_fields-3: summary: InvalidFieldsError value: errorCode: invalid_fields message: Invalid fields. resolution: Verify that the fields used are supported by the Provisioning API. additionalInformation: supportedCodes: whatsappId, state, name, language, category, rejectionCode, qualityScore, changes, changes.status, changes.allowCategoryChange, changes.details, changes.details.components, changes.details.components.0.type, changes.details.components.0.format, changes.details.components.0.text, changes.details.components.0.example, changes.details.components.0.example.url, changes.details.components.0.examples, changes.details.components.0.addSecurityRecommendation, changes.details.components.0.codeExpirationMinutes, changes.details.components.0.buttons, changes.details.components.0.buttons.0.type, changes.details.components.0.buttons.0.text, changes.details.components.0.buttons.0.phoneNumber, changes.details.components.0.buttons.0.url, changes.details.components.0.buttons.0.example, changes.details.components.0.buttons.0.otpType, changes.details.components.0.buttons.0.autofillText, changes.details.components.0.buttons.0.packageName, changes.details.components.0.buttons.0.signatureHash, changes.details.components.0.buttons.0.supportedApps, changes.details.components.0.buttons.0.supportedApps.0.packageName, changes.details.components.0.buttons.0.supportedApps.0.signatureHash, changes.details.components.0.buttons.0.zeroTapTermsAccepted, changes.details.components.0.buttons.0.flowId, changes.details.components.0.buttons.0.flowAction, changes.details.components.0.buttons.0.navigateScreen, changes.details.components.0.hasExpiration, changes.details.messageSendTtlSeconds, changes.details.optimization, details, details.components, details.components.0.type, details.components.0.format, details.components.0.text, details.components.0.example, details.components.0.example.url, details.components.0.examples, details.components.0.addSecurityRecommendation, details.components.0.codeExpirationMinutes, details.components.0.buttons, details.components.0.buttons.0.type, details.components.0.buttons.0.text, details.components.0.buttons.0.phoneNumber, details.components.0.buttons.0.url, details.components.0.buttons.0.example, details.components.0.buttons.0.otpType, details.components.0.buttons.0.autofillText, details.components.0.buttons.0.packageName, details.components.0.buttons.0.signatureHash, details.components.0.buttons.0.supportedApps, details.components.0.buttons.0.supportedApps.0.packageName, details.components.0.buttons.0.supportedApps.0.signatureHash, details.components.0.buttons.0.zeroTapTermsAccepted, details.components.0.buttons.0.flowId, details.components.0.buttons.0.flowAction, details.components.0.buttons.0.navigateScreen, details.components.0.hasExpiration, details.messageSendTtlSeconds, details.optimization, analytics, analytics.0.sent, analytics.0.delivered, analytics.0.read, analytics.0.start, analytics.0.end, analytics.0.buttons, analytics.0.buttons.0.type, analytics.0.buttons.0.content, analytics.0.buttons.0.clicks, isMetaGenerated '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: List all templates for a specific name tags: - WhatsApp Templates x-badges: - name: GA position: after color: green delete: description: 'Delete template that matches the name. If message templates with the same name exists in multiple languages, all those templates will also be deleted. Once deleted the name can not be used for new message templates for 30 days. Use a different name to create future templates during that time period. Messages that have been sent with the deleted template, but not yet delivered, will be attempted to be deliver for 30 days from the time of the message.' operationId: WhatsappTemplatesController_deleteTemplatesByName_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string responses: '204': description: Template(s) deleted '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-1: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. '429': description: TooManyRequests content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: whatsapp_business_api_request_limit_exceeded-0: summary: WhatsappBusinessApiRequestLimitExceededError value: errorCode: whatsapp_business_api_request_limit_exceeded message: WhatsApp business api request limit reached. resolution: WhatsApp business API request limits reached. Please try again later. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Delete template by name tags: - WhatsApp Templates x-badges: - name: GA position: after color: green /v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}: get: description: Returns a template for a project, with the specified name and language. operationId: WhatsappTemplatesController_getTemplate_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: languageCode required: true in: path description: The language code of the specific template. x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. schema: $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' - name: fieldMask required: false in: query description: Field masks are a way for API callers to list the fields that a request should return. schema: type: array items: $ref: '#/components/schemas/WhatsappTemplateDtoFieldMaskPathsEnum' - name: templateAnalyticsDateRange required: false in: query description: The date range to retrieve template analytics for. Fallback to DAY if none is set. x-enumDescriptions: DAY: Filters metrics collection to include data from the last 24 hours. MONTH: Filters metrics collection to include data from the last 30 days. QUARTER: Filters metrics collection to include data from the last 90 days. WEEK: Filters metrics collection to include data from the last 7 days. schema: $ref: '#/components/schemas/WhatsappTemplateAnalyticsDateRangesEnum' responses: '200': description: Template content: application/json: schema: oneOf: - $ref: '#/components/schemas/WhatsappTemplateDto' - $ref: '#/components/schemas/WhatsappPartialTemplateDto' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-1: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 invalid_fields-2: summary: InvalidFieldsError value: errorCode: invalid_fields message: Invalid fields. resolution: Verify that the fields used are supported by the Provisioning API. additionalInformation: supportedCodes: whatsappId, state, name, language, category, rejectionCode, qualityScore, changes, changes.status, changes.allowCategoryChange, changes.details, changes.details.components, changes.details.components.0.type, changes.details.components.0.format, changes.details.components.0.text, changes.details.components.0.example, changes.details.components.0.example.url, changes.details.components.0.examples, changes.details.components.0.addSecurityRecommendation, changes.details.components.0.codeExpirationMinutes, changes.details.components.0.buttons, changes.details.components.0.buttons.0.type, changes.details.components.0.buttons.0.text, changes.details.components.0.buttons.0.phoneNumber, changes.details.components.0.buttons.0.url, changes.details.components.0.buttons.0.example, changes.details.components.0.buttons.0.otpType, changes.details.components.0.buttons.0.autofillText, changes.details.components.0.buttons.0.packageName, changes.details.components.0.buttons.0.signatureHash, changes.details.components.0.buttons.0.supportedApps, changes.details.components.0.buttons.0.supportedApps.0.packageName, changes.details.components.0.buttons.0.supportedApps.0.signatureHash, changes.details.components.0.buttons.0.zeroTapTermsAccepted, changes.details.components.0.buttons.0.flowId, changes.details.components.0.buttons.0.flowAction, changes.details.components.0.buttons.0.navigateScreen, changes.details.components.0.hasExpiration, changes.details.messageSendTtlSeconds, changes.details.optimization, details, details.components, details.components.0.type, details.components.0.format, details.components.0.text, details.components.0.example, details.components.0.example.url, details.components.0.examples, details.components.0.addSecurityRecommendation, details.components.0.codeExpirationMinutes, details.components.0.buttons, details.components.0.buttons.0.type, details.components.0.buttons.0.text, details.components.0.buttons.0.phoneNumber, details.components.0.buttons.0.url, details.components.0.buttons.0.example, details.components.0.buttons.0.otpType, details.components.0.buttons.0.autofillText, details.components.0.buttons.0.packageName, details.components.0.buttons.0.signatureHash, details.components.0.buttons.0.supportedApps, details.components.0.buttons.0.supportedApps.0.packageName, details.components.0.buttons.0.supportedApps.0.signatureHash, details.components.0.buttons.0.zeroTapTermsAccepted, details.components.0.buttons.0.flowId, details.components.0.buttons.0.flowAction, details.components.0.buttons.0.navigateScreen, details.components.0.hasExpiration, details.messageSendTtlSeconds, details.optimization, analytics, analytics.0.sent, analytics.0.delivered, analytics.0.read, analytics.0.start, analytics.0.end, analytics.0.buttons, analytics.0.buttons.0.type, analytics.0.buttons.0.content, analytics.0.buttons.0.clicks, isMetaGenerated '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Get template in project tags: - WhatsApp Templates x-badges: - name: GA position: after color: green delete: description: 'Delete a template by name and language. Please note that by default only draft is removed. Use query parameter `deleteSubmitted=true` to also remove the submitted template. Once an approved template is deleted, the template cannot be recreated again with this name and language for 30 days. Consequently, be aware that you must use a different name to create template for this language within this 30 days long period. If you need the template in this language soon, update the submitted template for a specific language instead of trying to delete and recreate it again.' operationId: WhatsappTemplatesController_deleteTemplateByNameAndLanguage_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: languageCode required: true in: path description: The language code of the specific template. x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. schema: $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' - name: deleteSubmitted required: false in: query description: Set this flag to true if you want to delete a template already submitted to Meta. Otherwise, it defaults to false, meaning that it deletes a template in "draft" state only, and throws an error if you attempt to delete a submitted template. schema: default: false type: boolean responses: '204': description: Template deleted '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-1: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. template_changes_not_found-1: summary: TemplateChangesNotFoundError value: errorCode: template_changes_not_found message: Template changes not found. resolution: Verify that the template has pending changes. '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. template_not_deletable_due_to_input_config-1: summary: TemplateNotDeletableDueToInputConfigError value: errorCode: template_not_deletable_due_to_input_config message: Template is not deletable due to input config. resolution: Only draft templates will be deleted by name and language code if `deleteSubmitted` is `false` or not provided. Be aware that templates deleted for a language cannot be recreated for 30 days with the same template name. If you need the template in this language soon, update the submitted template for the language instead of trying to delete and recreate it again. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Delete template by name and language tags: - WhatsApp Templates x-badges: - name: GA position: after color: green patch: callbacks: Comment: '{$request.body#webhooks.target}': post: summary: WhatsApp Template received a comment description: "\n Callback sent when a comment is placed on a template.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_COMMENT_ADDED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_COMMENT_ADDED payload: name: My WhatsApp Template category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN changes: status: DRAFT details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: HEADER format: DOCUMENT examples: - url: https://example.com/photos/1.png - type: HEADER format: LOCATION - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true - type: FOOTER text: To track your order please click the 'Track Your Order' button codeExpirationMinutes: 5 - type: BUTTONS buttons: - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: OTP otpType: COPY_CODE text: Example text. - type: REQUEST_CONTACT_INFO text: Share Contact Info - type: ORDER_DETAILS text: Copy Pix code - type: COPY_CODE text: Copy offer code examples: - WINTER27 - type: CAROUSEL cards: - components: - type: HEADER format: IMAGE examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith - type: BUTTONS buttons: - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. Approved: '{$request.body#webhooks.target}': post: summary: WhatsApp Template approved description: "\n Callback sent when a template is approved.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_APPROVED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_APPROVED payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. Rejected: '{$request.body#webhooks.target}': post: summary: WhatsApp Template rejected description: "\n Callback sent when a template is rejected.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_REJECTED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_REJECTED payload: name: My WhatsApp Template state: REJECTED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. StatusUpdated: '{$request.body#webhooks.target}': post: summary: WhatsApp Template status updated description: "\n Callback sent when a template status in changed to `ARCHIVED`, `DISABLED`, `FLAGGED`, `PAUSED`, `REINSTATED` or `UNPAUSED`.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_STATUS_UPDATED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' newState: description: New state for template. type: string enum: - ARCHIVED - DISABLED - FLAGGED - PAUSED - REINSTATED - UNPAUSED x-enumDescriptions: ARCHIVED: The template has been archived. DISABLED: The template has been disabled. FLAGGED: The template has been flagged for review or policy compliance issues. PAUSED: The template has been paused and cannot be used until unpaused. REINSTATED: The template has been reinstated after a previous restriction was lifted. UNPAUSED: The template has been unpaused and is available for use. comment: description: Comment for template. type: string required: - type - payload - newState example: type: WHATSAPP_TEMPLATE_STATUS_UPDATED payload: whatsappId: '123456' name: My WhatsApp Template state: PAUSED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false newState: PAUSED responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. Deleted: '{$request.body#webhooks.target}': post: summary: WhatsApp Template deleted description: Callback sent when a template is deleted. parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case WHATSAPP_TEMPLATE_DELETED. type: string required: - type example: type: WHATSAPP_TEMPLATE_DELETED payload: whatsappId: '123456' name: My WhatsApp Template category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. QualityScoreUpdated: '{$request.body#webhooks.target}': post: summary: WhatsApp Template quality score updated description: "\n Callback sent when a template quality score changed.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. CategoryUpdated: '{$request.body#webhooks.target}': post: summary: WhatsApp Template category updated description: "\n Callback sent when a templates category is changed.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_UPDATED`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' comment: description: Comment for template. type: string required: - type - payload example: type: WHATSAPP_TEMPLATE_CATEGORY_UPDATED payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. FutureCategoryUpdate: '{$request.body#webhooks.target}': post: summary: WhatsApp Template category coming update description: "\n Callback sent when a templates category coming to be changed.\n " parameters: - in: header name: x-sinch-webhook-signature schema: type: string format: SHA256-hash example: Jc88RMjzkxPoy/fCPiL+iy7osojuUgawpjl1g6H38O8= - in: header name: x-sinch-webhook-signature-algorithm schema: type: string const: HmacSHA256 x-enumDescriptions: HmacSHA256: The HMAC SHA-256 signature algorithm used to validate webhook authenticity. uniqueItems: false example: HmacSHA256 - in: header name: x-sinch-webhook-signature-nonce schema: type: string example: 01EAW2BNWCG9DC13RS582V0ZQ3 - in: header name: x-sinch-webhook-signature-timestamp schema: type: string format: timestamp example: '1592227387' requestBody: content: application/json: schema: type: object properties: type: description: Type of event, in this case `WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE`. type: string payload: description: Template at time of callback. allOf: - $ref: '#/components/schemas/WhatsappTemplateDto' futureCategory: description: Future category for template. type: string enum: - AUTHENTICATION - MARKETING - UTILITY - UNRECOGNIZED x-enumDescriptions: AUTHENTICATION: Billing or functional category for authentication and verification messages. MARKETING: Billing or functional category for promotional or marketing messages. UTILITY: Billing or functional category for utility and service-related messages. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. comment: description: Comment for template. type: string required: - type - payload - futureCategory example: type: WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE payload: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false futureCategory: MARKETING responses: '200': description: Response to callback will be ignored. The call will retry if unsuccessful. description: 'Updates a template DRAFT. Note that it is not possible to update all fields for a template, if you want to update a field that is not supported you will need to delete the draft and create a new one. Update a template REJECTED / APPROVED / PAUSED / DISABLED It is possible to update templates that have been rejected, approved, paused or disabled, we will automatically set the status to draft when update a rejected template.' operationId: WhatsappTemplatesController_updateTemplate_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: languageCode required: true in: path description: The language code of the specific template. x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. schema: $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' requestBody: required: true description: Supported template fields to update. content: application/json: schema: $ref: '#/components/schemas/WhatsappUpdateTemplateInputDto' examples: value: summary: Body request description: "\n Example body request to update a template.\n " value: details: components: - type: HEADER format: LOCATION - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: HEADER format: DOCUMENT examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true - type: FOOTER text: To track your order please click the 'Track Your Order' button codeExpirationMinutes: 5 - type: BUTTONS buttons: - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: OTP otpType: COPY_CODE text: Example text. - type: FLOW text: Start Flow flowId: flow-id navigateScreen: QUESTION_ONE flowAction: NAVIGATE - type: REQUEST_CONTACT_INFO - type: ORDER_DETAILS - type: COPY_CODE examples: - WINTER27 - type: CAROUSEL cards: - components: - type: HEADER format: IMAGE examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith - type: BUTTONS buttons: - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 messageSendTtlSeconds: 60 marketingWithOptimization: summary: Marketing template update with dynamic pricing optimization description: "\n Updates the dynamic pricing optimization for an existing Marketing template.\n Dynamic pricing is available only for direct-business accounts whose WABA is enabled for maximum-price templates, is connected to a Business Manager, and has the Marketing API enabled.\n Omit `details.optimization` to leave the existing optimization unchanged.\n " value: status: DRAFT category: MARKETING details: optimization: bidAmount: 10 bidStrategy: LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.0' GB: '2.8' marketingWithoutOptimization: summary: Remove dynamic pricing optimization from a Marketing template description: "\n Removes the dynamic pricing optimization from an existing Marketing template.\n Set `details.optimization` to `null` to clear the existing optimization.\n " value: status: DRAFT category: MARKETING details: optimization: null marketingWithoutCountryMultiplierOverrides: summary: Clear country multiplier overrides from a Marketing template description: "\n Clears the country-specific bid multiplier overrides while keeping dynamic pricing optimization enabled.\n Set `details.optimization.bidCountryMultiplierOverrides` to `null` to clear the existing overrides.\n " value: status: DRAFT category: MARKETING details: optimization: bidAmount: 10 bidStrategy: LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: null responses: '200': description: Updated template draft content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateDto' examples: response: summary: Update response description: "\n Response when successfully update a template.\n " value: whatsappId: '123456' name: My WhatsApp Template state: APPROVED category: UTILITY language: EN_US qualityScore: QUALITY_SCORE_GREEN changes: status: IN_PROGRESS details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' - type: HEADER format: DOCUMENT examples: - url: https://example.com/photos/1.png - type: HEADER format: LOCATION - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith addSecurityRecommendation: true - type: FOOTER text: To track your order please click the 'Track Your Order' button codeExpirationMinutes: 5 - type: BUTTONS buttons: - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: OTP otpType: COPY_CODE text: Example text. - type: REQUEST_CONTACT_INFO text: Share Contact Info - type: ORDER_DETAILS text: Copy Pix code - type: COPY_CODE text: Copy offer code examples: - WINTER27 - type: CAROUSEL cards: - components: - type: HEADER format: IMAGE examples: - url: https://example.com/photos/1.png - type: BODY text: Good morning {{1}}, your package has arrived. examples: - Mr. Smith - type: BUTTONS buttons: - type: URL text: Example test url: https://www.my-website.com?name={{1}} examples: - https://www.my-website.com?name=john - type: QUICK_REPLY text: Track Your Order - type: PHONE_NUMBER text: Example text. phoneNumber: +48 777 777777 messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' details: components: - type: HEADER format: TEXT text: Save {{1}}% on your next purchase! examples: - '20' messageSendTtlSeconds: 60 optimization: bidAmount: 500 bidStrategy: BID_STRATEGY_LOWEST_COST_WITH_BID_CAP bidCountryMultiplierOverrides: US: '1.2' GB: '1.1' analytics: [] isMetaGenerated: false '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-1: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 template_policies_violations-2: summary: TemplatePoliciesViolationsError value: errorCode: template_policies_violations message: Your message couldn't be sent because it includes content that other people on Facebook have reported as abusive. resolution: Remove violating content. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_check_media_file_size-3: summary: TemplateCheckMediaFileSizeError value: errorCode: template_check_media_file_size message: Failed to check media file size. resolution: Ensure media file URL is correct and then try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_invalid_button_example-4: summary: TemplateInvalidButtonExampleError value: errorCode: template_invalid_button_example message: Invalid button example. resolution: Only dynamic URL buttons are allowed to have an example. template_media_file_size_exceeds_maximum_file_size_limit-5: summary: TemplateMediaFileSizeExceedsMaximumFileSizeLimitError value: errorCode: template_media_file_size_exceeds_maximum_file_size_limit message: Template media file size exceeds maximum file size limit. resolution: Try again with a smaller file. file_invalid_mime_type-6: summary: FileInvalidMimeTypeError value: errorCode: file_invalid_mime_type message: 'details.components[0].headerExample.media.url: invalid file mime type.' resolution: 'Try again with supported mime types: image/jpeg, image/png, application/pdf, video/3gp, video/mp4.' invalid_payload-7: summary: InvalidPayloadError value: errorCode: invalid_payload message: Invalid payload. resolution: Correct payload and submit again. '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. template_not_updatable-1: summary: TemplateNotUpdatableError value: errorCode: template_not_updatable message: Template is not updatable. resolution: 'Updates are only supported by templates with state: APPROVED, DISABLED, PAUSED, REJECTED.' template_changes_not_updatable-2: summary: TemplateChangesNotUpdatableError value: errorCode: template_changes_not_updatable message: Template is not updatable. resolution: 'Updates are only supported by template changes with status: DRAFT, REJECTED.' template_category_not_updatable-3: summary: TemplateCategoryNotUpdatableError value: errorCode: template_category_not_updatable message: Template category is not updatable. resolution: 'Updates are only supported by template with state: DRAFT or with state: REJECTED and rejectionCode: INCORRECT_CATEGORY.' template_allow_category_change_not_updatable-4: summary: TemplateAllowCategoryChangeNotUpdatableError value: errorCode: template_allow_category_change_not_updatable message: Template allowCategoryChange is not updatable. resolution: 'Updates are only supported by template with state: DRAFT or with state: REJECTED and rejectionCode: INCORRECT_CATEGORY.' template_source_not_updatable-5: summary: TemplateSourceNotUpdatableError value: errorCode: template_source_not_updatable message: Template is not updatable. resolution: Templates generated by Meta cannot be updated. template_name_recently_used-6: summary: TemplateNameRecentlyUsedError value: errorCode: template_name_recently_used message: A template with the same name has been deleted within 30 days. resolution: Use another "name" for "EN" or wait the required time. template_restricted_Domain_for_button_url-7: summary: TemplateRestrictedDomainForButtonUrlError value: errorCode: template_restricted_Domain_for_button_url message: Restricted domain for button url. resolution: 'Replace any of the following restricted domains: wa.me, whatsapp.com' file_not_found-8: summary: FileNotFoundError value: errorCode: file_not_found message: 'details.components[0].headerExample.media.url: file not found.' resolution: Verify that the url is correct. file_size_too_large-9: summary: FileSizeTooLargeError value: errorCode: file_size_too_large message: 'details.components[0].headerExample.media.url: file size is too large.' resolution: Try again with a smaller file. Max size for `image/jpeg` is 5MB. file_unexpected_error-10: summary: FileUnexpectedErrorError value: errorCode: file_unexpected_error message: 'details.components[0].headerExample.media.url: file unexpected error.' resolution: The file cannot be handled properly. Please try with another one. object_with_whatsapp_business_account_id_does_not_exist-11: summary: ObjectWithWhatsappBusinessAccountIdDoesNotExistError value: errorCode: object_with_whatsapp_business_account_id_does_not_exist message: WhatsApp Business Account does not exist. resolution: Verify that WhatsApp Business ID still exists and contact support. template_language_recently_deleted-12: summary: TemplateLanguageRecentlyDeletedError value: errorCode: template_language_recently_deleted message: A template with the same language has been deleted within 4 weeks. resolution: Try to create EN content again in 4 weeks or create a new template. '424': description: FailedDependency content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_limit_reached-0: summary: TemplateLimitReachedError value: errorCode: template_limit_reached message: Number of templates has reached the limit. resolution: Delete some templates or reach out to support to increase the template limit. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_content_already_exists-1: summary: TemplateContentAlreadyExistsError value: errorCode: template_content_already_exists message: Template cannot be submitted because the content is the same as the content in another template. resolution: Use other template or edit template data and submit again. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. template_submit_error-2: summary: TemplateSubmitErrorError value: errorCode: template_submit_error message: Template submit error. resolution: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. additionalInformation: metaError: code: '123' subcode: '123456' message: Invalid parameter description: Character Limit Exceeded reason: field 'name' can't have more than 1,024 characters '429': description: TooManyRequests content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: whatsapp_business_api_request_limit_exceeded-0: summary: WhatsappBusinessApiRequestLimitExceededError value: errorCode: whatsapp_business_api_request_limit_exceeded message: WhatsApp business api request limit reached. resolution: WhatsApp business API request limits reached. Please try again later. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_start_session_for_uploading_media-0: summary: TemplateStartSessionForUploadingMediaError value: errorCode: template_start_session_for_uploading_media message: Failed to start session for uploading template media example. resolution: Please try again later. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. internal_error-1: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. If template is saved as draft, try to submit the template again. If option "saveDraftOnFailure" is specified as "false", try the request again. internal_error-2: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Update a template in project tags: - WhatsApp Templates x-badges: - name: GA position: after color: green /v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}/activities: get: description: Paginated list of activities for a template. Ordered from the most recent one to the oldest one. operationId: WhatsappTemplatesController_listActivities_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: languageCode required: true in: path description: The language code of the specific template. x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. schema: $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' - name: pageToken required: false in: query schema: type: string description: The page token if retrieving the next page from a previous query. - name: pageSize required: false in: query schema: type: number minimum: 1 maximum: 100 description: The page size requested. responses: '200': description: Recent activities on template content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateNotificationListDto' examples: response: summary: List template activities response description: "\n Response for all template activities.\n " value: totalSize: 2 pageSize: 50 notifications: - type: CREATED created: '2023-01-19T13:11:08.204Z' author: Provisioning API user - type: COMMENT_ADDED created: '2023-01-19T13:11:08.204Z' comment: Example comment author: Provisioning API user '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-1: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 invalid_page_token-2: summary: InvalidPageTokenError value: errorCode: invalid_page_token message: Invalid page token. resolution: The page token to use is provided in the previous query response, for new queries simply leave this field undefined. invalid_page_size-3: summary: InvalidPageSizeError value: errorCode: invalid_page_size message: Page size must be numeric. resolution: Use a integer value for pageSize parameter. '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Lists activities on project template tags: - WhatsApp Templates x-badges: - name: GA position: after color: green /v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}/comments: post: description: Creates a comment for a template. operationId: WhatsappTemplatesController_createComment_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: languageCode required: true in: path description: The language code of the specific template. x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. schema: $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' requestBody: required: true description: Comment data content: application/json: schema: $ref: '#/components/schemas/WhatsappCommentInputDto' examples: input: summary: Body request description: "\n Example body request to create a comment.\n " value: comment: Example comment. responses: '201': description: Created comment for a template content: application/json: schema: $ref: '#/components/schemas/WhatsappCommentDto' examples: created: summary: Create response description: "\n Response when successfully creating a comment.\n " value: type: CREATED comment: Example comment created: '2023-01-19T13:11:08.204Z' '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: invalid_input-0: summary: InvalidInputError value: errorCode: invalid_input message: Invalid input. resolution: Correct the validation errors and submit again. additionalInformation: validationErrors: - comment must be longer than or equal to 1 characters project_not_initialized-1: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-2: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 invalid_payload-3: summary: InvalidPayloadError value: errorCode: invalid_payload message: Invalid payload. resolution: Correct payload and submit again. '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Creates a comment for a template tags: - WhatsApp Templates x-badges: - name: GA position: after color: green /v1/projects/{projectId}/whatsapp/templates/{templateName}/languages/{languageCode}/compare: post: description: Compare two templates. operationId: WhatsappTemplatesController_compareTemplates_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string - name: templateName required: true in: path description: The unique name of the template. schema: type: string - name: languageCode required: true in: path description: The language code of the specific template. x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. schema: $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' requestBody: required: true description: Compare data content: application/json: schema: $ref: '#/components/schemas/WhatsappInputTemplateCompareDto' examples: input: summary: Body request description: "\n Example body request compare templates.\n " value: templates: - templateName: templateName2 templateLanguage: PL timeframe: '60' endTimestamp: 1694612898734 responses: '200': description: Compared template response content: application/json: schema: $ref: '#/components/schemas/WhatsappTemplateCompareDto' examples: created: summary: Compare template response description: "\n Response when successfully compared templates.\n " value: templates: - name: templateName1 language: EN blockOrder: 1 messageSends: 1000 topBlockReason: NO_REASON - name: templateName1 language: PL blockOrder: 2 messageSends: 2000 topBlockReason: NO_REASON_GIVEN '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: invalid_input-0: summary: InvalidInputError value: errorCode: invalid_input message: Invalid input. resolution: Correct the validation errors and submit again. additionalInformation: validationErrors: - templates must be an array - templates must contain no more than 1 elements - templates must contain at least 1 elements project_not_initialized-1: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. template_invalid_language_code-2: summary: TemplateInvalidLanguageCodeError value: errorCode: template_invalid_language_code message: Invalid language code. resolution: Verify that the language code used is supported by the Provisioning API and WhatsApp. additionalInformation: supportedCodes: AF, AR, AZ, BG, BN, CA, CS, DA, DE, EL, EN, EN_GB, EN_US, ES, ES_AR, ES_ES, ES_MX, ES_UY, 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 invalid_payload-3: summary: InvalidPayloadError value: errorCode: invalid_payload message: Invalid payload. resolution: Correct payload and submit again. '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '404': description: NotFound content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: template_not_found-0: summary: TemplateNotFoundError value: errorCode: template_not_found message: Template not found. resolution: Verify that the parameters are correct. templates_compare_not_found-1: summary: TemplatesCompareNotFoundError value: errorCode: templates_compare_not_found message: Templates to compare not found. resolution: 'Verify that the parameters are correct. No templates found for templateName: templateName and templateLanguage: EN' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. templates_not_eligible_for_comparison-1: summary: TemplatesNotEligibleForComparisonError value: errorCode: templates_not_eligible_for_comparison message: Templates not eligible for comparison. resolution: Templates must have been sent at least 1,000 times in the specified timeframe. templates_compare_not_unique-2: summary: TemplatesCompareNotUniqueError value: errorCode: templates_compare_not_unique message: Templates to compare not unique. resolution: Template can't be compared with itself. Provide unique templates for comparison. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Compare two templates tags: - WhatsApp Templates x-badges: - name: GA position: after color: green /v1/projects/{projectId}/whatsapp/templates/sync: post: operationId: WhatsappTemplatesController_syncTemplates_v1 parameters: - name: projectId required: true in: path description: The unique ID of the project. You can find this on the Sinch Dashboard. schema: type: string responses: '200': description: Templates have been synchronized for project '400': description: BadRequest content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: project_not_initialized-0: summary: ProjectNotInitializedError value: errorCode: project_not_initialized message: Project not initialized for WhatsApp. resolution: Verify that the project ID is correct and that it has been onboarded for WhatsApp. '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: unauthorized_error-0: summary: UnauthorizedErrorError value: errorCode: unauthorized_error message: Unauthorized error. resolution: Verify that projectId is correct. '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: resource_locked-0: summary: ResourceLockedError value: errorCode: resource_locked message: Resource is locked. resolution: Another operation for this resource is already in progress. Please wait and try again. '429': description: TooManyRequests content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: too_many_requests-0: summary: TooManyRequestsError value: errorCode: too_many_requests message: Too many requests. resolution: Please wait and try again. '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/WhatsappPapiErrorDto' examples: internal_error-0: summary: InternalErrorError value: errorCode: internal_error message: Internal server error. resolution: Please wait and try again, if the error persist please contact support. summary: Synchronize templates for project tags: - WhatsApp Templates x-badges: - name: GA position: after color: green components: schemas: WhatsappButtonsComponentDto: type: object properties: type: x-enumDescriptions: BUTTONS: Defines the interactive layout block hosting quick reply or call-to-action components. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeButtonsEnum' buttons: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappPhoneNumberButtonDto' - $ref: '#/components/schemas/WhatsappUrlButtonDto' - $ref: '#/components/schemas/WhatsappQuickReplyButtonDto' - $ref: '#/components/schemas/WhatsappOtpButtonDto' - $ref: '#/components/schemas/WhatsappFlowButtonDto' - $ref: '#/components/schemas/WhatsappRequestContactInfoButtonDto' - $ref: '#/components/schemas/WhatsappOrderDetailsButtonDto' - $ref: '#/components/schemas/WhatsappCopyCodeButtonDto' uniqueItems: false required: - type - buttons WhatsappTemplateInputDto: type: object properties: status: x-enumDescriptions: DRAFT: Saves the pending changes as a draft without submitting them to the system. SUBMIT: Submits the pending changes directly for processing. description: Create as draft or submit. Defaults to submit. default: SUBMIT uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappActionsEnum' name: type: string pattern: ^[a-z0-9][a-z0-9_]*[a-z0-9]$ maxLength: 512 uniqueItems: false language: x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputTemplateLanguagesEnum' category: x-enumDescriptions: AUTHENTICATION: Billing or functional category for authentication and verification messages. MARKETING: Billing or functional category for promotional or marketing messages. UTILITY: Billing or functional category for utility and service-related messages. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateInputCategoryEnum' saveDraftOnFailure: type: boolean default: false description: Flag to save template as draft if submission fails. Defaults to false. uniqueItems: false allowCategoryChange: type: boolean default: false description: True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false. uniqueItems: false details: description: '''Template input details and information.'' Not required for draft.' uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateDetailsInputDto' required: - name - language - category - details WhatsappTemplateCategoryEnum: type: string enum: - AUTHENTICATION - MARKETING - UTILITY - UNRECOGNIZED WhatsappTemplateDto: type: object properties: whatsappId: type: string uniqueItems: false state: x-enumDescriptions: APPROVED: The template is approved and available for use. DISABLED: The template has been disabled and is restricted from outbound messaging operations. PAUSED: The template is temporarily paused and cannot be utilized until explicitly resumed. PENDING: The template is queued and currently awaiting approval or processing milestones. REJECTED: The template was rejected and cannot be used. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateStatesEnum' name: type: string uniqueItems: false language: x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' category: x-enumDescriptions: AUTHENTICATION: Billing or functional category for authentication and verification messages. MARKETING: Billing or functional category for promotional or marketing messages. UTILITY: Billing or functional category for utility and service-related messages. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateCategoryEnum' rejectionCode: x-enumDescriptions: ABUSIVE_CONTENT: The upstream gateway rejected the layout because the messaging copy violated safety, spam, or abuse criteria. INCORRECT_CATEGORY: The upstream gateway rejected the layout because the business vertical classification does not align with the actual content. INVALID_FORMAT: The upstream gateway rejected the layout because variable placeholders, syntax parameters, or media configurations are invalid. NONE: The template has not faced any restriction codes or rejection events. SCAM: The upstream gateway rejected the layout because the text patterns match fraudulent, deceptive, or financial scam signatures. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Rejection code if template is in status 'REJECTED' uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateRejectionCodeEnum' qualityScore: x-enumDescriptions: QUALITY_SCORE_GREEN: Indicates an optimal template delivery standing reflecting low user block counts. QUALITY_SCORE_RED: Indicates a severely degraded template standing, which may trigger suspension or delivery throttling. QUALITY_SCORE_YELLOW: Indicates a warning template standing reflecting a notable increase in recent opt-out actions. QUALITY_SCORE_UNKNOWN: The platform has not collected sufficient telemetry data to compute an active quality rating. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Quality score of the HSM. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateQualityScoreEnum' changes: description: Object containing changes on the template. If empty the changes has been approved and applied to the template. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateChangesDto' details: description: Template details and information. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateDetailsDto' analytics: type: array items: $ref: '#/components/schemas/WhatsappTemplateAnalyticsDto' description: Template analytics. uniqueItems: false isMetaGenerated: type: boolean description: Indicates if the template was auto-generated by Meta. uniqueItems: false required: - name - language - category - analytics - isMetaGenerated WhatsappInputMediaHeaderExampleSupportedMimeTypesEnum: type: string enum: - IMAGE/JPEG - IMAGE/PNG - APPLICATION/PDF - VIDEO/3GP - VIDEO/MP4 description: Optional mime type of file if it can not be determined by the file contents. WhatsappInputOtpTypeEnum: type: string enum: - COPY_CODE - ONE_TAP - ZERO_TAP WhatsappPartialOtpButtonDto: type: object properties: type: x-enumDescriptions: OTP: Defines an interactive component configured to transmit immediate high-volume verification tokens. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeOtpEnum' otpType: x-enumDescriptions: COPY_CODE: Configures the verification layout to present a plain-text code that the user can manually copy or transfer. ONE_TAP: Configures the verification layout to invoke a native device callback wrapper, requiring a single tap confirmation from the user. ZERO_TAP: Configures the verification layout to execute automated background authentication handshake layers without requiring manual user input. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappOtpTypeEnum' text: type: string uniqueItems: false autofillText: type: string uniqueItems: false packageName: type: string deprecated: true uniqueItems: false signatureHash: type: string deprecated: true uniqueItems: false supportedApps: uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappSupportedAppDto' zeroTapTermsAccepted: type: boolean uniqueItems: false WhatsappPartialFlowButtonDto: type: object properties: type: x-enumDescriptions: FLOW: Defines an interactive component that initializes an embedded native rich interaction flow. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeEnum' text: type: string description: Text to display on the Flow button uniqueItems: false flowId: type: string description: Flow ID to launch when button is pressed uniqueItems: false flowAction: x-enumDescriptions: DATA_EXCHANGE: Triggers an asynchronous data synchronization payload transfer with the configured webhook or API endpoint. NAVIGATE: Advances the interactive user workflow viewport context to the subsequent structural layout step. UNKNOWN: The targeted interaction action code type cannot be resolved. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Flow action uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappFlowActionEnum' navigateScreen: type: string description: The unique ID of the first screen. Required for Navigate action. uniqueItems: false WhatsappMediaHeaderExampleInputDto: type: object properties: url: type: string format: url description: 'File Requirements 1) Image - Images must be 8-bit, RGB or RGBA - supported mime types: `image/jpeg` or `image/png` - max file size: `5MB` 2) Video - Only H.264 video codec and AAC audio codec is supported. - We support videos with a single audio stream or no audio stream. - supported mime types: `video/3gp` or `video/mp4` - max file size: `16MB` 3) Document - supported mime types: `application/pdf` - max file size: `100MB` Not required for draft.' uniqueItems: false mimeType: x-enumDescriptions: IMAGE/JPEG: Specifies image/jpeg as a valid media format for template header variables. IMAGE/PNG: Specifies image/png as a valid media format for template header variables. APPLICATION/PDF: Specifies application/pdf as a valid media format for template header variables. VIDEO/3GP: Specifies video/3gpp as a valid media format for template header variables. VIDEO/MP4: Specifies video/mp4 as a valid media format for template header variables. description: Optional mime type of file if it can not be determined by the file contents. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputMediaHeaderExampleSupportedMimeTypesEnum' required: - url WhatsappTemplateDetailsOptimizationDto: type: object properties: bidAmount: type: number description: 'Maximum price returned for 1,000 message deliveries, expressed in your WABA currency''s smallest unit (for example, cents for USD). Example: a value of 5000 represents $0.05 USD per delivery (5 cents x 1,000 messages).' uniqueItems: false bidStrategy: x-enumDescriptions: BID_STRATEGY_UNSPECIFIED: No bid strategy was specified for the template optimization configuration. BID_STRATEGY_LOWEST_COST_WITH_BID_CAP: The template optimization configuration uses the lowest-cost strategy with a bid cap. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Bid strategy returned for the template optimization configuration. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappBidStrategiesEnum' bidCountryMultiplierOverrides: type: object additionalProperties: type: string description: 'Country-specific bid multipliers returned by the upstream system, keyed by ISO 3166-1 alpha-2 country code. Values are strings to preserve decimal precision. If not provided, the default bid multiplier of 1.0 is applied for all countries. Allowed range is 0.0 to 10.0. Example: { "US": "1.2", "GB": "1.1" }.' uniqueItems: false required: - bidAmount - bidStrategy WhatsappInputCardButtonsComponentDto: type: object properties: type: x-enumDescriptions: BUTTONS: Defines the interactive layout block hosting quick reply or call-to-action components. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeButtonsEnum' buttons: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappUrlButtonInputDto' - $ref: '#/components/schemas/WhatsappQuickReplyButtonInputDto' - $ref: '#/components/schemas/WhatsappPhoneNumberButtonInputDto' minItems: 1 maxItems: 2 description: ' Card buttons. Button combinations can be a mix of quick reply buttons, phone number buttons, and URL buttons. Not required for draft. Fields (type, text) must not all share the same value across items.' uniqueItems: true required: - type - buttons WhatsappTemplateAnalyticsDateRangesEnum: type: string enum: - DAY - MONTH - QUARTER - WEEK WhatsappTemplateChangesDto: type: object properties: status: x-enumDescriptions: DRAFT: The template changes are saved as a draft only. IN_PROGRESS: The template changes have been submitted and are still processing. REJECTED: The template changes have been reviewed and rejected. description: "\n The current status of the changes.\n \n `DRAFT`: The changes has not been submitted.\n `IN_PROGRESS`: The changes has been submitted.\n" uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateStatusesEnum' allowCategoryChange: type: boolean description: True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false. uniqueItems: false details: anyOf: - $ref: '#/components/schemas/WhatsappTemplateDetailsDto' description: For newly created template - $ref: '#/components/schemas/WhatsappTemplateChangesDetailsDto' description: For update template description: Template details and information. uniqueItems: false required: - status WhatsappTemplateStatesEnum: type: string enum: - APPROVED - DISABLED - PAUSED - PENDING - REJECTED WhatsappBodyComponentDto: type: object properties: type: x-enumDescriptions: BODY: Defines the primary structural layout block containing the main text message and variables. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeBodyEnum' text: type: string uniqueItems: false examples: description: Examples for the body variables. uniqueItems: false type: array items: type: string addSecurityRecommendation: type: boolean uniqueItems: false required: - type WhatsappFooterComponentInputDto: type: object properties: type: x-enumDescriptions: FOOTER: Defines the supplementary structural layout block used for faint text copy or legal disclaimers. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeFooterEnum' text: type: string maxLength: 60 uniqueItems: false codeExpirationMinutes: type: number description: Only valid if template category is AUTHENTICATION. If set will add a text detailing the expiration time. uniqueItems: false required: - type WhatsappPartialCardBodyComponentDto: type: object properties: type: x-enumDescriptions: BODY: Defines the primary structural layout block containing the main text message and variables. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeBodyEnum' examples: description: Examples for the body variables. uniqueItems: false type: array items: type: string text: type: string description: Card body text. uniqueItems: false WhatsappBidStrategiesEnum: type: string enum: - BID_STRATEGY_LOWEST_COST_WITH_BID_CAP - BID_STRATEGY_UNSPECIFIED - UNRECOGNIZED description: Bid strategy returned for the template optimization configuration. WhatsappFlowButtonDto: type: object properties: type: x-enumDescriptions: FLOW: Defines an interactive component that initializes an embedded native rich interaction flow. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeEnum' text: type: string description: Text to display on the Flow button uniqueItems: false flowId: type: string description: Flow ID to launch when button is pressed uniqueItems: false flowAction: x-enumDescriptions: DATA_EXCHANGE: Triggers an asynchronous data synchronization payload transfer with the configured webhook or API endpoint. NAVIGATE: Advances the interactive user workflow viewport context to the subsequent structural layout step. UNKNOWN: The targeted interaction action code type cannot be resolved. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Flow action uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappFlowActionEnum' navigateScreen: type: string description: The unique ID of the first screen. Required for Navigate action. uniqueItems: false required: - type WhatsappLocationHeaderComponentInputDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: LOCATION: Configures the structural template header block to host coordinate and geolocational location arrays. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappLocationHeaderComponentFormatEnum' required: - type - format WhatsappInputBidStrategiesEnum: type: string const: LOWEST_COST_WITH_BID_CAP description: Bid strategy to use for the template optimization configuration. WhatsappPartialBodyComponentDto: type: object properties: type: x-enumDescriptions: BODY: Defines the primary structural layout block containing the main text message and variables. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeBodyEnum' text: type: string uniqueItems: false examples: description: Examples for the body variables. uniqueItems: false type: array items: type: string addSecurityRecommendation: type: boolean uniqueItems: false WhatsappPartialTemplateAnalyticsButtonsDto: type: object properties: type: x-enumDescriptions: QUICK_REPLY: Aggregates interaction metrics for static pre-configured response buttons. UNIQUE_URL: Aggregates interaction metrics for call-to-action buttons configured with dynamic tracking URLs. URL: Aggregates interaction metrics for call-to-action buttons redirecting to static web hyperlinks. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Type of button. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateAnalyticsButtonTypesEnum' content: type: string description: Content of the button. uniqueItems: false clicks: type: number description: Number of times the button has been clicked. uniqueItems: false WhatsappInputUpdateTemplateDetailsOptimization: type: object properties: bidAmount: type: number minimum: 0 description: 'Maximum price to bid for 1,000 message deliveries, expressed in your WABA currency''s smallest unit (for example, cents for USD). Example: a value of 5000 represents $0.05 USD per delivery (5 cents x 1,000 messages).' uniqueItems: false bidStrategy: x-enumDescriptions: LOWEST_COST_WITH_BID_CAP: Use the lowest-cost strategy with a bid cap. description: Bid strategy to use for the template optimization configuration. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputBidStrategiesEnum' bidCountryMultiplierOverrides: type: - object - 'null' additionalProperties: type: string description: 'Optional country-specific bid multipliers, keyed by ISO 3166-1 alpha-2 country code. Values must be strings to preserve decimal precision. If not provided, the default bid multiplier of 1.0 is applied for all countries. Allowed range is 0.0 to 10.0. Example: { "US": "1.2", "GB": "1.1" }.' uniqueItems: false required: - bidAmount - bidStrategy WhatsappTextHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: TEXT: Configures the structural template header block to host alphanumeric text copy strings. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTextHeaderComponentFormatEnum' text: type: string description: Text to show in the header uniqueItems: false example: type: string description: Example for the header variable. uniqueItems: false required: - type - format WhatsappLimitedTimeOfferComponentDto: type: object properties: type: x-enumDescriptions: LIMITED_TIME_OFFER: Defines a dynamic structural layout block for showcasing time-sensitive promotional offers and urgency-driven purchase incentives. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeLimitedTimeOfferEnum' text: type: string description: Offer details text. uniqueItems: false hasExpiration: type: boolean description: Indicates if the offer expiration details appear in the delivered message. uniqueItems: false required: - type - hasExpiration WhatsappPartialTemplateChangesDto: type: object properties: status: x-enumDescriptions: DRAFT: The template changes are saved as a draft only. IN_PROGRESS: The template changes have been submitted and are still processing. REJECTED: The template changes have been reviewed and rejected. description: "\n The current status of the changes.\n \n `DRAFT`: The changes has not been submitted.\n `IN_PROGRESS`: The changes has been submitted.\n" uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateStatusesEnum' allowCategoryChange: type: boolean description: True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false. uniqueItems: false details: oneOf: - $ref: '#/components/schemas/WhatsappPartialTemplateDetailsDto' description: For newly created template - $ref: '#/components/schemas/WhatsappTemplateChangesDetailsDto' description: For update template description: Template details and information. uniqueItems: false WhatsappPartialCardDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappPartialCardHeaderComponentDto' - $ref: '#/components/schemas/WhatsappPartialCardBodyComponentDto' - $ref: '#/components/schemas/WhatsappPartialCardButtonsComponentDto' description: List of components in the cards. uniqueItems: false WhatsappButtonTypeQuickReplyEnum: type: string const: QUICK_REPLY WhatsappInputTemplateCompareIdentifierDto: type: object properties: templateName: type: string pattern: ^[a-z0-9][a-z0-9_]*[a-z0-9]$ description: Template name uniqueItems: false templateLanguage: x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Template language uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' required: - templateName - templateLanguage WhatsappComponentTypeHeaderEnum: type: string const: HEADER WhatsappCardBodyComponentDto: type: object properties: type: x-enumDescriptions: BODY: Defines the primary structural layout block containing the main text message and variables. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeBodyEnum' examples: description: Examples for the body variables. uniqueItems: false type: array items: type: string text: type: string description: Card body text. uniqueItems: false required: - type WhatsappPhoneNumberButtonInputDto: type: object properties: type: x-enumDescriptions: PHONE_NUMBER: Defines an interactive component that routes natively to the host hardware dialer array. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypePhoneNumberEnum' text: type: string minLength: 1 maxLength: 25 description: Not required for draft. uniqueItems: false phoneNumber: type: string format: phone number description: Not required for draft. uniqueItems: false required: - type - text - phoneNumber WhatsappButtonTypePhoneNumberEnum: type: string const: PHONE_NUMBER WhatsappMediaHeaderComponentFormatEnum: type: string enum: - DOCUMENT - IMAGE - VIDEO WhatsappRequestContactInfoButtonDto: type: object properties: type: x-enumDescriptions: REQUEST_CONTACT_INFO: Defines an interactive component that prompts native interface sharing configurations to harvest user identity footprints. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeRequestContactInfoEnum' text: type: string uniqueItems: false required: - type WhatsappCommentTypeEnum: type: string const: CREATED WhatsappTemplateCompareBlockReasonsEnum: type: string enum: - NO_LONGER_NEEDED - NO_REASON - NO_REASON_GIVEN - NO_SIGN_UP - OFFENSIVE_MESSAGES - OTHER - OTP_DID_NOT_REQUEST - SPAM - UNKNOWN_BLOCK_REASON - UNRECOGNIZED description: Block reason WhatsappComponentTypeButtonsEnum: type: string const: BUTTONS WhatsappButtonTypeCopyCodeEnum: type: string const: COPY_CODE WhatsappPartialMediaHeaderExampleDto: type: object properties: url: type: string format: url uniqueItems: false WhatsappLocationHeaderComponentFormatEnum: type: string const: LOCATION WhatsappUrlButtonDto: type: object properties: type: x-enumDescriptions: URL: Defines an interactive component that switches viewports out of the client app into a dedicated browser environment. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeUrlEnum' text: type: string uniqueItems: false url: type: string format: url uniqueItems: false examples: - type: string format: url uniqueItems: false required: - type WhatsappTemplateRejectionCodeEnum: type: string enum: - ABUSIVE_CONTENT - INCORRECT_CATEGORY - INVALID_FORMAT - NONE - SCAM - UNRECOGNIZED description: Rejection code if template is in status 'REJECTED' WhatsappCardHeaderComponentFormatsEnum: type: string enum: - IMAGE - VIDEO description: Card header format. WhatsappUrlButtonInputDto: type: object properties: type: x-enumDescriptions: URL: Defines an interactive component that switches viewports out of the client app into a dedicated browser environment. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeUrlEnum' text: type: string minLength: 1 maxLength: 25 description: Not required for draft. uniqueItems: false url: type: string format: url description: "\n The url address. To make it dynamic you can add '{{1}}' to the end of the url eg,\n\n https://www.my-website.com?name={{1}}, and not\n\n https://www.my-{{1}}.com.\n\n Restricted domains: `wa.me` or `whatsapp.com`\n \nNot required for draft." uniqueItems: false examples: - type: string format: url description: "\n Example of the full url together with the dynamic value. Required if there is a {{1}} in the URL field, eg\n \n If the 'url' field is 'https://www.my-website.com?name={{1}}', then example can have the following value\n\n 'example' = 'https://www.my-website.com?name=john'\n \nNot required for draft." uniqueItems: false required: - type - text - url WhatsappCardButtonsComponentDto: type: object properties: type: x-enumDescriptions: BUTTONS: Defines the interactive layout block hosting quick reply or call-to-action components. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeButtonsEnum' buttons: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappUrlButtonDto' - $ref: '#/components/schemas/WhatsappQuickReplyButtonDto' - $ref: '#/components/schemas/WhatsappPhoneNumberButtonDto' description: Card buttons. uniqueItems: false required: - type - buttons WhatsappTemplateLanguagesEnum: type: string enum: - AF - AR - AZ - BG - BN - CA - CS - DA - DE - EL - EN - EN_GB - EN_US - ES - ES_AR - ES_ES - ES_MX - ES_UY - 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 WhatsappPartialMediaHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: IMAGE: Configures the structural template header block to host static image media assets. VIDEO: Configures the structural template header block to host short video media assets. DOCUMENT: Configures the structural template header block to host file and document media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappMediaHeaderComponentFormatEnum' examples: - uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappPartialMediaHeaderExampleDto' WhatsappPartialCardHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: IMAGE: Configures the structural template header block to host static image media assets. VIDEO: Configures the structural template header block to host short video media assets. description: Card header format. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappCardHeaderComponentFormatsEnum' examples: - description: Uploaded media asset handle. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappPartialMediaHeaderExampleDto' WhatsappSupportedAppInputDto: type: object properties: packageName: type: string description: Your Android app's package name. uniqueItems: false signatureHash: type: string description: Your app signing key hash. uniqueItems: false required: - packageName - signatureHash WhatsappTemplateInputCategoryEnum: type: string enum: - AUTHENTICATION - MARKETING - UTILITY WhatsappUpdateTemplateInputDto: type: object properties: status: x-enumDescriptions: DRAFT: Saves the pending changes as a draft without submitting them to the system. SUBMIT: Submits the pending changes directly for processing. default: DRAFT description: Create as draft or submit. Defaults to draft. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappActionsEnum' category: x-enumDescriptions: AUTHENTICATION: Billing or functional category for authentication and verification messages. MARKETING: Billing or functional category for promotional or marketing messages. UTILITY: Billing or functional category for utility and service-related messages. description: Works if status template is DRAFT or it was rejected with INCORRECT_CATEGORY. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateInputCategoryEnum' allowCategoryChange: type: boolean description: Works if status template is DRAFT or it was rejected with INCORRECT_CATEGORY True if Meta should be allowed to change the category if they determine the category is wrong. If false, Meta might reject the template if they determine the category is wrong based on the template contents. Defaults to false. uniqueItems: false details: description: '''Template input details and information.'' Not required for draft.' uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappUpdateTemplateDetailsInputDto' WhatsappOtpButtonDto: type: object properties: type: x-enumDescriptions: OTP: Defines an interactive component configured to transmit immediate high-volume verification tokens. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeOtpEnum' otpType: x-enumDescriptions: COPY_CODE: Configures the verification layout to present a plain-text code that the user can manually copy or transfer. ONE_TAP: Configures the verification layout to invoke a native device callback wrapper, requiring a single tap confirmation from the user. ZERO_TAP: Configures the verification layout to execute automated background authentication handshake layers without requiring manual user input. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappOtpTypeEnum' text: type: string uniqueItems: false autofillText: type: string uniqueItems: false packageName: type: string deprecated: true uniqueItems: false signatureHash: type: string deprecated: true uniqueItems: false supportedApps: uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappSupportedAppDto' zeroTapTermsAccepted: type: boolean uniqueItems: false required: - type - otpType WhatsappInputCardMediaHeaderExampleDto: type: object properties: url: type: string format: url description: 'File Requirements 1) Image - Images must be 8-bit, RGB or RGBA - supported mime types: `image/jpeg` or `image/png` - max file size: `5MB` 2) Video - Only H.264 video codec and AAC audio codec is supported. - We support videos with a single audio stream or no audio stream. - supported mime types: `video/3gp` or `video/mp4` - max file size: `16MB` Not required for draft.' uniqueItems: false mimeType: x-enumDescriptions: IMAGE/JPEG: Specifies image/jpeg as a valid media format for rich card header variables. IMAGE/PNG: Specifies image/png as a valid media format for rich card header variables. VIDEO/3GP: Specifies video/3gpp as a valid media format for rich card header variables. VIDEO/MP4: Specifies video/mp4 as a valid media format for rich card header variables. description: Optional mime type of file if it can not be determined by the file contents. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputCardMediaHeaderExampleSupportedMimeTypesEnum' required: - url WhatsappMediaHeaderComponentInputDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: IMAGE: Configures the structural template header block to host static image media assets. VIDEO: Configures the structural template header block to host short video media assets. DOCUMENT: Configures the structural template header block to host file and document media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappMediaHeaderComponentFormatEnum' examples: - description: Not required for draft. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappMediaHeaderExampleInputDto' required: - type - format - example WhatsappPartialButtonsComponentDto: type: object properties: type: x-enumDescriptions: BUTTONS: Defines the interactive layout block hosting quick reply or call-to-action components. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeButtonsEnum' buttons: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappPartialPhoneNumberButtonDto' - $ref: '#/components/schemas/WhatsappPartialUrlButtonDto' - $ref: '#/components/schemas/WhatsappPartialQuickReplyButtonDto' - $ref: '#/components/schemas/WhatsappPartialOtpButtonDto' - $ref: '#/components/schemas/WhatsappPartialFlowButtonDto' uniqueItems: false WhatsappInputTemplateDetailsOptimization: type: object properties: bidAmount: type: number minimum: 0 description: 'Maximum price to bid for 1,000 message deliveries, expressed in your WABA currency''s smallest unit (for example, cents for USD). Example: a value of 5000 represents $0.05 USD per delivery (5 cents x 1,000 messages).' uniqueItems: false bidStrategy: x-enumDescriptions: LOWEST_COST_WITH_BID_CAP: Use the lowest-cost strategy with a bid cap. description: Bid strategy to use for the template optimization configuration. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputBidStrategiesEnum' bidCountryMultiplierOverrides: type: object additionalProperties: type: string description: 'Optional country-specific bid multipliers, keyed by ISO 3166-1 alpha-2 country code. Values must be strings to preserve decimal precision. If not provided, the default bid multiplier of 1.0 is applied for all countries. Allowed range is 0.0 to 10.0. Example: { "US": "1.2", "GB": "1.1" }.' uniqueItems: false required: - bidAmount - bidStrategy WhatsappInputCardMediaHeaderExampleSupportedMimeTypesEnum: type: string enum: - IMAGE/JPEG - IMAGE/PNG - VIDEO/3GP - VIDEO/MP4 description: Optional mime type of file if it can not be determined by the file contents. WhatsappCopyCodeButtonDto: type: object properties: type: x-enumDescriptions: COPY_CODE: Defines an interactive component that copies a code snippet. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeCopyCodeEnum' text: type: string uniqueItems: false examples: - type: string uniqueItems: false required: - type WhatsappMediaHeaderExampleDto: type: object properties: url: type: string format: url uniqueItems: false WhatsappCardHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: IMAGE: Configures the structural template header block to host static image media assets. VIDEO: Configures the structural template header block to host short video media assets. description: Card header format. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappCardHeaderComponentFormatsEnum' examples: - description: Uploaded media asset handle. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappMediaHeaderExampleDto' required: - type - format WhatsappButtonTypeEnum: type: string const: FLOW WhatsappMediaHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: IMAGE: Configures the structural template header block to host static image media assets. VIDEO: Configures the structural template header block to host short video media assets. DOCUMENT: Configures the structural template header block to host file and document media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappMediaHeaderComponentFormatEnum' examples: - uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappMediaHeaderExampleDto' required: - type - format WhatsappPartialTemplateDetailsDto: type: object properties: messageSendTtlSeconds: type: number description: "\n Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.\n\n| | AUTHENTICATION | MARKETING | UTILITY |\n| -- | -- | -- | -- |\n| Default | 10 minutes | 30 days | 30 days |\n| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |\n| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |\n\n Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.\n " uniqueItems: false optimization: description: Optimization settings for the template. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateDetailsOptimizationDto' components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappPartialTextHeaderComponentDto' - $ref: '#/components/schemas/WhatsappPartialMediaHeaderComponentDto' - $ref: '#/components/schemas/WhatsappPartialBodyComponentDto' - $ref: '#/components/schemas/WhatsappPartialFooterComponentDto' - $ref: '#/components/schemas/WhatsappPartialButtonsComponentDto' - $ref: '#/components/schemas/WhatsappPartialLocationHeaderComponentDto' - $ref: '#/components/schemas/WhatsappPartialCarouselComponentDto' - $ref: '#/components/schemas/WhatsappPartialLimitedTimeOfferComponentDto' description: List of components in the template. Must contain a BODY component and can only have one entry of each type. uniqueItems: false WhatsappUpdateTemplateDetailsInputDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappLocationHeaderComponentInputDto' - $ref: '#/components/schemas/WhatsappTextHeaderComponentInputDto' - $ref: '#/components/schemas/WhatsappMediaHeaderComponentInputDto' - $ref: '#/components/schemas/WhatsappBodyComponentInputDto' - $ref: '#/components/schemas/WhatsappFooterComponentInputDto' - $ref: '#/components/schemas/WhatsappButtonsComponentInputDto' - $ref: '#/components/schemas/WhatsappInputCarouselComponentDto' - $ref: '#/components/schemas/WhatsappLimitedTimeOfferComponentInputDto' description: List of components in the template. Must contain a BODY component and can only have one entry of each type. Not required for draft. Field 'type' must have unique values across items. uniqueItems: true messageSendTtlSeconds: type: number description: "\n Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.\n\n| | AUTHENTICATION | MARKETING | UTILITY |\n| -- | -- | -- | -- |\n| Default | 10 minutes | 30 days | 30 days |\n| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |\n| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |\n\n Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.\n " uniqueItems: false optimization: description: Optimization settings for the template. uniqueItems: false type: - object - 'null' allOf: - $ref: '#/components/schemas/WhatsappInputUpdateTemplateDetailsOptimization' WhatsappCommentInputDto: type: object properties: comment: type: string minLength: 1 maxLength: 65535 uniqueItems: false required: - comment WhatsappPartialUrlButtonDto: type: object properties: type: x-enumDescriptions: URL: Defines an interactive component that switches viewports out of the client app into a dedicated browser environment. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeUrlEnum' text: type: string uniqueItems: false url: type: string format: url uniqueItems: false examples: - type: string format: url uniqueItems: false WhatsappInputFlowActionEnum: type: string enum: - DATA_EXCHANGE - NAVIGATE description: Flow action. Not required for draft. WhatsappInputCardHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: IMAGE: Configures the structural template header block to host static image media assets. VIDEO: Configures the structural template header block to host short video media assets. description: Card header format. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappCardHeaderComponentFormatsEnum' examples: - description: ' Uploaded media asset handle. Media assets are automatically cropped to a wide ratio based on the WhatsApp user''s device. Not required for draft. ' uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputCardMediaHeaderExampleDto' required: - type - format - example WhatsappButtonTypeOrderDetailsEnum: type: string const: ORDER_DETAILS WhatsappPartialTemplateListDto: type: object properties: totalSize: type: number description: Total size of the entries matching the search query. uniqueItems: false pageSize: type: number description: Requested size of the page. uniqueItems: false previousPageToken: type: string description: Encoded token to use in list request to fetch previous batch of entries. uniqueItems: false nextPageToken: type: string description: Encoded token to use in list request to fetch next batch of entries. uniqueItems: false templates: uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappPartialTemplateDto' required: - totalSize - pageSize - templates WhatsappInputCarouselComponentDto: type: object properties: type: x-enumDescriptions: CAROUSEL: Defines a dynamic multimedia block configured with horizontal scrolling multi-card cards. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeCarouselEnum' cards: type: array items: $ref: '#/components/schemas/WhatsappInputCardDto' minItems: 1 maxItems: 10 description: "\nMedia cards.\nAll cards defined on a template must have the same components.\nIt is only necessary to define two product cards upon template creation. \nAn approved template with two product cards can be used to send up to 10 cards in a template message.\nNot required for draft.\n" uniqueItems: false required: - type - cards WhatsappOrderDetailsButtonDto: type: object properties: type: x-enumDescriptions: ORDER_DETAILS: Defines an interactive component that directs the customer to systemic order tracking metadata views. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeOrderDetailsEnum' text: type: string uniqueItems: false required: - type WhatsappButtonsComponentInputDto: type: object properties: type: x-enumDescriptions: BUTTONS: Defines the interactive layout block hosting quick reply or call-to-action components. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeButtonsEnum' buttons: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappFlowButtonInputDto' - $ref: '#/components/schemas/WhatsappOtpButtonInputDto' - $ref: '#/components/schemas/WhatsappPhoneNumberButtonInputDto' - $ref: '#/components/schemas/WhatsappQuickReplyButtonInputDto' - $ref: '#/components/schemas/WhatsappRequestContactInfoButtonInputDto' - $ref: '#/components/schemas/WhatsappOrderDetailsButtonInputDto' - $ref: '#/components/schemas/WhatsappUrlButtonInputDto' - $ref: '#/components/schemas/WhatsappCopyCodeButtonInputDto' minItems: 1 description: Not required for draft. Each field in (value, text) must have unique values across items. uniqueItems: true required: - type - buttons WhatsappSupportedAppDto: type: object properties: packageName: type: string uniqueItems: false signatureHash: type: string uniqueItems: false required: - packageName - signatureHash WhatsappPartialTemplateAnalyticsDto: type: object properties: sent: type: number description: Number of times template has been sent. uniqueItems: false delivered: type: number description: Number of times template has been delivered. uniqueItems: false read: type: number description: Number of times template has been read. uniqueItems: false start: type: string description: The UTC Date Time in ISO 8601 for start of date range. uniqueItems: false end: type: string description: The UTC Date Time in ISO 8601 for end of date range. uniqueItems: false buttons: type: array items: $ref: '#/components/schemas/WhatsappPartialTemplateAnalyticsButtonsDto' description: Number of times buttons in the template has been clicked. uniqueItems: false WhatsappComponentTypeBodyEnum: type: string const: BODY WhatsappPartialTextHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: TEXT: Configures the structural template header block to host alphanumeric text copy strings. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTextHeaderComponentFormatEnum' text: type: string description: Text to show in the header uniqueItems: false example: type: string description: Example for the header variable. uniqueItems: false WhatsappPartialQuickReplyButtonDto: type: object properties: type: x-enumDescriptions: QUICK_REPLY: Defines an interactive component that routes immediate, automated textual response payloads back to the host gateway. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeQuickReplyEnum' text: type: string uniqueItems: false WhatsappFooterComponentDto: type: object properties: type: x-enumDescriptions: FOOTER: Defines the supplementary structural layout block used for faint text copy or legal disclaimers. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeFooterEnum' text: type: string uniqueItems: false codeExpirationMinutes: type: number uniqueItems: false required: - type WhatsappTextHeaderComponentFormatEnum: type: string const: TEXT WhatsappTemplateDetailsDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappTextHeaderComponentDto' - $ref: '#/components/schemas/WhatsappMediaHeaderComponentDto' - $ref: '#/components/schemas/WhatsappBodyComponentDto' - $ref: '#/components/schemas/WhatsappFooterComponentDto' - $ref: '#/components/schemas/WhatsappButtonsComponentDto' - $ref: '#/components/schemas/WhatsappLocationHeaderComponentDto' - $ref: '#/components/schemas/WhatsappCarouselComponentDto' - $ref: '#/components/schemas/WhatsappLimitedTimeOfferComponentDto' description: List of components in the template. Must contain a BODY component and can only have one entry of each type. uniqueItems: false messageSendTtlSeconds: type: number description: "\n Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.\n\n| | AUTHENTICATION | MARKETING | UTILITY |\n| -- | -- | -- | -- |\n| Default | 10 minutes | 30 days | 30 days |\n| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |\n| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |\n\n Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.\n " uniqueItems: false optimization: description: Optimization settings for the template. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateDetailsOptimizationDto' required: - components WhatsappButtonTypeFlowEnum: type: string const: FLOW WhatsappPapiErrorDto: type: object properties: errorCode: type: string description: Error code identifying the type of error. uniqueItems: false message: type: string description: Human-readable error message. uniqueItems: false resolution: type: string description: Suggested resolution for the error. uniqueItems: false additionalInformation: type: object additionalProperties: oneOf: - type: array items: type: string description: Additional context about the error. uniqueItems: false required: - errorCode - message - resolution WhatsappTextHeaderComponentInputDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: TEXT: Configures the structural template header block to host alphanumeric text copy strings. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTextHeaderComponentFormatEnum' text: type: string maxLength: 60 minLength: 1 description: Text to show in the header. Can contain one header variable. Not required for draft. uniqueItems: false examples: - type: string minLength: 1 description: Example for the header variable. Required if there is a variable in the text header. uniqueItems: false required: - type - format - text WhatsappCarouselComponentDto: type: object properties: type: x-enumDescriptions: CAROUSEL: Defines a dynamic multimedia block configured with horizontal scrolling multi-card cards. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeCarouselEnum' cards: description: Media cards. uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappCardDto' required: - type - cards WhatsappPartialCardButtonsComponentDto: type: object properties: type: x-enumDescriptions: BUTTONS: Defines the interactive layout block hosting quick reply or call-to-action components. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeButtonsEnum' buttons: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappPartialUrlButtonDto' - $ref: '#/components/schemas/WhatsappPartialQuickReplyButtonDto' - $ref: '#/components/schemas/WhatsappPartialPhoneNumberButtonDto' description: Card buttons. uniqueItems: false WhatsappOtpButtonInputDto: type: object properties: type: x-enumDescriptions: OTP: Defines an interactive component configured to transmit immediate high-volume verification tokens. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeOtpEnum' otpType: x-enumDescriptions: COPY_CODE: Configures the verification layout to present a plain-text code that the user can manually copy or transfer. ONE_TAP: Configures the verification layout to invoke a native device callback wrapper, requiring a single tap confirmation from the user. ZERO_TAP: Configures the verification layout to execute automated background authentication handshake layers without requiring manual user input. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputOtpTypeEnum' text: type: string minLength: 1 maxLength: 25 description: Not required for draft. uniqueItems: false autofillText: type: string maxLength: 25 description: One-tap autofill button label text. uniqueItems: false packageName: type: string deprecated: true description: Your Android app's package name. uniqueItems: false signatureHash: type: string deprecated: true description: Your app signing key hash. uniqueItems: false supportedApps: description: List of supported apps for the OTP button. uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappSupportedAppInputDto' zeroTapTermsAccepted: type: boolean description: Set to true to indicate that you understand that your use of zero-tap authentication is subject to the WhatsApp Business Terms of Service, and that it's your responsibility to ensure your customers expect that the code will be automatically filled in on their behalf when they choose to receive the zero-tap code through WhatsApp. uniqueItems: false required: - type - otpType - text WhatsappCopyCodeButtonInputDto: type: object properties: type: x-enumDescriptions: COPY_CODE: Defines an interactive component that copies a code snippet. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeCopyCodeEnum' examples: - type: string maxLength: 20 minLength: 1 description: Sample code. uniqueItems: false required: - type - example WhatsappTemplateStatusesEnum: type: string enum: - DRAFT - IN_PROGRESS - REJECTED description: "\n The current status of the changes.\n \n `DRAFT`: The changes has not been submitted.\n `IN_PROGRESS`: The changes has been submitted.\n" WhatsappButtonTypeRequestContactInfoEnum: type: string const: REQUEST_CONTACT_INFO WhatsappTemplateCompareDto: type: object properties: templates: type: array items: $ref: '#/components/schemas/WhatsappTemplateCompareIdentifierDto' description: List of templates uniqueItems: false required: - templates WhatsappTemplateAnalyticsDto: type: object properties: sent: type: number description: Number of times template has been sent. uniqueItems: false delivered: type: number description: Number of times template has been delivered. uniqueItems: false read: type: number description: Number of times template has been read. uniqueItems: false start: type: string description: The UTC Date Time in ISO 8601 for start of date range. uniqueItems: false end: type: string description: The UTC Date Time in ISO 8601 for end of date range. uniqueItems: false buttons: type: array items: $ref: '#/components/schemas/WhatsappTemplateAnalyticsButtonsDto' description: Number of times buttons in the template has been clicked. uniqueItems: false required: - sent - delivered - read - start - end - buttons WhatsappOtpTypeEnum: type: string enum: - COPY_CODE - ONE_TAP - ZERO_TAP - UNRECOGNIZED WhatsappTemplateNotificationListDto: type: object properties: totalSize: type: number description: Total size of the entries matching the search query. uniqueItems: false pageSize: type: number description: Requested size of the page. uniqueItems: false previousPageToken: type: string description: Encoded token to use in list request to fetch previous batch of entries. uniqueItems: false nextPageToken: type: string description: Encoded token to use in list request to fetch next batch of entries. uniqueItems: false notifications: type: array items: $ref: '#/components/schemas/WhatsappTemplateNotificationDto' uniqueItems: false required: - totalSize - pageSize - notifications WhatsappButtonTypeOtpEnum: type: string const: OTP WhatsappTemplateDetailsInputDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappLocationHeaderComponentInputDto' - $ref: '#/components/schemas/WhatsappTextHeaderComponentInputDto' - $ref: '#/components/schemas/WhatsappMediaHeaderComponentInputDto' - $ref: '#/components/schemas/WhatsappBodyComponentInputDto' - $ref: '#/components/schemas/WhatsappFooterComponentInputDto' - $ref: '#/components/schemas/WhatsappButtonsComponentInputDto' - $ref: '#/components/schemas/WhatsappInputCarouselComponentDto' - $ref: '#/components/schemas/WhatsappLimitedTimeOfferComponentInputDto' description: List of components in the template. Must contain a BODY component and can only have one entry of each type. Not required for draft. Field 'type' must have unique values across items. uniqueItems: true messageSendTtlSeconds: type: number description: "\n Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.\n\n| | AUTHENTICATION | MARKETING | UTILITY |\n| -- | -- | -- | -- |\n| Default | 10 minutes | 30 days | 30 days |\n| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |\n| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |\n\n Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.\n " uniqueItems: false optimization: description: Optimization settings for the template. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputTemplateDetailsOptimization' required: - components WhatsappInputTemplateLanguagesEnum: type: string enum: - AF - AR - AZ - BG - BN - CA - CS - DA - DE - EL - EN - EN_GB - EN_US - ES - ES_AR - ES_ES - ES_MX - ES_UY - 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 WhatsappPartialPhoneNumberButtonDto: type: object properties: type: x-enumDescriptions: PHONE_NUMBER: Defines an interactive component that routes natively to the host hardware dialer array. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypePhoneNumberEnum' text: type: string uniqueItems: false phoneNumber: type: string format: phone number uniqueItems: false WhatsappInputTemplateCompareTimeframesEnum: type: string enum: - '30' - '60' - '7' - '90' description: Timeframes are limited to 7, 30, 60 and 90 day lookbacks from the time of the request WhatsappQuickReplyButtonInputDto: type: object properties: type: x-enumDescriptions: QUICK_REPLY: Defines an interactive component that routes immediate, automated textual response payloads back to the host gateway. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeQuickReplyEnum' text: type: string minLength: 1 maxLength: 25 description: Not required for draft. uniqueItems: false required: - type - text WhatsappInputTemplateCompareDto: type: object properties: templates: type: array items: $ref: '#/components/schemas/WhatsappInputTemplateCompareIdentifierDto' minItems: 1 maxItems: 1 description: List of templates uniqueItems: false timeframe: x-enumDescriptions: '7': Configures the aggregation engine to contrast metrics over a rolling 7-day interval. '30': Configures the aggregation engine to contrast metrics over a rolling 30-day interval. '60': Configures the aggregation engine to contrast metrics over a rolling 60-day interval. '90': Configures the aggregation engine to contrast metrics over a rolling 90-day interval. default: '7' description: Timeframes are limited to 7, 30, 60 and 90 day lookbacks from the time of the request uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputTemplateCompareTimeframesEnum' endTimestamp: type: number format: timestamp description: 'End of timeframe (default: now)' uniqueItems: false required: - templates WhatsappLocationHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: LOCATION: Configures the structural template header block to host coordinate and geolocational location arrays. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappLocationHeaderComponentFormatEnum' required: - type - format WhatsappTemplateChangesDetailsDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappTextHeaderComponentDto' - $ref: '#/components/schemas/WhatsappMediaHeaderComponentDto' - $ref: '#/components/schemas/WhatsappLocationHeaderComponentDto' - $ref: '#/components/schemas/WhatsappBodyComponentDto' - $ref: '#/components/schemas/WhatsappFooterComponentDto' - $ref: '#/components/schemas/WhatsappButtonsComponentDto' - $ref: '#/components/schemas/WhatsappCarouselComponentDto' - $ref: '#/components/schemas/WhatsappLimitedTimeOfferComponentDto' description: "\n The current status of the changes.\n \n `DRAFT`: The changes has not been submitted.\n `IN_PROGRESS`: The changes has been submitted.\n" uniqueItems: false messageSendTtlSeconds: type: number description: "\n Template message delivery retry time-to-live (TTL) override value. If unable to deliver the template message, it will be periodically retry for this period of time. If it is unable to deliver the message for this period of time, the message will be dropped.\n\n| | AUTHENTICATION | MARKETING | UTILITY |\n| -- | -- | -- | -- |\n| Default | 10 minutes | 30 days | 30 days |\n| Customizable range | 10 seconds to 15 minutes | 12 hours to 30 days | 30 seconds to 12 hours |\n| Valid values | 10 to 900 seconds | 43200 to 2592000 seconds | 30 to 43200 seconds |\n\n Please note that authentication templates created before October 23, 2024, have a default TTL of 30 days.\n " uniqueItems: false optimization: description: Optimization settings for the template. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateDetailsOptimizationDto' WhatsappTemplateAnalyticsButtonsDto: type: object properties: type: x-enumDescriptions: QUICK_REPLY: Aggregates interaction metrics for static pre-configured response buttons. UNIQUE_URL: Aggregates interaction metrics for call-to-action buttons configured with dynamic tracking URLs. URL: Aggregates interaction metrics for call-to-action buttons redirecting to static web hyperlinks. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Type of button. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateAnalyticsButtonTypesEnum' content: type: string description: Content of the button. uniqueItems: false clicks: type: number description: Number of times the button has been clicked. uniqueItems: false required: - type - content - clicks WhatsappOrderDetailsButtonInputDto: type: object properties: type: x-enumDescriptions: ORDER_DETAILS: Defines an interactive component that directs the customer to systemic order tracking metadata views. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeOrderDetailsEnum' required: - type WhatsappTemplateNotificationDto: type: object properties: type: x-enumDescriptions: COMMENT_ADDED: A new comment has been added to the notification trail. CREATED: The notification configuration has been successfully created. DRAFT: The notification configuration is currently in a draft state. EDITED: The notification configuration has been edited or updated. IN_PROGRESS: The notification process is currently executing. REJECTED: The notification configuration has been rejected. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateNotificationTypeEnum' created: type: string uniqueItems: false author: type: string uniqueItems: false comment: type: string uniqueItems: false required: - type WhatsappTemplateQualityScoreEnum: type: string enum: - QUALITY_SCORE_GREEN - QUALITY_SCORE_RED - QUALITY_SCORE_YELLOW - QUALITY_SCORE_UNKNOWN - UNRECOGNIZED description: Quality score of the HSM. WhatsappInputCardBodyComponentDto: type: object properties: type: x-enumDescriptions: BODY: Defines the primary structural layout block containing the main text message and variables. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeBodyEnum' examples: description: Examples for the body variables. Requires one example for each variable in the body text. If no variables are used, the examples are optional. uniqueItems: false type: array items: type: string minLength: 1 text: type: string minLength: 1 maxLength: 160 description: Card body text. Supports variables. Not required for draft. uniqueItems: false required: - type - text WhatsappTemplateCompareIdentifierDto: type: object properties: name: type: string description: Template name uniqueItems: false language: x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Template language uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' blockOrder: type: number description: Order of block rate uniqueItems: false messageSends: type: number description: Message send number uniqueItems: false topBlockReason: x-enumDescriptions: NO_LONGER_NEEDED: Indicates the end-user opted out because the communication sequence lost relevance to them. NO_REASON: Indicates the explicit feedback metrics lack a categorized block reason. NO_REASON_GIVEN: Indicates the end-user executed a standard block gesture without submitting survey criteria. NO_SIGN_UP: Indicates the end-user reported a potential compliance breach, claiming they never provided authorization opt-in. OFFENSIVE_MESSAGES: Indicates the end-user flagged the message payload as malicious, abusive, or inappropriate. OTHER: Indicates the block reason submitted by the recipient falls outside the standard platform choices. OTP_DID_NOT_REQUEST: Indicates a security or delivery anomaly where the recipient intercepted an unrequested secure authentication token. SPAM: Indicates the recipient explicitly reported the messaging flow to the carrier as junk telemetry. UNKNOWN_BLOCK_REASON: The explicit rationale behind the recipient block gesture cannot be determined. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Block reason uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateCompareBlockReasonsEnum' required: - name - language - blockOrder - messageSends - topBlockReason WhatsappTemplateAnalyticsButtonTypesEnum: type: string enum: - QUICK_REPLY - UNIQUE_URL - URL - UNRECOGNIZED description: Type of button. WhatsappPartialTemplateDto: type: object properties: whatsappId: type: string uniqueItems: false state: x-enumDescriptions: APPROVED: The template is approved and available for use. DISABLED: The template has been disabled and is restricted from outbound messaging operations. PAUSED: The template is temporarily paused and cannot be utilized until explicitly resumed. PENDING: The template is queued and currently awaiting approval or processing milestones. REJECTED: The template was rejected and cannot be used. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateStatesEnum' name: type: string uniqueItems: false language: x-enumDescriptions: AF: The language configuration is set to Afrikaans. AR: The language configuration is set to Arabic. AZ: The language configuration is set to Azerbaijani. BG: The language configuration is set to Bulgarian. BN: The language configuration is set to Bengali. CA: The language configuration is set to Catalan. CS: The language configuration is set to Czech. DA: The language configuration is set to Danish. DE: The language configuration is set to German. EL: The language configuration is set to Greek. EN: The language configuration is set to English. EN_GB: The language configuration is set to British English. EN_US: The language configuration is set to American English. ES: The language configuration is set to Spanish. ES_AR: The language configuration is set to Argentinian Spanish. ES_ES: The language configuration is set to European Spanish. ES_MX: The language configuration is set to Mexican Spanish. ES_UY: The language configuration is set to Uruguayan Spanish. ET: The language configuration is set to Estonian. FA: The language configuration is set to Persian. FI: The language configuration is set to Finnish. FIL: The language configuration is set to Filipino. FR: The language configuration is set to French. GA: The language configuration is set to Irish. GU: The language configuration is set to Gujarati. HA: The language configuration is set to Hausa. HE: The language configuration is set to Hebrew. HI: The language configuration is set to Hindi. HR: The language configuration is set to Croatian. HU: The language configuration is set to Hungarian. ID: The language configuration is set to Indonesian. IT: The language configuration is set to Italian. JA: The language configuration is set to Japanese. KA: The language configuration is set to Georgian. KK: The language configuration is set to Kazakh. KN: The language configuration is set to Kannada. KO: The language configuration is set to Korean. KY_KG: The language configuration is set to Kyrgyz. LO: The language configuration is set to Lao. LT: The language configuration is set to Lithuanian. LV: The language configuration is set to Latvian. MK: The language configuration is set to Macedonian. ML: The language configuration is set to Malayalam. MR: The language configuration is set to Marathi. MS: The language configuration is set to Malay. NB: The language configuration is set to Norwegian. NL: The language configuration is set to Dutch. PA: The language configuration is set to Punjabi. PL: The language configuration is set to Polish. PT_BR: The language configuration is set to Brazilian Portuguese. PT_PT: The language configuration is set to European Portuguese. RO: The language configuration is set to Romanian. RU: The language configuration is set to Russian. RW_RW: The language configuration is set to Kinyarwanda. SK: The language configuration is set to Slovak. SL: The language configuration is set to Slovenian. SQ: The language configuration is set to Albanian. SR: The language configuration is set to Serbian. SV: The language configuration is set to Swedish. SW: The language configuration is set to Swahili. TA: The language configuration is set to Tamil. TE: The language configuration is set to Telugu. TH: The language configuration is set to Thai. TR: The language configuration is set to Turkish. UK: The language configuration is set to Ukrainian. UR: The language configuration is set to Urdu. UZ: The language configuration is set to Uzbek. VI: The language configuration is set to Vietnamese. ZH_CN: The language configuration is set to Simplified Chinese. ZH_HK: The language configuration is set to Traditional Chinese (Hong Kong). ZH_TW: The language configuration is set to Traditional Chinese (Taiwan). ZU: The language configuration is set to Zulu. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateLanguagesEnum' category: x-enumDescriptions: AUTHENTICATION: Billing or functional category for authentication and verification messages. MARKETING: Billing or functional category for promotional or marketing messages. UTILITY: Billing or functional category for utility and service-related messages. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateCategoryEnum' rejectionCode: x-enumDescriptions: ABUSIVE_CONTENT: The upstream gateway rejected the layout because the messaging copy violated safety, spam, or abuse criteria. INCORRECT_CATEGORY: The upstream gateway rejected the layout because the business vertical classification does not align with the actual content. INVALID_FORMAT: The upstream gateway rejected the layout because variable placeholders, syntax parameters, or media configurations are invalid. NONE: The template has not faced any restriction codes or rejection events. SCAM: The upstream gateway rejected the layout because the text patterns match fraudulent, deceptive, or financial scam signatures. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Rejection code if template is in status 'REJECTED' uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateRejectionCodeEnum' qualityScore: x-enumDescriptions: QUALITY_SCORE_GREEN: Indicates an optimal template delivery standing reflecting low user block counts. QUALITY_SCORE_RED: Indicates a severely degraded template standing, which may trigger suspension or delivery throttling. QUALITY_SCORE_YELLOW: Indicates a warning template standing reflecting a notable increase in recent opt-out actions. QUALITY_SCORE_UNKNOWN: The platform has not collected sufficient telemetry data to compute an active quality rating. UNRECOGNIZED: The value returned by an upstream system is not recognized by this API version. description: Quality score of the HSM. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappTemplateQualityScoreEnum' isMetaGenerated: type: boolean description: Indicates if the template was auto-generated by Meta. uniqueItems: false changes: description: Object containing changes on the template. If empty the changes has been approved and applied to the template. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappPartialTemplateChangesDto' details: description: Template details and information. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappPartialTemplateDetailsDto' analytics: type: array items: $ref: '#/components/schemas/WhatsappPartialTemplateAnalyticsDto' description: Template analytics. uniqueItems: false WhatsappLimitedTimeOfferComponentInputDto: type: object properties: type: x-enumDescriptions: LIMITED_TIME_OFFER: Defines a dynamic structural layout block for showcasing time-sensitive promotional offers and urgency-driven purchase incentives. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeLimitedTimeOfferEnum' text: type: string description: Offer details text. minLength: 1 maxLength: 16 uniqueItems: false hasExpiration: type: boolean description: Set to true to have the offer expiration details appear in the delivered message. default: false uniqueItems: false required: - type - text WhatsappTemplateListDto: type: object properties: totalSize: type: number description: Total size of the entries matching the search query. uniqueItems: false pageSize: type: number description: Requested size of the page. uniqueItems: false previousPageToken: type: string description: Encoded token to use in list request to fetch previous batch of entries. uniqueItems: false nextPageToken: type: string description: Encoded token to use in list request to fetch next batch of entries. uniqueItems: false templates: uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappTemplateDto' required: - totalSize - pageSize - templates WhatsappButtonTypeUrlEnum: type: string const: URL WhatsappActionsEnum: type: string enum: - DRAFT - SUBMIT description: Create as draft or submit. Defaults to draft. WhatsappPartialFooterComponentDto: type: object properties: type: x-enumDescriptions: FOOTER: Defines the supplementary structural layout block used for faint text copy or legal disclaimers. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeFooterEnum' text: type: string uniqueItems: false codeExpirationMinutes: type: number uniqueItems: false WhatsappQuickReplyButtonDto: type: object properties: type: x-enumDescriptions: QUICK_REPLY: Defines an interactive component that routes immediate, automated textual response payloads back to the host gateway. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeQuickReplyEnum' text: type: string uniqueItems: false required: - type WhatsappInputCardDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappInputCardHeaderComponentDto' - $ref: '#/components/schemas/WhatsappInputCardBodyComponentDto' - $ref: '#/components/schemas/WhatsappInputCardButtonsComponentDto' description: ' List of components in the cards. Each card in the template has an image or video header asset, card body text, and up to two buttons. All cards defined on a template must have the same components. Not required for draft. Field ''type'' must have unique values across items.' uniqueItems: true required: - components WhatsappComponentTypeFooterEnum: type: string const: FOOTER WhatsappComponentTypeLimitedTimeOfferEnum: type: string const: LIMITED_TIME_OFFER WhatsappFlowButtonInputDto: type: object properties: type: x-enumDescriptions: FLOW: Defines an interactive component that initializes an embedded native rich interaction flow. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeFlowEnum' text: type: string minLength: 1 maxLength: 25 description: Text to display on the Flow button. Not required for draft. uniqueItems: false flowId: type: string minLength: 1 maxLength: 30 description: Flow ID to launch when button is pressed. Not required for draft. format: digits uniqueItems: false flowAction: x-enumDescriptions: DATA_EXCHANGE: Triggers an asynchronous data synchronization payload transfer with the configured webhook or API endpoint. NAVIGATE: Advances the interactive user workflow viewport context to the subsequent structural layout step. description: Flow action. Not required for draft. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappInputFlowActionEnum' navigateScreen: type: string minLength: 1 maxLength: 432 description: The unique ID of the first screen. Required for Navigate action. uniqueItems: false required: - type - text - flowId - flowAction WhatsappTemplateDtoFieldMaskPathsEnum: type: string enum: - whatsappId - state - name - language - category - rejectionCode - qualityScore - changes - changes.status - changes.allowCategoryChange - changes.details - changes.details.components - changes.details.components.0.type - changes.details.components.0.format - changes.details.components.0.text - changes.details.components.0.example - changes.details.components.0.example.url - changes.details.components.0.examples - changes.details.components.0.addSecurityRecommendation - changes.details.components.0.codeExpirationMinutes - changes.details.components.0.buttons - changes.details.components.0.buttons.0.type - changes.details.components.0.buttons.0.text - changes.details.components.0.buttons.0.phoneNumber - changes.details.components.0.buttons.0.url - changes.details.components.0.buttons.0.example - changes.details.components.0.buttons.0.otpType - changes.details.components.0.buttons.0.autofillText - changes.details.components.0.buttons.0.packageName - changes.details.components.0.buttons.0.signatureHash - changes.details.components.0.buttons.0.supportedApps - changes.details.components.0.buttons.0.supportedApps.0.packageName - changes.details.components.0.buttons.0.supportedApps.0.signatureHash - changes.details.components.0.buttons.0.zeroTapTermsAccepted - changes.details.components.0.buttons.0.flowId - changes.details.components.0.buttons.0.flowAction - changes.details.components.0.buttons.0.navigateScreen - changes.details.components.0.hasExpiration - changes.details.messageSendTtlSeconds - changes.details.optimization - details - details.components - details.components.0.type - details.components.0.format - details.components.0.text - details.components.0.example - details.components.0.example.url - details.components.0.examples - details.components.0.addSecurityRecommendation - details.components.0.codeExpirationMinutes - details.components.0.buttons - details.components.0.buttons.0.type - details.components.0.buttons.0.text - details.components.0.buttons.0.phoneNumber - details.components.0.buttons.0.url - details.components.0.buttons.0.example - details.components.0.buttons.0.otpType - details.components.0.buttons.0.autofillText - details.components.0.buttons.0.packageName - details.components.0.buttons.0.signatureHash - details.components.0.buttons.0.supportedApps - details.components.0.buttons.0.supportedApps.0.packageName - details.components.0.buttons.0.supportedApps.0.signatureHash - details.components.0.buttons.0.zeroTapTermsAccepted - details.components.0.buttons.0.flowId - details.components.0.buttons.0.flowAction - details.components.0.buttons.0.navigateScreen - details.components.0.hasExpiration - details.messageSendTtlSeconds - details.optimization - analytics - analytics.0.sent - analytics.0.delivered - analytics.0.read - analytics.0.start - analytics.0.end - analytics.0.buttons - analytics.0.buttons.0.type - analytics.0.buttons.0.content - analytics.0.buttons.0.clicks - isMetaGenerated WhatsappRequestContactInfoButtonInputDto: type: object properties: type: x-enumDescriptions: REQUEST_CONTACT_INFO: Defines an interactive component that prompts native interface sharing configurations to harvest user identity footprints. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypeRequestContactInfoEnum' required: - type WhatsappPhoneNumberButtonDto: type: object properties: type: x-enumDescriptions: PHONE_NUMBER: Defines an interactive component that routes natively to the host hardware dialer array. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappButtonTypePhoneNumberEnum' text: type: string uniqueItems: false phoneNumber: type: string format: phone number uniqueItems: false required: - type WhatsappPartialCarouselComponentDto: type: object properties: type: x-enumDescriptions: CAROUSEL: Defines a dynamic multimedia block configured with horizontal scrolling multi-card cards. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeCarouselEnum' cards: description: Media cards. uniqueItems: false type: array items: $ref: '#/components/schemas/WhatsappPartialCardDto' WhatsappCommentDto: type: object properties: type: x-enumDescriptions: CREATED: Indicates the comment has been successfully created and published. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappCommentTypeEnum' comment: type: string uniqueItems: false created: type: string uniqueItems: false required: - type - comment WhatsappFlowActionEnum: type: string enum: - DATA_EXCHANGE - NAVIGATE - UNKNOWN - UNRECOGNIZED description: Flow action WhatsappBodyComponentInputDto: type: object properties: type: x-enumDescriptions: BODY: Defines the primary structural layout block containing the main text message and variables. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeBodyEnum' text: type: string minLength: 1 maxLength: 1024 description: The main content of the body component. Supports variables in the format {{1}}, {{2}}, etc. Empty for AUTHENTICATION category templates. uniqueItems: false examples: description: Examples for the body variables. Requires one example for each variable in the body text. If no variables are used, the examples are optional. uniqueItems: false type: array items: type: string minLength: 1 addSecurityRecommendation: type: boolean default: false description: Only valid if template category is AUTHENTICATION. If true, adds a security recommendation to the body. Defaults to false. uniqueItems: false required: - type WhatsappPartialLimitedTimeOfferComponentDto: type: object properties: type: x-enumDescriptions: LIMITED_TIME_OFFER: Defines a dynamic structural layout block for showcasing time-sensitive promotional offers and urgency-driven purchase incentives. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeLimitedTimeOfferEnum' text: type: string description: Offer details text. uniqueItems: false hasExpiration: type: boolean description: Indicates if the offer expiration details appear in the delivered message. uniqueItems: false WhatsappComponentTypeCarouselEnum: type: string const: CAROUSEL WhatsappCardDto: type: object properties: components: type: array items: anyOf: - $ref: '#/components/schemas/WhatsappCardHeaderComponentDto' - $ref: '#/components/schemas/WhatsappCardBodyComponentDto' - $ref: '#/components/schemas/WhatsappCardButtonsComponentDto' description: List of components in the cards. uniqueItems: false required: - components WhatsappTemplateNotificationTypeEnum: type: string enum: - COMMENT_ADDED - CREATED - DRAFT - EDITED - IN_PROGRESS - REJECTED WhatsappPartialLocationHeaderComponentDto: type: object properties: type: x-enumDescriptions: HEADER: Defines the high-visibility structural layout block used for introductory text or rich media assets. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappComponentTypeHeaderEnum' format: x-enumDescriptions: LOCATION: Configures the structural template header block to host coordinate and geolocational location arrays. uniqueItems: false allOf: - $ref: '#/components/schemas/WhatsappLocationHeaderComponentFormatEnum' securitySchemes: BasicAuth: type: http scheme: basic BearerAuth: type: http scheme: bearer bearerFormat: JWT OAuth2Production: type: oauth2 description: OAuth2 authorization for production flows: clientCredentials: tokenUrl: https://auth.sinch.com/oauth2/token scopes: '-': '-' x-tagGroup-upscale: name: Upscale tags: - Upscale Admin Feature Flag - Upscale Admin Log Operation - Upscale Admin Migrations - Upscale Admin Sms - Upscale Admin Upscales - Internal - Upscale Sms - Upscale Upscales x-tagGroup-notification: name: Notification tags: - Notification Admin Feature Flag - Notification Admin Log Operation - Internal x-tagGroups: - name: Webhook tags: - Webhooks - name: WhatsApp tags: - WhatsApp Accounts - WhatsApp - WhatsApp Flows - WhatsApp Senders - WhatsApp Solutions - WhatsApp Templates - name: Bundles tags: - Bundles - name: KakaoTalk tags: - KakaoTalk Categories - KakaoTalk Senders - KakaoTalk Templates - name: Conversation tags: - Conversation - name: RCS tags: - RCS Accounts - RCS Questionnaire - RCS Senders - name: SMS tags: - SMS Apps