Skip to main content
The feed is a ConnectRPC service. You can call it three ways over one URL: the Connect protocol, gRPC, or gRPC-Web. This page uses the Connect protocol with JSON, because any HTTP client can send it. For typed stubs in your language, see SDKs.

Base URL

The service lives on the SafeDep Cloud data plane:

One path per RPC

Each method is its own URL under the fully qualified service name:
For example, .../ThreatIntelService/ListPackageReports.

Every request is a POST

Both headers are required on every call. For authentication and authorization failures like unauthenticated and permission_denied, see Errors & limits.
These are the same data-plane conventions used across SafeDep. For the shared header contract, OAuth endpoints, and rate limits, see the API reference and the authentication guide.

JSON conventions

  • Field names are lowerCamelCase (pageSize, reportId, publishedAt).
  • Enum values are their string names (ECOSYSTEM_NPM, THREAT_VERDICT_MALICIOUS).
  • Timestamps are RFC 3339 UTC strings (2026-08-01T00:00:00Z).
  • A missing withdrawn means false, and a missing iocs means no indicators.

Set up your shell

Set these once, then reuse them in every curl:
Verify your setup by listing a few reports. A JSON response means your key and headers work: