[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fapi\u002Fauthentication":3},{"_path":4,"title":5,"description":6,"navigation":7,"image":13,"head":18,"body":32},"\u002Fdocs\u002Fapi\u002Fauthentication","API Authentication · Waitlister Documentation","Learn how to authenticate your requests to the Waitlister API using API keys.",{"title":8,"parent":9,"group":10,"description":11,"order":12},"Authentication","API Reference","Advanced","Learn how to authenticate with the Waitlister API.",2,{"src":14,"width":15,"height":16,"alt":17},"https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fwaitinglist-app-c24fc.appspot.com\u002Fo\u002Fdocs-og-image.png?alt=media&token=85e60b24-c882-4f84-aa9e-ef85e1ae4bb5",400,300,"Waitlister API Authentication",{"meta":19},[20,23,26,29],{"name":21,"content":22},"keywords","api authentication, api key, waitlist api security, api credentials",{"name":24,"content":25},"robots","index, follow",{"name":27,"content":28},"author","Waitlister",{"name":30,"content":31},"copyright","© 2026 Waitlister",{"type":33,"children":34,"toc":414},"root",[35,48,55,60,67,72,79,93,103,108,119,125,130,150,159,165,170,176,211,217,222,245,255,261,266,366,372,377],{"type":36,"tag":37,"props":38,"children":39},"element","p",{},[40],{"type":36,"tag":41,"props":42,"children":45},"span",{"className":43},[44],"secondary-heading",[46],{"type":47,"value":9},"text",{"type":36,"tag":49,"props":50,"children":52},"h1",{"id":51},"api-authentication",[53],{"type":47,"value":54},"API Authentication",{"type":36,"tag":37,"props":56,"children":57},{},[58],{"type":47,"value":59},"All requests to the Waitlister API must be authenticated using an API key. This document explains how to obtain, use, and manage your API keys.",{"type":36,"tag":61,"props":62,"children":64},"h2",{"id":63},"api-key-authentication",[65],{"type":47,"value":66},"API Key Authentication",{"type":36,"tag":37,"props":68,"children":69},{},[70],{"type":47,"value":71},"API keys provide a simple way to authenticate with the Waitlister API. Each key is associated with your specific waitlist and has access to all API endpoints available for your plan.",{"type":36,"tag":73,"props":74,"children":76},"h3",{"id":75},"authentication-header",[77],{"type":47,"value":78},"Authentication Header",{"type":36,"tag":37,"props":80,"children":81},{},[82,84,91],{"type":47,"value":83},"Include your API key in the ",{"type":36,"tag":85,"props":86,"children":88},"code",{"className":87},[],[89],{"type":47,"value":90},"X-Api-Key",{"type":47,"value":92}," header with each request.",{"type":36,"tag":94,"props":95,"children":97},"pre",{"code":96},"X-Api-Key: your-api-key\n",[98],{"type":36,"tag":85,"props":99,"children":101},{"__ignoreMap":100},"",[102],{"type":47,"value":96},{"type":36,"tag":37,"props":104,"children":105},{},[106],{"type":47,"value":107},"Example request with an API key.",{"type":36,"tag":94,"props":109,"children":114},{"code":110,"language":111,"meta":100,"className":112},"curl -X POST \"https:\u002F\u002Fwaitlister.me\u002Fapi\u002Fv1\u002Fwaitlist\u002F{waitlist-key}\u002Fsign-up\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -d '{\n    \"email\": \"user@example.com\"\n  }'\n","bash",[113],"language-bash",[115],{"type":36,"tag":85,"props":116,"children":117},{"__ignoreMap":100},[118],{"type":47,"value":110},{"type":36,"tag":61,"props":120,"children":122},{"id":121},"getting-your-api-key",[123],{"type":47,"value":124},"Getting Your API Key",{"type":36,"tag":37,"props":126,"children":127},{},[128],{"type":47,"value":129},"To obtain an API key for your waitlist, follow these steps.",{"type":36,"tag":131,"props":132,"children":133},"ol",{},[134,140,145],{"type":36,"tag":135,"props":136,"children":137},"li",{},[138],{"type":47,"value":139},"Log in to your Waitlister account",{"type":36,"tag":135,"props":141,"children":142},{},[143],{"type":47,"value":144},"Go to the \"Integrations\" page, and then click \"Manage\" on the \"API access\" card",{"type":36,"tag":135,"props":146,"children":147},{},[148],{"type":47,"value":149},"On the \"API key\" card, click \"Generate API key\"",{"type":36,"tag":37,"props":151,"children":152},{},[153],{"type":36,"tag":154,"props":155,"children":158},"img",{"alt":156,"src":157},"Generate API key","https:\u002F\u002Ffirebasestorage.googleapis.com\u002Fv0\u002Fb\u002Fwaitinglist-app-c24fc.appspot.com\u002Fo\u002Fresources%2Ffeatures%2Ffeature-api-access.webp?alt=media&token=034e6f1b-923b-4ba0-a8c4-75613bf0b4a3",[],{"type":36,"tag":61,"props":160,"children":162},{"id":161},"api-key-security",[163],{"type":47,"value":164},"API Key Security",{"type":36,"tag":37,"props":166,"children":167},{},[168],{"type":47,"value":169},"Your API key grants full access to your waitlist via the API. To keep your waitlist secure, follow these guidelines.",{"type":36,"tag":73,"props":171,"children":173},{"id":172},"best-practices",[174],{"type":47,"value":175},"Best Practices",{"type":36,"tag":177,"props":178,"children":179},"ul",{},[180,191,196,201,206],{"type":36,"tag":135,"props":181,"children":182},{},[183,189],{"type":36,"tag":184,"props":185,"children":186},"strong",{},[187],{"type":47,"value":188},"Never expose your API key in client-side code",{"type":47,"value":190}," (like JavaScript running in a browser)",{"type":36,"tag":135,"props":192,"children":193},{},[194],{"type":47,"value":195},"Store your API key securely as an environment variable or in a secure secrets manager",{"type":36,"tag":135,"props":197,"children":198},{},[199],{"type":47,"value":200},"Use a server-side application to make API requests that require your API key",{"type":36,"tag":135,"props":202,"children":203},{},[204],{"type":47,"value":205},"Implement proper error handling to avoid exposing your key in error messages or logs",{"type":36,"tag":135,"props":207,"children":208},{},[209],{"type":47,"value":210},"Rotate your API key regularly",{"type":36,"tag":73,"props":212,"children":214},{"id":213},"regenerating-your-api-key",[215],{"type":47,"value":216},"Regenerating Your API Key",{"type":36,"tag":37,"props":218,"children":219},{},[220],{"type":47,"value":221},"If you believe your API key has been compromised, you should regenerate it immediately.",{"type":36,"tag":131,"props":223,"children":224},{},[225,230,235,240],{"type":36,"tag":135,"props":226,"children":227},{},[228],{"type":47,"value":229},"Go to the \"Overview\" page for your waitlist",{"type":36,"tag":135,"props":231,"children":232},{},[233],{"type":47,"value":234},"Click the API key value to open the API key modal",{"type":36,"tag":135,"props":236,"children":237},{},[238],{"type":47,"value":239},"Click \"Regenerate API key\"",{"type":36,"tag":135,"props":241,"children":242},{},[243],{"type":47,"value":244},"Confirm the action",{"type":36,"tag":37,"props":246,"children":247},{},[248,253],{"type":36,"tag":184,"props":249,"children":250},{},[251],{"type":47,"value":252},"Important",{"type":47,"value":254},": Regenerating your API key will invalidate the previous key. You'll need to update any applications or services using the old key.",{"type":36,"tag":61,"props":256,"children":258},{"id":257},"authentication-errors",[259],{"type":47,"value":260},"Authentication Errors",{"type":36,"tag":37,"props":262,"children":263},{},[264],{"type":47,"value":265},"If you encounter authentication issues, check for these common errors.",{"type":36,"tag":267,"props":268,"children":269},"table",{},[270,294],{"type":36,"tag":271,"props":272,"children":273},"thead",{},[274],{"type":36,"tag":275,"props":276,"children":277},"tr",{},[278,284,289],{"type":36,"tag":279,"props":280,"children":281},"th",{},[282],{"type":47,"value":283},"Status Code",{"type":36,"tag":279,"props":285,"children":286},{},[287],{"type":47,"value":288},"Error",{"type":36,"tag":279,"props":290,"children":291},{},[292],{"type":47,"value":293},"Description",{"type":36,"tag":295,"props":296,"children":297},"tbody",{},[298,322,344],{"type":36,"tag":275,"props":299,"children":300},{},[301,312,317],{"type":36,"tag":302,"props":303,"children":304},"td",{},[305],{"type":36,"tag":85,"props":306,"children":309},{"className":307},[308],"inline-code-red",[310],{"type":47,"value":311},"401",{"type":36,"tag":302,"props":313,"children":314},{},[315],{"type":47,"value":316},"Invalid API key",{"type":36,"tag":302,"props":318,"children":319},{},[320],{"type":47,"value":321},"The provided API key is incorrect or has been revoked",{"type":36,"tag":275,"props":323,"children":324},{},[325,334,339],{"type":36,"tag":302,"props":326,"children":327},{},[328],{"type":36,"tag":85,"props":329,"children":331},{"className":330},[308],[332],{"type":47,"value":333},"403",{"type":36,"tag":302,"props":335,"children":336},{},[337],{"type":47,"value":338},"Insufficient permissions",{"type":36,"tag":302,"props":340,"children":341},{},[342],{"type":47,"value":343},"Your plan doesn't include access to the requested endpoint",{"type":36,"tag":275,"props":345,"children":346},{},[347,356,361],{"type":36,"tag":302,"props":348,"children":349},{},[350],{"type":36,"tag":85,"props":351,"children":353},{"className":352},[308],[354],{"type":47,"value":355},"429",{"type":36,"tag":302,"props":357,"children":358},{},[359],{"type":47,"value":360},"Rate limit exceeded",{"type":36,"tag":302,"props":362,"children":363},{},[364],{"type":47,"value":365},"You've exceeded the rate limit for your plan",{"type":36,"tag":61,"props":367,"children":369},{"id":368},"next-steps",[370],{"type":47,"value":371},"Next Steps",{"type":36,"tag":37,"props":373,"children":374},{},[375],{"type":47,"value":376},"Now that you understand how to authenticate with the Waitlister API, you can:",{"type":36,"tag":177,"props":378,"children":379},{},[380,392,403],{"type":36,"tag":135,"props":381,"children":382},{},[383,385],{"type":47,"value":384},"Learn about ",{"type":36,"tag":386,"props":387,"children":389},"a",{"href":388},"\u002Fdocs\u002Fapi\u002Frate-limits",[390],{"type":47,"value":391},"API rate limits",{"type":36,"tag":135,"props":393,"children":394},{},[395,397],{"type":47,"value":396},"Explore the ",{"type":36,"tag":386,"props":398,"children":400},{"href":399},"\u002Fdocs\u002Fapi\u002Fendpoints\u002Fsubscribers",[401],{"type":47,"value":402},"subscribers endpoints",{"type":36,"tag":135,"props":404,"children":405},{},[406,408],{"type":47,"value":407},"Check out the ",{"type":36,"tag":386,"props":409,"children":411},{"href":410},"\u002Fdocs\u002Fapi\u002Fendpoints\u002Fanalytics",[412],{"type":47,"value":413},"analytics endpoints",{"title":100,"searchDepth":415,"depth":415,"links":416},3,[417,420,421,425,426],{"id":63,"depth":12,"text":66,"children":418},[419],{"id":75,"depth":415,"text":78},{"id":121,"depth":12,"text":124},{"id":161,"depth":12,"text":164,"children":422},[423,424],{"id":172,"depth":415,"text":175},{"id":213,"depth":415,"text":216},{"id":257,"depth":12,"text":260},{"id":368,"depth":12,"text":371}]