[{"data":1,"prerenderedAt":580},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fauthentication":186},[4,10,15,23,28,35,41,47,52,57,62,66,70,77,83,90,95,100,105,110,115,119,124,128,132,136,141,144,147,151,155,159,163,167,170,174,178,182],{"path":5,"title":6,"category":7,"order":8,"family":9,"subfamily":9,"status":9,"endpointId":9},"\u002Fapi-reference","API reference","introduction",30,null,{"path":11,"title":12,"category":7,"order":13,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fauthentication","Authentication",20,"updated",{"path":16,"title":17,"category":18,"order":19,"family":20,"subfamily":21,"status":14,"endpointId":22},"\u002Fendpoints\u002Fcheck-company","Profile status","endpoints",220,"Fetch","Company","check-company",{"path":24,"title":17,"category":18,"order":25,"family":20,"subfamily":26,"status":14,"endpointId":27},"\u002Fendpoints\u002Fcheck-person",120,"Person","check-person",{"path":29,"title":30,"category":18,"order":31,"family":32,"subfamily":33,"status":9,"endpointId":34},"\u002Fendpoints\u002Fcontact-email","Find Email",600,"Contact","Email","contact-email",{"path":36,"title":37,"category":18,"order":38,"family":32,"subfamily":39,"status":9,"endpointId":40},"\u002Fendpoints\u002Fcontact-phone","Find Phone",610,"Phone","contact-phone",{"path":42,"title":43,"category":18,"order":44,"family":45,"subfamily":21,"status":14,"endpointId":46},"\u002Fendpoints\u002Fenrich-company","Enrich company",90,"Enrichment","enrich-company",{"path":48,"title":49,"category":18,"order":50,"family":45,"subfamily":26,"status":14,"endpointId":51},"\u002Fendpoints\u002Fenrich-person","Enrich profile",80,"enrich-person",{"path":53,"title":54,"category":18,"order":55,"family":20,"subfamily":21,"status":14,"endpointId":56},"\u002Fendpoints\u002Ffetch-company","Profile",200,"fetch-company",{"path":58,"title":59,"category":18,"order":60,"family":20,"subfamily":21,"status":14,"endpointId":61},"\u002Fendpoints\u002Ffetch-company-live","Profile live",210,"fetch-company-live",{"path":63,"title":54,"category":18,"order":64,"family":20,"subfamily":26,"status":14,"endpointId":65},"\u002Fendpoints\u002Ffetch-profile",100,"fetch-profile",{"path":67,"title":59,"category":18,"order":68,"family":20,"subfamily":26,"status":14,"endpointId":69},"\u002Fendpoints\u002Ffetch-profile-live",110,"fetch-profile-live",{"path":71,"title":72,"category":18,"order":73,"family":74,"subfamily":75,"status":14,"endpointId":76},"\u002Fendpoints\u002Fsearch-companies","Company search",94,"Search","Companies","search-companies",{"path":78,"title":79,"category":18,"order":80,"family":81,"subfamily":9,"status":14,"endpointId":82},"\u002Fendpoints\u002Fsearch-companies-available-fields","Company search available fields",720,"Utility","search-companies-available-fields",{"path":84,"title":85,"category":18,"order":86,"family":74,"subfamily":87,"status":88,"endpointId":89},"\u002Fendpoints\u002Fsearch-people","People search",92,"People","new","search-people",{"path":91,"title":92,"category":18,"order":93,"family":81,"subfamily":9,"status":88,"endpointId":94},"\u002Fendpoints\u002Fsearch-people-available-fields","People search available fields",710,"search-people-available-fields",{"path":96,"title":97,"category":18,"order":98,"family":74,"subfamily":87,"status":88,"endpointId":99},"\u002Fendpoints\u002Fsearch-people-count","People search count",93,"search-people-count",{"path":101,"title":102,"category":18,"order":103,"family":74,"subfamily":87,"status":88,"endpointId":104},"\u002Fendpoints\u002Fsearch-people-lookalike","People lookalike",95,"search-people-lookalike",{"path":106,"title":107,"category":18,"order":108,"family":74,"subfamily":87,"status":88,"endpointId":109},"\u002Fendpoints\u002Fsearch-people-prompt","Agentic Search",96,"search-people-prompt",{"path":111,"title":112,"category":18,"order":113,"family":81,"subfamily":9,"status":14,"endpointId":114},"\u002Fendpoints\u002Fusage","Usage",700,"usage",{"path":116,"title":117,"category":7,"order":118,"family":9,"subfamily":9,"status":9,"endpointId":9},"\u002Fgetting-started","Getting started",10,{"path":120,"title":121,"category":122,"order":123,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fapi-key-management","API key management","guides",12,{"path":125,"title":126,"category":122,"order":127,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Fcurrent-position-resolution","Current position and work history ordering",35,{"path":129,"title":130,"category":122,"order":131,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fdata-freshness","Data freshness",40,{"path":133,"title":134,"category":122,"order":135,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Fdata-quality","Data quality",18,{"path":137,"title":138,"category":139,"order":140,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Fendpoint-transition-october-2026","Endpoint transition on October 13, 2026","migrations",1,{"path":142,"title":143,"category":122,"order":13,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Ferrors-retries","Error handling & retries",{"path":145,"title":146,"category":122,"order":118,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Ffirst-api-call","Your first API call",{"path":148,"title":149,"category":122,"order":150,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Findustries","Industry values",50,{"path":152,"title":153,"category":154,"order":150,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fmcp","Connect AI agents (MCP)","mcp",{"path":156,"title":157,"category":139,"order":158,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Fmigrating-resolve-to-enrich","Migrating from Resolve to Enrich",52,{"path":160,"title":161,"category":139,"order":162,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Fmigrating-search-persons-to-people","Migrating people search from persons to people",51,{"path":164,"title":165,"category":122,"order":166,"family":9,"subfamily":9,"status":88,"endpointId":9},"\u002Fguides\u002Fmissing-and-empty-fields","Missing and empty profile fields",42,{"path":168,"title":169,"category":122,"order":8,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fpolling","Polling, zero setup",{"path":171,"title":172,"category":122,"order":173,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fproduction-checklist","Production checklist",45,{"path":175,"title":176,"category":122,"order":177,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Frate-limits-credits","Rate limits & credits",25,{"path":179,"title":180,"category":122,"order":181,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fwebhooks","Webhooks",31,{"path":183,"title":184,"category":122,"order":185,"family":9,"subfamily":9,"status":14,"endpointId":9},"\u002Fguides\u002Fwhich-endpoint-should-i-use","Which endpoint should I use?",15,{"id":187,"title":12,"audience":9,"badgeColor":9,"badgeLabel":9,"body":188,"category":7,"description":572,"endpointId":9,"extension":573,"family":9,"links":9,"meta":574,"navigation":575,"order":13,"path":11,"relatedArticles":576,"requiresFlag":9,"seo":577,"status":14,"stem":578,"subfamily":9,"__hash__":579},"docs\u002Fauthentication.md",{"type":189,"value":190,"toc":563},"minimark",[191,200,205,224,233,237,244,276,280,287,298,305,356,362,367,371,377,401,475,484,491,496,500,503,528],[192,193,194,195,199],"p",{},"Every API request requires your key in the ",[196,197,198],"code",{},"Authorization"," header. Two steps and you're set.",[201,202,204],"h2",{"id":203},"_1-copy-your-api-key","1. Copy your API key",[192,206,207,208,219,220,223],{},"Open ",[209,210,211,212],"strong",{},"Workspace > ",[213,214,218],"a",{"href":215,"rel":216},"https:\u002F\u002Fapp.reversecontact.com\u002Fapi-keys",[217],"nofollow","API Keys"," and copy your key. It starts with ",[196,221,222],{},"rc_*****",".",[225,226,228],"docs-alert",{"type":227},"tip",[192,229,230,231,223],{},"Don't have an account yet? Start with ",[213,232,117],{"href":116},[201,234,236],{"id":235},"_2-add-it-to-your-request","2. Add it to your request",[192,238,239,240,243],{},"Test with the ",[213,241,242],{"href":111},"Usage endpoint",". It returns your credit balance and costs zero credits:",[245,246,247,258,267],"code-group",{},[248,249,256],"pre",{"className":250,"code":252,"filename":253,"language":254,"meta":255},[251],"language-bash","curl https:\u002F\u002Fapi.reversecontact.com\u002Fv2\u002Fusage \\\n  -H \"Authorization: Bearer YOUR_API_KEY\"\n","cURL","bash","",[196,257,252],{"__ignoreMap":255},[248,259,265],{"className":260,"code":262,"filename":263,"language":264,"meta":255},[261],"language-javascript","const response = await fetch(\"https:\u002F\u002Fapi.reversecontact.com\u002Fv2\u002Fusage\", {\n  headers: { \"Authorization\": \"Bearer YOUR_API_KEY\" }\n});\n\nconst { quotas } = await response.json();\nconsole.log(\"Credits left:\", quotas.workspace.credits.left);\n","JavaScript","javascript",[196,266,262],{"__ignoreMap":255},[248,268,274],{"className":269,"code":271,"filename":272,"language":273,"meta":255},[270],"language-python","import requests\n\nresponse = requests.get(\n    \"https:\u002F\u002Fapi.reversecontact.com\u002Fv2\u002Fusage\",\n    headers={ \"Authorization\": \"Bearer YOUR_API_KEY\" }\n)\n\ndata = response.json()\nprint(\"Credits left:\", data[\"quotas\"][\"workspace\"][\"credits\"][\"left\"])\n","Python","python",[196,275,271],{"__ignoreMap":255},[201,277,279],{"id":278},"verify-it-works","Verify it works",[192,281,282,283,286],{},"A ",[196,284,285],{},"200"," response with your quotas means authentication is working:",[245,288,289],{},[248,290,296],{"className":291,"code":293,"filename":294,"language":295,"meta":255},[292],"language-json","{\n  \"success\": true,\n  \"quotas\": {\n    \"creditsConsumed\": 0,\n    \"workspace\": {\n      \"credits\": { \"total\": 4000, \"used\": 31, \"left\": 3969 },\n      \"minuteRateLimit\": { \"limit\": 500, \"left\": 500 }\n    }\n  }\n}\n","200 OK","json",[196,297,293],{"__ignoreMap":255},[192,299,300,301,304],{},"See the ",[213,302,303],{"href":111},"full response structure"," for all fields.",[306,307,308,321],"table",{},[309,310,311],"thead",{},[312,313,314,318],"tr",{},[315,316,317],"th",{},"Check",[315,319,320],{},"Expected",[322,323,324,334,346],"tbody",{},[312,325,326,330],{},[327,328,329],"td",{},"HTTP status",[327,331,332],{},[196,333,285],{},[312,335,336,341],{},[327,337,338],{},[196,339,340],{},"success",[327,342,343],{},[196,344,345],{},"true",[312,347,348,353],{},[327,349,350],{},[196,351,352],{},"quotas.workspace.credits.left",[327,354,355],{},"Your remaining credits",[225,357,359],{"type":358},"note",[192,360,361],{},"You're all set! Your API key is working.",[192,363,364,365,223],{},"Ready to enrich your first profile? Continue with ",[213,366,146],{"href":145},[201,368,370],{"id":369},"something-went-wrong","Something went wrong?",[192,372,282,373,376],{},[196,374,375],{},"401"," response means the API key was missing, malformed, or not recognized:",[245,378,380,387,394],{"title":379},"401 Unauthorized",[248,381,385],{"className":382,"code":383,"filename":384,"language":295,"meta":255},[292],"{\n  \"success\": false,\n  \"data\": null,\n  \"error\": {\n    \"code\": \"API_KEY_MISSING\",\n    \"message\": \"API Key is required\"\n  },\n  \"metadata\": {\n    \"requestId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"executionTimeMs\": 1\n  }\n}\n","Key Missing",[196,386,383],{"__ignoreMap":255},[248,388,392],{"className":389,"code":390,"filename":391,"language":295,"meta":255},[292],"{\n  \"success\": false,\n  \"data\": null,\n  \"error\": {\n    \"code\": \"API_KEY_INVALID\",\n    \"message\": \"API Key is invalid\"\n  },\n  \"metadata\": {\n    \"requestId\": \"f6e5d4c3-b2a1-0987-fedc-ba9876543210\",\n    \"executionTimeMs\": 1\n  }\n}\n","Key Invalid",[196,393,390],{"__ignoreMap":255},[248,395,399],{"className":396,"code":397,"filename":398,"language":295,"meta":255},[292],"{\n  \"success\": false,\n  \"data\": null,\n  \"error\": {\n    \"code\": \"API_KEY_MALFORMED\",\n    \"message\": \"Malformed Authorization header. Expected 'Authorization: Bearer \u003Capi_key>' or 'x-api-key: \u003Capi_key>'.\"\n  }\n}\n","Malformed Header",[196,400,397],{"__ignoreMap":255},[306,402,403,413],{},[309,404,405],{},[312,406,407,410],{},[315,408,409],{},"Issue",[315,411,412],{},"Fix",[322,414,415,434,448,459,467],{},[312,416,417,424],{},[327,418,419,420,423],{},"Missing ",[196,421,422],{},"Bearer"," prefix",[327,425,426,427,430,431],{},"Use ",[196,428,429],{},"Authorization: Bearer rc_...",", not just ",[196,432,433],{},"rc_...",[312,435,436,439],{},[327,437,438],{},"Malformed credential header",[327,440,426,441,444,445],{},[196,442,443],{},"Authorization: Bearer \u003Capi_key>"," or ",[196,446,447],{},"x-api-key: \u003Capi_key>",[312,449,450,453],{},[327,451,452],{},"Typo or truncated key",[327,454,455,456],{},"Copy the full key again from ",[213,457,218],{"href":215,"rel":458},[217],[312,460,461,464],{},[327,462,463],{},"Revoked or deleted key",[327,465,466],{},"Create a new key in the dashboard",[312,468,469,472],{},[327,470,471],{},"Wrong workspace",[327,473,474],{},"Check you're using a key from the right workspace",[225,476,477],{"type":227},[192,478,479,480,483],{},"Include the ",[196,481,482],{},"metadata.requestId"," from error responses when contacting support. It speeds up troubleshooting.",[192,485,486,487,490],{},"A valid key for a suspended workspace returns ",[196,488,489],{},"403 WORKSPACE_DISABLED",", because the request is authenticated but the workspace is not authorized to use the API.",[192,492,493,494,223],{},"For all error codes and retry strategies, see ",[213,495,143],{"href":142},[201,497,499],{"id":498},"keep-your-key-safe","Keep your key safe",[192,501,502],{},"Store your key in an environment variable. Never hardcode it:",[245,504,505,512,521],{},[248,506,510],{"className":507,"code":508,"filename":509,"language":254,"meta":255},[251],"export RC_API_KEY=\"rc_0123456789abcdef0123456789abcdef\"\n","macOS \u002F Linux",[196,511,508],{"__ignoreMap":255},[248,513,519],{"className":514,"code":516,"filename":517,"language":518,"meta":255},[515],"language-powershell","$env:RC_API_KEY = \"rc_0123456789abcdef0123456789abcdef\"\n","Windows","powershell",[196,520,516],{"__ignoreMap":255},[248,522,526],{"className":523,"code":524,"filename":525,"language":254,"meta":255},[251],"RC_API_KEY=rc_0123456789abcdef0123456789abcdef\n",".env",[196,527,524],{"__ignoreMap":255},[529,530,531,538,547,553],"ul",{},[532,533,426,534,537],"li",{},[209,535,536],{},"one key per environment"," (dev, staging, production).",[532,539,540,543,544,223],{},[209,541,542],{},"Rotate keys."," Revoke compromised keys and generate new ones from ",[213,545,218],{"href":215,"rel":546},[217],[532,548,549,552],{},[209,550,551],{},"Never expose keys"," in client-side code, public repos, or browser JavaScript.",[532,554,555,558,559,562],{},[209,556,557],{},"Monitor usage"," with ",[196,560,561],{},"GET \u002Fv2\u002Fusage"," to track credits and rate limits.",{"title":255,"searchDepth":564,"depth":564,"links":565},3,[566,568,569,570,571],{"id":203,"depth":567,"text":204},2,{"id":235,"depth":567,"text":236},{"id":278,"depth":567,"text":279},{"id":369,"depth":567,"text":370},{"id":498,"depth":567,"text":499},"Authenticate requests to the Reverse Contact API.","md",{},true,"\u002Fdocs\u002Fguides\u002Ffirst-api-call,\u002Fdocs\u002Fapi-reference,\u002Fdocs\u002Fguides\u002Frate-limits-credits,\u002Fdocs\u002Fguides\u002Fproduction-checklist",{"title":12,"description":572},"authentication","f5Oik1IxyusDG81eoWQia6w0QImkfHuN4Wc6DmAMuHg",1791900211525]