Developer Tools

OFFICIAL SDKS

Production-ready libraries for every major language. Full TypeScript support, automatic retries, signature verification built-in. Start sending webhooks in minutes.

๐ŸŸข

NODE.JS

v2.4.1 โ€ข Updated Jan 2026

Full-featured SDK for Node.js and TypeScript applications. Includes complete type definitions, async/await support, and built-in retry logic.

Install via npm
npm install @patternhooks/sdk
TypeScript ESM + CJS Node 16+ Async/Await
๐Ÿ

PYTHON

v2.3.0 โ€ข Updated Jan 2026

Pythonic SDK with full type hints and async support. Compatible with Django, Flask, FastAPI, and any Python web framework.

Install via pip
pip install patternhooks
Type Hints Async Support Python 3.8+ Pydantic
๐Ÿ”ต

GO

v1.8.2 โ€ข Updated Dec 2025

Idiomatic Go library with zero external dependencies. Designed for high-performance applications with minimal memory footprint.

Install via go get
go get github.com/patternhooks/go
Go 1.18+ Zero Deps Context Support Generics
๐Ÿ’Ž

RUBY

v2.1.0 โ€ข Updated Dec 2025

Ruby gem following Ruby conventions and best practices. Works seamlessly with Rails, Sinatra, and any Rack-based application.

Install via gem
gem install patternhooks
Ruby 2.7+ Rails Ready Faraday RSpec Helpers
๐Ÿ˜

PHP

v2.0.3 โ€ข Updated Nov 2025

Modern PHP library with PSR-18 HTTP client support. Compatible with Laravel, Symfony, and standalone PHP applications.

Install via composer
composer require patternhooks/sdk
PHP 8.0+ PSR-18 Laravel Symfony
โ˜•

JAVA

v1.5.0 โ€ข Updated Nov 2025

Java SDK with support for Java 11+ and Kotlin. Published to Maven Central with comprehensive JavaDoc documentation.

Add to pom.xml
<artifactId>patternhooks</artifactId>
Java 11+ Kotlin Maven Central Spring Boot

INCLUDED IN EVERY SDK

All our SDKs share the same features and capabilities

๐Ÿ“ก
FULL API COVERAGE
Every API endpoint wrapped in intuitive methods with proper error handling
๐Ÿ”
SIGNATURE VERIFICATION
Built-in webhook signature verification to ensure authenticity
๐Ÿ”„
AUTOMATIC RETRIES
Configurable retry logic with exponential backoff for failed requests
๐Ÿ“
TYPE DEFINITIONS
Complete type definitions for IDE autocomplete and type checking
โšก
ASYNC SUPPORT
Native async/await support for non-blocking operations
๐Ÿงช
TEST HELPERS
Mock clients and test utilities for unit and integration testing
๐Ÿ“š
DOCUMENTATION
Comprehensive docs with examples for every method and use case
๐Ÿ’ฌ
PRIORITY SUPPORT
Direct access to our engineering team for SDK-related questions

CODE EXAMPLES

See how simple it is to send webhooks in your language

// Initialize the client import { PatternHooks } from '@patternhooks/sdk'; const ph = new PatternHooks('sk_live_xxx'); // Create an application const app = await ph.application.create({ name: 'Acme Corp', uid: 'customer_123' }); // Send a webhook await ph.message.create(app.id, { eventType: 'order.created', payload: { orderId: 'ord_abc', amount: 9900 } });
# Initialize the client from patternhooks import PatternHooks ph = PatternHooks("sk_live_xxx") # Create an application app = ph.application.create( name="Acme Corp", uid="customer_123" ) # Send a webhook ph.message.create(app.id, event_type="order.created", payload={"orderId": "ord_abc", "amount": 9900} )
// Initialize the client import "github.com/patternhooks/go" ph := patternhooks.New("sk_live_xxx") // Create an application app, _ := ph.Application.Create(ctx, &patternhooks.AppInput{ Name: "Acme Corp", UID: "customer_123", }) // Send a webhook ph.Message.Create(ctx, app.ID, &patternhooks.MessageInput{ EventType: "order.created", Payload: map[string]any{"orderId": "ord_abc"}, })
# Initialize the client require 'patternhooks' ph = PatternHooks::Client.new('sk_live_xxx') # Create an application app = ph.application.create( name: 'Acme Corp', uid: 'customer_123' ) # Send a webhook ph.message.create(app.id, event_type: 'order.created', payload: { orderId: 'ord_abc', amount: 9900 } )
// Initialize the client use PatternHooks\Client; $ph = new Client('sk_live_xxx'); // Create an application $app = $ph->application->create([ 'name' => 'Acme Corp', 'uid' => 'customer_123' ]); // Send a webhook $ph->message->create($app->id, [ 'eventType' => 'order.created', 'payload' => ['orderId' => 'ord_abc'] ]);

GET STARTED IN 5 MINUTES

Our SDKs are designed to get you up and running as quickly as possible. Follow these simple steps to send your first webhook.

1
Install the SDK using your package manager
2
Get your API key from the dashboard
3
Create an application for your customer
4
Add an endpoint URL to receive webhooks
5
Send your first event โ€” we handle delivery
# Quick example: Send a webhook in 3 lines from patternhooks import PatternHooks ph = PatternHooks("sk_live_xxx") ph.message.create("app_xxx", event_type="user.signup", payload={"userId": "123"})

NEED HELP?

Our team is here to help you integrate PatternHooks into your application