components:
  securitySchemes:
    accountSid_authToken:
      scheme: basic
      type: http
  schemas:
    content.v1.content.approval_fetch:
      type: object
      properties:
        sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^HX[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string that that we created to identify the Content
            resource.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/usage/api/account)
            that created Content resource.
        whatsapp:
          nullable: true
          description: Contains the whatsapp approval information for the Content
            resource, with fields such as approval status, rejection reason, and category,
            amongst others.
        url:
          type: string
          format: uri
          nullable: true
          description: The URL of the resource, relative to `https://content.twilio.com`.
    content.v1.content:
      type: object
      properties:
        date_created:
          type: string
          format: date-time
          nullable: true
          description: 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:
          type: string
          format: date-time
          nullable: true
          description: 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:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^HX[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string that that we created to identify the Content
            resource.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/usage/api/account)
            that created Content resource.
        friendly_name:
          type: string
          nullable: true
          description: A string name used to describe the Content resource. Not visible
            to the end recipient.
        language:
          type: string
          nullable: true
          description: Two-letter (ISO 639-1) language code (e.g., en) identifying
            the language the Content resource is in.
        variables:
          type: object
          nullable: true
          description: 'Defines the default placeholder values for variables included
            in the Content resource. e.g. {"1": "Customer_Name"}.'
        types:
          type: object
          nullable: true
          description: The [Content types](https://www.twilio.com/docs/content/content-types-overview)
            (e.g. twilio/text) for this Content resource.
        url:
          type: string
          format: uri
          nullable: true
          description: The URL of the resource, relative to `https://content.twilio.com`.
        links:
          type: object
          format: uri-map
          nullable: true
          description: A list of links related to the Content resource, such as approval_fetch
            and approval_create
    content.v1.content_and_approvals:
      type: object
      properties:
        date_created:
          type: string
          format: date-time
          nullable: true
          description: 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:
          type: string
          format: date-time
          nullable: true
          description: 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:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^HX[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string that that we created to identify the Content
            resource.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/usage/api/account)
            that created Content resource.
        friendly_name:
          type: string
          nullable: true
          description: A string name used to describe the Content resource. Not visible
            to the end recipient.
        language:
          type: string
          nullable: true
          description: Two-letter (ISO 639-1) language code (e.g., en) identifying
            the language the Content resource is in.
        variables:
          type: object
          nullable: true
          description: 'Defines the default placeholder values for variables included
            in the Content resource. e.g. {"1": "Customer_Name"}.'
        types:
          type: object
          nullable: true
          description: The [Content types](https://www.twilio.com/docs/content/content-types-overview)
            (e.g. twilio/text) for this Content resource.
        approval_requests:
          type: object
          nullable: true
          description: The submitted information and approval request status of the
            Content resource.
    content.v1.legacy_content:
      type: object
      properties:
        date_created:
          type: string
          format: date-time
          nullable: true
          description: 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:
          type: string
          format: date-time
          nullable: true
          description: 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:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^HX[0-9a-fA-F]{32}$
          nullable: true
          description: The unique string that that we created to identify the Content
            resource.
        account_sid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          nullable: true
          description: The SID of the [Account](https://www.twilio.com/docs/usage/api/account)
            that created Content resource.
        friendly_name:
          type: string
          nullable: true
          description: A string name used to describe the Content resource. Not visible
            to the end recipient.
        language:
          type: string
          nullable: true
          description: Two-letter (ISO 639-1) language code (e.g., en) identifying
            the language the Content resource is in.
        variables:
          nullable: true
          description: 'Defines the default placeholder values for variables included
            in the Content resource. e.g. {"1": "Customer_Name"}.'
        types:
          nullable: true
          description: The [Content types](https://www.twilio.com/docs/content/content-types-overview)
            (e.g. twilio/text) for this Content resource.
        legacy_template_name:
          type: string
          nullable: true
          description: The string name of the legacy content template associated with
            this Content resource, unique across all template names for its account.  Only
            lowercase letters, numbers and underscores are allowed
        legacy_body:
          type: string
          nullable: true
          description: The string body field of the legacy content template associated
            with this Content resource
        url:
          type: string
          format: uri
          nullable: true
          description: The URL of the resource, relative to `https://content.twilio.com`.
info:
  title: Twilio - Content
  description: This is the public Twilio REST API.
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
openapi: 3.0.1
paths:
  /v2/Content:
    servers:
    - url: https://content.twilio.com
    description: A Content resource represents rich messaging content.
    x-twilio:
      defaultOutputProperties:
      - date_created
      - date_updated
      - sid
      - account_sid
      - friendly_name
      - language
      - variables
      - types
      dependentProperties:
        approval_create:
          mapping:
            sid: sid
          resource_url: /v1/Content/{sid}/ApprovalRequests/whatsapp
        approval_fetch:
          mapping:
            sid: sid
          resource_url: /v1/Content/{sid}/ApprovalRequests
      mountName: contents
      pathType: list
    get:
      description: Retrieve a list of Contents belonging to the account used to make
        the request
      tags:
      - ContentV2Content
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is
          50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      - name: SortByDate
        in: query
        description: Whether to sort by ascending or descending date updated
        schema:
          type: string
      - name: SortByContentName
        in: query
        description: Whether to sort by ascending or descending content name
        schema:
          type: string
      - name: DateCreatedAfter
        in: query
        description: Filter by >=[date-time]
        schema:
          format: date-time
          type: string
      - name: DateCreatedBefore
        in: query
        description: Filter by <=[date-time]
        schema:
          format: date-time
          type: string
      - name: ContentName
        in: query
        description: Filter by Regex Pattern in content name
        schema:
          type: string
      - name: Content
        in: query
        description: Filter by Regex Pattern in template content
        schema:
          type: string
      - name: Language
        in: query
        description: Filter by array of valid language(s)
        schema:
          type: array
          items:
            type: string
      - name: ContentType
        in: query
        description: Filter by array of contentType(s)
        schema:
          type: array
          items:
            type: string
      - name: ChannelEligibility
        in: query
        description: Filter by array of ChannelEligibility(s), where ChannelEligibility=<channel>:<status>
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                title: ListContentResponse
                properties:
                  contents:
                    type: array
                    items:
                      $ref: '#/components/schemas/content.v1.content'
                  meta:
                    properties:
                      first_page_url:
                        format: uri
                        type: string
                      key:
                        type: string
                      next_page_url:
                        format: uri
                        nullable: true
                        type: string
                      page:
                        type: integer
                      page_size:
                        type: integer
                      previous_page_url:
                        format: uri
                        nullable: true
                        type: string
                      url:
                        format: uri
                        type: string
                    type: object
              examples:
                readEmpty:
                  value:
                    contents: []
                    meta:
                      page: 0
                      page_size: 10
                      first_page_url: https://content.twilio.com/v2/Content?PageSize=10&Page=0
                      previous_page_url: null
                      url: https://content.twilio.com/v2/Content?PageSize=10&Page=0
                      next_page_url: null
                      key: contents
                readResults:
                  value:
                    contents:
                    - sid: HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      friendly_name: Some content
                      language: en
                      variables:
                        name: foo
                      types:
                        twilio/text:
                          body: Foo Bar Co is located at 39.7392, 104.9903
                        twilio/location:
                          longitude: 104.9903
                          latitude: 39.7392
                          label: Foo Bar Co
                      url: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      date_created: '2015-07-30T19:00:00Z'
                      date_updated: '2015-07-30T19:00:00Z'
                      links:
                        approval_create: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ApprovalRequests/whatsapp
                        approval_fetch: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ApprovalRequests
                    - sid: HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      friendly_name: Anotha content
                      language: en
                      variables:
                        name: foo
                      types:
                        twilio/text:
                          body: Foo Bar Co is located at 39.7392, 104.9903
                        twilio/location:
                          longitude: 104.9903
                          latitude: 39.7392
                          label: Foo Bar Co
                      url: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      date_created: '2015-07-30T19:00:00Z'
                      date_updated: '2015-07-30T19:00:00Z'
                      links:
                        approval_create: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ApprovalRequests/whatsapp
                        approval_fetch: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ApprovalRequests
                    - sid: HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      friendly_name: Third content
                      language: en
                      variables:
                        name: foo
                      types:
                        twilio/text:
                          body: Foo Bar Co is located at 39.7392, 104.9903
                        twilio/location:
                          longitude: 104.9903
                          latitude: 39.7392
                          label: Foo Bar Co
                      url: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      date_created: '2015-07-30T19:00:00Z'
                      date_updated: '2015-07-30T19:00:00Z'
                      links:
                        approval_create: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ApprovalRequests/whatsapp
                        approval_fetch: https://content.twilio.com/v1/Content/HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ApprovalRequests
                    meta:
                      page: 0
                      page_size: 20
                      first_page_url: https://content.twilio.com/v2/Content?PageSize=20&Page=0
                      previous_page_url: null
                      url: https://content.twilio.com/v2/Content?PageSize=20&Page=0
                      next_page_url: null
                      key: contents
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListContent
  /v2/ContentAndApprovals:
    servers:
    - url: https://content.twilio.com
    description: A Content resource represents rich messaging content and its respective
      approval request status.
    x-twilio:
      defaultOutputProperties:
      - date_created
      - date_updated
      - sid
      - account_sid
      - friendly_name
      - language
      - variables
      - types
      - approval_requests
      className: content_and_approvals
      pathType: list
    get:
      description: Retrieve a list of Contents with approval statuses belonging to
        the account used to make the request
      tags:
      - ContentV2ContentAndApprovals
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is
          50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      - name: SortByDate
        in: query
        description: Whether to sort by ascending or descending date updated
        schema:
          type: string
      - name: SortByContentName
        in: query
        description: Whether to sort by ascending or descending content name
        schema:
          type: string
      - name: DateCreatedAfter
        in: query
        description: Filter by >=[date-time]
        schema:
          format: date-time
          type: string
      - name: DateCreatedBefore
        in: query
        description: Filter by <=[date-time]
        schema:
          format: date-time
          type: string
      - name: ContentName
        in: query
        description: Filter by Regex Pattern in content name
        schema:
          type: string
      - name: Content
        in: query
        description: Filter by Regex Pattern in template content
        schema:
          type: string
      - name: Language
        in: query
        description: Filter by array of valid language(s)
        schema:
          type: array
          items:
            type: string
      - name: ContentType
        in: query
        description: Filter by array of contentType(s)
        schema:
          type: array
          items:
            type: string
      - name: ChannelEligibility
        in: query
        description: Filter by array of ChannelEligibility(s), where ChannelEligibility=<channel>:<status>
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                title: ListContentAndApprovalsResponse
                properties:
                  contents:
                    type: array
                    items:
                      $ref: '#/components/schemas/content.v1.content_and_approvals'
                  meta:
                    properties:
                      first_page_url:
                        format: uri
                        type: string
                      key:
                        type: string
                      next_page_url:
                        format: uri
                        nullable: true
                        type: string
                      page:
                        type: integer
                      page_size:
                        type: integer
                      previous_page_url:
                        format: uri
                        nullable: true
                        type: string
                      url:
                        format: uri
                        type: string
                    type: object
              examples:
                readEmpty:
                  value:
                    contents: []
                    meta:
                      page: 0
                      page_size: 10
                      first_page_url: https://content.twilio.com/v2/ContentAndApprovals?PageSize=10&Page=0
                      previous_page_url: null
                      next_page_url: null
                      url: https://content.twilio.com/v2/ContentAndApprovals?PageSize=10&Page=0
                      key: contents
                readResults:
                  value:
                    contents:
                    - date_created: '2015-07-30T19:00:00Z'
                      date_updated: '2015-07-30T19:00:00Z'
                      sid: HXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
                      friendly_name: Some content
                      language: en
                      variables:
                        name: foo
                      types:
                        twilio/text:
                          body: Foo Bar Co is located at 39.7392, 104.9903
                        twilio/location:
                          longitude: 104.9903
                          latitude: 39.7392
                          label: Foo Bar Co
                      approval_requests:
                        name: ''
                        category: ''
                        content_type: ''
                        status: unsubmitted
                        rejection_reason: ''
                        allow_category_change: true
                    - language: en
                      date_updated: '2023-01-13T23:33:46Z'
                      variables:
                        '1': name
                        '2': typedocument
                      friendly_name: Media Test
                      account_sid: AC25c0d4b9093547216c460212e24e77ee
                      sid: HX5fcd48a417c1cb59da349ad6d5da4607
                      date_created: '2023-01-13T23:33:46Z'
                      types:
                        twilio/media:
                          body: '{{1}}, Congratulations {{2}}! For additional assistance,
                            please contact us at hello@twilio.com'
                          media:
                          - https://example.com/template
                      approval_requests:
                        category: TRANSACTIONAL
                        status: approved
                        rejection_reason: ''
                        name: Media Test
                        content_type: twilio/media
                        allow_category_change: false
                    - language: en
                      date_updated: '2023-01-18T02:46:35Z'
                      variables:
                        '1': name
                        '2': type_video
                        '3': small.mp4
                      friendly_name: Video Highlights
                      account_sid: AC25c0d4b9093547216c460212e24e77ee
                      sid: HX15c711fcc6d9ea5268d7ab77938a20ff
                      date_created: '2023-01-18T02:46:35Z'
                      types:
                        twilio/media:
                          body: Hi there, {{1}}, we have received your request to
                            upload {{2}}, and should be uploaded shortly.
                          media:
                          - http://example.com/highlights/{{3}}
                      approval_requests:
                        category: TRANSACTIONAL
                        status: rejected
                        rejection_reason: 'INVALID_FORMAT. Facebook is not able to
                          create template with templateName=Video Highlights_hx15c711fcc6d9ea5268d7ab77938a20ff
                          due to the following error: Invalid parameter. More Details:
                          Message template ''components'' param is missing expected
                          field(s). component of type HEADER is missing expected field(s)
                          (example)'
                        name: Video Highlights
                        content_type: twilio/media
                        allow_category_change: true
                    meta:
                      page: 0
                      page_size: 20
                      first_page_url: https://content.twilio.com/v2/ContentAndApprovals?PageSize=20&Page=0
                      url: https://content.twilio.com/v2/ContentAndApprovals?PageSize=20&Page=0
                      previous_page_url: null
                      next_page_url: null
                      key: contents
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListContentAndApprovals
servers:
- url: https://content.twilio.com
tags:
- name: ContentV2Content
- name: ContentV2ContentAndApprovals
security:
- accountSid_authToken: []
