5-Minute Quickstart
Get started with the XeCubes Developer API in minutes. In this tutorial, you will:
- Retrieve your API Secret Key from the Recruiter Dashboard.
- Authenticate your first request to verify tenant access.
- List active jobs in your organization.
Step 1: Obtain Your API Key
- Navigate to the XeCubes Recruiter Dashboard.
- Go to Settings → API & Integrations.
- Under Developer Keys, click Create API Key.
- Copy your secret key (
xh_live_...). Store it securely; you will not be able to view it again.
⚠️ Important: Never commit your secret keys to public repositories or client-side frontends. Always proxy requests through your backend services.
Step 2: Verify Connection (/recruiter/bootstrap)
Send a GET request to /recruiter/bootstrap to verify that your key is active and return your workspace context:
- cURL
- Node.js
- Python
- Go
curl -X GET "https://api.xecubes.com/recruiter/bootstrap" \
-H "X-API-Key: xh_live_your_secret_key"
const response = await fetch('https://api.xecubes.com/recruiter/bootstrap', {
headers: {
'X-API-Key': 'xh_live_your_secret_key',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log('Bootstrap data:', data);
import requests
response = requests.get(
"https://api.xecubes.com/recruiter/bootstrap",
headers={"X-API-Key": "xh_live_your_secret_key"}
)
print(response.json())
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.xecubes.com/recruiter/bootstrap", nil)
req.Header.Set("X-API-Key", "xh_live_your_secret_key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
Expected Response
{
"status": "success",
"data": {
"org": {
"id": "org_92A838HDK8",
"name": "Acme Talent Corp",
"status": "active"
},
"profile": {
"id": "usr_78H234J8K",
"email": "lead-recruiter@acme.com",
"role": "owner"
}
}
}
Step 3: Fetch Active Jobs
Now let's query the jobs configured in your organization:
- cURL
- Node.js
- Python
curl -X GET "https://api.xecubes.com/recruiter/jobs" \
-H "X-API-Key: xh_live_your_secret_key"
const response = await fetch('https://api.xecubes.com/recruiter/jobs', {
headers: {
'X-API-Key': 'xh_live_your_secret_key'
}
});
const jobs = await response.json();
console.log('Active Jobs:', jobs.data);
import requests
response = requests.get(
"https://api.xecubes.com/recruiter/jobs",
headers={"X-API-Key": "xh_live_your_secret_key"}
)
print("Jobs:", response.json().get("data"))
Sample Response
{
"status": "success",
"data": [
{
"id": "job_37H283J8K",
"title": "Senior Staff AI Architect",
"company_name": "Acme Talent Corp",
"location": "San Francisco, CA (Hybrid)",
"status": "active",
"openings": 2,
"created_at": "2026-06-05T12:00:00Z"
}
]
}
Next Steps
- Explore the Resume Parser API to parse PDF resumes into structured candidate records.
- Configure Event Webhooks for instant notifications when candidates complete AI interviews.
- Check our API Rate Limits to plan your concurrency and throttling.