openapi: 3.0.3 info: title: Snov.io Authentication Warm-up 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: Warm-up paths: /v2/warm-up: get: operationId: listWarmUpCampaigns tags: - Warm-up summary: List warm-up campaigns parameters: - name: page in: query schema: type: integer - name: per_page in: query schema: type: integer - name: status in: query schema: type: string responses: '200': description: Paginated warm-up campaigns. content: application/json: schema: type: object additionalProperties: true post: operationId: createWarmUpCampaign tags: - Warm-up summary: Create a warm-up campaign requestBody: required: true content: application/json: schema: type: object required: - sender_account_id - strategy properties: sender_account_id: type: integer strategy: type: string enum: - progressive - steady daily_goal: type: integer reply_rate: type: number deadline: type: string format: date responses: '200': description: The created warm-up campaign. content: application/json: schema: type: object additionalProperties: true /v2/warm-up/{id}: get: operationId: getWarmUpCampaign tags: - Warm-up summary: Get warm-up campaign details parameters: - name: id in: path required: true schema: type: integer responses: '200': description: Warm-up campaign configuration and statistics. content: application/json: schema: type: object additionalProperties: true patch: operationId: updateWarmUpCampaign tags: - Warm-up summary: Update a warm-up campaign 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 warm-up campaign. 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: {}