curl --request GET \
--url https://api.kit.com/v4/sequences/{sequence_id}/emails/{id} \
--header 'X-Kit-Api-Key: <api-key>'require 'uri'
require 'net/http'
url = URI("https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Kit-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst options = {method: 'GET', headers: {'X-Kit-Api-Key': '<api-key>'}};
fetch('https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Kit-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Kit-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}"
headers = {"X-Kit-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"email": {
"id": 26,
"sequence_id": 130,
"subject": "Welcome email",
"preview_text": "Thanks for signing up",
"email_address": "joe2821@ck.lol",
"email_template_id": null,
"published": true,
"position": 0,
"delay_value": 0,
"delay_unit": "days",
"send_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"content": "<p>Welcome!</p>"
}
}{
"errors": [
"The access token is invalid"
]
}{
"errors": [
"Not Found"
]
}Get a sequence email
Fetches a single sequence email by id. Unlike List sequence emails, this endpoint always returns the full content — no include_content flag needed.
Use this when you have an email’s id and need the current body, timing, or publish state — for example, to render a preview before pushing an update via Update a sequence email.
For the field semantics, see Create a sequence email.
curl --request GET \
--url https://api.kit.com/v4/sequences/{sequence_id}/emails/{id} \
--header 'X-Kit-Api-Key: <api-key>'require 'uri'
require 'net/http'
url = URI("https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Kit-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst options = {method: 'GET', headers: {'X-Kit-Api-Key': '<api-key>'}};
fetch('https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Kit-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Kit-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}import requests
url = "https://api.kit.com/v4/sequences/{sequence_id}/emails/{id}"
headers = {"X-Kit-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"email": {
"id": 26,
"sequence_id": 130,
"subject": "Welcome email",
"preview_text": "Thanks for signing up",
"email_address": "joe2821@ck.lol",
"email_template_id": null,
"published": true,
"position": 0,
"delay_value": 0,
"delay_unit": "days",
"send_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
],
"content": "<p>Welcome!</p>"
}
}{
"errors": [
"The access token is invalid"
]
}{
"errors": [
"Not Found"
]
}Authorizations
Authenticate API requests via an API Key
Query Parameters
Comma-separated list of additional data to include on each email. Valid options: stats. stats adds a stats object with per-email deliverability counts and rates (opens, clicks, bounces, complaints, unsubscribes), matching the numbers shown on the sequence report.
Response
Returns the sequence email details
Show child attributes
Show child attributes
Related topics
ChangelogGet a sequenceList sequence emailsDelete a sequence emailUpdate a sequence emailWas this page helpful?