Noesis Logo

Email Feed API Documentation

Complete reference for integrating with the Noesis Email Feed API

Quick Start

Get started quickly with a simple cURL request:

curl -X POST https://email.noesistechnology.com/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "5551234567"
  }'

The Email Feed API allows you to submit email addresses for validation and processing through our email feed system.

Getting your API Key: Contact your account manager to obtain your API key. You can provide it as a header, query parameter, or in the request body.

Authentication

Authenticate your requests using one of these methods:

Option 1: Header (Recommended)

x-api-key: YOUR_API_KEY

Option 2: Query Parameter

?apiKey=YOUR_API_KEY

Option 3: Request Body

{
  "apiKey": "YOUR_API_KEY",
  "email": "john.doe@example.com"
}
Security Note: Treat your API keys like passwords. Never expose them in client-side code or public repositories. The header method is recommended as the most secure option.

Endpoint & Request

Base URL

https://email.noesistechnology.com

Endpoint

POST /

Headers

HeaderRequiredDescription
Content-TypeYesMust be application/json
x-api-keyYes*Your API key (*or use query param / request body)

POST Request

curl -X POST https://email.noesistechnology.com/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "5551234567",
    "zip": "90210",
    "state": "CA",
    "dob": "1990-01-15",
    "subid": "campaign123"
  }'

GET Request

You can also submit data via query parameters:

curl "https://email.noesistechnology.com/?apiKey=YOUR_API_KEY&email=john.doe@example.com&first_name=John&last_name=Doe"

Request Body

ParameterTypeRequiredDescription
emailstringYesEmail address to verify (max 254 characters)
first_namestringNoFirst name
last_namestringNoLast name
phonestringNoPhone number (digits, spaces, dashes, parentheses allowed)
zipstringNoZIP code
statestringNoState
dobstringNoDate of birth (YYYY-MM-DD)
subidstringNoTracking sub-identifier
ipstringNoIP address of the end user
pricestringNoPrice value
Payload Size: Request body must not exceed 10 KB.

Responses

Success Response

When an email is successfully processed:

200 OK
{
  "status": "processed"
}

Rejection Response

When an email is rejected during validation:

200 OK
{
  "status": "rejected",
  "reason": "invalid email"
}

Rejection Reasons

ReasonDescription
invalid requestEmail format is invalid or missing
invalid emailEmail address failed verification
optoutEmail address has opted out and cannot receive messages
duplicateEmail address was already accepted earlier the same day (US Eastern). See Duplicate Submissions
unsupported domainThe email domain is not accepted by the feed
capacity limit reachedThe daily limit for the email domain has been reached. It resets at midnight US Eastern

Duplicate Submissions

Each email address is accepted once per calendar day (US Eastern time). If the same address is submitted again that day, from any source, the request is not processed again and returns status rejected with reason duplicate:

200 OK
{
  "status": "rejected",
  "reason": "duplicate"
}
  • Only submissions that returned processed count. An address that was rejected for any other reason can be submitted again.
  • The window is the calendar day, not a rolling 24 hours. It resets at midnight US Eastern.
  • A duplicate rejection is final for that day. Do not retry it.

Error Responses

Bad Request

400 Bad Request
{
  "error": "Bad Request",
  "message": "Invalid request."
}

Authentication Error

401 Unauthorized
{
  "error": "Unauthorized"
}

Method Not Allowed

405 Method Not Allowed
{
  "error": "Method Not Allowed"
}

Internal Server Error

500 Internal Server Error
{
  "error": "Internal Server Error",
  "message": "An unexpected error occurred."
}

Error Handling & Retry

Retry Guidelines

Error TypeShould Retry?Notes
401 UnauthorizedNoCheck your API key
400 Bad RequestNoFix the request data and resubmit
200 (rejected)NoSee Rejection Reasons. A duplicate means the address was already accepted today
405 Method Not AllowedNoUse GET or POST
500 Internal Server ErrorYesWait 2-5 seconds, then retry once
Important: Always check the status field in the response body to determine the outcome. Do not rely solely on the HTTP status code.

Status Codes

Status CodeDescription
200OK - Email processed or rejected (check status field in response)
400Bad Request - Invalid JSON, oversized payload, or malformed data
401Unauthorized - Invalid or missing API key
405Method Not Allowed - Use GET or POST only
500Internal Server Error - System error, safe to retry

Rate Limits

Contact your account manager for rate limit information specific to your API key.

Support

For assistance with the API:

  • Include the full request details in all support inquiries
  • Contact your account representative
  • Telegram: @davidacimovic

Changelog

VersionDateChanges
1.1.02026-09-11Duplicate submissions now return status: rejected with reason: duplicate (previously processed). Documented the unsupported domain and capacity limit reached rejection reasons.
1.0.02025-02-19Initial release - email feed and processing