Developer Resources

Built for Developers, by Developers

Powerful REST API, 4 native SDKs on a shared TypeScript Core, real-time webhooks, and 80+ integrations. Everything you need to embed surveys into any application or workflow.

Quick Start
curl -X GET https://api.claform.com/api/v1/surveys \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

REST API

Comprehensive REST API

A fully documented, RESTful API with predictable resource-oriented URLs, JSON request/response bodies, and standard HTTP methods.

API Fundamentals

Base URLhttps://api.claform.com/api/v1

All endpoints are prefixed with the versioned base URL

AuthenticationAuthorization: Bearer

Generate API keys from your dashboard or use JWT for user-scoped access

Rate Limiting60 requests/minute

Default per-key rate limiting with higher tiers available; headers show remaining quota

FormatJSON (application/json)

All requests and responses use JSON encoding with UTF-8

EncryptionTLS 1.3 Required

All API traffic is encrypted end-to-end over HTTPS

Authentication Example

// Using API Key (recommended for server-to-server)
const headers = {
  'Authorization': 'Bearer sk_live_your_api_key',
  'Content-Type': 'application/json',
};

// Using JWT (for user-scoped access)
const { token } = await fetch('/api/v1/auth/login', {
  method: 'POST',
  body: JSON.stringify({ email, password }),
}).then(r => r.json());

Key Endpoints

GET
/api/v1/surveys

List all surveys with pagination, filtering, and sorting

POST
/api/v1/surveys

Create a new survey with questions, logic, and settings

GET
/api/v1/surveys/:id/responses

Retrieve survey responses with advanced filtering

POST
/api/v1/email-campaigns

Launch email distribution campaigns to audience lists

GET
/api/v1/analytics/surveys/:id

Get analytics with charts, trends, and AI insights

POST
/api/v1/webhooks

Register webhook endpoints for real-time events

75+ endpoints covering surveys, questions, responses, campaigns, analytics, audiences, contacts, integrations, webhooks, and administration. Full pagination, filtering, and sorting on all list endpoints.

Native SDKs

4 Native SDKs on a Shared Core

Embed surveys natively in any application. Four native SDKs are built on a shared TypeScript Core engine, each with all 35+ question types, offline support, theming, accessibility, and real-time event handling.

TypeScript Core

Web & Node.js · ~27KB gzipped

npm install @claform/sdk-core
  • Pure TypeScript, zero deps
  • 35+ question types
  • Offline support
  • Event-driven architecture
TypeScript Core Example
import { SurveySDK } from '@claform/sdk-core';

const sdk = new SurveySDK({
  apiKey: 'your-api-key',
  baseUrl: 'https://api.claform.com/api/v1',
});

const survey = await sdk.loadSurvey('survey-id');
const response = await sdk.submitResponse(answers);

React Native

iOS & Android · 262KB + Core

npm install @claform/sdk-react-native
  • Native UI components
  • 12 custom hooks
  • Offline queuing
  • Accessibility support
React Native Example
import { SurveyProvider, SurveyView } from '@claform/sdk-react-native';

function App() {
  return (
    <SurveyProvider apiKey="your-api-key">
      <SurveyView
        surveyId="survey-id"
        onComplete={(response) => console.log(response)}
      />
    </SurveyProvider>
  );
}

Flutter

iOS & Android · Pure Dart

flutter pub add claform_sdk_flutter
  • Material 3 theming
  • Provider state management
  • Offline sync
  • 35+ question widgets
Flutter Example
import 'package:claform_sdk_flutter/claform_sdk_flutter.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SurveyProvider(
      apiKey: 'your-api-key',
      child: SurveyScreen(surveyId: 'survey-id'),
    );
  }
}

iOS (Swift)

iOS 15+ · No External Deps

.package(url: "https://github.com/claform/sdk-ios")
  • SwiftUI native views
  • SPM & CocoaPods
  • UIKit bridge
  • Dynamic Type support
iOS (Swift) Example
import ClaformSDK

struct ContentView: View {
    var body: some View {
        SurveyView(
            apiKey: "your-api-key",
            surveyId: "survey-id"
        ) { response in
            print("Completed: \(response)")
        }
    }
}

Android (Kotlin)

API 24+ · Jetpack Compose

implementation("com.claform:sdk-android:1.0.0")
  • Compose UI
  • Material3 theme
  • Gradle version catalog
  • Coroutines & Flow
Android (Kotlin) Example
import com.claform.sdk.SurveyScreen
import com.claform.sdk.SurveyViewModel

@Composable
fun SurveyPage(viewModel: SurveyViewModel = viewModel()) {
    SurveyScreen(
        apiKey = "your-api-key",
        surveyId = "survey-id",
        onComplete = { response -> /* handle */ }
    )
}

Webhooks

Real-Time Event Notifications

Subscribe to events and get instant HTTP callbacks when things happen in your account. No polling required.

Supported Events

response.created

Triggered when a new survey response is submitted

response.updated

Triggered when a partial response is updated or completed

survey.published

Triggered when a survey is published and goes live

survey.closed

Triggered when a survey is closed to new responses

campaign.sent

Triggered when a distribution campaign is launched

campaign.delivered

Triggered when campaign messages are delivered

campaign.bounced

Triggered when campaign messages bounce

contact.opted_out

Triggered when a contact unsubscribes or opts out

Webhook Features

  • Signature Verification

    Every webhook payload is signed with HMAC-SHA256 using your secret key for tamper-proof delivery.

  • Automatic Retries

    Failed deliveries are retried with exponential backoff up to 5 times over 24 hours.

  • Delivery Logs

    Full delivery history with request/response bodies, status codes, and timing for debugging.

  • Event Filtering

    Subscribe only to the events you care about. Filter by survey, campaign, or event type.

Webhook Payload Example
{
  "event": "response.created",
  "timestamp": "2026-04-05T14:30:00Z",
  "data": {
    "responseId": "resp_abc123",
    "surveyId": "srv_xyz789",
    "status": "completed",
    "completionTime": 245,
    "answers": [...]
  },
  "signature": "sha256=..."
}

Integrations

Connect Your Entire Stack

Pre-built connectors for the most popular platforms, plus Zapier and Make for connecting to thousands more.

Automation

Zapier

Connect to 5,000+ apps with triggers and actions

Automation

Make

Visual workflow automation with complex scenarios

CRM

Salesforce

Sync responses with contacts, leads, and cases

CRM

HubSpot

Map survey data to deals, contacts, and tickets

Email

Mailchimp

Trigger surveys from email campaigns and segments

Email

Klaviyo

Embed surveys in customer journey flows

Messaging

Slack

Distribute surveys and receive notifications in channels

Messaging

Microsoft Teams

Send surveys via Teams bots and tabs

Quick Start

Up and Running in 3 Steps

From sign-up to your first API call in under 5 minutes.

01

Get Your API Key

Create a free account and generate an API key from your dashboard. Keys are scoped per project with configurable permissions and rate limits.

02

Install an SDK

Choose from 4 native SDKs or use the REST API directly. Each SDK includes full TypeScript/type definitions, comprehensive docs, and example code.

03

Ship It

Create your first survey, embed it in your app, and start collecting responses. Use webhooks to trigger real-time workflows.

75+
API Endpoints
4
Native SDKs
99.9%
API Uptime
<100ms
Avg. Response Time

Start Building Today

Get your free API key and make your first API call in minutes. Our generous free tier includes 1,000 API requests per day.

Free API accessNo credit card requiredFull documentation