> ## Documentation Index
> Fetch the complete documentation index at: https://platform.tatango.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send an RCS File

> This endpoint allows you to send an RCS File message with file attachment to a U.S. phone number. If delivery fails, a fallback SMS message will be sent.

<Tip>
  RCS File messages allow you to send file attachments with optional action buttons for enhanced user interaction.

  **RCS File Features:**

  * **File Support:** Send various file types as attachments, notably PDF and audio files
  * **Rich Experience:** Enhanced file sharing with interactive elements
  * **Fallback:** Automatic SMS fallback if RCS delivery fails

  **Requirements:** Valid U.S. phone number with RCS support
</Tip>


## OpenAPI

````yaml POST /transactional_messages/send_rcs_file
openapi: 3.1.0
info:
  title: Tatango API
  description: Tatango API for messaging services including WhatsApp, SMS, and MMS
  version: 1.0.0
servers:
  - url: https://api.v3.tatango.com
security:
  - apiKeyAuth: []
paths:
  /transactional_messages/send_rcs_file:
    post:
      tags:
        - Messaging
      summary: Send an RCS File
      description: >-
        This endpoint allows you to send an RCS File message with file
        attachment to a U.S. phone number. If delivery fails, a fallback SMS
        message will be sent.
      requestBody:
        description: The RCS File message request with SMS fallback.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendRcsFileRequest'
            example:
              phoneNumber: '5551234567'
              webhookUrl: https://api.example.com/webhooks/rcs
              rcsPayload:
                file:
                  url: https://example.com/files/weekly-news-letter.pdf
              smsFailover: >-
                Check out our latest newsletter!
                https://example.com/weekly-news-letter.pdf
        required: true
      responses:
        '202':
          description: RCS File message accepted.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/TransactionResponse'
              example:
                message: RCS file message sent successfully
                transactionId: 019687e1-1b54-70f4-a68a-60af7fa776f4
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              example:
                $ref: '#/components/examples/PhoneNumberValidationError/value'
components:
  schemas:
    SendRcsFileRequest:
      type: object
      required:
        - phoneNumber
        - rcsPayload
        - smsFailover
        - webhookUrl
      properties:
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        webhookUrl:
          $ref: '#/components/schemas/WebhookUrl'
        rcsPayload:
          type: object
          required:
            - file
          properties:
            file:
              $ref: '#/components/schemas/RcsFile'
        smsFailover:
          $ref: '#/components/schemas/SMSFailover'
    TransactionResponse:
      required:
        - message
        - transactionId
      type: object
      properties:
        message:
          description: Success message indicating the request was accepted.
          type: string
        transactionId:
          description: Unique transaction identifier for tracking the message.
          type: string
    ValidationError:
      required:
        - error
        - errors
      type: object
      properties:
        error:
          type: string
          example: Invalid request payload
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Zod error code
                example: invalid_string
              message:
                type: string
                description: Human-readable error message
                example: Not a valid U.S. or Canadian phone number
              path:
                type: array
                items:
                  oneOf:
                    - type: string
                    - type: number
                description: Path to the field that caused the error
                example:
                  - phoneNumber
              validation:
                type: string
                description: Validation type that failed
                example: regex
              minimum:
                type: number
                description: Minimum value for numeric validations
              maximum:
                type: number
                description: Maximum value for numeric validations
              type:
                type: string
                description: Expected data type
              inclusive:
                type: boolean
                description: Whether the boundary is inclusive
              exact:
                type: boolean
                description: Whether the validation requires exact match
            required:
              - code
              - message
              - path
    PhoneNumber:
      description: >-
        The destination phone number. Can be provided in any format (e.g., +1
        555-123-4567, (555) 123-4567, 5551234567) but must be a valid U.S. or
        Canadian phone number.
      type: string
    WebhookUrl:
      description: URL where webhooks will be sent. Must be a valid HTTPS URL.
      type: string
      maxLength: 255
    RcsFile:
      type: object
      required:
        - url
      properties:
        url:
          type: string
          format: uri
          maxLength: 255
          pattern: ^https://
          description: >-
            URL of the given resource. The following content types are
            supported: image/jpeg, image/jpg, image/gif, image/png, audio/aac,
            audio/mp3, audio/mpeg, audio/mpg, audio/mp4, audio/mp4-latm,
            audio/3gpp, application/ogg, audio/ogg, video/h263, video/m4v,
            video/mp4, video/mpeg, video/mpeg4, video/webm, application/pdf.
            Should start with https://. Up to 100 MB.
          example: https://example.com/files/document.pdf
    SMSFailover:
      description: >-
        SMS fallback message content used when primary delivery method fails.
        Must contain only GSM 7-bit characters.
      type: string
      minLength: 1
      maxLength: 160
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your Tatango API key. This is required for all requests to the API. You
        can find your API key in the Tatango App under My Account -> API ->
        Create API Key.

````