Marketing
Get AI availability and credit balance
AI availability, the caller’s credit wallet, and the credit cost of each action. Free plans report planLevel: 0 and a zero wallet.
GET
/
marketing
/
ai
/
credits
Get AI availability and credit balance
curl --request GET \
--url https://api.jetemail.com/marketing/ai/credits \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.jetemail.com/marketing/ai/credits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.jetemail.com/marketing/ai/credits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jetemail.com/marketing/ai/credits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.jetemail.com/marketing/ai/credits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jetemail.com/marketing/ai/credits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jetemail.com/marketing/ai/credits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"enabled": true,
"credits": {
"available": true,
"planLevel": 123,
"monthlyCredits": 123,
"granted": 123,
"reserved": 123,
"consumed": 123,
"remaining": 123,
"cycleKey": "2026-08",
"cycleEndsAt": 123,
"blocked": true,
"blockedReason": "<string>"
},
"costs": {
"subject_variants": 1,
"rewrite_block": 1,
"translate_block": 2,
"draft_email": 4,
"template_chat": 3,
"generate_template": 6
}
}{
"success": false,
"error": "<string>",
"code": "ai_credits_exhausted"
}{
"success": false,
"error": "<string>",
"code": "ai_credits_exhausted"
}Authorizations
API key for account management endpoints. Use your api_ prefixed token.
Response
Availability and credits
Example:
true
Global kill switch. When false, generation is unavailable for every account.
AI credit wallet for the authenticated owner, for the current monthly UTC cycle.
Show child attributes
Show child attributes
Credit cost per action, keyed by action name.
Show child attributes
Show child attributes
Example:
{
"subject_variants": 1,
"rewrite_block": 1,
"translate_block": 2,
"draft_email": 4,
"template_chat": 3,
"generate_template": 6
}
⌘I
Get AI availability and credit balance
curl --request GET \
--url https://api.jetemail.com/marketing/ai/credits \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.jetemail.com/marketing/ai/credits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.jetemail.com/marketing/ai/credits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.jetemail.com/marketing/ai/credits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.jetemail.com/marketing/ai/credits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.jetemail.com/marketing/ai/credits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jetemail.com/marketing/ai/credits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"enabled": true,
"credits": {
"available": true,
"planLevel": 123,
"monthlyCredits": 123,
"granted": 123,
"reserved": 123,
"consumed": 123,
"remaining": 123,
"cycleKey": "2026-08",
"cycleEndsAt": 123,
"blocked": true,
"blockedReason": "<string>"
},
"costs": {
"subject_variants": 1,
"rewrite_block": 1,
"translate_block": 2,
"draft_email": 4,
"template_chat": 3,
"generate_template": 6
}
}{
"success": false,
"error": "<string>",
"code": "ai_credits_exhausted"
}{
"success": false,
"error": "<string>",
"code": "ai_credits_exhausted"
}