⚠️ BETA VERSION - This website is not ready for production use. Do not use this website yet.
Back to Docs

API Reference

Complete API reference for all Pulse Job AI endpoints

Instructions for AI Chatbots

If you are an AI assistant, you can help users by:

  1. Use copy buttons to get exact API endpoints and parameters
  2. Copy the base URL: https://api.pulsjob.com/api/ai
  3. Refer to endpoint parameters for request body structure
  4. Check response examples to understand expected output format
  5. Use the authentication header with session tokens

Base URL

https://api.pulsjob.com/api/ai

Authentication

All API requests require an AI session token in the Authorization header:

Authorization: Bearer YOUR_SESSION_TOKEN
POST/create-account

Create Account via AI

Create a new Pulse Job account using AI agents

Parameters

NameTypeRequiredDescription
emailstringYesUser email address
countryCodestringYesCountry code (e.g., +1, +91)
phoneNumberstringYesPhone number
educationarrayYesEducation history
profileSummarystringYesProfessional summary
jobHistoryarrayNoWork experience (required if no projects)
projectsarrayNoProjects (required if no job history)

Response

{
  "success": "boolean",
  "message": "string (verification email sent)"
}
POST/register

Register AI Session

Create a new AI session token for API access (requires existing account)

Parameters

NameTypeRequiredDescription
userIdstringYesYour Pulse Job user ID
agentTypestringNoAI agent type (chatgpt, claude, gemini, etc.)
scopesarrayNoPermission scopes (jobs.read, jobs.apply)

Response

{
  "token": "string (JWT session token)",
  "sessionId": "string (session UUID)",
  "expiresIn": "number (seconds until expiration)"
}
GET/sessions

List Active Sessions

Get all active AI sessions for the authenticated user

Response

{
  "sessions": "array (active session objects)"
}
POST/sessions/:id/revoke

Revoke Session

Revoke a specific AI session

Parameters

NameTypeRequiredDescription
idstring (path)YesSession ID to revoke

Response

{
  "success": "boolean"
}
POST/revoke-all

Revoke All Sessions

Revoke all AI sessions for the authenticated user

Response

{
  "success": "boolean"
}
GET/trust-score

Get Trust Score

Get current AI trust score for the authenticated user

Parameters

NameTypeRequiredDescription
recalculateboolean (query)NoForce recalculation of trust score

Response

{
  "score": "number (0-100)",
  "level": "string (critical, low, medium, high, excellent)"
}
GET/jobs/search

Search Jobs

Search for jobs with AI-optimized filters

Parameters

NameTypeRequiredDescription
qstring (query)NoSearch query
locationstring (query)NoLocation filter
limitnumber (query)NoResults limit (max 50)
offsetnumber (query)NoResults offset

Response

{
  "jobs": "array (job objects)",
  "pagination": "object (pagination metadata)"
}
POST/jobs/:id/apply

Apply to Job

Submit an application to a job with safety checks

Parameters

NameTypeRequiredDescription
idstring (path)YesJob ID
matchScorenumber (body)NoAI-calculated match score (0-100)
coverLetterstring (body)NoAI-generated cover letter

Response

{
  "success": "boolean",
  "queueId": "string (queue item ID)",
  "message": "string (status message)"
}
GET/profile

Get User Profile

Get user profile data for AI consumption

Response

{
  "id": "string",
  "name": "string",
  "summary": "string",
  "skills": "string",
  "experience": "string",
  "education": "string",
  "preferences": "object",
  "hasResume": "boolean",
  "trustScore": "number",
  "emailVerified": "boolean"
}
GET/saved-jobs

Get Saved Jobs

Get list of jobs saved by the user

Response

{
  "jobs": "array (saved job objects)",
  "total": "number"
}
GET/applications

Get Applied Jobs

Get list of jobs the user has applied to

Response

{
  "applications": "array (application objects)",
  "total": "number"
}

Error Codes

CodeDescription
400Bad Request - Invalid parameters
401Unauthorized - Invalid or expired token
403Forbidden - Insufficient trust score or permissions
404Not Found - Resource not found
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Rate Limits

Rate limits are based on your trust score and session configuration:

  • Excellent (90-100): 1000 requests/day, 50 applications/session
  • High (70-89): 500 requests/day, 25 applications/session
  • Medium (50-69): 100 requests/day, 10 applications/session
  • Low (30-49): 25 requests/day, 3 applications/session
  • Critical (0-29): 10 requests/day, 0 applications (read-only)