The typed methods (Documentation Index
Fetch the complete documentation index at: https://docs.minerva.io/llms.txt
Use this file to discover all available pages before exploring further.
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.
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
| You’re calling… | Use |
|---|---|
/v2/enrich, /v2/resolve, /v2/validate_emails, etc. | The typed method (mc.api.enrich(...), mc.api.resolve(...), …) — pydantic in, pydantic out, autocomplete |
A path tailored to your org (e.g. /v2/acme/...) | mc.api.call(...) |
| A preview endpoint not yet promoted to the typed API | mc.api.call(...) |
Authentication & entitlement
Entitlement is enforced server-side. Yourx-api-key is checked against
an allow-list of paths per request — callers without entitlement get a 403,
which the SDK surfaces as MinervaAuthError:
mc.api.enrich(...).
Parameters
HTTP verb:
"GET", "POST", "PUT", "DELETE", "PATCH". Case-insensitive.URL path beginning with
/, e.g. "/v2/acme/lookup".Optional query-string dict. Values are URL-encoded for you.
Optional JSON body (for POST/PUT/PATCH). Typically a
dict.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
| Status | Raises |
|---|---|
Local — bad path (empty / no leading /) | MinervaValidationError |
| 401 / 403 | MinervaAuthError |
| 429 | MinervaRateLimitError(retry_after=...) |
| Other 4xx / 5xx | MinervaAPIError(status_code=..., api_request_id=...) |

