REST API Documentation
REST API
Direct API access for any platform or language
Authentication
All API requests require authentication using your API key in the headers:
curl -X POST https://api.Snapjobs.dev/v1/match -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json"
1
Core Endpoints
Matching API
POST /v1/match
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"description": "React Native developer needed",
"requiredSkills": ["React Native", "TypeScript"],
"preferences": {
"experienceYears": 3,
"availability": "full-time"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
Skills Extraction
POST /v1/skills/extract
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"text": "Looking for a full-stack developer with React and Node.js"
}
1
2
3
4
5
6
7
Real-time WebSocket API
// Initialize WebSocket connection
const ws = new WebSocket('wss://api.Snapjobs.dev/v1/ws');
// Authentication
ws.send(JSON.stringify({
type: 'auth',
apiKey: 'YOUR_API_KEY'
}));
// Start matching
ws.send(JSON.stringify({
type: 'match',
data: {
skills: ["React", "Node.js"],
maxResults: 10
}
}));
// Handle results
ws.onmessage = (event) => {
const match = JSON.parse(event.data);
console.log('New match:', match);
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Rate Limiting
Standard Rate Limits:
- 1000 requests per hour
- 10 concurrent WebSocket connections
- Rate limit headers included in responses
Error Handling
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded",
"retryAfter": 3600
}
}
1
2
3
4
5
6
7