openapi: 3.2.0 info: title: SmartLead Utilities API version: 1.0.0 description: '# SmartLead API Documentation Welcome to the SmartLead API! SmartLead is a comprehensive cold email outreach platform that helps you manage email campaigns, leads, email accounts, and analytics. ## Base URL All API requests should be made to: ``` https://server.smartlead.ai/api ``` ## Authentication SmartLead uses API keys for authentication. Include your API key as a query parameter in all requests: ``` ?api_key=YOUR_API_KEY ``` You can generate your API key from your SmartLead dashboard under Settings > API Keys. ## Rate Limiting API requests are rate-limited to ensure fair usage. If you exceed the rate limit, you''ll receive a 429 error. ## Support For API support, contact support@smartlead.ai or visit https://smartlead.ai ' contact: name: SmartLead Support email: support@smartlead.ai url: https://smartlead.ai license: name: Proprietary url: https://smartlead.ai/terms servers: - url: https://server.smartlead.ai/api description: Production server - url: https://staging.smartlead.ai/api description: Staging server (for testing) security: - ApiKeyAuth: [] tags: - name: Utilities description: Utility endpoints for various operations paths: /v1/send-email/initiate: post: tags: - Utilities summary: Send Single Email description: 'Sends a single transactional email outside of campaigns. **Use Cases:** - One-off email communications - Transactional emails - Testing email accounts **Note:** You must provide either `fromEmail` or `fromEmailId`, but not both. ' operationId: sendSingleEmail requestBody: required: true content: application/json: schema: type: object required: - to - subject - body properties: to: type: string format: email description: Recipient email address subject: type: string description: Email subject body: type: string description: Email body (HTML or plain text) fromEmail: type: string format: email description: Sender email address (use this OR fromEmailId) fromEmailId: type: integer description: Sender email account ID (use this OR fromEmail) fromName: type: string description: Sender name replyTo: type: string format: email description: Reply-to email address attachments: type: array items: type: object required: - filename - content - mimeType properties: filename: type: string content: type: string description: Base64 encoded file content mimeType: type: string responses: '200': description: Email sent successfully content: application/json: schema: type: object properties: ok: type: boolean example: true message_id: type: string '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthorizedError' '422': $ref: '#/components/responses/ValidationError' '500': $ref: '#/components/responses/InternalServerError' /v1/send-email/track-email/{trackId}: get: tags: - Utilities summary: Track Email Open description: 'Tracking pixel endpoint - records when an email is opened. **Note:** This is typically called automatically by email clients, not directly by API users. ' operationId: trackEmailOpen parameters: - name: trackId in: path required: true schema: type: string responses: '200': description: Tracking recorded content: image/png: schema: type: string format: binary /v1/subscription/credits-stats: get: tags: - Utilities summary: Get Credits Statistics description: 'Retrieves account credit usage and remaining credits. ' operationId: getCreditsStats parameters: - $ref: '#/components/parameters/ApiKeyParam' responses: '200': description: Credits statistics retrieved successfully content: application/json: schema: type: object properties: total_credits: type: integer used_credits: type: integer remaining_credits: type: integer '401': $ref: '#/components/responses/UnauthorizedError' '500': $ref: '#/components/responses/InternalServerError' components: responses: BadRequestError: description: Bad request - Invalid request parameters content: application/json: schema: type: object properties: error: type: string example: Invalid request parameters UnauthorizedError: description: Unauthorized - Invalid or missing API key content: application/json: schema: type: object properties: message: type: string example: Invalid API Key example: message: Invalid API Key InternalServerError: description: Internal server error content: application/json: schema: type: object properties: error: type: string example: Internal server error occurred ValidationError: description: Request validation failed content: application/json: schema: type: object properties: error: type: string example: Invalid parameters provided parameters: ApiKeyParam: name: api_key in: query description: Your SmartLead API key for authentication required: true schema: type: string example: REDACTED_STRIPE_KEY securitySchemes: ApiKeyAuth: type: apiKey in: query name: api_key description: 'Your SmartLead API key. You can generate this from your dashboard under Settings > API Keys. Include this as a query parameter in all API requests: ``` ?api_key=YOUR_API_KEY ``` '