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

# C# SDK quickstart

> Add the Paubox C# SDK and send your first HIPAA compliant email in minutes.

<Steps>
  <Step title="Add the SDK">
    The SDK is not on NuGet, and the `lib/Paubox.Email.API.dll` committed to the repository is a 2019 build that lacks most of this API. Clone the repository and reference the SDK project:

    ```bash theme={null}
    git clone https://github.com/Paubox/paubox-csharp.git
    ```

    ```xml theme={null}
    <ItemGroup>
      <ProjectReference Include="path\to\paubox-csharp\Paubox_Csharp\EmailLib\EmailLib.csproj" />
    </ItemGroup>
    ```

    To reference a DLL instead, see [Installation](/csharp-sdk#installation).
  </Step>

  <Step title="Instantiate the client">
    Pass your API key directly to the constructor:

    ```csharp theme={null}
    using Paubox;

    var emailLib = new EmailLibrary("YOUR_API_KEY");
    ```

    For ASP.NET Core applications, see [Authentication](/csharp-sdk/authentication) for the `IConfiguration` approach.
  </Step>

  <Step title="Send your first email">
    ```csharp theme={null}
    var message = new Message
    {
        Recipients = new[] { "recipient@example.com" },
        Header = new Header
        {
            From    = "sender@yourdomain.com",
            Subject = "Your first Paubox email"
        },
        Content = new Content
        {
            PlainText = "This message was sent with the Paubox C# SDK."
        }
    };

    SendMessageResponse response = emailLib.SendMessage(message);

    Console.WriteLine("Sent. Tracking ID: " + response.SourceTrackingId);
    ```
  </Step>

  <Step title="Check delivery status">
    ```csharp theme={null}
    GetEmailDispositionResponse disposition =
        emailLib.GetEmailDisposition(response.SourceTrackingId);

    foreach (var delivery in disposition.Data.Message.Message_Deliveries)
    {
        Console.WriteLine($"{delivery.Recipient} → {delivery.Status.DeliveryStatus}");
    }
    ```
  </Step>
</Steps>

## Next steps

* [Email client](/csharp-sdk/email-client): bulk send, attachments, dynamic templates, error handling
* [Forms client](/csharp-sdk/forms-client): retrieve form schemas and submit responses


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.