API REFERENCE
List Account Emails (Admin)
On this page
/api/admins/emailsReturns Resend emails including HTML content. Provide either account_id (returns all emails for an account) or email_id (returns a single email by Resend ID). Requires the authenticated account to be a Recoup admin. Authentication via x-api-key or Authorization Bearer token. Email response shape matches the Resend Retrieve Email API.
Authentication
x-api-key in header
bearerAuth bearer
Request
curl --request GET \
--url 'https://api.recoupable.dev/api/admins/emails' \
--header 'x-api-key: YOUR_API_KEY'Replace the YOUR_ placeholders with your values. Required query parameters are included; optional parameters are listed below.
Try it
Fill in the fields, send the request from your browser, and read the live response. The curl below updates as you type.
Kept in this browser tab only and cleared when it closes.
curl --request GET \
--url 'https://recoup-api.vercel.app/api/admins/emails'Parameters
Query parameters
account_idstringThe account ID to fetch all emails for. Required if email_id is not provided.
email_idstringA Resend email ID to fetch a single email. Required if account_id is not provided.
Responses
200Emails retrieved successfully+
application/json
statusstring · enumrequiredStatus of the request
Values: "success", "error"
emailsarray<PulseEmailRow>requiredList of emails sent for the account, ordered by created_at descending
Item properties for emails
idstringrequiredThe Resend email ID
fromstringrequiredSender email address
toarray<string>requiredRecipient email addresses
Item properties for to
string
ccarray<string>nullableCC recipient email addresses
Item properties for cc
string
bccarray<string>nullableBCC recipient email addresses
Item properties for bcc
string
reply_toarray<string>nullableReply-to email addresses
Item properties for reply_to
string
subjectstringrequiredEmail subject line
htmlstringnullableHTML content of the email
textstringnullablePlain text content of the email
created_atstringrequiredTimestamp when the email was created
format: date-time
scheduled_atstringnullableScheduled send time, if any
format: date-time
last_eventstring · enumrequiredMost recent delivery event for this email
Values: "bounced", "canceled", "clicked", "complained", "delivered", "delivery_delayed", "failed", "opened", "queued", "scheduled", "sent"
tagsarray<object>nullableCustom tags attached to the email
Item properties for tags
namestringrequiredvaluestringrequired400Bad request - must provide either account_id or email_id+
application/json
errorintegerrequiredformat: int32
messagestringrequired401Unauthorized - missing or invalid credentials+
application/json
statusstring · enumrequiredStatus of the request
Values: "error"
messagestringrequiredError message describing what went wrong
403Forbidden - authenticated account is not a Recoup admin+
application/json
statusstring · enumrequiredStatus of the request
Values: "error"
messagestringrequiredError message describing what went wrong
500Internal server error+
application/json
statusstring · enumrequiredStatus of the request
Values: "error"
messagestringrequiredError message describing what went wrong
Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download accounts.jsonView operation source
{
"description": "Returns Resend emails including HTML content. Provide either account_id (returns all emails for an account) or email_id (returns a single email by Resend ID). Requires the authenticated account to be a Recoup admin. Authentication via x-api-key or Authorization Bearer token. Email response shape matches the [Resend Retrieve Email API](https://resend.com/docs/api-reference/emails/retrieve-email).",
"parameters": [
{
"name": "account_id",
"in": "query",
"description": "The account ID to fetch all emails for. Required if email_id is not provided.",
"required": false,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "email_id",
"in": "query",
"description": "A Resend email ID to fetch a single email. Required if account_id is not provided.",
"required": false,
"schema": {
"type": "string"
}
}
],
"security": [
{
"apiKeyAuth": []
},
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Emails retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AdminEmailsResponse"
}
}
}
},
"400": {
"description": "Bad request - must provide either account_id or email_id",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Unauthorized - missing or invalid credentials",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden - authenticated account is not a Recoup admin",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountErrorResponse"
}
}
}
}
}
}