---
title: "SMS — API reference"
description: "SMS senders, quote and send."
url: https://www.gyrohosting.com/developers/en/api/sms.html
language: en
openapi: https://www.gyrohosting.com/developers/openapi.json
api_version: 2.30.0
---

# SMS

SMS senders, quote and send.

Base URL: `https://www.gyrohosting.com/api/v1/client` · OpenAPI: https://www.gyrohosting.com/developers/openapi.json


## GET /sms/senders

**List sms senders** · operationId `coreGetSmsSenders` · scope `Sms/GetSmsSenders` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetSmsSenders.json

List sms senders. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/mesaj-gonderme).


### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: sms_api_disabled, sms_disabled

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/sms/senders' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro sms sender list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/sms/senders", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/senders", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /sms/quote

**Quote sms** · operationId `coreQuoteSms` · scope `Sms/QuoteSms` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreQuoteSms.json

Quote sms. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/mesaj-gonderme).


### Request body

| Field | Type | Description |
|---|---|---|
| `sender` (required) | string | Gönderen başlığı. Hesabın etkin başlıklarından biri olmalıdır. |
| `message` (required) | string | Mesaj metni. Parça tavanını aşan metin kırpılır ve kırpıldığı bildirilir. |
| `numbers` (required) | array<any> | Alıcı numaralar. Uluslararası biçimde; tek bir metin olarak gönderilirse satır, virgül ve noktalı virgülden bölünür. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: message_required, numbers_required, sender_invalid, sms_api_disabled, sms_disabled

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/sms/quote' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sender": "string", "message": "string", "numbers": [null]}'
```
```bash
gyro sms quote --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/sms/quote", headers=h, json={"sender": "string", "message": "string", "numbers": [None]}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/quote", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"sender": "string", "message": "string", "numbers": [null]}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## POST /sms/send

**Send sms** · operationId `coreSendSms` · scope `Sms/SendSms` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreSendSms.json

Send sms. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/mesaj-gonderme).


### Request body

| Field | Type | Description |
|---|---|---|
| `sender` (required) | string | Gönderen başlığı. Hesabın etkin başlıklarından biri olmalıdır. |
| `message` (required) | string | Mesaj metni. Parça tavanını aşan metin kırpılır ve kırpıldığı bildirilir. |
| `numbers` (required) | array<any> | Alıcı numaralar. Uluslararası biçimde; tek bir metin olarak gönderilirse satır, virgül ve noktalı virgülden bölünür. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: insufficient_balance, no_recipients, price_unavailable, send_rejected, sender_invalid, sms_api_disabled, sms_disabled, sms_module_unavailable
- **500**: send_failed

### Examples

```bash
curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/sms/send' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"sender": "string", "message": "string", "numbers": [null]}'
```
```bash
gyro sms send --help    # all flags
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/sms/send", headers=h, json={"sender": "string", "message": "string", "numbers": [None]}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/send", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"sender": "string", "message": "string", "numbers": [null]}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /sms/messages

**List sms messages** · operationId `coreGetSmsMessages` · scope `Sms/GetSmsMessages` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetSmsMessages.json

List sms messages. 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/mesaj-gonderme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `page` | query | integer | Kaçıncı sayfa. |
| `limit` | query | integer | Sayfa başına satır. En çok 100. |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **422**: sms_api_disabled, sms_disabled

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/sms/messages' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro sms message list
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/sms/messages", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/messages", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```


## GET /sms/messages/{id}

**Get sms message (path: {id})** · operationId `coreGetSmsMessage` · scope `Sms/GetSmsMessage` · OpenAPI fragment: https://www.gyrohosting.com/developers/spec/ops/coreGetSmsMessage.json

Get sms message (path: {id}). 

Core WISECP client endpoint (Turkish reference: https://dev.wisecp.com/tr/mesaj-gonderme).


### Parameters

| Field | in | Type | Description |
|---|---|---|---|
| `id` (required) | path | integer |  |

### Responses

- **200**: Success
- **401**: Missing, invalid or revoked key
- **403**: Key lacks the scope, IP not allowed, or feature disabled
- **404**: not_found
- **422**: sms_api_disabled, sms_disabled

### Examples

```bash
curl -s 'https://www.gyrohosting.com/api/v1/client/sms/messages/12345' \
  -H "Authorization: Bearer $GYRO_TOKEN"
```
```bash
gyro sms message get 12345
```
```python
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/sms/messages/12345", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
```
```js
const res = await fetch("https://www.gyrohosting.com/api/v1/client/sms/messages/12345", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);
```
