Developer Documentation

Kinboardly API Reference

Integrate Kinboardly's verification platform directly into your ATS, HRIS, or custom hiring workflow. RESTful API with predictable URLs, JSON responses, and webhook notifications.

Overview

The Kinboardly API is organized around REST. Our API accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes and verbs. All API access is over HTTPS.

Base URL

https://api.kinboardly.ai

API Version

v1 (stable)

Format

JSON

Quick start

curl https://api.kinboardly.ai/v1/candidates \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sarah Chen",
    "email": "sarah@example.com",
    "role": "Senior Product Manager"
  }'

Authentication

Authenticate by passing your API key as a Bearer token in the Authorization header. You can generate and manage API keys from your workspace settings. Keys are scoped to your organization and can be revoked at any time.

# All requests must include your API key
curl https://api.kinboardly.ai/v1/candidates \
  -H "Authorization: Bearer kb_live_abc123xyz" \
  -H "Content-Type: application/json"

Security: Never expose your API key in client-side code or public repositories. Use server-to-server calls only.

Endpoints

All endpoints return JSON responses. Standard HTTP methods are used: GET for retrieval, POST for creation, PATCH for updates, DELETE for removal.

POST/v1/candidates
GET/v1/candidates
GET/v1/candidates/:id
POST/v1/candidates/:id/invite
POST/v1/checks
GET/v1/checks/:id
POST/v1/packages
GET/v1/reports/:candidateId
GET/v1/usage

Example: Create a candidate

POST /v1/candidates

Request:
{
  "name": "Sarah Chen",
  "email": "sarah@example.com",
  "role": "Senior Product Manager",
  "package_id": "pkg_standard"
}

Response (201 Created):
{
  "id": "cand_8x2f9a",
  "status": "invited",
  "progress": 0,
  "created_date": "2026-08-10T12:00:00Z"
}

Webhooks

Receive real-time notifications when verification events occur. Configure webhook endpoints in your workspace settings. We'll send a POST request with the event payload.

candidate.invited
candidate.started
check.completed
check.flagged
verification.complete
reference.submitted
POST https://your-app.com/webhooks/kinboardly

{
  "event": "check.completed",
  "data": {
    "check_id": "chk_abc123",
    "candidate_id": "cand_8x2f9a",
    "type": "identity_verification",
    "result": "verified",
    "completed_at": "2026-08-10T14:30:00Z"
  }
}

Rate Limits

API requests are rate-limited to ensure fair usage. Limits vary by plan tier and are included in response headers.

PlanRequests/minBurstConcurrent
Pay-as-you-go601005
Starter12020010
Growth30050020
Scale600100050
EnterpriseCustomCustomCustom

Error Codes

Kinboardly uses conventional HTTP status codes. Errors include a machine-readable code and a human-readable message.

200

Success — The request was completed successfully.

201

Created — A new resource was successfully created.

400

Bad Request — The request was malformed or missing required parameters.

401

Unauthorised — Authentication credentials were missing or invalid.

403

Forbidden — You don't have permission to access this resource.

404

Not Found — The requested resource could not be found.

429

Rate Limited — You've exceeded the API rate limit. Retry with backoff.

500

Server Error — Something went wrong on our end. Our team has been notified.