> ## 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.

# Quickstart

> Install the Paubox Perl SDK and send your first HIPAA-compliant email in minutes.

<Steps>
  <Step title="Install the SDK">
    Install from CPAN using cpanminus:

    ```bash theme={null}
    cpanm Paubox_Email_SDK
    ```
  </Step>

  <Step title="Set your credentials">
    Create a `config.cfg` file in your project directory:

    ```
    API_KEY = YOUR_API_KEY
    API_USERNAME = YOUR_USERNAME
    ```

    The SDK reads this file automatically. To obtain credentials, see [Authentication](/perl-sdk/authentication).
  </Step>

  <Step title="Send your first email">
    Create a file `send.pl`:

    ```perl theme={null}
    use Paubox_Email_SDK;

    my $msg = Paubox_Email_SDK::Message->new(
        'from'         => 'sender@yourdomain.com',
        'to'           => ['recipient@example.com'],
        'subject'      => 'Your first Paubox email',
        'text_content' => 'This message was sent with the Paubox Perl SDK.',
    );

    my $service  = Paubox_Email_SDK->new();
    my $response = $service->sendMessage($msg);

    print "Response: $response\n";
    ```

    Run it:

    ```bash theme={null}
    perl send.pl
    ```

    The response is a JSON string containing `sourceTrackingId`:

    ```json theme={null}
    {"sourceTrackingId":"abc123-def456-...","data":{"message":{"id":"..."}}}
    ```
  </Step>

  <Step title="Check delivery status">
    Pass the tracking ID to `getEmailDisposition`:

    ```perl theme={null}
    use JSON;

    my $json     = decode_json($response);
    my $tracking = $json->{sourceTrackingId};

    my $disposition = $service->getEmailDisposition($tracking);
    print "Disposition: $disposition\n";
    ```

    The response JSON includes `message_deliveries` with per-recipient status.
  </Step>
</Steps>

## Next steps

* [Email client](/perl-sdk/email-client): add HTML, attachments, CC/BCC, and handle errors
* [Forms client](/perl-sdk/forms-client): retrieve form schemas and submit responses
