Skip to main content
A campaign groups related reports that share an actor, a technique, or one coordinated intent. It has its own indicators, counts, and optional actor names. See the full shape in the schema reference.
The feed serves only active campaigns. Once SafeDep archives or withdraws a campaign, it drops out of the feed.
Use ListCampaigns to discover. Use GetCampaign for the details. Use GetCampaignPackageReports for the paged members.

ListCampaigns

A paginated list of active campaigns. Each one has a member count (packageCount), an indicator count (iocCount), and its own indicators. Request: pagination, and optional filters.since (a strict greater-than on lastActivityAt, for incremental pull). Response: campaigns (an array of Campaign) and pagination.

GetCampaign

Fetch one active campaign’s details. packageCount is the member count. The member reports come from GetCampaignPackageReports. Request: campaignId (string). Response: campaign (a Campaign). A hidden or unknown id returns not_found.

GetCampaignPackageReports

The paginated member reports of one campaign. They use the same cursor and shape as ListPackageReports. Request: campaignId (string) and pagination. Response: packageReports (an array of PackageReport) and pagination. A hidden or unknown campaign returns not_found rather than an empty page.
packageCount is the number of member reports in the campaign, so it matches the total that GetCampaignPackageReports returns across all pages. GetCampaign gives you the count; GetCampaignPackageReports gives you the reports themselves.