---
title: "POST /messages"
method: POST
path: "/messages"
tags: ["messages"]
---

# POST /messages

`POST /messages`

## Request

- Base URL: `https://api.sms.optus.com.au/rest/sms/v2`
- URL: `https://api.sms.optus.com.au/rest/sms/v2/messages`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/optus/apis/sms-gateway-rest-apiv2/docs/messages/post.ts> (a function with typed inputs; its response is checked against the schema)

Send a message to a single mobile

## Request body

- SingleMessage
  - `id` string, uuid
  - `destination` string, required
  - `source` string
  - `content` string, required
  - `reference` string
  - `class` string
  - `mask` string
  - `sms_class` integer
  - `scheduled` string, date-time: Allows scheduling of messages with an upper limit of 60 days
  - `integration_id` string, uuid

## Response `202`

API Single Message Response

- StatusCallback
  - `id` string, uuid
  - `status` 'accepted' | 'queued' | 'submitted' | 'sent' | 'received' | 'blocked' | 'deficient' | 'frozen' | 'rejected' | 'failed' | 'dead' | 'expired'
  - `detail` string

## Other responses

- `default`: API Error Response

---

[API](https://skmtc.dev/optus/apis/sms-gateway-rest-apiv2.md) - [All operations](https://skmtc.dev/optus/apis/sms-gateway-rest-apiv2/llms.txt) - [OpenAPI document](https://skmtc.dev/optus/apis/sms-gateway-rest-apiv2/revisions/70d00901e359?raw)
