{
  "info": {
    "name": "MailProbe API",
    "description": "Real-time email verification API (hosted in France, GDPR-compliant, results never cached).\n\n1. Set the collection variable `api_key` to your `mp_live_...` key, created from the MailProbe dashboard.\n2. Every request inherits Bearer auth from the collection — no per-request header to set.\n3. One credit is charged per address in a request, so a 500-address batch costs 500 credits. Check what's left with \"Check credit balance\".\n\nFull reference: https://mailprobe.dev/api-docs/ — OpenAPI spec: https://mailprobe.dev/openapi.json",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "base_url", "value": "https://mailprobe.dev", "type": "string" },
    { "key": "api_key", "value": "mp_live_your_key_here", "type": "string" }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{api_key}}", "type": "string" }]
  },
  "item": [
    {
      "name": "Verify a single email",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": "{{base_url}}/api/v1/verify",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"emails\": [\"contact@mailprobe.dev\"]\n}",
          "options": { "raw": { "language": "json" } }
        },
        "description": "Always returns an array, even for one address. Filter on `status` (valid / risky / invalid / unknown) and threshold `score` to fit your risk tolerance."
      }
    },
    {
      "name": "Verify in bulk",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": "{{base_url}}/api/v1/verify",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"emails\": [\n    \"contact@mailprobe.dev\",\n    \"hello@stripe.com\",\n    \"noreply@gmial.com\"\n  ]\n}",
          "options": { "raw": { "language": "json" } }
        },
        "description": "1 to 500 addresses per request, results returned in input order. The last address here is a deliberate typo: check `did_you_mean` in the response.\n\nRate limit: 60 requests per minute per key (a 500-address batch counts as one request). Body cap: 50 kB."
      }
    },
    {
      "name": "Check credit balance",
      "request": {
        "method": "GET",
        "url": "{{base_url}}/api/v1/credits",
        "description": "Credits are valid for 12 months from the most recent purchase; an expired balance returns 0."
      }
    }
  ]
}
