Developer Documentation

API & WebhooksIntegration Guide

Integrate Assessly into your workflow with our REST API and real-time webhooks. Perfect for ATS, CRM, and custom application integrations.

API Access Required

API access is not available on the Free plan. Upgrade to Starter plan or higher to access the API and webhooks. All paid plans include API access with rate limits based on your plan tier.

REST API

Access submission data programmatically with our RESTful API. Fetch submissions, retrieve responses, and integrate with your existing systems.

  • List and filter submissions
  • Get detailed submission data
  • Secure API key authentication
  • Rate limiting protection

Webhooks

Receive real-time notifications when submissions are created or updated. Perfect for triggering workflows in your application.

  • Real-time event notifications
  • Automatic retry on failures
  • Secure signature verification
  • Filter by event types

Quick Start

1

Create API Key

Navigate to Dashboard → Settings → Integrations and create your API key. Copy it immediately as it will only be shown once.

sk_live_abc123...
2

Make API Request

Use your API key in the Authorization header to fetch submission data.

curl -H "Authorization: Bearer sk_..." \ https://assessly.app/api/v1/submissions
3

Setup Webhook

Register your endpoint URL to receive real-time notifications.

POST /webhooks/endpoints

Authentication

API Key Format

API keys follow the format: sk_live_<random_string>

Include your API key in the Authorization header:

javascript
const response = await fetch('https://assessly.app/api/v1/submissions?assessment_id=abc123&page=1&limit=50', {
method: 'GET',
headers: {
'Authorization': 'Bearer sk_live_abc123...',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);

Scopes & Permissions

ScopeDescription
submissions.readRead submission data (default)
submissions.writeCreate and update submissions
assessments.readRead assessment data and configurations
assessments.writeCreate, update, and delete assessments
webhooks.readView webhook configurations
webhooks.writeCreate and manage webhooks

Rate Limits

PlanRequests/Hour
Starter500
Pro2,000
Business5,000
EnterpriseCustom

API access is not available on the Free plan.

API Reference

URL Parameters & Custom Fields

Track candidate sources, campaign attribution, and integrate with external systems by adding custom URL parameters to your assessment links.

How It Works

Add any custom parameters to your assessment URL. All parameters (except reserved system parameters) are automatically captured and stored in the custom_fields object when a candidate submits the assessment.

https://assessly.app/a/company/assessment?source=linkedin&campaign_id=summer2024&referrer=john_doe

Reserved Parameters

The following parameters are reserved for system use and will not be captured in custom_fields:

tokenassessmentIdassessment_idcompanySlugassessmentSlugcompany-slugassessment-slug

Common Use Cases

🎯 Marketing Attribution

?source=linkedin&campaign_id=123

🔗 ATS Integration

?ats_candidate_id=12345

👥 Referral Tracking

?referrer=john_doe

📍 Location Data

?location=sf&office=hq

Accessing Custom Fields via API

Custom fields are included in all submission responses under the custom_fields object:

json
{
"id": "sub_123",
"assessment_id": "abc123",
"candidate_name": "John Doe",
"custom_fields": {
"source": "linkedin",
"campaign_id": "summer2024",
"referrer": "john_doe",
"ats_candidate_id": "12345"
}
}

Pro Tip

Use the built-in Link Builder in your assessment dashboard to easily create and manage custom parameters. Save parameter configurations for reuse across different campaigns.

Webhooks

Ready to Integrate?

Start building with our API today. Upgrade to a paid plan to access the API and create your API key in the dashboard.

API Documentation - Webhooks & REST API | Assessly Integrations | Assessly