API Overview
The SkillSync AI API is a powerful RESTful API that allows you to integrate our intelligent talent matching platform into your applications. Access our advanced AI algorithms, manage user profiles, facilitate connections, and build amazing experiences.
Base URL
Key Features
- AI-Powered Matching: Access our advanced algorithms for talent discovery
- Real-time Communication: Enable instant messaging between users
- Profile Management: Complete CRUD operations for user profiles
- Analytics & Insights: Detailed metrics and performance data
- Webhook Support: Real-time event notifications
- Enterprise Security: OAuth 2.0 and API key authentication
Response Format
All API responses are returned in JSON format with consistent structure:
Authentication
SkillSync AI supports multiple authentication methods to secure your API access:
API Key Authentication
Include your API key in the Authorization header for all requests:
OAuth 2.0 (Enterprise)
For enterprise applications requiring user-specific access:
Getting Your API Key
- Create your SkillSync AI developer account
- Navigate to your dashboard
- Go to Settings → API Keys
- Generate a new API key with appropriate permissions
- Store your key securely and never expose it in client-side code
Generate API Key
Create a new API key with specific permissions and scopes.
Request Body
Rate Limits
To ensure fair usage and optimal performance, our API implements rate limiting based on your subscription plan:
| Plan | Requests/Min | Requests/Day | Burst Limit | Concurrent Requests |
|---|---|---|---|---|
| Free | 60 | 1,000 | 100 | 5 |
| Pro | 300 | 10,000 | 500 | 20 |
| Enterprise | 1,000 | 50,000 | 2,000 | 100 |
| Custom | Unlimited* | Unlimited* | Custom | Custom |
*Subject to fair usage policy
Rate Limit Headers
Every API response includes rate limit information:
API Endpoints
Matches API
The Matches API powers our core talent matching functionality using advanced AI algorithms.
Get Matches
Retrieve intelligent matches for a specific user based on their profile, preferences, and our AI matching algorithms.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
userId |
string | Required | Unique user identifier (UUID format) |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
integer | Optional | Number of matches to return (default: 20, max: 100) |
min_score |
integer | Optional | Minimum match score threshold (default: 60, range: 0-100) |
skills |
array | Optional | Filter matches by specific skills |
location |
string | Optional | Filter by location (city, country, or "remote") |
experience_level |
string | Optional | junior, mid, senior, lead |
Example Request
Example Response
Create Match Action
Accept, reject, or save a match for later consideration.
Request Body
Response
Get Match Details
Retrieve detailed information about a specific match including AI insights.
Profiles API
Manage user profiles, skills, preferences, and career information.
Get Profile
Retrieve complete profile information for a user.
Example Response
Update Profile
Update user profile information with validation and AI optimization suggestions.
Request Body
Upload Profile Photo
Upload a profile photo with automatic optimization and moderation.
Messages API
Real-time messaging system for communication between matched users.
Send Message
Send a message to another user in an existing conversation or start a new one.
Request Body
Response
Get Conversations
Retrieve all conversations for a user with pagination and filtering.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit |
integer | Number of conversations (default: 20, max: 100) |
unread_only |
boolean | Filter to show only unread conversations |
search |
string | Search conversations by participant name or company |
Get Conversation Messages
Retrieve messages from a specific conversation with real-time updates.
Analytics API
Access detailed analytics and insights about user engagement, match success rates, and platform performance.
Get User Analytics
Comprehensive analytics for user performance and engagement metrics.
Example Response
Get Platform Analytics
Platform-wide analytics and market insights (Enterprise only).
Webhooks
SkillSync AI can send real-time webhooks to notify your application of important events. Webhooks are HTTP POST requests sent to your specified endpoint.
Setting Up Webhooks
- Navigate to your dashboard → Webhooks
- Add your webhook endpoint URL
- Select the events you want to receive
- Configure your secret key for security
- Test your webhook endpoint
Supported Events
| Event | Description | Payload |
|---|---|---|
match.created |
New match found for user | Match object with details |
match.accepted |
Match accepted by user | Match and action details |
match.rejected |
Match rejected by user | Match and rejection reason |
message.received |
New message received | Message content and metadata |
profile.updated |
Profile information updated | Updated profile fields |
conversation.started |
New conversation initiated | Conversation participants and metadata |
Webhook Payload Structure
Webhook Security
Verify webhook authenticity using HMAC signature:
Webhook Retry Policy
- Webhooks are retried up to 5 times with exponential backoff
- Initial retry after 1 second, then 2s, 4s, 8s, 16s
- Webhooks are considered failed after 5 unsuccessful attempts
- You can view failed webhooks in your dashboard
SDKs & Libraries
Official SDKs and community libraries to integrate SkillSync AI into your applications with ease.
JavaScript / Node.js
Official JavaScript SDK for web and Node.js applications with TypeScript support.
Python
Python SDK perfect for backend integrations, data analysis, and machine learning workflows.
React
React components and hooks for seamless frontend integration with built-in state management.
PHP
PHP library for server-side integrations with Laravel and Symfony support.
Android
Android SDK for native mobile applications with offline support and caching.
iOS
Swift SDK for iOS applications with SwiftUI support and reactive programming patterns.
Community SDKs
Community-maintained libraries for additional programming languages:
- Ruby:
gem install skillsync-ruby - Go:
go get github.com/skillsync/go-sdk - .NET:
dotnet add package SkillSync.SDK - Java: Available via Maven Central
Error Handling
SkillSync AI uses standard HTTP status codes and provides detailed error messages to help you debug issues quickly.
HTTP Status Codes
| Status Code | Meaning | Description | Action Required |
|---|---|---|---|
| 200 | Success | Request completed successfully | None |
| 201 | Created | Resource created successfully | None |
| 400 | Bad Request | Invalid request parameters or body | Check request format |
| 401 | Unauthorized | Invalid or missing API key | Verify API key |
| 403 | Forbidden | Access denied to resource | Check permissions |
| 404 | Not Found | Resource does not exist | Verify resource ID |
| 422 | Unprocessable Entity | Validation errors in request data | Fix validation errors |
| 429 | Too Many Requests | Rate limit exceeded | Implement rate limiting |
| 500 | Internal Server Error | Server error occurred | Contact support |
| 503 | Service Unavailable | Temporary service disruption | Retry with backoff |
Error Response Format
Common Error Codes
| Error Code | Description | Resolution |
|---|---|---|
INVALID_API_KEY |
API key is invalid or expired | Generate a new API key |
RATE_LIMIT_EXCEEDED |
Too many requests sent | Implement exponential backoff |
VALIDATION_ERROR |
Request data validation failed | Fix the specified validation errors |
RESOURCE_NOT_FOUND |
Requested resource doesn't exist | Verify the resource ID |
INSUFFICIENT_PERMISSIONS |
API key lacks required permissions | Request additional scopes |
Best Practices for Error Handling
- Always check the HTTP status code before processing the response
- Implement exponential backoff for 429 and 5xx errors
- Log error details including the request_id for support inquiries
- Handle network timeouts gracefully with appropriate retry logic
- Validate input data before sending requests to minimize 400 errors