openapi: 3.0.3 info: title: Snov.io Authentication Email Verifier API description: 'Snov.io sales engagement REST API. Authentication uses the OAuth2 client_credentials grant to exchange an API User ID (client_id) and API Secret (client_secret) for a one-hour Bearer access token. Email finder, domain search, and email verification use an asynchronous pattern: a POST to a `/start` endpoint returns a `task_hash`, then a GET to the matching `/result` endpoint retrieves the outcome. Most request bodies are application/x-www-form-urlencoded; a few v2 endpoints accept JSON. The API is rate limited to 60 requests per minute.' termsOfService: https://snov.io/terms-and-conditions contact: name: Snov.io Support url: https://snov.io/api version: '1.0' servers: - url: https://api.snov.io description: Snov.io production API security: - OAuth2: [] tags: - name: Email Verifier paths: /v2/email-verification/start: post: operationId: startEmailVerification tags: - Email Verifier summary: Start email verification description: Starts verification for up to ten email addresses at once. Each email is added as a separate parameter. Supports an optional webhook_url for async delivery of results. requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object required: - emails properties: emails: type: array maxItems: 10 items: type: string format: email webhook_url: type: string format: uri responses: '200': description: Verification task started. content: application/json: schema: $ref: '#/components/schemas/TaskStarted' /v2/email-verification/result: get: operationId: getEmailVerificationResult tags: - Email Verifier summary: Get email verification result parameters: - $ref: '#/components/parameters/TaskHashQuery' responses: '200': description: Verification results with SMTP and quality signals. content: application/json: schema: $ref: '#/components/schemas/EmailVerificationResult' components: schemas: EmailVerificationResult: type: object properties: success: type: boolean data: type: array items: type: object properties: email: type: string format: email smtp_status: type: string enum: - valid - not_valid - unknown is_valid_format: type: boolean is_disposable: type: boolean is_webmail: type: boolean is_gibberish: type: boolean TaskStarted: type: object properties: success: type: boolean task_hash: type: string status: type: string example: in_progress parameters: TaskHashQuery: name: task_hash in: query required: true description: The task hash returned by the matching /start endpoint. schema: type: string securitySchemes: OAuth2: type: oauth2 description: OAuth2 client_credentials flow. POST client_id and client_secret to /v1/oauth/access_token to obtain a Bearer token, then send it in the Authorization header. flows: clientCredentials: tokenUrl: https://api.snov.io/v1/oauth/access_token scopes: {}