Import (email suppression)

POST/api/v1/email-suppressions/import
Requires anorganization API keywith the scopesuppressions:write

Request

POST/api/v1/email-suppressions/import
curl -X POST 'https://app.mailyte.com/api/v1/email-suppressions/import' \
  -H 'Authorization: Bearer mk_live_YOUR_API_KEY'
The key names its own organization, so no X-Organization-ID header is needed.

Response

Success.

  • dataobject
    • objectstringsuppression_import
    • importedinteger

      Addresses newly suppressed by this call.

    • skippedobject

      Two causes, one category, and a caller deciding whether to re-upload cares about them very differently.

      • invalidinteger

        Rows that were not addresses. Your file has typos; a 10,000-row list with three of them imports 9,997. An invalid row is never a rejected request.

      • duplicateinteger

        Rows already suppressed. Nothing is wrong. Derived from the database's own insert count rather than a pre-check, so it stays exact under a concurrent writer.

    • totalinteger

      Rows read. `imported + skipped.invalid + skipped.duplicate` always equals this, exactly -- it is worth relying on.

Returned inside the standard envelope.

Errors

StatusWhen
401The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist.
403The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys.
404No such resource in this organization.
422The request was understood but the values were not acceptable.
429Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait.

Every status, with what causes it and what to do, is on the error reference.