---
title: "Create Content"
method: POST
path: "/v1/Content"
tags: ["Contentv1Content"]
---

# Create Content

`POST /v1/Content`

Create a Content resource

## Request body

- ContentCreateRequest — Content creation request body
  - `friendly_name` string — User defined name of the content
  - `variables` object — Key value pairs of variable name to value
  - `language` string, required — Language code for the content
  - `types` Types, required — Content types
    - `twilio/text` TwilioText, nullable — Type containing only plain text-based content
      - `body` string, required
    - `twilio/media` TwilioMedia, nullable — twilio/media is used to send file attachments, or to send long text via MMS in the US and Canada. As such, the twilio/media type must contain at least ONE of text or media content.
      - `body` string
      - `media` string[], required
    - `twilio/location` TwilioLocation, nullable — twilio/location type contains a location pin and an optional label, which can be used to enhance delivery notifications or connect recipients to physical experiences you offer.
      - `latitude` number, required
      - `longitude` number, required
      - `label` string
      - `id` string
      - `address` string
    - `twilio/list-picker` TwilioListPicker, nullable — twilio/list-picker includes a menu of up to 10 options, which offers a simple way for users to make a selection.
      - `body` string, required
      - `button` string, required
      - `items` ListItem[], required
        - `id` string, required
        - `item` string, required
        - `description` string
    - `twilio/call-to-action` TwilioCallToAction, nullable — twilio/call-to-action buttons let recipients tap to trigger actions such as launching a website or making a phone call.
      - `body` string, required
      - `actions` CallToActionAction[], required
        - `type` 'URL' | 'PHONE_NUMBER' | 'COPY_CODE' | 'VOICE_CALL' | 'VOICE_CALL_REQUEST' | 'REQUEST_CONTACT_INFO', required
        - `title` string
        - `url` string
        - `phone` string
        - `code` string
        - `id` string
    - `twilio/quick-reply` TwilioQuickReply, nullable — twilio/quick-reply templates let recipients tap, rather than type, to respond to the message.
      - `body` string, required
      - `actions` QuickReplyAction[], required
        - `type` 'QUICK_REPLY'
        - `title` string, required
        - `id` string
    - `twilio/card` TwilioCard, nullable — twilio/card is a structured template which can be used to send a series of related information. It must include a title and at least one additional field.
      - `title` string
      - `subtitle` string
      - `media` string[]
      - `actions` CardAction[]
        - `type` 'URL' | 'PHONE_NUMBER' | 'QUICK_REPLY' | 'COPY_CODE' | 'VOICE_CALL', required
        - `title` string, required
        - `url` string
        - `phone` string
        - `id` string
        - `code` string
        - `webview_size` 'TALL' | 'FULL' | 'HALF' | 'NONE'
    - `twilio/catalog` TwilioCatalog, nullable — twilio/catalog type lets recipients view list of catalog products, ask questions about products, order products.
      - `title` string
      - `body` string, required
      - `subtitle` string
      - `id` string
      - `items` CatalogItem[]
        - `id` string
        - `section_title` string
        - `name` string
        - `media_url` string
        - `price` number
        - `description` string
      - `dynamic_items` string
    - `twilio/carousel` TwilioCarousel, nullable — twilio/carousel templates allow you to send a single text message accompanied by a set of up to 10 carousel cards in a horizontally scrollable view
      - `body` string, required
      - `cards` CarouselCard[], required
        - `title` string
        - `body` string, required
        - `media` string, required
        - `actions` CarouselAction[], required
          - `type` 'URL' | 'PHONE_NUMBER' | 'QUICK_REPLY', required
          - `title` string, required
          - `url` string
          - `phone` string
          - `id` string
    - `twilio/flows` TwilioFlows, nullable — twilio/flows templates allow you to send multiple messages in a set order with text or select options
      - `body` string, required
      - `button_text` string, required
      - `subtitle` string
      - `media_url` string
      - `pages` FlowsPage[], required
        - `id` string, required
        - `next_page_id` string
        - `title` string, required
        - `subtitle` string
        - `layout` FlowsPageComponent[], required
          - `label` string
          - `type` string, required
      - `type` string, required
    - `twilio/schedule` TwilioSchedule, nullable — twilio/schedule templates allow us to send a message with a schedule with different time slots
      - `id` string, required
      - `title` string, required
      - `timeSlots` string, required
    - `whatsapp/card` WhatsappCard, nullable — 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.
      - `body` string, required
      - `footer` string
      - `media` string[]
      - `header_text` string
      - `actions` CardAction[]
        - `type` 'URL' | 'PHONE_NUMBER' | 'QUICK_REPLY' | 'COPY_CODE' | 'VOICE_CALL', required
        - `title` string, required
        - `url` string
        - `phone` string
        - `id` string
        - `code` string
        - `webview_size` 'TALL' | 'FULL' | 'HALF' | 'NONE'
    - `whatsapp/authentication` WhatsappAuthentication, nullable — whatsApp/authentication templates let companies deliver WA approved one-time-password button.
      - `add_security_recommendation` boolean
      - `code_expiration_minutes` number
      - `actions` AuthenticationAction[], required
        - `type` 'COPY_CODE', required
        - `copy_code_text` string, required
    - `whatsapp/flows` WhatsappFlows, nullable — whatsapp/flows templates allow you to send multiple messages in a set order with text or select options
      - `body` string, required
      - `button_text` string, required
      - `subtitle` string
      - `media_url` string
      - `flow_id` string, required
      - `flow_token` string
      - `flow_first_page_id` string
      - `is_flow_first_page_endpoint` boolean

## Response `201`

Created

- ContentV1Content
  - `date_created` string, date-time, nullable — The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
  - `date_updated` string, date-time, nullable — The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
  - `sid` string, nullable — The unique string that that we created to identify the Content resource.
  - `account_sid` string, nullable — The SID of the [Account](https://www.twilio.com/docs/usage/api/account) that created Content resource.
  - `friendly_name` string, nullable — A string name used to describe the Content resource. Not visible to the end recipient.
  - `language` string, nullable — Two-letter (ISO 639-1) language code (e.g., en) identifying the language the Content resource is in.
  - `variables` object, nullable — Defines the default placeholder values for variables included in the Content resource. e.g. {"1": "Customer_Name"}.
  - `types` object, nullable — The [Content types](https://www.twilio.com/docs/content-api/content-types-overview) (e.g. twilio/text) for this Content resource.
  - `url` string, uri, nullable — The URL of the resource, relative to `https://content.twilio.com`.
  - `links` object, nullable — A list of links related to the Content resource, such as approval_fetch and approval_create

---

[API](https://skmtc.net/twilio/apis/twilio-content.md) · [All operations](https://skmtc.net/twilio/apis/twilio-content/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/twilio/twilio-content/revisions/572629da3287/schema)
