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

# Send message

> Send a text or binary SMS message. Credentials are passed as form parameters (USERNAME and PASSWORD). Returns a plain-text response with message ID, status code, and optional status text on separate lines.



## OpenAPI

````yaml /openapi/multicountry-sms.json post /bin/send
openapi: 3.0.3
info:
  title: Beem Multicountry SMS & SMPP API
  version: 1.0.0
  description: >-
    HTTP API for sending international SMS messages via the Beem Messaging
    Platform, checking account balance, and receiving inbound messages and
    delivery reports via callback webhooks. SMPP integration is documented in
    the guides.
  contact:
    name: Beem
    url: https://beem.africa
    email: support@beem.africa
servers:
  - url: https://api.blsmsgw.com:8443
    description: Messaging Platform — send API
security: []
tags: []
paths:
  /bin/send:
    post:
      summary: Send message
      description: >-
        Send a text or binary SMS message. Credentials are passed as form
        parameters (USERNAME and PASSWORD). Returns a plain-text response with
        message ID, status code, and optional status text on separate lines.
      operationId: sendMessage
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SendFormParams'
      responses:
        '200':
          description: >-
            Message accepted or rejected. Body contains message ID on line 1,
            status code on line 2, and optional status text on line 3.
          content:
            text/plain:
              schema:
                type: string
              examples:
                success:
                  summary: Success
                  value: |-
                    124365
                    0
                    OK
                failure:
                  summary: Missing parameter
                  value: |-
                    -1
                    -2
                    Recipient (DESTADDR) is missing
                accessDenied:
                  summary: Access denied (platform status 10)
                  value: |-
                    -1
                    10
                    Access denied
                noCredits:
                  summary: No message credits (platform status 16)
                  value: |-
                    -1
                    16
                    No message credits left
        '400':
          description: Bad request — missing authorization or API permission denied.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                additionalProperties: true
              examples:
                noApiPermission:
                  summary: No API permission
                  value:
                    error: You do not have api permission
        '401':
          description: Unauthorized — authentication failed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                additionalProperties: true
              examples:
                authenticationFailed:
                  summary: Authentication failed
                  value:
                    error: Authentication failed
components:
  schemas:
    SendFormParams:
      type: object
      required:
        - USERNAME
        - PASSWORD
        - DESTADDR
        - SOURCEADDR
        - MESSAGE
      properties:
        USERNAME:
          type: string
          description: Provided account username.
        PASSWORD:
          type: string
          description: Provided account password.
        DESTADDR:
          type: string
          description: >-
            Destination MSISDN in international format without a leading +.
            Example: 255650000001.
        SOURCEADDR:
          type: string
          description: >-
            Sender ID. Alphanumeric senders max 11 characters (A-Z, a-z, 0-9,
            space).
        MESSAGE:
          type: string
          description: Message content. URL-encoded for GSM text; hex-encoded for binary.
        CHARCODE:
          type: string
          description: Message encoding. 0 = GSM text (default), 2 = Binary (8-bit).
          enum:
            - '0'
            - '2'
        DLR:
          type: string
          description: Set to 1 to request a delivery report.
          enum:
            - '0'
            - '1'
        DLRADDRESS:
          type: string
          format: uri
          description: >-
            HTTPS URL to receive delivery reports. Example:
            https://www.example.com/callback
        UDH:
          type: string
          description: User Data Header in hex format (e.g. WAP Push).
        UDHI:
          type: string
          description: Set to non-zero when UDH is present in the message body.
        VP:
          type: string
          description: Validity period in seconds.
        SOURCEADDRTON:
          type: string
          description: >-
            Type of Number for source: 0 Unknown, 1 International (default), 5
            Alphanumeric.
        SOURCEADDRNPI:
          type: string
          description: Numbering Plan Indicator for source address.
        SOURCEPORT:
          type: string
          description: Source port (0-65535).
        DESTPORT:
          type: string
          description: Destination port (0-65535).
        CONCATSMSREF:
          type: string
          description: Concatenated SMS reference number (0-255).
        CONCATSMSSEQ:
          type: string
          description: Sequence number for this message part.
        CONCATSMSMAX:
          type: string
          description: Total number of parts for this message.

````