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

# Send SMS

> Send an SMS message to a US phone number using one of your Allo phone numbers. The recipient must be in the same country as your Allo number.

<Info>
  This endpoint is for sending SMS from US Allo phone numbers. For sending SMS in France, see [Send SMS (France)](/en/v2/api-reference/sms/send-sms-france).
</Info>


## OpenAPI

````yaml POST /v1/api/sms
openapi: 3.0.3
info:
  title: Allo API
  description: >-
    Allo API provides programmatic access to your Allo account, allowing you to
    manage webhooks, retrieve calls and contacts, and send SMS messages.


    All requests to `/v1/api/**` endpoints automatically go through quota
    checking and scope validation.
  version: 1.0.0
  contact:
    name: Allo Support
servers:
  - url: https://api.withallo.com
    description: Production server
security: []
tags:
  - name: Summary Templates
    description: >-
      Manage call summary templates that control how AI-generated call summaries
      are structured for your team.
  - name: Webhooks
    description: >-
      Manage webhook endpoints to receive real-time notifications about events
      in your Allo account. Each endpoint subscribes to one or more event topics
      and is verified with a signing secret.
  - name: Calls
    description: >-
      Retrieve and search call records with filtering and pagination. Filter
      calls by your Allo phone number.
  - name: Contacts
    description: >-
      Search and retrieve contact information with sorting and pagination.
      Includes engagement level tracking.
  - name: SMS
    description: Send SMS messages to phone numbers using your Allo numbers.
  - name: Phone Numbers
    description: Retrieve information about your Allo phone numbers.
  - name: Analytics
    description: Pre-computed call metrics, team performance, and outbound dial funnel
  - name: CRM
    description: Manage people, companies, and deals in your CRM.
paths:
  /v1/api/sms:
    post:
      tags:
        - SMS
      summary: Send SMS (US)
      description: >-
        Send an SMS message to a US phone number using one of your Allo phone
        numbers. The recipient must be in the same country as your Allo number.
      operationId: sendSMS
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendSMSRequest'
            example:
              from: '+1234567890'
              to: '+0987654321'
              message: Hello, this is a test message
      responses:
        '200':
          description: SMS sent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendSMSResponse'
              example:
                data:
                  from_number: '+1234567890'
                  sender_id: null
                  to_number: '+0987654321'
                  type: OUTBOUND
                  content: Hello, this is a test message
                  start_date: '2024-01-15T10:30:00'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                fromNumberNotFound:
                  summary: From number not found
                  value:
                    code: FROM_NUMBER_NOT_FOUND
                    details: null
                invalidToNumber:
                  summary: Invalid to number
                  value:
                    code: INVALID_TO_NUMBER
                    details: null
                toNumberCountryMismatch:
                  summary: Country mismatch
                  value:
                    code: TO_NUMBER_COUNTRY_MISMATCH
                    details: null
                invalidLength:
                  summary: Invalid message length
                  value:
                    code: INVALID_LENGTH
                    details: null
                providerNotSupported:
                  summary: Provider not supported
                  value:
                    code: PROVIDER_NOT_SUPPORTED
                    details: null
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - SmsAuth: []
components:
  schemas:
    SendSMSRequest:
      type: object
      description: Request body for sending an SMS message (US)
      required:
        - from
        - to
        - message
      properties:
        from:
          type: string
          description: Your Allo phone number (must be owned by your account)
          example: '+1234567890'
        to:
          type: string
          description: Recipient phone number (E.164 format, same country as 'from')
          example: '+0987654321'
        message:
          type: string
          description: Message content
          minLength: 1
          maxLength: 1000
          example: Hello, this is a test message
    SendSMSResponse:
      type: object
      description: Standard response wrapper for sent SMS
      properties:
        data:
          $ref: '#/components/schemas/TextMessageApiResponse'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code identifying the type of error
        details:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/ErrorDetail'
          description: Additional error details, or null if not applicable
    TextMessageApiResponse:
      type: object
      description: Sent SMS message details
      properties:
        from_number:
          type: string
          nullable: true
          description: >-
            Phone number that sent the message. Null when sender_id is used
            instead.
          example: '+1234567890'
        sender_id:
          type: string
          nullable: true
          description: >-
            Sender ID used for the message (alphanumeric identifier). Only
            populated when sending with a verified Sender ID (e.g., for France
            SMS). Null when from_number is used.
          example: MyCompany
        to_number:
          type: string
          description: Phone number that received the message
          example: '+0987654321'
        type:
          type: string
          enum:
            - OUTBOUND
          description: Direction of the message (always OUTBOUND for sent messages)
        content:
          type: string
          description: Content of the SMS message
          example: Hello, this is a test message
        start_date:
          type: string
          format: date-time
          description: When the message was sent
          example: '2024-01-15T10:30:00'
    ErrorDetail:
      type: object
      properties:
        message:
          type: string
        field:
          type: string
  responses:
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: API_KEY_INVALID
            details: null
    Forbidden:
      description: Forbidden - API key lacks required scope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: API_KEY_INSUFFICIENT_SCOPE
            details:
              - message: required=CONTACTS_READ
                field: scope
    TooManyRequests:
      description: Too Many Requests - Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: API_KEY_QUOTA_EXCEEDED
            details:
              - message: limit=1000;type=DAILY;reset_in=3600
                field: DAILY
  securitySchemes:
    SmsAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Scope needed: `SMS_SEND`'

````