Rate this page:


Whatsapp/card is a structured template which can be used to send a series of related information. It must include a body and at least one additional field.

Whatsapp card cannot have both a Text Header and Media Header

On WhatsApp, a card must be approved as a template before it can be sent. If you use variables with whatsapp/card, then additional approval steps are required.

If a whatsapp/card template is created with media and with variables and you plan to submit this template to WhatsApp for approval, a valid media sample is required. Static media urls should resolve to publicly hosted media files. Variable media urls should include a valid media URL suffix in the variable declaration.

Only one type of media can be sent per approved variable WhatsApp card template. WhatsApp classifies approved templates into 1 of 3 types of media headers(Image, Video, Document) based on the sample that was submitted. Once the template has been approved another type of media header cannot be sent using the template.

Ex. If a template is approved with an image then a video cannot be sent using the same template.

In the Media field of the template you create, provide the URL of the publicly hosted file.

If you are using a media in the card with a variable. Please submit a sample path of a publicly hosted image URL in the variable array. The combined URL must contain the file type. The combined URL must resolve to a publicly hosted file.


"media": ["{{1}}"] would include a path sample in the variables definition."variables": {"1": "images/library-logo-resource2x.width-1000.png"}

If you are using a call-to-action URL button in your card, the URL must resolve to a publicly accessible website. If there is a variable, a valid path sample should be included in the variables array. The combined URL should resolve to a publicly accessible website.


"url": ["{{1}}"] would include a path sample in the variables definition."variables": {"1": "docs"}

After you submit the template for approval to WhatsApp, your template should be approved and ready to send in 1 hour. If your template is still pending after 1 business day, please file a support ticket with the ContentSid, the template name you submitted to WhatsApp, and your AccountSid. In the ticket subject please include "[Content API - Card Request]" to ensure timely processing. If the body text of your Media template includes a variable, please also provide a sample message in your email request. For example, if your template states "Hi {{1}}, your order is confirmed", please submit a sample such as "Hi Sam, your order is confirmed."

  • If the template's body starts or ends with a variable or has two variables next to each other, the template will not be approved by WhatsApp without a sample variable. For additional information about variables see here.
  • Update the phone number to a valid phone number in the actions array below when creating your template. This template will fail to send otherwise.

Supported Channels


Message Preview


Data parameters


Type - string

Required - yes

Variable Support - yes

Description - body of card.

  • Maximum: 1024 characters


Type - string

Required - no

Variable Support - no

Description - footer of card.

  • Maximum: 60 characters


Type - string[]

Required - no

Variable Support - yes

Description - The URL of the media to send with the message.

  • Supported and Accepted media types can be referenced here (MMS) and here (WhatsApp).
  • Cannot be present if header_text is present


Type - string

Required - no

Variable Support - yes

Description - Bolded header text of card.

  • Maximum: 60 characters
  • Cannot be present if media is present


Type - array[actions]

Required - no

Variable Support - See Common Components:actionsdefinition

Description - Buttons that recipients can tap on to act on the message:

  • Up to 2 buttons for PHONE or URL actions
  • Up to 3 buttons for QUICK_REPLY action
Loading Code Sample...

        Create whatsapp/card

        Rate this page:

        Need some help?

        We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

        Loading Code Sample...

              Thank you for your feedback!

              Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

              Sending your feedback...
              🎉 Thank you for your feedback!
              Something went wrong. Please try again.

              Thanks for your feedback!