---
updatedAt: 2025-06-16T22:59:05.000Z
---

Fetch the complete documentation index at: https://developers.neverbounce.com/llms.txt. Use this file to discover all available pages before exploring further.

# /status

## Job Status

Job status will indicate what stage the job is currently in. This will be the primary property you'll want to check to determine what can be done with the job.

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Status
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        under\_review
      </td>

      <td>
        The job has fallen into our Q/A review and requires action on our end. [Read more...](https://neverbounce.com/help/getting-started/quality-assurance-reviews/)
      </td>
    </tr>

    <tr>
      <td>
        queued
      </td>

      <td>
        The job has been queued, this is because we're either too busy or you have too many active jobs.
      </td>
    </tr>

    <tr>
      <td>
        failed
      </td>

      <td>
        The job failed, typically this is due to poorly formatted data.
      </td>
    </tr>

    <tr>
      <td>
        complete
      </td>

      <td>
        The job has completed verification and the results are ready for download.
      </td>
    </tr>

    <tr>
      <td>
        running
      </td>

      <td>
        The job is currently either running a sample or full verification.
      </td>
    </tr>

    <tr>
      <td>
        parsing
      </td>

      <td>
        The job has been received and we are parsing the data for emails and duplicate records.
      </td>
    </tr>

    <tr>
      <td>
        waiting
      </td>

      <td>
        The job has not yet run and is waiting to be started.
      </td>
    </tr>

    <tr>
      <td>
        waiting\_analyzed
      </td>

      <td>
        The job has completed analysis and is waiting for further action.
      </td>
    </tr>

    <tr>
      <td>
        uploading
      </td>

      <td>
        The job is currently being uploaded to the system.
      </td>
    </tr>
  </tbody>
</Table>

## Totals

There are several items in the `total` object that give you an overview of verification results. These numbers are updated periodically during the verification process. Most of these properties correspond directly with the verification result codes; the other properties are explained below.

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Property
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        records
      </td>

      <td>
        The number of rows we found in your file. This may include whitespace, empty rows, and other rows that don't contain syntactically correct emails.
      </td>
    </tr>

    <tr>
      <td>
        billable
      </td>

      <td>
        The number of rows we found syntactically correct emails in. This is number of credits processing this job will consume.
      </td>
    </tr>

    <tr>
      <td>
        processed
      </td>

      <td>
        The total number of emails that have been processed so far.
      </td>
    </tr>

    <tr>
      <td>
        duplicates
      </td>

      <td>
        The number of rows that contain duplicated emails. This is not the number of unique duplicates but the total of every instance.
      </td>
    </tr>

    <tr>
      <td>
        bad\_syntax
      </td>

      <td>
        The number of records that do not contain data that looks like an email. This may include whitespace and empty rows as well as bad data.
      </td>
    </tr>
  </tbody>
</Table>

## Bounce Estimate

This property indicates the bounce rate we estimate the list to bounce at if sent to in its entirety. The value of this property will be a float between `0.0` and `100.0`.

## Percent Complete

This property indicates the overall progress of this job's verification. The value of this property will be a float between `0.0` and `100.0`.

## Failure Reasons

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Failure Reason
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        unknown\_file\_encoding
      </td>

      <td>
        We were un-able to detect this file's encoding type. Please re-save your file choosing UTF-8 encoding for best results.
      </td>
    </tr>

    <tr>
      <td>
        empty\_file
      </td>

      <td>
        We were unable to parse the file. Please add some data to the file and try again.
      </td>
    </tr>

    <tr>
      <td>
        file\_too\_large
      </td>

      <td>
        We were unable to parse the file. Please split your file in smaller chunks and try again.
      </td>
    </tr>

    <tr>
      <td>
        file\_corrupt
      </td>

      <td>
        This file appears to be corrupt, please try re-saving the original file or contact support for further assistance.
      </td>
    </tr>

    <tr>
      <td>
        `null` (empty)
      </td>

      <td>
        Unknown failure, please try resubmitting the job and contact support if the issue persists.
      </td>
    </tr>
  </tbody>
</Table>

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "neverbounce-api",
    "version": "4.2"
  },
  "servers": [
    {
      "url": "https://api.neverbounce.com/v4.2"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "query",
        "name": "key"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/jobs/status": {
      "get": {
        "summary": "/status",
        "description": "",
        "operationId": "jobs-status",
        "parameters": [
          {
            "name": "job_id",
            "in": "query",
            "description": "The id of the job to check",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"status\": \"success\",\n  \"id\": 277461,\n  \"filename\": \"Created from Array.csv\",\n  \"created_at\": \"2017-07-25 14:52:27\",\n  \"started_at\": \"2017-07-25 14:52:40\",\n  \"finished_at\": \"2017-07-25 14:53:06\",\n  \"failure_reason\": null,\n  \"total\": {\n    \"records\": 2,\n    \"billable\": 2,\n    \"processed\": 2,\n    \"valid\": 0,\n    \"invalid\": 2,\n    \"catchall\": 0,\n    \"disposable\": 0,\n    \"unknown\": 0,\n    \"duplicates\": 0,\n    \"bad_syntax\": 0\n  },\n  \"bounce_estimate\": 0,\n  \"percent_complete\": 100,\n  \"job_status\": \"complete\",\n  \"execution_time\": 322\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "id": {
                      "type": "integer",
                      "example": 277461,
                      "default": 0
                    },
                    "filename": {
                      "type": "string",
                      "example": "Created from Array.csv"
                    },
                    "created_at": {
                      "type": "string",
                      "example": "2017-07-25 14:52:27"
                    },
                    "started_at": {
                      "type": "string",
                      "example": "2017-07-25 14:52:40"
                    },
                    "finished_at": {
                      "type": "string",
                      "example": "2017-07-25 14:53:06"
                    },
                    "failure_reason": {},
                    "total": {
                      "type": "object",
                      "properties": {
                        "records": {
                          "type": "integer",
                          "example": 2,
                          "default": 0
                        },
                        "billable": {
                          "type": "integer",
                          "example": 2,
                          "default": 0
                        },
                        "processed": {
                          "type": "integer",
                          "example": 2,
                          "default": 0
                        },
                        "valid": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "invalid": {
                          "type": "integer",
                          "example": 2,
                          "default": 0
                        },
                        "catchall": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "disposable": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "unknown": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "duplicates": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        },
                        "bad_syntax": {
                          "type": "integer",
                          "example": 0,
                          "default": 0
                        }
                      }
                    },
                    "bounce_estimate": {
                      "type": "integer",
                      "example": 0,
                      "default": 0
                    },
                    "percent_complete": {
                      "type": "integer",
                      "example": 100,
                      "default": 0
                    },
                    "job_status": {
                      "type": "string",
                      "example": "complete"
                    },
                    "execution_time": {
                      "type": "integer",
                      "example": 322,
                      "default": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "code": "curl --request GET\\\n  --url 'https://api.neverbounce.com/v4.2/jobs/status?key={api_key}&job_id={job_id}'"
            },
            {
              "language": "php",
              "code": "<?php\n\n// Set API key\n\\NeverBounce\\Auth::setApiKey($api_key);\n\n// Get the details about the job\n$job = \\NeverBounce\\Jobs::status($job_id);"
            },
            {
              "language": "javascript",
              "code": "// Initialize NeverBounce client\nconst client = new NeverBounce({apiKey: myApiKey});\n\n// Get the job status\nclient.jobs.status(jobId).then(\n    resp => // Handle successful response,\n    err => // Handle error response\n);",
              "name": "NodeJs"
            },
            {
              "language": "python",
              "code": "import neverbounce_sdk\n\n# Create sdk client\nclient = neverbounce_sdk.client(api_key='api_key')\n\n# Get job status\nresp = client.jobs_status(job_id=289022)"
            },
            {
              "language": "go",
              "code": "// Instantiate wrapper\nclient := neverbounce.New(\"api_key\")\n\n// Query a job's status\nstatusInfo, err := client.Jobs.Status(&nbModels.JobsStatusRequestModel{\n  JobID: 296050,\n})"
            },
            {
              "language": "ruby",
              "code": "# Instantiate API client\nclient = NeverBounce::API::Client.new(api_key: \"api_key\")\n\n# Parse job\nresp = client.jobs_status(job_id: 123)"
            },
            {
              "language": "csharp",
              "code": "// Create SDK object\nvar sdk = new NeverBounceSdk(\"api_key\");\n\n// Create job status model\nvar model = new JobStatusRequestModel();\nmodel.job_id = 290561;\n\n// Query job status\nJobStatusResponseModel resp = await sdk.Jobs.Status(model);",
              "name": ".NET"
            }
          ],
          "samples-languages": [
            "curl",
            "php",
            "javascript",
            "python",
            "go",
            "ruby",
            "csharp"
          ]
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```