openapi: 3.0.3 info: title: Snov.io Authentication Sender Accounts 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: Sender Accounts paths: /v2/sender-accounts/emails: get: operationId: listSenderAccounts tags: - Sender Accounts summary: List connected email sender accounts (free) responses: '200': description: Connected sender accounts in the workspace. content: application/json: schema: type: array items: type: object additionalProperties: true post: operationId: createSenderAccount tags: - Sender Accounts summary: Connect a new email sender account requestBody: required: true content: application/json: schema: type: object required: - sender_name - email_from - password - smtp_host - smtp_port properties: sender_name: type: string email_from: type: string format: email password: type: string smtp_host: type: string smtp_port: type: integer smtp_encryption: type: string enum: - none - ssl - tls imap_host: type: string imap_port: type: integer reply_to: type: string daily_limitation: type: integer signature: type: string responses: '200': description: The created sender account. content: application/json: schema: type: object additionalProperties: true /v2/sender-accounts/emails/{id}: patch: operationId: updateSenderAccount tags: - Sender Accounts summary: Update a sender account parameters: - name: id in: path required: true schema: type: integer requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '200': description: The updated sender account. content: application/json: schema: type: object additionalProperties: true /v2/sender-accounts/check-sender-status: get: operationId: checkSenderStatus tags: - Sender Accounts summary: Check SMTP/IMAP status of a sender account parameters: - name: sender_account_id in: query required: true schema: type: integer responses: '200': description: Connection validity and any errors. content: application/json: schema: type: object additionalProperties: true components: 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: {}