Pricing Documentation Sign up Log in

Gates (beta)

Decision Endpoint

Use the Decision API to evaluate a Gate in real time.

Endpoint

POST /v0/gates/{gate_id}/decisions

Authentication

Include your API key in the Authorization header:

Authorization: Bearer <YOUR_API_KEY>

Request body

Either email or domain is required. If both are provided it will return 400 both_email_and_domain_provided.

{
  "email": "[email protected]"
}

or

{
  "domain": "example.com"
}

Example response

{
  "id": "01K1SKM0ZDCEEES5QA9N3M5EPX",
  "created_at": "2025-08-04T03:57:18+00:00",
  "input": { "email": "[email protected]" },
  "decision": {
    "action": "block",
    "matched_rule": {
      "id": "01k1hxqrn2f7xfreq20y0p012d",
      "name": "Block domains with no MX records",
      "message": "This domain is invalid."
    }
  },
  "signals": {
    "email": {
      "address": "[email protected]",
      "normalized": "[email protected]",
      "domain": "example.com",
      "disposable": false,
      "role_account": true
    },
    "domain": {
      "name": "example.com",
      "age_days": 10948,
      "mx": false,
      "mx_records": [],
      "disposable": false,
      "public_domain": false,
      "relay_domain": false,
      "spam": false
    }
  }
}

Error responses

  • 400 missing_input: Neither email nor domain provided
  • 400 invalid_email: The email format is invalid
  • 400 invalid_domain: The domain format is invalid
  • 401 unauthorized: Invalid or missing API key
  • 403 pro_only: Your account is not a Pro plan customer
  • 404 gate_not_found: Unknown gate_id
  • 429 rate_limit_exceeded: Too many requests
Previous
Quickstart