Partner Onboarding & Integration Guide
This guide details the integration flow for the Social Signal Partner API. Partners can programmatically provision client accounts (Users) and register/configure tracking domains (Domains).
1. Authentication
All requests to the Partner API must be authenticated using your Partner API Key. Pass this key in the Authorization header as a Bearer token:
- Base URL:
https://beacon.socialsignal.ai/api/v2 - Partner ID (PID) for this integration:
SDL
2. Accounts Management & One-Shot Provisioning (/partner/accounts)
The Accounts API provides the primary interface for managing client accounts. It supports one-shot account creation (provisioning User + Login + Primary Domain in a single POST call) and hydrated object inspection (GET with ?expand=domains,logins,metrics).
2.1 One-Shot Account Provisioning
Provision a complete client account, admin login, and primary tracking domain in 1 single HTTP request.
- Method:
POST - Path:
/partner/accounts - Example Request (HTTPie):
http POST https://beacon.socialsignal.ai/api/v2/partner/accounts \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
_id="SDLR_D10000" \
company="Super Dealer LLC" \
login:='{"email":"admin@superdealer.com","password":"SecurePassword123!"}' \
domain:='{"domain":"superdealer.com","monthlyCredits":250,"enablement":true}' \
--ignore-stdin
- Example Response (
201 Created):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"company": "Super Dealer LLC",
"status": "active",
"logins": [
{ "email": "admin@superdealer.com", "_id": "SDLR_D10000", "pid": "SDL", "type": "user" }
],
"domains": [
{
"_id": "SDLR_D10000",
"pid": "SDL",
"domain": "superdealer.com",
"monthlyCredits": 250,
"enablement": true,
"status": "active"
}
]
}
2.2 Get Account Details (Hydrated)
Retrieve a full composite account object including associated logins, domains, and KPI metrics.
- Method:
GET - Path:
/partner/accounts/SDLR_D10000?expand=domains,logins,metrics - Example Request (HTTPie):
http GET "https://beacon.socialsignal.ai/api/v2/partner/accounts/SDLR_D10000?expand=domains,logins,metrics" \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
2.3 List Partner Accounts
Retrieve all client accounts belonging to your partner identity.
- Method:
GET - Path:
/partner/accounts - Example Request (HTTPie):
http GET "https://beacon.socialsignal.ai/api/v2/partner/accounts?expand=domains,logins" \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
3. Legacy User & Domain Endpoints Reference (Standalone)
2.1 Create Partner User
Provision a new client account under your reselling partner identity.
- Method:
POST - Path:
/partner/users - Request Body:
- Example Request (HTTPie):
http POST https://beacon.socialsignal.ai/api/v2/partner/users \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
_id="SDLR_D10000" \
company="Super Dealer" \
domains:='["superdealer.com"]' \
--ignore-stdin
- Example Response (201 Created):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"company": "Super Dealer",
"domains": ["superdealer.com"],
"status": "active"
}
2.2 List Partner Users
Retrieve all active and non-archived user records belonging to your partner ID (SDL).
- Method:
GET - Path:
/partner/users - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/users \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
[
{
"_id": "SDLR_D10000",
"pid": "SDL",
"company": "Super Dealer",
"domains": ["superdealer.com"],
"status": "active"
}
]
2.3 Get Partner User
Retrieve details of a specific user account under your partner namespace.
- Method:
GET - Path:
/partner/users/SDLR_D10000 - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000 \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"company": "Super Dealer",
"domains": ["superdealer.com"],
"status": "active"
}
2.4 Update Partner User
Modify fields on a specific user record.
- Method:
PATCH - Path:
/partner/users/SDLR_D10000 - Request Body:
- Example Request (HTTPie):
http PATCH https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000 \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
company="Super Dealer Group" \
status="active" \
--ignore-stdin
- Example Response (200 OK):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"company": "Super Dealer Group",
"domains": ["superdealer.com"],
"status": "active"
}
2.5 Delete/Archive Partner User
Soft-deletes a client user account. This marks their status as archived and disables their tracking capabilities.
- Method:
DELETE - Path:
/partner/users/SDLR_D10000 - Example Request (HTTPie):
http DELETE https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000 \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
2.6 Create/Replace Domain Config
Add or completely replace the tracking configuration of a domain for a specific user.
[!NOTE] The
monthlyCreditsfield must be set to one of the allowed subscription increments:0,75,250,1000, or2500.
- Method:
PUT - Path:
/partner/users/SDLR_D10000/domains/superdealer.com - Request Body:
{
"enablement": true,
"instantCredits": 100,
"weeklyCredits": 0,
"monthlyCredits": 250,
"minVisitsToMatch": 2,
"status": "active"
}
- Example Request (HTTPie):
http PUT https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains/superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
enablement:=true \
instantCredits:=100 \
weeklyCredits:=0 \
monthlyCredits:=250 \
minVisitsToMatch:=2 \
status="active" \
--ignore-stdin
- Example Response (200 OK):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"domain": "superdealer.com",
"enablement": true,
"instantCredits": 100,
"weeklyCredits": 0,
"monthlyCredits": 250,
"minVisitsToMatch": 2,
"status": "active",
"collectLeads": false
}
2.7 List Partner Domains
Retrieve all configured domains for a specific user.
- Method:
GET - Path:
/partner/users/SDLR_D10000/domains - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
[
{
"_id": "SDLR_D10000",
"pid": "SDL",
"domain": "superdealer.com",
"enablement": true,
"instantCredits": 100,
"weeklyCredits": 0,
"monthlyCredits": 250,
"minVisitsToMatch": 2,
"status": "active",
"collectLeads": false
}
]
2.8 Get Partner Domain Config
Retrieve configuration details for a specific registered domain.
- Method:
GET - Path:
/partner/users/SDLR_D10000/domains/superdealer.com - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains/superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"domain": "superdealer.com",
"enablement": true,
"instantCredits": 100,
"weeklyCredits": 0,
"monthlyCredits": 250,
"minVisitsToMatch": 2,
"status": "active",
"collectLeads": false
}
2.9 Update Partner Domain Config
Selectively update properties of an active domain config.
- Method:
PATCH - Path:
/partner/users/SDLR_D10000/domains/superdealer.com - Request Body:
- Example Request (HTTPie):
http PATCH https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains/superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
minVisitsToMatch:=3 \
enablement:=false \
--ignore-stdin
- Example Response (200 OK):
{
"_id": "SDLR_D10000",
"pid": "SDL",
"domain": "superdealer.com",
"enablement": false,
"instantCredits": 100,
"weeklyCredits": 0,
"monthlyCredits": 250,
"minVisitsToMatch": 3,
"status": "active",
"collectLeads": false
}
2.10 Delete/Archive Domain Config
Soft-deletes a domain configuration. This sets the status to archived and sets enablement to false.
- Method:
DELETE - Path:
/partner/users/SDLR_D10000/domains/superdealer.com - Example Request (HTTPie):
http DELETE https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains/superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
3. Login Credentials Management
Use these endpoints to provision and manage access credentials for partner sub-users.
3.1 Provision User Login
Create a login email and password for a provisioned partner user account.
- Method:
POST - Path:
/partner/logins - Example Request (HTTPie):
http POST https://beacon.socialsignal.ai/api/v2/partner/logins \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
email="jane@superdealer.com" \
password="SuperSecurePassword123!" \
_id="SDLR_D10000" \
--ignore-stdin
- Example Response (201 Created):
3.2 List Partner Logins
Retrieve login credentials provisioned under your partner account.
- Method:
GET - Path:
/partner/logins - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/logins \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
3.3 Get Login Record
Retrieve single login details by email.
- Method:
GET - Path:
/partner/logins/jane@superdealer.com - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/logins/jane@superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
3.4 Reset Login Password
Update/reset the password for a user login email.
- Method:
PATCH - Path:
/partner/logins/jane@superdealer.com - Example Request (HTTPie):
http PATCH https://beacon.socialsignal.ai/api/v2/partner/logins/jane@superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
password="NewSecurePassword456!" \
--ignore-stdin
3.5 Revoke/Delete Login Record
Delete a login record by email.
- Method:
DELETE - Path:
/partner/logins/jane@superdealer.com - Example Request (HTTPie):
http DELETE https://beacon.socialsignal.ai/api/v2/partner/logins/jane@superdealer.com \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
4. Metrics & Analytics
Use these endpoints to query aggregated metrics and trends across your resold client portfolio for partner portal dashboards.
3.1 Get Partner Metrics Summary
Retrieve partner-wide high-level metrics (active client accounts, domains, credits, and traffic stats).
- Method:
GET - Path:
/partner/metrics/summary - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/metrics/summary \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
{
"totalUsers": 12,
"totalDomains": 18,
"totalCreditsRemaining": 5450,
"visitsToday": 248,
"visitsThisWeek": 1850,
"visitsThisMonth": 7890,
"leadsToday": 14,
"leadsThisWeek": 98,
"leadsThisMonth": 412,
"overallMatchRate": 5.22
}
3.2 Get Per-Domain Metrics Breakdown
Retrieve a list of all domain records and their respective remaining credits and rolling lead counts.
- Method:
GET - Path:
/partner/metrics/domains - Query Parameters:
limit(optional): Pagination size limit (default20, max100).offset(optional): Pagination offset (default0).- Example Request (HTTPie):
http GET "https://beacon.socialsignal.ai/api/v2/partner/metrics/domains?limit=5" \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
[
{
"userId": "SDLR_D10000",
"company": "Super Dealer",
"domain": "superdealer.com",
"status": "active",
"leadsToday": 4,
"leadsThisWeek": 28,
"leadsThisMonth": 120,
"creditsRemaining": 880
}
]
3.3 Get Partner Performance Timeseries
Retrieve daily rolling visit and lead match counts over a historical window (default 30 days) to plot performance charts.
- Method:
GET - Path:
/partner/metrics/timeseries - Query Parameters:
days(optional): Number of historical days to fetch (default30, max90).- Example Request (HTTPie):
http GET "https://beacon.socialsignal.ai/api/v2/partner/metrics/timeseries?days=7" \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
[
{
"date": "2026-07-15",
"visits": 180,
"leads": 9,
"matchRate": 5.0
},
{
"date": "2026-07-16",
"visits": 210,
"leads": 12,
"matchRate": 5.71
}
]
3.4 Get User Metrics Summary
Retrieve high-level metrics and remaining credits aggregated across all domains for a specific user under the partner.
- Method:
GET - Path:
/partner/users/SDLR_D10000/metrics/summary - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/metrics/summary \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
{
"totalUsers": 1,
"totalDomains": 1,
"totalCreditsRemaining": 880,
"visitsToday": 24,
"visitsThisWeek": 180,
"visitsThisMonth": 790,
"leadsToday": 2,
"leadsThisWeek": 14,
"leadsThisMonth": 60,
"overallMatchRate": 7.59
}
3.5 Get User Performance Timeseries
Retrieve daily rolling visit and lead match counts for a specific user over a historical window (default 30 days) to plot client-specific charts.
- Method:
GET - Path:
/partner/users/SDLR_D10000/metrics/timeseries - Query Parameters:
days(optional): Number of historical days to fetch (default30, max90).- Example Request (HTTPie):
http GET "https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/metrics/timeseries?days=7" \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
3.6 Get Domain Metrics Summary
Retrieve metrics (credits remaining, match rates, and traffic stats) for a single tracking domain registered to a partner user.
- Method:
GET - Path:
/partner/users/SDLR_D10000/domains/superdealer.com/metrics/summary - Example Request (HTTPie):
http GET https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains/superdealer.com/metrics/summary \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):
{
"totalUsers": 1,
"totalDomains": 1,
"totalCreditsRemaining": 880,
"visitsToday": 10,
"visitsThisWeek": 75,
"visitsThisMonth": 310,
"leadsToday": 1,
"leadsThisWeek": 6,
"leadsThisMonth": 24,
"overallMatchRate": 7.74
}
3.7 Get Domain Performance Timeseries
Retrieve daily rolling visit and lead match counts for a specific tracking domain over a historical window (default 30 days) to plot domain-specific charts.
- Method:
GET - Path:
/partner/users/SDLR_D10000/domains/superdealer.com/metrics/timeseries - Query Parameters:
days(optional): Number of historical days to fetch (default30, max90).- Example Request (HTTPie):
http GET "https://beacon.socialsignal.ai/api/v2/partner/users/SDLR_D10000/domains/superdealer.com/metrics/timeseries?days=7" \
Authorization:"Bearer <YOUR_PARTNER_API_KEY>" \
--ignore-stdin
- Example Response (200 OK):