Get Notification Preference
curl --request GET \
--url https://api.example.com/api/v1/job-seekers/me/notification-preferenceimport requests
url = "https://api.example.com/api/v1/job-seekers/me/notification-preference"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/job-seekers/me/notification-preference', 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/job-seekers/me/notification-preference",
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/job-seekers/me/notification-preference"
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/job-seekers/me/notification-preference")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/job-seekers/me/notification-preference")
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{
"applicationStatusNotificationsEnabled": true,
"jobMatchNotificationsEnabled": true,
"updatedAt": "<string>"
}Job Seeker
Get Notification Preference
Retrieve the current job seeker notification preferences
GET
/
api
/
v1
/
job-seekers
/
me
/
notification-preference
Get Notification Preference
curl --request GET \
--url https://api.example.com/api/v1/job-seekers/me/notification-preferenceimport requests
url = "https://api.example.com/api/v1/job-seekers/me/notification-preference"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/job-seekers/me/notification-preference', 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/job-seekers/me/notification-preference",
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/job-seekers/me/notification-preference"
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/job-seekers/me/notification-preference")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/job-seekers/me/notification-preference")
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{
"applicationStatusNotificationsEnabled": true,
"jobMatchNotificationsEnabled": true,
"updatedAt": "<string>"
}Endpoint
GET /api/v1/job-seekers/me/notification-preference
http://localhost:3000/api/v1
This endpoint requires authentication and Job Seeker role.
Authentication
Include the access token in the Authorization header:Authorization: Bearer YOUR_ACCESS_TOKEN
Description
Retrieve the authenticated job seeker’s notification preferences. If a preference row does not exist yet, the backend initializes it with the default values:jobMatchNotificationsEnabled = trueapplicationStatusNotificationsEnabled = true
Response
Success Response (200 OK)
{
"success": true,
"data": {
"applicationStatusNotificationsEnabled": true,
"jobMatchNotificationsEnabled": true,
"updatedAt": "2026-03-07T20:15:00.000Z"
},
"message": "Success",
"meta": {
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/job-seekers/me/notification-preference",
"method": "GET"
}
}
Response Fields
boolean
Whether the user wants email notifications when a company changes the status of one of their
applications.
boolean
Whether the user wants email notifications when new job matches are generated for their account.
string
ISO 8601 timestamp of the latest update to the preference row.
Error Responses
401 Unauthorized - Not Authenticated
{
"success": false,
"error": {
"message": "Unauthorized",
"statusCode": 401,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/job-seekers/me/notification-preference",
"method": "GET",
"details": "Unauthorized"
}
}
403 Forbidden - Insufficient Permissions
{
"success": false,
"error": {
"message": "Forbidden resource",
"statusCode": 403,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/job-seekers/me/notification-preference",
"method": "GET",
"details": "Forbidden"
}
}
Notes
Default Initialization: The first
GET request creates a preference row automatically if one
does not exist yet.Frontend Behavior: This endpoint always returns a real preference object, so the frontend does
not need special handling for
null settings.