Guides

Authentication

The Prepzo API uses Bearer token authentication. Every request must include your API key in the Authorization header.

Getting Your API Key

  1. Log into your Prepzo account
  2. Go to Settings → API Keys
  3. Click Generate New Key
  4. Select the scopes you need
  5. Copy the key immediately (it won't be shown again)

You can also manage keys programmatically via the /api/v1/api-keys endpoint.

Making Requests

curl -H "Authorization: Bearer pk_live_YOUR_API_KEY" \
  https://prepzo.ai/api/v1/candidates

API Key Format

All Prepzo API keys start with pk_live_ followed by a base64url-encoded random string:

pk_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

Scopes

API keys support granular scopes to limit access:

ScopeDescription
candidates:readRead candidate data
candidates:writeCreate, update, delete candidates
jobs:readRead job listings
jobs:writeCreate, update, delete jobs
applications:readRead applications
applications:writeCreate, update, manage applications
interviews:readRead interview data
interviews:writeSchedule, update, cancel interviews
analytics:readRead analytics and reports
webhooks:readRead webhook endpoints
webhooks:writeManage webhook endpoints
offers:read / offers:writeManage offers
bulk:writePerform bulk operations
readRead all data (legacy broad scope)
writeWrite all data (legacy broad scope)
*Full access (all scopes)

Error Responses

401 Unauthorized: Missing or invalid API key

{
  "success": false,
  "data": null,
  "errors": [{ "code": "unauthorized", "message": "Invalid or missing API key" }]
}

403 Forbidden: API key lacks the required scope

{
  "success": false,
  "data": null,
  "errors": [{ "code": "forbidden", "message": "Insufficient permissions" }]
}

Security Best Practices

  • Never expose API keys in client-side code or public repositories
  • Use the minimum scopes needed for your integration
  • Set expiration dates on keys when possible
  • Rotate keys regularly
  • Revoke compromised keys immediately via the API or dashboard