JobSphere v1.0

API Documentation

Build powerful integrations with JobSphere's RESTful API. Access job listings, manage applications, and sync candidate data programmatically.

All API requests are made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail. The API is versioned via the URL path (`/v1/`).

Authentication

JobSphere uses API keys to authenticate requests. You can view and manage your API keys in the developer dashboard. Never share your API keys publicly or commit them to version control.

Include your API key in the Authorization header using Bearer token format:

Authorization: Bearer <YOUR_API_KEY>

For OAuth 2.0 integrations (e.g., social login or third-party apps), exchange your client_id and client_secret at POST /auth/token.

Base URL & Request Format

All API endpoints are relative to:

https://api.jobsphere.com/v1

JobSphere accepts JSON payloads (`application/json`) and returns JSON responses. Standard HTTP methods (GET, POST, PUT, DELETE) are supported. All timestamps are in ISO 8601 format (UTC).

Jobs Endpoints

GET /jobs

Retrieve a paginated list of job postings. Supports filtering by title, location, category, salary, and company.

ParameterTypeRequiredDescription
qstringFalseSearch query for job title or description
locationstringFalseFilter by city, country, or remote
categorystringFalseCategory slug (e.g., engineering, design)
limitintegerFalseResults per page (max 50, default 20)

Example Response

{
  "data": [
    {
      "id": "job_8f3k29",
      "title": "Senior Frontend Developer",
      "company": { "id": "comp_92x", "name": "TechCorp", "logo_url": "https://cdn.jobsphere.com/logos/techcorp.png" },
      "location": "San Francisco, CA",
      "salary_range": { "min": 120000, "max": 160000, "currency": "USD" },
      "posted_at": "2024-03-15T08:00:00Z"
    }
  ],
  "pagination": { "current_page": 1, "total_pages": 12, "has_more": true }
}
POST /jobs/{id}/apply

Submit a job application on behalf of a candidate. Triggers email notifications to the hiring manager.

ParameterTypeRequiredDescription
candidate_emailstringTrueApplicant's email address
resume_urlstringTruePublic URL to PDF resume
cover_letterstringFalseOptional cover letter text
phonestringFalseContact phone number

Companies Endpoints

GET /companies/{id}

Fetch detailed information about a specific company, including profile details, open positions count, industry classification, and verified status.

Response: Returns company object with name, description, website, employee_count, and jobs_count.

Pagination

API responses containing collections are paginated. Use the page and limit query parameters to navigate results.

Meta information about pagination is always included in the pagination object of the response. The has_more boolean indicates if additional pages exist.

Rate Limits

API requests are limited to 100 requests per minute per API key. When you exceed the limit, you will receive a 429 Too Many Requests response.

Rate limit headers are included in every response to help you track usage:

  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining in current window
  • X-RateLimit-Reset: Unix timestamp when the limit resets

Error Codes

JobSphere uses standard HTTP status codes to indicate success or failure of API requests. Errors are returned in a consistent JSON format.

CodeMeaningDescription
400Bad RequestMalformed request body or missing required parameters
401UnauthorizedMissing or invalid API key / authentication token
403ForbiddenInsufficient permissions for the requested action
404Not FoundResource does not exist or has been deleted
429Too Many RequestsRate limit exceeded. Retry after the reset time.
500Server ErrorInternal server error. Contact support if persistent.