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
composer require guzzlehttp/guzzle # already included in LaravelCreate 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
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.