> For the complete documentation index, see [llms.txt](https://fusionauth.io/docs/llms.txt)

# Messenger APIs | FusionAuth Docs

Learn about the APIs for creating, retrieving, updating and deleting messengers.

# Messenger APIs

[Edit on GitHub](https://github.com/FusionAuth/fusionauth-site/blob/main/astro/src/content/docs/apis/messengers/index.mdx)

[View Markdown](https://fusionauth.io/docs/apis/messengers.md)

A Messenger is a named object that provides configuration for sending messages to external systems. FusionAuth currently supports the following Messenger types:

*   [Generic](https://fusionauth.io/docs/apis/messengers/generic.md)
*   [Twilio](https://fusionauth.io/docs/apis/messengers/twilio.md)

The type of the messenger will determine the object's properties as well as the validation that is performed. You can click into any of the messenger API docs to get a list of that messenger's properties.

## Retrieve All Messengers

### Request

[!Global API Key Authentication](https://fusionauth.io/docs/apis/authentication.md#global-api-key-authentication)

Retrieve all Messengers

GET/api/messenger

[!Global API Key Authentication](https://fusionauth.io/docs/apis/authentication.md#global-api-key-authentication)

Retrieve a Messenger by Id

GET/api/messenger/{messengerId}

OpenAPI Spec

#### Request Parameters

`messengerId`UUIDrequired

The unique Id of the Messenger to retrieve.

### Response

*Response Codes*

| Code | Description |
| --- | --- |
| 200 | The request was successful. The response will contain a JSON body. |
| 400 | The request was invalid and/or malformed. The response will contain an [Errors](https://fusionauth.io/docs/apis/errors.md) JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present. |
| 401 | You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See [Authentication](https://fusionauth.io/docs/apis/authentication.md). |
| 500 | There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |

The response JSON might include different types of messengers. Therefore, you should refer to the documentation for each type of messenger to determine the response JSON format for that particular type. Each type has a Retrieve section in its documentation. This format will be the same format used by this API.

*Example Response JSON*

```json
{
  "messengers": [
    {
      "connectTimeout": 1000,
      "data": {
        "foo": "bar"
      },
      "debug": false,
      "headers": {
        "Content-Type": "application/json"
      },
      "httpAuthenticationPassword": "password",
      "httpAuthenticationUsername": "user-login",
      "id": "2d5acca6-23d5-423f-ac7b-b70f50b54498",
      "insertInstant": 1562189072183,
      "lastUpdateInstant": 1562189072183,
      "messageTypes": [
        "SMS",
        "Voice"
      ],
      "name": "Generic Messenger",
      "readTimeout": 1000,
      "sslCertificate": "e31e242b-4eca-4309-921f-48cb72ec9bfb",
      "transport": "sms",
      "type": "Generic",
      "url": "https://www.example.com/webhook"
    },
    {
      "accountSID": "983C6FACEBBE4D858570FADD967A9DD7",
      "authToken": "184C73BE8E44420EBAA0BA147A61B6A9",
      "data": {
        "foo": "bar"
      },
      "debug": false,
      "fromPhoneNumber": "555-555-5555",
      "id": "f49c3b86-91fe-48f7-ae46-d166eead0166",
      "insertInstant": 1562189072183,
      "lastUpdateInstant": 1562189072183,
      "messageTypes": [
        "SMS",
        "Voice"
      ],
      "name": "Twilio Messenger",
      "transport": "sms",
      "type": "Twilio",
      "url": "https://api.twilio.com"
    }
  ]
}
```