Resolve v1
Resolve
Resolve v1
Resolve person identity from name and contact information to a Minerva PID
POST
Resolve v1
Overview
The Resolve endpoint matches person identity data (name, email, phone) to a unique Minerva Person ID (minerva_pid). This is typically the first step before enriching person data. This endpoint uses fuzzy matching to handle variations in names and contact information.Request
Headers
string
required
Your API key for authentication
string
required
application/json
Request Body
object[]
required
An array of person records to resolve. Maximum 1000 records per request.
Request Example
Response
Response Structure
string
Unique identifier for this API request
array
Array of resolution results, one per input record
string
ISO 8601 timestamp when the request was completed
Result Object
string
Your identifier from the request
boolean
Whether a match was found in the Minerva database
string
Minerva person identifier (only present if is_match is true)
number
Confidence score for the match, as an additive point total — not a 0-1 or
0-100 scale. Matches score at least 50 and routinely exceed 100.
null unless
is_match is true. See Interpreting match_score.boolean
Whether the input record had sufficient valid data to attempt resolution
object
Object containing any validation errors encountered with the input data
Error responses include
statusCode and body fields for backward compatibility with existing integrations. These are deprecated — prefer the HTTP status code and the top-level code / message / api_request_id fields directly. (The deprecated nested body still carries the legacy error_message.)Error Responses
Common Errors
400- Bad Request: Invalid input format or missing required fields401- Unauthorized: Invalid or missing API key402- Payment Required: Minerva credits exhausted. The response body’sdetailsobject includesrecords_remaining(estimated records remaining based on your credit balance) andrecords_requested(batch size that was rejected)413- Payload Too Large: More than 1000 records in request422- Unprocessable Entity: Invalid data format429- Too Many Requests: Rate limit exceeded500- Internal Server Error: Server error occurred
Notes
Input Requirements
- Name: Required - provide either (
first_nameANDlast_name) ORfull_name - Contact: Required - provide at least one
emailsorphones - Both name and contact information are required for V1 resolve
Matching Quality
- The matching algorithm uses fuzzy matching to handle variations in names and contact information
- Providing both accurate name and contact information improves match accuracy
Interpreting match_score
match_score is an additive point total, not a normalized 0-1 or 0-100
confidence. It is the sum of two components:
- Name — up to 60 points, based on how closely the input name matches the person’s known names and aliases
- Contact info — points for every input email and phone that matches the person, weighted by how strongly that email or phone is associated with them
110.0.
Compare scores against each other, not against a fixed ceiling. Thresholding
on a percentage (for example, “accept above 0.8” or “above 80%”) will not
behave the way you expect.
- Every record returned with
is_match: truealready cleared Minerva’s internal match threshold and scores at least 50. You don’t need your own floor unless you want to be stricter than Minerva. match_scoreisnullwhenis_matchis false.- Scores are rounded to two decimal places.
Migration to V2
Consider upgrading to V2 for:- Reverse lookup capabilities (email or phone only, no name required)
- LinkedIn URL in response
- Match condition filters to ensure data availability