Get Direct Job By ID
curl --request GET \
--url https://api.example.com/api/v1/jobs/direct/{jobId}import requests
url = "https://api.example.com/api/v1/jobs/direct/{jobId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/jobs/direct/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/jobs/direct/{jobId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/jobs/direct/{jobId}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/jobs/direct/{jobId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/jobs/direct/{jobId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"type": "<string>",
"title": "<string>",
"description": "<string>",
"requirements": {},
"responsibilities": {},
"location": {},
"salaryMin": {},
"salaryMax": {},
"jobType": {},
"workPreference": {},
"experienceLevel": {},
"company": {},
"publishedAt": {},
"deadline": {},
"source": "<string>",
"skills": [
{}
],
"applicants": {}
}Jobs
Get Direct Job By ID
Get a specific direct (platform) job by ID
GET
/
api
/
v1
/
jobs
/
direct
/
{jobId}
Get Direct Job By ID
curl --request GET \
--url https://api.example.com/api/v1/jobs/direct/{jobId}import requests
url = "https://api.example.com/api/v1/jobs/direct/{jobId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/jobs/direct/{jobId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/jobs/direct/{jobId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/jobs/direct/{jobId}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/jobs/direct/{jobId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/jobs/direct/{jobId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"type": "<string>",
"title": "<string>",
"description": "<string>",
"requirements": {},
"responsibilities": {},
"location": {},
"salaryMin": {},
"salaryMax": {},
"jobType": {},
"workPreference": {},
"experienceLevel": {},
"company": {},
"publishedAt": {},
"deadline": {},
"source": "<string>",
"skills": [
{}
],
"applicants": {}
}Endpoint
GET /api/v1/jobs/direct/{jobId}
http://localhost:3000/api/v1
This endpoint is public - no authentication required.
Path Parameters
Response (200 OK)
{
"success": true,
"data": {
"id": "6cc9f0af-10c0-4998-b252-fc6c52394759",
"type": "direct",
"title": "Senior Backend Engineer",
"description": "We are looking for an experienced backend engineer...",
"requirements": "5+ years experience in Node.js",
"responsibilities": "Design and implement APIs, mentor junior developers",
"location": "Cairo, Egypt",
"salaryMin": 15000,
"salaryMax": 25000,
"jobType": "FULL_TIME",
"workPreference": "REMOTE",
"experienceLevel": "SENIOR",
"publishedAt": "2026-02-22T14:51:00.000Z",
"deadline": "2026-04-30T23:59:59.000Z",
"company": {
"id": "uuid",
"name": "Tech Corp",
"logoUrl": null,
"industry": "Technology"
},
"source": "direct",
"skills": [
{ "skillId": "uuid1", "name": "Node.js" },
{ "skillId": "uuid2", "name": "TypeScript" },
{ "skillId": "uuid3", "name": "PostgreSQL" }
],
"applicants": 1
},
"message": "Success",
"meta": {
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/jobs/direct/6cc9f0af-10c0-4998-b252-fc6c52394759",
"method": "GET"
}
}
Response Fields
string
Unique identifier for the job.
string
Job type identifier. Always
direct for this endpoint.string
Job title.
string
Full job description.
string | null
Job requirements.
string | null
Job responsibilities.
string | null
Job location.
number | null
Minimum salary.
number | null
Maximum salary.
enum
Employment type. Values:
FULL_TIME, PART_TIME, CONTRACT, FREELANCE, INTERNSHIPenum
Work arrangement. Values:
ONSITE, REMOTE, HYBRID, ANYenum | null
Required experience level. Values:
ENTRY, JUNIOR, MID, SENIOR, LEAD, MANAGERobject
Company information related to the job. Includes id, name, logoUrl, and industry.
string | null
When the job was published.
string | null
The last date and time to apply for the job. After this date, applications may be closed.
string
Always
direct for this endpoint.array
Array of skill objects with skillId and name.
number | null
Number of applicants who applied for this job.
Error Responses
404 Not Found
{
"success": false,
"error": {
"message": "Job not found",
"statusCode": 404,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/jobs/direct/{jobId}",
"method": "GET",
"details": "Not Found"
}
}
Example
GET /api/v1/jobs/direct/6cc9f0af-10c0-4998-b252-fc6c52394759
