Skip to main content
The typed methods (mc.api.enrich / mc.api.resolve / …) cover the public Minerva Data API. For client-specific routes — preview endpoints, partner integrations, a path Minerva built just for your org — use mc.api.call(...) directly.
Same x-api-key auth, same error mapping, same rate-limit handling as the typed methods — the difference is the SDK doesn’t know the response schema, so you get back the raw parsed JSON (typically a dict).

When to reach for it

If you find yourself calling the same custom endpoint a lot, ask us to add a typed wrapper. Typed wrappers get autocomplete, schema validation, and tabular response helpers for free.

Authentication & entitlement

Entitlement is enforced server-side. Your x-api-key is checked against an allow-list of paths per request — callers without entitlement get a 403, which the SDK surfaces as MinervaAuthError:
There’s nothing special on the SDK side — same auth path as mc.api.enrich(...).

Parameters

method
str
required
HTTP verb: "GET", "POST", "PUT", "DELETE", "PATCH". Case-insensitive.
path
str
required
URL path beginning with /, e.g. "/v2/acme/lookup".
params
dict
Optional query-string dict. Values are URL-encoded for you.
json
Any
Optional JSON body (for POST/PUT/PATCH). Typically a dict.
headers
dict[str, str]
Optional extra request headers — merged on top of the SDK’s defaults. The x-api-key header is always set by the SDK and can’t be overridden here.

Return value

The parsed JSON response body — whatever shape the endpoint returns. No pydantic validation is applied (the SDK doesn’t know the schema); validate yourself if it matters:

Errors

Examples

GET with query string:
POST with body + custom header for tracing:
DELETE: