{"openapi":"3.1.0","info":{"title":"ReverseContact API","version":"1.0.0","description":"Public ReverseContact API V2 for people and company enrichment, search, fetch, resolve, and usage. Authenticate with Authorization: Bearer rc_... using an API key from the developer dashboard. Every successful response uses a consistent envelope: success, data, error, quotas, metadata. Search endpoints nest results under data.data with pagination in data.metadata. Enrich endpoints nest the primary entity under data.person or data.company. Async live and resolve endpoints acknowledge with data.webhookId; poll GET /v2/webhooks/{webhookId}.","contact":{"name":"ReverseContact Support","url":"https://reversecontact.com","email":"support@reversecontact.com"},"license":{"name":"Proprietary","url":"https://reversecontact.com"}},"servers":[{"url":"https://api.reversecontact.com","description":"Production"}],"tags":[{"name":"Enrich","description":"Synchronous people and company enrichment"},{"name":"Search","description":"Filter-based search over people and companies"},{"name":"Fetch","description":"Profile fetch, live refresh, and free profile status checks"},{"name":"Resolve","description":"Async resolution of people and companies (prefer enrich when possible)"},{"name":"Webhooks","description":"Polling for async job results"},{"name":"Usage","description":"Credit balance and rate limit status"}],"paths":{"/v2/enrich/persons":{"post":{"operationId":"enrichPerson","summary":"Enrich person","description":"Synchronously resolves a person from any combination of email, first name, last name, and company domain/name. Returns the matched person nested under data.person, with alternative candidates under data.alternativePersons. Credits: 2 when a person is found. +1 when fullProfile is true and the full profile is delivered. 404 is free.","tags":["Enrich"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Person enriched successfully","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EnrichPersonData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichPersonBody"}}}}}},"/v2/enrich/companies":{"post":{"operationId":"enrichCompany","summary":"Enrich company","description":"Synchronously resolves a company from a domain. Returns the matched company nested under data.company. Credits: 2 when a company is found. +1 when fullProfile is true and the full profile is delivered. 404 is free.","tags":["Enrich"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Company enriched successfully","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EnrichCompanyData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichCompanyBody"}}}}}},"/v2/search/persons":{"post":{"operationId":"searchPersons","summary":"Search people","description":"Search the ReverseContact database for people matching filters (AND-combined). Uses a nested envelope: results at data.data and pagination at data.metadata. Credits: 1 credit per page.","tags":["Search"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"People search results","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchPersonsData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchPersonsBody"}}}}}},"/v2/search/companies":{"post":{"operationId":"searchCompanies","summary":"Search companies","description":"Search the ReverseContact database for companies matching filters (AND-combined). Uses a nested envelope: results at data.data and pagination at data.metadata. Credits: 1 credit per page.","tags":["Search"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Company search results","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchCompaniesData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchCompaniesBody"}}}}}},"/v2/search/persons/available-fields":{"get":{"operationId":"searchPersonsAvailableFields","summary":"People search available fields","description":"Returns metadata for every filter accepted by people search. Credits: 0 (free).","tags":["Search"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"People search field catalog","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchFieldsData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}}}},"/v2/search/companies/available-fields":{"get":{"operationId":"searchCompaniesAvailableFields","summary":"Company search available fields","description":"Returns metadata for every filter accepted by company search. Credits: 0 (free).","tags":["Search"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Company search field catalog","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchFieldsData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}}}},"/v2/fetch/persons":{"post":{"operationId":"fetchPerson","summary":"Person profile","description":"Retrieves a full person profile from cache using a Social URL or ReverseContact person id. Credits: 1 on cache hit. 0 on 404 cache miss.","tags":["Fetch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Person profile","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PersonFull"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlOrIdPersonBody"}}}}}},"/v2/fetch/persons/live":{"post":{"operationId":"livePerson","summary":"Person profile live","description":"Triggers a fresh scrape of a person profile from either a Social URL or ReverseContact person id. Provide exactly one; replies immediately with a webhookId. Retrieve the result via GET /v2/webhooks/{webhookId} or an optional webhookUrl callback. Credits: 2 (live). Not available on free trial.","tags":["Fetch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Live person job created","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JobAckData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LivePersonBody"}}}}}},"/v2/fetch/persons/check":{"post":{"operationId":"checkPerson","summary":"Person profile status","description":"Checks whether a person profile exists and when it was last updated, without returning the full profile. Credits: 0. Still requires a non-empty credit balance (returns 402 NO_CREDITS when empty).","tags":["Fetch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Person availability and freshness","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CheckPersonData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlOrIdPersonBody"}}}}}},"/v2/fetch/companies":{"post":{"operationId":"fetchCompany","summary":"Company profile","description":"Retrieves a full company profile from cache using a Social URL or ReverseContact company id. Credits: 1 on cache hit. 0 on 404 cache miss.","tags":["Fetch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Company profile","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CompanyFull"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlOrIdCompanyBody"}}}}}},"/v2/fetch/companies/live":{"post":{"operationId":"liveCompany","summary":"Company profile live","description":"Triggers a fresh scrape of a company profile from either a Social URL or ReverseContact company id. Provide exactly one; replies immediately with a webhookId. Retrieve the result via GET /v2/webhooks/{webhookId} or an optional webhookUrl callback. Credits: 2 (live). Not available on free trial.","tags":["Fetch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Live company job created","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JobAckData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LiveCompanyBody"}}}}}},"/v2/fetch/companies/check":{"post":{"operationId":"checkCompany","summary":"Company profile status","description":"Checks whether a company profile exists and when it was last updated, without returning the full profile. Credits: 0. Still requires a non-empty credit balance (returns 402 NO_CREDITS when empty).","tags":["Fetch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Company availability and freshness","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CheckCompanyData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlOrIdCompanyBody"}}}}}},"/v2/resolve/persons/email":{"post":{"operationId":"resolvePersonByEmail","summary":"Resolve person from email","description":"Async resolve of a person from an email address. Replies immediately with a webhookId. Prefer the synchronous enrich endpoint for the same data without polling. Credits: 2 when found, 0 on not found. Not available on free trial.","tags":["Resolve"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Resolve job created","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JobAckData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvePersonEmailBody"}}}}}},"/v2/resolve/persons/name":{"post":{"operationId":"resolvePersonByName","summary":"Resolve person from name and company","description":"Async resolve of a person from first name, last name, and company domain or name. Replies immediately with a webhookId. Prefer synchronous enrich for the same data without polling. Credits: 2 when found, 0 on not found. Not available on free trial.","tags":["Resolve"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Resolve job created","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JobAckData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvePersonNameBody"}}}}}},"/v2/resolve/companies/live":{"post":{"operationId":"resolveCompanyLive","summary":"Resolve company from domain","description":"Async resolve of a company from a domain. Replies immediately with a webhookId. Prefer the synchronous enrich company endpoint for the same data without polling. Credits: 2 live / 1 cached when found, 0 on not found. Not available on free trial.","tags":["Resolve"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Resolve job created","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JobAckData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveCompanyBody"}}}}}},"/v2/webhooks/{webhookId}":{"get":{"operationId":"pollWebhook","summary":"Poll async job","description":"Returns the status and result of an async job created by live or resolve endpoints. When status is succeeded, data contains the enrichment result. Credits: 0 (free). Does not increment per-minute rate limit counters.","tags":["Webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Job status and optional result","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PollWebhookData"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}},"parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","description":"Job identifier returned as webhookId","format":"uuid"}}]}},"/v2/usage":{"get":{"operationId":"getUsage","summary":"Usage","description":"Returns workspace credit balance and rate limit status. data is always null; all useful information is in the quotas block. Credits: 0 (free).","tags":["Usage"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Usage and quota snapshot","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/V2SuccessEnvelope"},{"type":"object","properties":{"data":{"type":"null","description":"Always null for this endpoint"}},"additionalProperties":false}]}}}},"400":{"description":"Invalid JSON body or endpoint-specific business validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"402":{"description":"No credits left. Purchase more to continue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"404":{"description":"Data not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"422":{"description":"Schema or validation error, unresolved internal id, disposable email domain, or missing webhook URL on async endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded. Wait and retry after nextReset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}},"451":{"description":"Data subject blocked. The profile has been removed per GDPR/CCPA data subject request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V2ErrorEnvelope"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"rc_*","description":"API key from the ReverseContact developer dashboard. Pass as Authorization: Bearer rc_..."}},"schemas":{"V2LimitInfo":{"type":"object","properties":{"limit":{"type":"number","description":"Maximum allowed in the window"},"used":{"type":"number","description":"Amount used in the window"},"left":{"type":"number","description":"Remaining in the window"},"nextReset":{"type":"string","description":"When the window resets (ISO 8601)"}},"required":["limit","used","left","nextReset"],"additionalProperties":false},"V2Credits":{"type":"object","properties":{"total":{"type":"number","description":"Total credits in your plan"},"used":{"type":"number","description":"Credits consumed so far"},"left":{"type":"number","description":"Remaining credits"}},"required":["total","used","left"],"additionalProperties":false},"V2Quotas":{"type":"object","properties":{"creditsConsumed":{"type":"number","description":"Credits used for this request after pricing resolution"},"workspace":{"type":"object","properties":{"id":{"type":"string","description":"Workspace identifier"},"credits":{"$ref":"#/components/schemas/V2Credits"},"hasUnlimitedCredits":{"type":"boolean","description":"Whether workspace credits are unlimited"},"allowDailyOvercost":{"type":"boolean","description":"Whether the workspace may exceed its daily cap (Enterprise only)"},"dailyLimit":{"anyOf":[{"$ref":"#/components/schemas/V2LimitInfo"},{"type":"null"}]},"minuteRateLimit":{"$ref":"#/components/schemas/V2LimitInfo"}},"required":["id","credits","hasUnlimitedCredits","allowDailyOvercost","minuteRateLimit"],"additionalProperties":false},"key":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"API key identifier"},"dailyLimit":{"anyOf":[{"$ref":"#/components/schemas/V2LimitInfo"},{"type":"null"}]},"minuteRateLimit":{"$ref":"#/components/schemas/V2LimitInfo"}},"required":["id","minuteRateLimit"],"additionalProperties":false},{"type":"null"}]}},"required":["creditsConsumed","workspace","key"],"additionalProperties":false},"V2Metadata":{"type":"object","properties":{"requestId":{"type":"string","description":"Unique identifier for this request"},"executionTimeMs":{"type":"number","description":"Total execution time in milliseconds"},"updatedAt":{"type":"string","description":"Last upstream update timestamp (ISO 8601). Present only when available."}},"required":["requestId","executionTimeMs"],"additionalProperties":false},"V2Error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code"},"message":{"type":"string","description":"Human-readable error description"},"details":{"type":"object","description":"Optional context","properties":{},"additionalProperties":true}},"required":["code","message"],"additionalProperties":false},"V2SuccessEnvelope":{"type":"object","properties":{"success":{"type":"boolean","const":true},"data":{},"error":{"type":"null"},"quotas":{"$ref":"#/components/schemas/V2Quotas"},"metadata":{"$ref":"#/components/schemas/V2Metadata"}},"required":["success","data","error","quotas","metadata"],"additionalProperties":false},"V2ErrorEnvelope":{"type":"object","properties":{"success":{"type":"boolean","const":false},"data":{"type":"null"},"error":{"$ref":"#/components/schemas/V2Error"},"quotas":{"$ref":"#/components/schemas/V2Quotas"},"metadata":{"$ref":"#/components/schemas/V2Metadata"}},"required":["success","data","error"],"additionalProperties":false},"PersonLocation":{"type":"object","properties":{"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"rawLocation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},"EnrichedPersonLight":{"type":"object","description":"Light enrich shape: identity and current role. Returned by enrich when fullProfile is false or the full profile could not be assembled.","properties":{"id":{"type":"string","description":"ReverseContact person id (prs_...)"},"publicId":{"type":"string","description":"Social public slug"},"linkedinUrl":{"type":"string","description":"Public Social profile URL"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"headline":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentPositionTitle":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentCompanyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentCompanyName":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentCompanyLinkedinId":{"anyOf":[{"type":"string"},{"type":"null"}]},"updateDate":{"anyOf":[{"type":"string","description":"Last update timestamp (ISO 8601)"},{"type":"null"}]},"location":{"anyOf":[{"$ref":"#/components/schemas/PersonLocation"},{"type":"null"}]}},"required":["id","publicId","linkedinUrl"],"additionalProperties":false},"PersonFull":{"type":"object","description":"Full person profile shape returned by fetch and enrich with fullProfile.","properties":{"id":{"type":"string","description":"ReverseContact person id (prs_...)"},"publicId":{"type":"string","description":"Social public slug"},"memberId":{"type":"string","description":"Upstream member identifier when available"},"linkedinUrl":{"type":"string","description":"Public Social profile URL"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"headline":{"anyOf":[{"type":"string"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}]},"pronoun":{"anyOf":[{"type":"string"},{"type":"null"}]},"isOpenToWork":{"type":"boolean","description":"Whether the profile is flagged open to work"},"hasPremium":{"type":"boolean","description":"Whether the profile has Social Premium"},"hasVerificationBadge":{"type":"boolean","description":"Whether the profile has a verification badge"},"isInRemembrance":{"type":"boolean","description":"Whether the profile is in remembrance"},"photoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"backgroundUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"creationDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"followersCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"connectionsCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"location":{"anyOf":[{"$ref":"#/components/schemas/PersonLocation"},{"type":"null"}]},"currentPosition":{"anyOf":[{"type":"object","properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"contractType":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyName":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyLinkedinId":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyLocation":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyLogoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"startEndDate":{"anyOf":[{"type":"object","properties":{"start":{"anyOf":[{"type":"string","description":"Start date (ISO 8601)"},{"type":"null"}]},"end":{"anyOf":[{"type":"string","description":"End date (ISO 8601), null if current"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"experience":{"type":"array","items":{"type":"object","properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"contractType":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyName":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyLinkedinId":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyLocation":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyLogoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"startEndDate":{"anyOf":[{"type":"object","properties":{"start":{"anyOf":[{"type":"string","description":"Start date (ISO 8601)"},{"type":"null"}]},"end":{"anyOf":[{"type":"string","description":"End date (ISO 8601), null if current"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}},"education":{"type":"array","items":{"type":"object","properties":{"degreeName":{"anyOf":[{"type":"string"},{"type":"null"}]},"fieldOfStudy":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"grade":{"anyOf":[{"type":"string"},{"type":"null"}]},"schoolName":{"anyOf":[{"type":"string"},{"type":"null"}]},"schoolUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"schoolLogoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"startEndDate":{"anyOf":[{"type":"object","properties":{"start":{"anyOf":[{"type":"string","description":"Start date (ISO 8601)"},{"type":"null"}]},"end":{"anyOf":[{"type":"string","description":"End date (ISO 8601), null if current"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}},"skills":{"type":"array","items":{"type":"string"}},"languages":{"type":"array","items":{"type":"object","properties":{"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"proficiency":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false}},"certifications":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"organizationName":{"anyOf":[{"type":"string"},{"type":"null"}]},"organizationUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"issuedDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false}},"recommendations":{"type":"array","items":{"type":"object","properties":{"caption":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"authorFullname":{"anyOf":[{"type":"string"},{"type":"null"}]},"authorUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false}},"testScores":{"type":"array","items":{"type":"object","properties":{"testTitle":{"anyOf":[{"type":"string"},{"type":"null"}]},"score":{"anyOf":[{"type":"string"},{"type":"null"}]},"date":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false}}},"required":["id","publicId","linkedinUrl"],"additionalProperties":false},"EnrichedCompanyLight":{"type":"object","description":"Light company enrich shape (identity and headline metrics).","properties":{"id":{"type":"string","description":"ReverseContact company id (com_...)"},"name":{"type":"string","description":"Company display name"},"publicId":{"type":"string","description":"Social public slug / universal name"},"linkedinId":{"anyOf":[{"type":"string"},{"type":"null"}]},"linkedinUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"employeesCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"followersCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"employeeCountRange":{"anyOf":[{"type":"object","properties":{"start":{"anyOf":[{"type":"number"},{"type":"null"}]},"end":{"anyOf":[{"type":"number"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"websiteUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyUpdateDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","properties":{"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"required":["id","name","publicId"],"additionalProperties":false},"CompanyFull":{"type":"object","description":"Full company profile shape returned by fetch and enrich with fullProfile.","properties":{"id":{"type":"string","description":"ReverseContact company id (com_...)"},"linkedInId":{"type":"string","description":"Upstream Social company id"},"name":{"type":"string","description":"Company display name"},"universalName":{"type":"string","description":"Social universal name / public id"},"linkedInUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"websiteUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}]},"employeeCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"employeeCountRange":{"anyOf":[{"type":"object","properties":{"start":{"type":"number"},"end":{"type":"number"}},"additionalProperties":false},{"type":"null"}]},"followerCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}]},"logo":{"anyOf":[{"type":"string"},{"type":"null"}]},"backgroundUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"headquarter":{"anyOf":[{"type":"object","properties":{"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"geographicArea":{"anyOf":[{"type":"string"},{"type":"null"}]},"postalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"specialities":{"type":"array","items":{"type":"string"}},"foundedOn":{"anyOf":[{"type":"object","properties":{"year":{"type":"number"}},"additionalProperties":false},{"type":"null"}]},"phone":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},"EnrichPersonData":{"type":"object","description":"Nested under the top-level V2 data field: response.data.person and response.data.alternativePersons.","properties":{"person":{"description":"Matched person. Light enrich shape by default, or full fetch profile when fullProfile is true and delivered.","oneOf":[{"$ref":"#/components/schemas/EnrichedPersonLight"},{"$ref":"#/components/schemas/PersonFull"}]},"alternativePersons":{"type":"array","description":"Other light-shape candidates ranked best first. Always an array (empty when unique).","items":{"$ref":"#/components/schemas/EnrichedPersonLight"}}},"required":["person","alternativePersons"],"additionalProperties":false},"EnrichCompanyData":{"type":"object","description":"Nested under the top-level V2 data field: response.data.company.","properties":{"company":{"description":"Matched company. Light enrich shape by default, or full fetch profile when fullProfile is true and delivered.","oneOf":[{"$ref":"#/components/schemas/EnrichedCompanyLight"},{"$ref":"#/components/schemas/CompanyFull"}]}},"required":["company"],"additionalProperties":false},"SearchPersonsData":{"type":"object","description":"Nested envelope: results are at data.data and pagination at data.metadata (top-level data is this object).","properties":{"data":{"type":"array","description":"Matching people for the current page","items":{"type":"object","properties":{"id":{"type":"string","description":"ReverseContact person id"},"currentCompanyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"publicId":{"type":"string","description":"Social public slug"},"linkedinUrl":{"type":"string","description":"Public Social profile URL"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"headline":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentPositionTitle":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentCompanyName":{"anyOf":[{"type":"string"},{"type":"null"}]},"currentCompanyLinkedinId":{"anyOf":[{"type":"string"},{"type":"null"}]},"updateDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"$ref":"#/components/schemas/PersonLocation"},{"type":"null"}]}},"required":["id","publicId","linkedinUrl"],"additionalProperties":false}},"metadata":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page number (1-based)"},"pageNumber":{"type":"number","description":"Total number of pages"},"perPage":{"type":"number","description":"Results per page"},"total":{"type":"number","description":"Total matching results"}},"required":["currentPage","pageNumber","perPage","total"],"additionalProperties":false}},"required":["data","metadata"],"additionalProperties":false},"SearchCompaniesData":{"type":"object","description":"Nested envelope: results are at data.data and pagination at data.metadata (top-level data is this object).","properties":{"data":{"type":"array","description":"Matching companies for the current page","items":{"type":"object","properties":{"id":{"type":"string","description":"ReverseContact company id"},"name":{"type":"string","description":"Company name"},"publicId":{"type":"string","description":"Social public slug"},"linkedinUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"websiteUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"industry":{"anyOf":[{"type":"string"},{"type":"null"}]},"employeesCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"location":{"anyOf":[{"type":"object","properties":{"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"required":["id","name","publicId"],"additionalProperties":false}},"metadata":{"type":"object","properties":{"currentPage":{"type":"number","description":"Current page number (1-based)"},"pageNumber":{"type":"number","description":"Total number of pages"},"perPage":{"type":"number","description":"Results per page"},"total":{"type":"number","description":"Total matching results"}},"required":["currentPage","pageNumber","perPage","total"],"additionalProperties":false}},"required":["data","metadata"],"additionalProperties":false},"CheckPersonData":{"type":"object","properties":{"exists":{"type":"boolean","description":"true if the profile exists in the database"},"lastUpdate":{"anyOf":[{"type":"string","description":"When ReverseContact last fetched this profile (ISO 8601)"},{"type":"null"}]},"experienceCount":{"type":"number","description":"Number of experience entries when exists is true"},"skillCount":{"type":"number","description":"Number of skills when exists is true"},"schoolCount":{"type":"number","description":"Number of education entries when exists is true"}},"additionalProperties":false},"CheckCompanyData":{"type":"object","properties":{"exists":{"type":"boolean","description":"true if the company exists in the database"},"lastUpdate":{"anyOf":[{"type":"string","description":"When ReverseContact last fetched this company (ISO 8601)"},{"type":"null"}]},"specialityCount":{"type":"number","description":"Number of company specialties when exists is true"}},"additionalProperties":false},"JobAckData":{"type":"object","description":"Immediate acknowledgement for async (live/resolve) endpoints.","properties":{"status":{"type":"string","description":"Job acknowledgement status","example":"created"},"webhookId":{"type":"string","description":"Unique job id (UUID). Poll GET /v2/webhooks/{webhookId} for the result."},"pollUrl":{"type":"string","description":"Convenience path to the polling endpoint for this job"}},"required":["webhookId"],"additionalProperties":false},"PollWebhookData":{"type":"object","properties":{"status":{"type":"string","description":"Job status","enum":["in_progress","succeeded","errored"]},"webhookId":{"type":"string","description":"Job identifier"},"data":{"description":"Result payload when status is succeeded; otherwise null or omitted.","anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}]},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"creditsConsumed":{"type":"number","description":"Credits charged for the completed job when available"}},"additionalProperties":false},"SearchFieldsData":{"type":"object","properties":{"object":{"type":"string","const":"search_fields"},"entity":{"type":"string","enum":["person","company"]},"fields":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Filter field name"},"type":{"type":"string","description":"Field type"},"description":{"type":"string","description":"Human-readable description"},"allowedValues":{"description":"Optional constrained values","anyOf":[{"type":"array","items":{}},{"type":"null"}]},"properties":{"description":"Nested property metadata for object filters","anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}]}},"required":["name","type"],"additionalProperties":true}}},"additionalProperties":false},"UrlOrIdPersonBody":{"type":"object","description":"Provide either url or id. If both are supplied, id takes precedence.","properties":{"url":{"type":"string","description":"Public Social profile URL","example":"https://www.linkedin.com/in/janedoe"},"id":{"type":"string","description":"ReverseContact person id","example":"prs_01jbd5vewyenebxgaz869ffe5t"}},"additionalProperties":false},"UrlOrIdCompanyBody":{"type":"object","description":"Provide either url or id. If both are supplied, id takes precedence.","properties":{"url":{"type":"string","description":"Public Social company URL","example":"https://www.linkedin.com/company/acme-corp"},"id":{"type":"string","description":"ReverseContact company id","example":"com_01jbd5vewyenebxgaz869ffe5t"}},"additionalProperties":false},"LivePersonBody":{"type":"object","description":"Provide exactly one of url or id.","properties":{"url":{"type":"string","description":"Public Social profile URL","example":"https://social.com/in/janedoe"},"id":{"type":"string","description":"ReverseContact person id","example":"prs_01jbd5vewyenebxgaz869ffe5t"},"webhookUrl":{"type":"string","description":"Optional HTTPS push URL for webhook delivery","format":"uri"}},"additionalProperties":false,"oneOf":[{"required":["url"]},{"required":["id"]}],"example":{"url":"https://social.com/in/janedoe"}},"LiveCompanyBody":{"type":"object","description":"Provide exactly one of url or id.","properties":{"url":{"type":"string","description":"Public Social company URL","example":"https://social.com/company/acme-corp"},"id":{"type":"string","description":"ReverseContact company id","example":"com_01jbd5vewyenebxgaz869ffe5t"},"webhookUrl":{"type":"string","description":"Optional HTTPS push URL for webhook delivery","format":"uri"}},"additionalProperties":false,"oneOf":[{"required":["url"]},{"required":["id"]}],"example":{"url":"https://social.com/company/acme-corp"}},"EnrichPersonBody":{"type":"object","description":"Provide at least one of: email, firstName, lastName, companyDomain, or companyName.","properties":{"email":{"type":"string","description":"Email address to enrich","format":"email"},"firstName":{"type":"string","description":"Person first name"},"lastName":{"type":"string","description":"Person last name"},"companyDomain":{"type":"string","description":"Company domain (e.g. acme.com)"},"companyName":{"type":"string","description":"Company name (alternative to domain)"},"fullProfile":{"type":"boolean","description":"When true and a match is found, return the full fetch profile for 1 extra credit"}},"additionalProperties":false},"EnrichCompanyBody":{"type":"object","properties":{"domain":{"type":"string","description":"Company domain to resolve (e.g. acme.com)"},"fullProfile":{"type":"boolean","description":"When true and a match is found, return the full fetch profile for 1 extra credit"}},"required":["domain"],"additionalProperties":false},"ResolvePersonEmailBody":{"type":"object","properties":{"email":{"type":"string","description":"Email address to resolve","format":"email"},"webhookUrl":{"type":"string","description":"Optional HTTPS push URL for webhook delivery","format":"uri"}},"required":["email"],"additionalProperties":false},"ResolvePersonNameBody":{"type":"object","description":"Must provide either companyDomain or companyName.","properties":{"firstName":{"type":"string","description":"Person first name"},"lastName":{"type":"string","description":"Person last name"},"companyDomain":{"type":"string","description":"Company domain (e.g. acme.com)"},"companyName":{"type":"string","description":"Company name (alternative to domain)"},"webhookUrl":{"type":"string","description":"Optional HTTPS push URL for webhook delivery","format":"uri"}},"required":["firstName","lastName"],"additionalProperties":false},"ResolveCompanyBody":{"type":"object","properties":{"domain":{"type":"string","description":"Company domain (e.g. example.com)"},"webhookUrl":{"type":"string","description":"Optional HTTPS push URL for webhook delivery","format":"uri"}},"required":["domain"],"additionalProperties":false},"SearchPersonsBody":{"type":"object","properties":{"firstName":{"type":"string","description":"Filter by first name"},"lastName":{"type":"string","description":"Filter by last name"},"headline":{"type":"string","description":"Match keywords found in the profile headline"},"isOpenToWork":{"type":"boolean","description":"Restrict to profiles flagged open to work"},"isPremium":{"type":"boolean","description":"Restrict to Social Premium members"},"isVerified":{"type":"boolean","description":"Restrict to profiles with a verification badge"},"followersCount":{"type":"object","description":"Inclusive numeric range. Both bounds are optional.","properties":{"min":{"type":"number","description":"Minimum value, inclusive"},"max":{"type":"number","description":"Maximum value, inclusive"}},"additionalProperties":false},"currentPositionTitle":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Current position title, or array of titles (OR match). Title matching is token-based."},"excludeCurrentPositionTitle":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Current position title(s) to exclude. Exclusions always win over matches."},"currentCompanyName":{"type":"string","description":"Match the current company name"},"currentCompanyLinkedinId":{"type":"string","description":"Match the current company Social identifier"},"currentCompanyPublicId":{"type":"string","description":"Match the current company public ID / slug"},"currentCompanyId":{"type":"string","description":"ReverseContact internal company id (com_...) of the current employer. Single value only."},"currentCompanyIndustry":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Industry name or array of industries"},"currentCompanyEmployeeCountRange":{"type":"object","description":"Inclusive numeric range. Both bounds are optional.","properties":{"min":{"type":"number","description":"Minimum value, inclusive"},"max":{"type":"number","description":"Maximum value, inclusive"}},"additionalProperties":false},"location":{"type":"object","properties":{"country":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Country name (e.g. \"France\")"},"countryCode":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"ISO 3166 country code (e.g. \"FR\")"},"region":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"State or region"},"city":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"City"},"area":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Broader geographic area"}},"additionalProperties":false},"maxDataAgeDate":{"type":"string","description":"ISO 8601 datetime. Only returns profiles refreshed after this date","format":"date-time"},"page":{"type":"number","description":"Page number (1-1000, default 1)","minimum":1,"maximum":1000,"default":1},"perPage":{"type":"number","description":"Results per page (1-100, default 100)","minimum":1,"maximum":100,"default":100}},"additionalProperties":false},"SearchCompaniesBody":{"type":"object","properties":{"companyName":{"type":"string","description":"Company name filter"},"companyDomain":{"type":"string","description":"Company domain filter"},"industry":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Industry name or array of industries"},"employeeCountRange":{"type":"object","properties":{"min":{"type":"number","description":"Minimum employees, inclusive","minimum":0},"max":{"type":"number","description":"Maximum employees, inclusive","minimum":0}},"additionalProperties":false},"location":{"type":"object","properties":{"country":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"countryCode":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"region":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"city":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false},"maxDataAgeDate":{"type":"string","description":"ISO 8601 datetime. Only returns companies refreshed after this date","format":"date-time"},"page":{"type":"number","description":"Page number (1-1000, default 1)","minimum":1,"maximum":1000,"default":1},"perPage":{"type":"number","description":"Results per page (1-100, default 100)","minimum":1,"maximum":100,"default":100}},"additionalProperties":false}}},"security":[{"bearerAuth":[]}]}