> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ensend.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Integrate Ensend into your applications using the official developer SDKs and API.

## Overview

Ensend ships primarily as a dependency-free REST API and supports requests from any valid HTTP Client. To enhance your developer experience, we have provided SDKs for major programming languages.

This guide shows how to install and configure these SDKs or your http client to begin using ensend in your application

<Note>
  Alternatively, you can send emails using our [SMTP Server](/smtp-server).
</Note>

<Tabs>
  <Tab title="Typescript">
    <Steps>
      <Step title="Install from the package manager">
        <CodeGroup>
          ```shellscript bun theme={"dark"}
          bun add ensend@latest
          ```

          ```shellscript yarn theme={"dark"}
          yarn add ensend@latest
          ```

          ```shellscript npm theme={"dark"}
          npm install ensend@latest
          ```

          ```shellscript pnpm theme={"dark"}
          pnpm install ensend@latest
          ```
        </CodeGroup>
      </Step>

      <Step title="Initialize the SDK">
        ```typescript ensend.config.ts highlight={4} theme={"dark"}
        import { Client } from "ensend"

        const ensend = new Client({
          secret: "your_project_secret",
        });

        export ensend
        ```
      </Step>

      <Step title="Send your first message">
        Send an Email message, SMS, WhatsApp message or push notification

        <CodeGroup>
          ```typescript Email Message highlight={5-6,9-10} theme={"dark"}
          const { data, error } = await ensend.SendApi.SendMailMessage({
            subject: "Ensend Test Email",
            message: "<b>It works 🎉</b>",
            sender: {
              name: "your_identity_name",
              address: "your_sender_identity"
            },
            recipients: {
              name: "your_recipient_name",
              address: "your_recipient_address"
            }
          });
          ```

          ```typescript SMS Message theme={"dark"}
          // coming soon
          ```

          ```typescript WhatsApp Message theme={"dark"}
          // coming soon
          ```

          ```typescript Push Notification theme={"dark"}
          // coming soon
          ```
        </CodeGroup>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Go">
    <Steps>
      <Step title="Install from package manager">
        ```shellscript theme={"dark"}
        go get github.com/ensendco/ensend-go
        ```
      </Step>

      <Step title="Initialize the SDK">
        ```go highlight={2} theme={"dark"}
        import "github.com/express-labs/ensend-client-go"
        client := ensend.New(option.WithProjectSecret("your_project_secret"))
        ```
      </Step>

      <Step title="Send your first message" />
    </Steps>
  </Tab>

  <Tab title="Rest API">
    <Steps>
      <Step title="Grab the base url">
        ```shellscript API BASEURL theme={"dark"}
        https://api.ensend.co
        ```
      </Step>

      <Step title="Set your request headers">
        <CodeGroup>
          ```javascript Javascript highlight={4,14} theme={"dark"}
          const baseurl = "https://api.ensend.co/send/mail"

          const requestHeaders = new Headers();
          requestHeaders.append("Authorization", "Bearer <your_project_secret>");
          requestHeaders.append("Content-Type", "application/json");
          ```

          ```python Python highlight={4} theme={"dark"}
          baseurl = "https://api.ensend.co/send/mail"

          request_headers = {
            'Authorization': 'Bearer <your_project_secret>',
            'Content-Type': 'application/json'
          }
          ```

          ```shellscript cURL highlight={2} theme={"dark"}
          curl -XPOST 'https://api.ensend.co/send/mail'
           -H 'Authorization: Bearer <your_project_secret>' 
           -H 'Content-type: application/json'

          ```
        </CodeGroup>
      </Step>

      <Step title="Send your api request">
        Send an email, sms, whatsapp or push notification

        <Check>
          All set here. You are  ready to [obtain your project secret](/authentication)
        </Check>
      </Step>
    </Steps>
  </Tab>
</Tabs>
