# BambooHR Developer API Documentation & Integration Guide

> **Public REST API:** Available  
> **Official Docs:** https://documentation.bamboohr.com/reference  
> **Webhook Support:** Yes  
> **Authentication Methods:** API Key, OAuth 2.0  
> **Target Market:** SMB  

---

## 1. API Architecture & Summary
BambooHR offers a REST API for HRIS data and ATS integration, enabling candidate and application management. Supports API key and OAuth 2.0 authentication with webhooks for event notifications.

## 2. Authentication
Requests to the BambooHR API require authentication via API Key or OAuth 2.0.
Headers typically required:
```http
Authorization: Basic YOUR_ENCODED_KEY
Content-Type: application/json
```

## 3. Code Samples

### cURL
```bash
# List jobs or candidate submissions from BambooHR
curl -X GET "https://api.bamboohr.io/v1/candidates" \
  -H "Authorization: Basic YOUR_ENCODED_KEY" \
  -H "Accept: application/json"
```

### Python (httpx)
```python
import httpx

headers = {
    "Authorization": "Basic YOUR_ENCODED_KEY",
    "Accept": "application/json"
}

response = httpx.get("https://api.bamboohr.io/v1/candidates", headers=headers)
print(response.json())
```

### TypeScript / Node.js
```typescript
async function fetchCandidates() {
  const res = await fetch("https://api.bamboohr.io/v1/candidates", {
    headers: {
      "Authorization": "Basic YOUR_ENCODED_KEY",
      "Accept": "application/json",
    },
  });
  const data = await res.json();
  console.log(data);
}
```

## 4. Webhook Event Notifications
BambooHR supports real-time event webhooks (e.g. `candidate.created`, `application.updated`, `stage.changed`). Endpoints should return HTTP 200 within 3 seconds.

---
*Generated by Redraft ATS Intelligence (https://resumepure.com)*
