---
title: "List sender IDs"
description: "Returns the sender IDs you can send from. Messages must be sent from one of these. Add new\nsender IDs in the web app at `https://app.touchsms.com.au/settings/sender-ids`. Not paginated.\n"
version: "v2"
---

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

Path: touchSMS API › Account

`GET /v2/account/sender-ids`

Returns the sender IDs you can send from. Messages must be sent from one of these. Add new
sender IDs in the web app at `https://app.touchsms.com.au/settings/sender-ids`. Not paginated.

## Authentication

- `basicAuth`, http, header `Authorization`

## Query parameters

- `country` (`listSenderIds.query.country`; string, optional) — ISO country code. Only return sender IDs usable for this destination country.
  - minLength 2; maxLength 3
- `message_type` (`listSenderIds.query.message_type`; string, optional) — Return sender IDs that can send this type of message.
  - one of `"sms"`, `"mms"`; default `"sms"`

## Code samples

### cURL

```bash
curl --request GET \
  --url https://app.touchsms.com.au/api/v2/account/sender-ids \
  --header 'Authorization: Basic <credentials>'
```

### TypeScript

```typescript
const url = 'https://app.touchsms.com.au/api/v2/account/sender-ids';
const options = {method: 'GET', headers: {Authorization: 'Basic <credentials>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://app.touchsms.com.au/api/v2/account/sender-ids"

headers = {"Authorization": "Basic <credentials>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

Allowed sender IDs.

#### Example

```json
{
  "data": [
    {
      "type": "dedicated",
      "type_description": "Dedicated",
      "sender_id": "61491570159",
      "label": "61491570159 (Virtual Number)",
      "enabled": true,
      "default": true,
      "acma_unverified": false,
      "verify_url": null
    }
  ]
}
```

- `data` (`listSenderIds.response.200.data`; array<object>, optional)
  - `type` (`listSenderIds.response.200.data.type`; string, optional)
    - one of `"own"`, `"shared"`, `"dedicated"`, `"verified"`, `"custom"`
  - `type_description` (`listSenderIds.response.200.data.type_description`; string, optional)
  - `sender_id` (`listSenderIds.response.200.data.sender_id`; string, optional) — Value to pass as `from` when sending.
  - `label` (`listSenderIds.response.200.data.label`; string, optional)
  - `enabled` (`listSenderIds.response.200.data.enabled`; boolean, optional)
  - `default` (`listSenderIds.response.200.data.default`; boolean, optional) — Whether this is your default sender ID.
  - `acma_unverified` (`listSenderIds.response.200.data.acma_unverified`; boolean, optional) — The sender ID is not yet registered with the ACMA Sender ID Register.
  - `verify_url` (`listSenderIds.response.200.data.verify_url`; string | null, optional) — Where to complete registration, if required.

### 401

Missing, malformed or invalid API credentials.

#### Example

```json
{
  "message": "Unauthenticated."
}
```

- `message` (`listSenderIds.response.401.message`; string, required)

### 422

The request failed validation. `errors` lists the messages for each invalid field.

#### Example

```json
{
  "message": "The messages field is required.",
  "errors": {
    "messages": [
      "The messages field is required."
    ]
  }
}
```

- `message` (`listSenderIds.response.422.message`; string, optional)
- `errors` (`listSenderIds.response.422.errors`; map<array<string>>, optional)


Source: https://dev.touchsms.com.au/api/account/list-sender-ids/index.md
