---
title: "Poll an import job"
method: GET
path: "/email_blocks/import/{id}"
tags: ["Email Suppression Imports"]
---

# Poll an import job

`GET /email_blocks/import/{id}`

## Request

- Base URL: `https://api.telnyx.com/v2`
- URL: `https://api.telnyx.com/v2/email_blocks/import/{id}`
- Auth: HTTP bearer

Account-scoped fetch (cross-account → 404; malformed UUID → 404).
Nullable fields are omitted until terminal: `provider`/`completed_at`
when nil; `processed_rows`/`created_count`/`existing_count`/
`skipped_count`/`error_count` only when `status == completed`;
`errors` only when non-empty; `failure_reason` only on terminal
failure.

## Response `200`

The import record.

- EmailBlockImportResponse
  - `data` EmailBlockImport, required: Import job. Schema fields hidden: `account_id`, `csv_content`, `block_ttl_days`. Nullable fields use the omit-nullable pattern.
    - `id` string, uuid, required
    - `record_type` 'email_block_import', required: View-only.
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required
    - `total` integer, required: Data-row count at upload.
    - `provider` 'sendgrid' | 'mailgun' | 'ses' | 'generic': Omitted when nil.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `completed_at` string, date-time: Omitted until terminal success.
    - `processed_rows` integer: Only when `status == completed`.
    - `created_count` integer: Only when `status == completed`.
    - `existing_count` integer: Only when `status == completed`.
    - `skipped_count` integer: Only when `status == completed`.
    - `error_count` integer: Rows that passed CSV parsing but failed suppression creation. This is the creation-failure subset of `skipped_count`; parser-rejected rows equal `skipped_count - error_count`. Only when `status == completed`.
    - `errors` object: `{row_number: reason}`; only rendered when non-empty.
    - `failure_reason` string: Only on terminal failure.

## Other responses

- `401`: Missing or invalid gateway auth.
- `404`: Resource not found (cross-account lookups and malformed UUIDs also return 404 — no leak).
- `406`: Framework-rendered error (e.g. 406 Not Acceptable, 405 Method Not Allowed, 415 Unsupported Media Type). HTTP status matches the error and the body `code` carries that same status (e.g. `"406"`, not a hardcoded `"500"`). The explicit `500.json` clause still emits `code: "500"` for genuine 500s.

## Changes

- **2026-10-15** `a72569d69430`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/team-telnyx/apis/telnyx-api/changes/email_blocks/import/:id/get.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api.md) - [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api/llms.txt) - [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api/revisions/0f17b8167873?raw)
