Create School Alumni signal
Reach the alumni of a school you or your buyers attended: a business school, an engineering school, a university. Each lead is a former student of the school, at the company they work at now, filtered to the roles and companies you target. Optionally keep only the people who studied there during the years you choose, for example your own class years.
Input: schoolUrls (1-10 LinkedIn school page URLs or numeric school ids, required to activate); studyPeriod (optional: keep only people who studied there in these years, {"fromYear": 2010, "toYear": 2018}, either bound may be omitted); acceptUnknownStudyDates (with studyPeriod: keep people whose profile gives no study dates for this school, true by default, or drop them with false); frequency (continuous, the default: deliver the matching people up to dailyLeadLimit a day, then keep delivering the new ones as they appear; one_time: deliver up to oneTimeCount people in total, then stop); oneTimeCount (with one_time: how many people to deliver, counted after your filters, 1-25,000, defaults to 500, still paced by dailyLeadLimit); optional persona targeting (targetPersonas, customPersonaTitles, excludedTitles); optional ICP filters on the person's current employer and location (locations, excludedLocations, companySizeFilters, excludedCompanySizeFilters, allowUnknownCompanySize, industryFilters, excludedIndustryFilters, companyTypeFilters, excludedCompanyUrls) - with no filter at all, every alumnus is delivered; optional enrichment toggles (getEmails, getPhones, getSireneData, detectTechnologies, getHomepageContent); webhookUrl, dailyLeadLimit, duplicateHandling, status. 3 credits per lead delivered. Activating with status: active checks that at least one school page is set and that studyPeriod is valid, and answers 400 otherwise. This signal type is opened per account: an account it is not open to gets 400 SIGNAL_INACTIVE.
Output: each matching person is pushed to your webhookUrl as an enriched person lead: the contact (name, email if enriched, phone if enriched, title, location, LinkedIn profile URL, matched persona), their current employer (company name, website, LinkedIn URL, plus tech stack and homepage content when those enrichments are enabled), and in the signal block: tracked_company (the LinkedIn page of the school from schoolUrls the lead studied at), affiliation_relation (always former), affiliation_name (the school's name), and, when the signal has a studyPeriod and the profile gives them, study_start_year / study_end_year. affiliation_started, affiliation_ended and overlap_months are always null on this signal. Every key is always present, null when unknown.
Use cases:
- Shared-school openers - reach the alumni of a school you or your founders attended, and open with what you have in common.
- Buyer-school prospecting - target the schools your best buyers come from and reach the alumni in the same roles.
- Class-year campaigns - narrow to the years you studied there (studyPeriod) for an introduction between classmates.
Request
- Base URL: https://api.rodz.io (the document declares no server; this is the origin it was published from)
- URL: https://api.rodz.io/api/v1/signals/school-alumni
- Auth: HTTP bearer
Request body
Example request
{
"config": {
"acceptUnknownStudyDates": false,
"companySizeFilters": [
"201-500",
"501-1000"
],
"excludedTitles": [
"Intern"
],
"frequency": "continuous",
"getEmails": true,
"locations": [
"France"
],
"schoolUrls": [
"https://www.linkedin.com/school/kedge-business-school/"
],
"studyPeriod": {
"fromYear": 2010,
"toYear": 2018
},
"targetPersonas": [
"Chief Financial Officer",
"Finance Director"
]
},
"dailyLeadLimit": 20,
"name": "Alumni of our founders' business school",
"status": "active",
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Response
Signal created
Example response
{
"applied": {
"allowUnknownCompanySize": false,
"maxJobAgeDays": 180
},
"config": {
"companySizeFilters": [
"201-500",
"501-1000"
],
"getEmails": true,
"jobTitles": [
"CTO"
],
"locations": [
"France"
],
"maxJobAgeDays": 90
},
"createdAt": "2026-01-15T10:30:00Z",
"dailyLeadLimit": 50,
"duplicateHandling": "refuse",
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"lastLeadAt": "2026-03-15T14:22:00Z",
"leadsToday": 3,
"leadsTotal": 127,
"name": "CTOs changing jobs in France",
"signalTypeId": "job_changes",
"status": "active",
"updatedAt": "2026-03-16T08:00:00Z",
"warnings": [
{
"code": "VALUE_BELOW_MINIMUM",
"field": "maxJobAgeDays",
"message": "`maxJobAgeDays` is 90; this signal applies 180. Job changes are delivered up to 180 days after the start date, and a shorter window is raised to that minimum.",
"severity": "info",
"values": [
"90"
]
}
],
"webhookUrl": "https://your-server.com/webhooks/rodz"
}Changes
No recorded changes to this operation across all 1 revision of this API.