Get message content
Fetch the output of rendered events of a message you've previously sent.
URL: https://api.courier.com/messages/:message_id/output
Method: GET
Path Parameters
message_idstringrequired
A unique identifier associated with the message you wish to retrieve (results from a send).
Responses
status: 200 OK
resultsarray
An array of render output of a previously sent message
+ Show Properties
status: 400 Bad Request
messagestring
A message describing the error that occurred.
typestring
[invalid_request_error] The type of error that occurred.
status: 404 Message Not Found
messagestring
A message describing the error that occurred.
typestring
[invalid_request_error] The type of error that occurred.
Request Example
- cURL
- Node.js
- Ruby
- Python
- Go
- PHP
curl --request GET \
--url https://api.courier.com/messages/1-5e2b2615-05efbb3acab9172f88dd3f6f/output \
--header 'Accept: application/json'
// Dependencies to install:
// $ npm install node-fetch --save
const fetch = require('node-fetch');
const options = {
method: 'GET',
headers: {
Accept: 'application/json'
},
};
fetch('https://api.courier.com/messages/1-5e2b2615-05efbb3acab9172f88dd3f6f/output', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.courier.com/messages/1-5e2b2615-05efbb3acab9172f88dd3f6f/output")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
response = http.request(request)
puts response.read_body
# Dependencies to install:
# $ python -m pip install requests
import requests
url = "https://api.courier.com/messages/1-5e2b2615-05efbb3acab9172f88dd3f6f/output"
headers = {
"Accept": "application/json"
}
response = requests.request("GET", url, headers=headers)
print(response.text)
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.courier.com/messages/1-5e2b2615-05efbb3acab9172f88dd3f6f/output"
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
<?php
// Dependencies to install:
// $ composer require guzzlehttp/guzzle
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.courier.com/messages/1-5e2b2615-05efbb3acab9172f88dd3f6f/output', [
'headers' => [
'Accept' => 'application/json',
],
]);
echo $response->getBody();
Responses Example
{
"results": [
{
"channel": "email",
"channel_id": "channel-id-1",
"content": {
"html": "<div>Lorem Ipsum</div>",
"subject": "Hello World",
"text": "Lorem Ipsum",
"blocks": [
{
"type": "text",
"text": "Lorem ipsum dolor, sit amet."
}
]
}
}
]
}
{
"message": "Error Message",
"type": "invalid_request_error"
}
{
"message": "Not Found",
"type": "invalid_request_error"
}
HTML Output
When using the output endpoint, please remember that only previously sent messages can return the output in HTML as an API response. Courier does not render HTML output from the GUI webapp.