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

SDK Examples