🚧 SignThem is currently in beta. Some features may be incomplete.
Integration Guide
SDK coming soon

Laravel / PHP Esignature API Integration

The SignThem REST API integrates into any Laravel application using the Guzzle HTTP client that ships with the framework. The example below follows Laravel conventions - configuration via .env and the Http facade for clean, testable code. A first-party Composer package is planned - join the waitlist to get notified.

Installation

bash
composer require guzzlehttp/guzzle   # already included in Laravel

Create and send an envelope

The example below creates an envelope, adds a recipient with a signature field, and sends it. The recipient receives an email with a secure signing link.

PHP / Laravel
<?php

use Illuminate\Support\Facades\Http;

class SignThemService
{
    private string $apiKey;
    private string $baseUrl = 'https://signthem.ai/api/v1';

    public function __construct()
    {
        $this->apiKey = config('services.signthem.api_key');
    }

    private function client(): \Illuminate\Http\Client\PendingRequest
    {
        return Http::withToken($this->apiKey)
                   ->acceptJson()
                   ->asJson();
    }

    public function sendForSignature(string $documentUrl, string $signerEmail, string $signerName): string
    {
        // 1. Create envelope
        $envelope = $this->client()
            ->post("{$this->baseUrl}/envelopes", [
                'name'      => 'Service Agreement',
                'documents' => [
                    ['url' => $documentUrl],
                ],
            ])
            ->json();

        $envelopeId = $envelope['id'];

        // 2. Add recipient with signature field
        $this->client()
            ->post("{$this->baseUrl}/envelopes/{$envelopeId}/recipients", [
                'email'  => $signerEmail,
                'name'   => $signerName,
                'fields' => [
                    ['type' => 'signature', 'page' => 1, 'x' => 100, 'y' => 600],
                    ['type' => 'date',      'page' => 1, 'x' => 320, 'y' => 600],
                ],
            ]);

        // 3. Send - recipient receives an email with a signing link
        $this->client()
            ->post("{$this->baseUrl}/envelopes/{$envelopeId}/send");

        return $envelopeId;
    }
}

// In a controller:
// $envelopeId = app(SignThemService::class)
//     ->sendForSignature($documentUrl, $request->email, $request->name);

Why Laravel / PHP developers choose SignThem

Uses the Laravel Http facade

same patterns as any other external API call

Store your API key in .env and retrieve it via config() for security

Webhook events can be handled in a Laravel route with signature verification middleware

Official Composer package coming soon

join the waitlist for early access

Native SDK in development

A first-party SDK for this language is on the roadmap. In the meantime, the REST API works with any HTTP client as shown in the example above. Join the waitlist and we will notify you when the SDK ships.

Related resources

Ready to add e-signatures to your app?

Create an account to get your API key. Plans start at $6/mo. No usage fees on top.