> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Allegrow: Validate Status

> Get the validation result and risk verdict for an email you submitted earlier, by its request ID. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Get the validation result and risk verdict for an email you submitted earlier, by its request ID.

> [!NOTE]
>
> Tool ID: `allegrow_validate_status`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'allegrow_validate_status',
  {
    "requestId": "request_123"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute allegrow_validate_status --input '{
  "requestId": "request_123"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "requestId": "request_123",
    "email": "jane.doe@example.com",
    "allegrowStatus": "example"
  }
}
```

Use `deepline describe allegrow_validate_status --json` for the latest machine-readable contract.

## Input reference

Poll an Allegrow validation request by requestId until a final result is available.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.requestId` | `string` | Yes | — | UUID returned by sync or async validation. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Poll an Allegrow validation request by requestId until a final result is available.",
    "properties": {
      "requestId": {
        "type": "string",
        "description": "UUID returned by sync or async validation."
      }
    },
    "required": [
      "requestId"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.requestId` | `string \| null` | No | — | — |
| `result.data.email` | `string \| null` | No | — | — |
| `result.data.allegrowStatus` | `string \| null` | No | — | Deprecated mirror of result.status. Read result.status instead. |
| `result.data.result` | `object \| null` | No | — | — |
| `result.data.result.status` | `"safe" \| "do_not_mail_abuse" \| "some_risk" \| "block_bounce_risk" \| "dead_email" \| "spamtrap" \| "more_time_required" \| "missing_email"` | No | — | safe = send. do\_not\_mail\_abuse = valid but high spam-report risk, skip email. some\_risk = inconclusive, hold. block\_bounce\_risk = invalid, remove. dead\_email = catch-all host, use other channels. Allowed: `safe`, `do_not_mail_abuse`, `some_risk`, `block_bounce_risk`, `dead_email`, `spamtrap`, `more_time_required`, `missing_email`. |
| `result.data.result.subStatus` | `"primary" \| null` | No | — | primary = main email for this contact. null = no extra context. Allowed: `primary`, `null`. |
| `result.data.pollUrl` | `string \| null` | No | — | Poll URL when validation is still in progress (HTTP 202 response). |
| `result.data.retryAfter` | `number \| null` | No | — | Seconds to wait before polling (HTTP 202 response). |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "requestId": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "allegrowStatus": {
            "type": [
              "string",
              "null"
            ],
            "description": "Deprecated mirror of result.status. Read result.status instead."
          },
          "result": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "status": {
                "type": "string",
                "description": "safe = send. do_not_mail_abuse = valid but high spam-report risk, skip email. some_risk = inconclusive, hold. block_bounce_risk = invalid, remove. dead_email = catch-all host, use other channels.",
                "enum": [
                  "safe",
                  "do_not_mail_abuse",
                  "some_risk",
                  "block_bounce_risk",
                  "dead_email",
                  "spamtrap",
                  "more_time_required",
                  "missing_email"
                ]
              },
              "subStatus": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "primary = main email for this contact. null = no extra context.",
                "enum": [
                  "primary",
                  null
                ]
              }
            },
            "additionalProperties": false
          },
          "pollUrl": {
            "type": [
              "string",
              "null"
            ],
            "description": "Poll URL when validation is still in progress (HTTP 202 response)."
          },
          "retryAfter": {
            "type": [
              "number",
              "null"
            ],
            "description": "Seconds to wait before polling (HTTP 202 response)."
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Allegrow provider guide](https://deepline.com/docs/providers/allegrow/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.