MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>

Authenticating requests

This API is not authenticated.

Account Management

Get user profile

requires authentication

Get the authenticated user's profile information.

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/profile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Update user profile

requires authentication

Update the authenticated user's profile information.

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/account/profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Doe\",
    \"phone\": \"+1234567890\",
    \"dob\": \"1990-01-01\",
    \"address\": \"123 Main St, City, State\",
    \"gender\": \"male\",
    \"description\": \"Experienced software developer...\",
    \"bio\": \"Passionate about technology...\",
    \"country_id\": 1,
    \"state_id\": 1,
    \"city_id\": 1,
    \"locale\": \"ar\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/profile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "John",
    "last_name": "Doe",
    "phone": "+1234567890",
    "dob": "1990-01-01",
    "address": "123 Main St, City, State",
    "gender": "male",
    "description": "Experienced software developer...",
    "bio": "Passionate about technology...",
    "country_id": 1,
    "state_id": 1,
    "city_id": 1,
    "locale": "ar"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/account/profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

first_name   string   

User's first name. Must not be greater than 120 characters. Must be at least 2 characters. Example: John

last_name   string   

User's last name. Must not be greater than 120 characters. Must be at least 2 characters. Example: Doe

phone   string  optional  

User's phone number. Must match the regex /^([0-9\s-+()]*)$/. Must be at least 8 characters. Must not be greater than 15 characters. Example: +1234567890

dob   string  optional  

Date of birth. Must be a valid date. Example: 1990-01-01

address   string  optional  

User's address. Must not be greater than 250 characters. Example: 123 Main St, City, State

gender   string  optional  

User's gender. Example: male

Must be one of:
  • male
  • female
  • other
description   string  optional  

User's description. Must not be greater than 4000 characters. Example: Experienced software developer...

bio   string  optional  

User's bio. Example: Passionate about technology...

country_id   number  optional  

Country ID. Example: 1

state_id   number  optional  

State ID. Example: 1

city_id   number  optional  

City ID. Example: 1

locale   string   

Example: ar

Must be one of:
  • ar
  • en
  • vi

POST api/v1/account/avatar

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/account/avatar" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "avatar=@/tmp/phpcnmm6c2o7sjm5YU7Tuy" 
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/avatar"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/v1/account/avatar

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

avatar   file   

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpcnmm6c2o7sjm5YU7Tuy

GET api/v1/account/applications

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/applications

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/account/applications/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/applications/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/applications/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/applications/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the application. Example: 564

DELETE api/v1/account/applications/{id}

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/account/applications/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/applications/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/account/applications/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the application. Example: 564

GET api/v1/account/saved-jobs

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/saved-jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/saved-jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/saved-jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/v1/account/saved-jobs/{jobId}

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/account/saved-jobs/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/saved-jobs/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/account/saved-jobs/{jobId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

jobId   string   

Example: 564

DELETE api/v1/account/saved-jobs/{jobId}

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/account/saved-jobs/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/saved-jobs/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/account/saved-jobs/{jobId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

jobId   string   

Example: 564

GET api/v1/account/companies

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/companies" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/companies"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/companies

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/account/jobs

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/v1/account/jobs

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/account/jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Senior Software Engineer\",
    \"description\": \"We are looking for a senior software engineer...\",
    \"content\": \"Full job description with requirements...\",
    \"status\": \"closed\",
    \"salary_type\": \"fixed\",
    \"latitude\": \"bngzmiyvdljnikhw\",
    \"longitude\": \"aykcmyuwpwlvqwrs\",
    \"zip_code\": \"itcpscqldzsnrwtu\",
    \"number_of_positions\": 2,
    \"apply_url\": \"http:\\/\\/raynor.org\\/molestias-fugit-deleniti-distinctio-eum-doloremque-id\",
    \"external_apply_behavior\": \"new_tab\",
    \"unique_id\": \"architecto\",
    \"company_id\": 1,
    \"custom_fields\": [
        {
            \"name\": \"n\",
            \"value\": \"g\"
        }
    ]
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Senior Software Engineer",
    "description": "We are looking for a senior software engineer...",
    "content": "Full job description with requirements...",
    "status": "closed",
    "salary_type": "fixed",
    "latitude": "bngzmiyvdljnikhw",
    "longitude": "aykcmyuwpwlvqwrs",
    "zip_code": "itcpscqldzsnrwtu",
    "number_of_positions": 2,
    "apply_url": "http:\/\/raynor.org\/molestias-fugit-deleniti-distinctio-eum-doloremque-id",
    "external_apply_behavior": "new_tab",
    "unique_id": "architecto",
    "company_id": 1,
    "custom_fields": [
        {
            "name": "n",
            "value": "g"
        }
    ]
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/account/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Job title. Must be at least 3 characters. Must not be greater than 120 characters. Example: Senior Software Engineer

description   string  optional  

Job description. Must not be greater than 400 characters. Example: We are looking for a senior software engineer...

content   string  optional  

Detailed job content. Must not be greater than 100000 characters. Example: Full job description with requirements...

status   string  optional  

Example: closed

Must be one of:
  • published
  • draft
  • pending
  • closed
salary_type   string  optional  

Type of salary (fixed, negotiable, competitive, hidden). Example: fixed

Must be one of:
  • negotiable
  • competitive
  • hidden
  • fixed
latitude   string  optional  

Must match the regex /^[-]?(([0-8]?[0-9]).(\d+))|(90(.0+)?)$/. Must not be greater than 20 characters. Example: bngzmiyvdljnikhw

longitude   string  optional  

Must match the regex /^[-]?((((1[0-7][0-9])|([0-9]?[0-9])).(\d+))|180(.0+)?)$/. Must not be greater than 20 characters. Example: aykcmyuwpwlvqwrs

zip_code   string  optional  

Must not be greater than 20 characters. Example: itcpscqldzsnrwtu

number_of_positions   integer   

Number of open positions. Must not be greater than 10000. Example: 2

apply_url   string  optional  

Must be a valid URL. Must not be greater than 2048 characters. Example: http://raynor.org/molestias-fugit-deleniti-distinctio-eum-doloremque-id

external_apply_behavior   string  optional  

Example: new_tab

Must be one of:
  • disabled
  • new_tab
  • current_tab
unique_id   string  optional  

Example: architecto

company_id   string   

ID of the company posting the job. Example: 1

Must be one of:
custom_fields   object[]  optional  
name   string   

Must not be greater than 255 characters. Example: n

value   string   

Must not be greater than 255 characters. Example: g

PUT api/v1/account/jobs/{id}

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/account/jobs/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Senior Software Engineer\",
    \"description\": \"We are looking for a senior software engineer...\",
    \"content\": \"Full job description with requirements...\",
    \"status\": \"closed\",
    \"salary_type\": \"fixed\",
    \"latitude\": \"bngzmiyvdljnikhw\",
    \"longitude\": \"aykcmyuwpwlvqwrs\",
    \"zip_code\": \"itcpscqldzsnrwtu\",
    \"number_of_positions\": 2,
    \"apply_url\": \"http:\\/\\/raynor.org\\/molestias-fugit-deleniti-distinctio-eum-doloremque-id\",
    \"external_apply_behavior\": \"disabled\",
    \"unique_id\": \"architecto\",
    \"company_id\": 1,
    \"custom_fields\": [
        {
            \"name\": \"n\",
            \"value\": \"g\"
        }
    ]
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/jobs/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Senior Software Engineer",
    "description": "We are looking for a senior software engineer...",
    "content": "Full job description with requirements...",
    "status": "closed",
    "salary_type": "fixed",
    "latitude": "bngzmiyvdljnikhw",
    "longitude": "aykcmyuwpwlvqwrs",
    "zip_code": "itcpscqldzsnrwtu",
    "number_of_positions": 2,
    "apply_url": "http:\/\/raynor.org\/molestias-fugit-deleniti-distinctio-eum-doloremque-id",
    "external_apply_behavior": "disabled",
    "unique_id": "architecto",
    "company_id": 1,
    "custom_fields": [
        {
            "name": "n",
            "value": "g"
        }
    ]
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/account/jobs/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job. Example: 564

Body Parameters

name   string   

Job title. Must be at least 3 characters. Must not be greater than 120 characters. Example: Senior Software Engineer

description   string  optional  

Job description. Must not be greater than 400 characters. Example: We are looking for a senior software engineer...

content   string  optional  

Detailed job content. Must not be greater than 100000 characters. Example: Full job description with requirements...

status   string  optional  

Example: closed

Must be one of:
  • published
  • draft
  • pending
  • closed
salary_type   string  optional  

Type of salary (fixed, negotiable, competitive, hidden). Example: fixed

Must be one of:
  • negotiable
  • competitive
  • hidden
  • fixed
latitude   string  optional  

Must match the regex /^[-]?(([0-8]?[0-9]).(\d+))|(90(.0+)?)$/. Must not be greater than 20 characters. Example: bngzmiyvdljnikhw

longitude   string  optional  

Must match the regex /^[-]?((((1[0-7][0-9])|([0-9]?[0-9])).(\d+))|180(.0+)?)$/. Must not be greater than 20 characters. Example: aykcmyuwpwlvqwrs

zip_code   string  optional  

Must not be greater than 20 characters. Example: itcpscqldzsnrwtu

number_of_positions   integer   

Number of open positions. Must not be greater than 10000. Example: 2

apply_url   string  optional  

Must be a valid URL. Must not be greater than 2048 characters. Example: http://raynor.org/molestias-fugit-deleniti-distinctio-eum-doloremque-id

external_apply_behavior   string  optional  

Example: disabled

Must be one of:
  • disabled
  • new_tab
  • current_tab
unique_id   string  optional  

Example: architecto

company_id   string   

ID of the company posting the job. Example: 1

Must be one of:
custom_fields   object[]  optional  
name   string   

Must not be greater than 255 characters. Example: n

value   string   

Must not be greater than 255 characters. Example: g

DELETE api/v1/account/jobs/{id}

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/account/jobs/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/jobs/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/account/jobs/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job. Example: 564

GET api/v1/account/transactions

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/transactions" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/transactions"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/transactions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/account/invoices

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/invoices" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/invoices"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/invoices

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/account/invoices/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/account/invoices/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/account/invoices/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/account/invoices/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the invoice. Example: 564

Ads

Get ads

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/ads?keys[]=homepage-banner&keys[]=sidebar-banner" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"keys\": [
        \"homepage-banner\",
        \"sidebar-banner\"
    ]
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/ads"
);

const params = {
    "keys[0]": "homepage-banner",
    "keys[1]": "sidebar-banner",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "keys": [
        "homepage-banner",
        "sidebar-banner"
    ]
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/ads

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

keys   string[]  optional  

Array of ad keys to filter by.

Body Parameters

keys   string[]  optional  

Array of ad keys to filter by.

Authentication

Register

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/register" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Smith\",
    \"name\": \"architecto\",
    \"email\": \"[email protected]\",
    \"password\": \"|]|{+-\",
    \"phone\": \"architecto\",
    \"password_confirmation\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/register"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "John",
    "last_name": "Smith",
    "name": "architecto",
    "email": "[email protected]",
    "password": "|]|{+-",
    "phone": "architecto",
    "password_confirmation": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": null,
    "message": "Registered successfully! We emailed you to verify your account!"
}
 

Example response (422):


{
    "message": "The given data was invalid.",
    "errors": {
        "name": [
            "The name field is required."
        ],
        "email": [
            "The email field is required."
        ],
        "password": [
            "The password field is required."
        ]
    }
}
 

Request      

POST api/v1/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

first_name   string  optional  

The first name of the user. This field is required when name is not present. Must not be greater than 120 characters. Must be at least 2 characters. Example: John

last_name   string  optional  

The last name of the user. This field is required when name is not present. Must not be greater than 120 characters. Must be at least 2 characters. Example: Smith

name   string   

The name of the user. Example: architecto

email   string   

The email of the user. Example: [email protected]

password   string   

The password of user to create. Example: |]|{+-

phone   string   

The phone of the user. Example: architecto

password_confirmation   string   

The password confirmation. Example: architecto

Login

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\",
    \"password\": \"|]|{+-\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "[email protected]",
    "password": "|]|{+-"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "token": "1|aF5s7p3xxx1lVL8hkSrPN72m4wPVpTvTs..."
    },
    "message": null
}
 

Request      

POST api/v1/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

The email of the user. Example: [email protected]

password   string   

The password of user to create. Example: |]|{+-

Check email existing or not

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/email/check" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/email/check"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "[email protected]"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "exists": true
    },
    "message": null
}
 

Request      

POST api/v1/email/check

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

The email of the user. Example: [email protected]

Forgot password

Send a reset link to the given user.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/password/forgot" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/password/forgot"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "[email protected]"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/password/forgot

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

The email of the user. Example: [email protected]

Resend email verification

Resend the email verification notification.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/resend-verify-account-email" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/resend-verify-account-email"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "[email protected]"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/resend-verify-account-email

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

The email of the user. Example: [email protected]

Logout

requires authentication

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/logout"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Blog

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"q\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/search"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "q": "architecto"
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "items": [
            {
                "id": 1,
                "title": "Sample Post",
                "slug": "sample-post",
                "excerpt": "This is a sample post excerpt"
            }
        ],
        "query": "sample",
        "count": 1
    }
}
 

Example response (400):


{
    "error": true,
    "message": "No search result"
}
 

List posts

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/posts?per_page=16&page=16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/posts"
);

const params = {
    "per_page": "16",
    "page": "16",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": [
        {
            "id": 1,
            "title": "Sample Post",
            "slug": "sample-post",
            "excerpt": "This is a sample post excerpt",
            "content": "Full post content here...",
            "published_at": "2023-01-01T00:00:00.000000Z",
            "author": {
                "id": 1,
                "name": "John Doe"
            },
            "categories": [],
            "tags": []
        }
    ],
    "message": null
}
 

Request      

GET api/v1/posts

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

per_page   integer  optional  

The number of items to return per page (default: 10). Example: 16

page   integer  optional  

The page number to retrieve (default: 1). Example: 16

Filters posts

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/posts/filters?page=16&per_page=16&search=architecto&after=architecto&author=architecto&author_exclude=architecto&before=architecto&exclude=architecto&include=architecto&order=architecto&order_by=architecto&categories=architecto&categories_exclude=architecto&tags=architecto&tags_exclude=architecto&featured=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/posts/filters"
);

const params = {
    "page": "16",
    "per_page": "16",
    "search": "architecto",
    "after": "architecto",
    "author": "architecto",
    "author_exclude": "architecto",
    "before": "architecto",
    "exclude": "architecto",
    "include": "architecto",
    "order": "architecto",
    "order_by": "architecto",
    "categories": "architecto",
    "categories_exclude": "architecto",
    "tags": "architecto",
    "tags_exclude": "architecto",
    "featured": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/posts/filters

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Current page of the collection. Default: 1 Example: 16

per_page   integer  optional  

Maximum number of items to be returned in result set.Default: 10 Example: 16

search   string  optional  

Limit results to those matching a string. Example: architecto

after   string  optional  

Limit response to posts published after a given ISO8601 compliant date. Example: architecto

author   string  optional  

Limit result set to posts assigned to specific authors. Example: architecto

author_exclude   string  optional  

Ensure result set excludes posts assigned to specific authors. Example: architecto

before   string  optional  

Limit response to posts published before a given ISO8601 compliant date. Example: architecto

exclude   string  optional  

Ensure result set excludes specific IDs. Example: architecto

include   string  optional  

Limit result set to specific IDs. Example: architecto

order   string  optional  

Order sort attribute ascending or descending. Default: desc .One of: asc, desc Example: architecto

order_by   string  optional  

Sort collection by object attribute. Default: updated_at. One of: author, created_at, updated_at, id, slug, title Example: architecto

categories   string  optional  

Limit result set to all items that have the specified term assigned in the categories taxonomy. Example: architecto

categories_exclude   string  optional  

Limit result set to all items except those that have the specified term assigned in the categories taxonomy. Example: architecto

tags   string  optional  

Limit result set to all items that have the specified term assigned in the tags taxonomy. Example: architecto

tags_exclude   string  optional  

Limit result set to all items except those that have the specified term assigned in the tags taxonomy. Example: architecto

featured   string  optional  

Limit result set to items that are sticky. Example: architecto

Get post by slug

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/posts/architecto?slug=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/posts/architecto"
);

const params = {
    "slug": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/posts/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slug   string   

The slug of the post. Example: architecto

Query Parameters

slug   string  optional  

Find by slug of post. Example: architecto

Filters categories

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/categories/filters?page=16&per_page=16&search=architecto&order=architecto&order_by=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/categories/filters"
);

const params = {
    "page": "16",
    "per_page": "16",
    "search": "architecto",
    "order": "architecto",
    "order_by": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": [
        {
            "id": 1,
            "name": "Technology",
            "slug": "technology",
            "description": "Latest tech news and updates"
        }
    ],
    "message": null
}
 

Request      

GET api/v1/categories/filters

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Current page of the collection (default: 1). Example: 16

per_page   integer  optional  

Maximum number of items to be returned (default: 10). Example: 16

search   string  optional  

Limit results to those matching a string. Example: architecto

order   string  optional  

Order sort attribute ascending or descending (default: desc). One of: asc, desc. Example: architecto

order_by   string  optional  

Sort collection by object attribute (default: created_at). One of: created_at, updated_at, id, name. Example: architecto

Get category by slug

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/categories/architecto?slug=architecto" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/categories/architecto"
);

const params = {
    "slug": "architecto",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/categories/{slug}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slug   string   

The slug of the category. Example: architecto

Query Parameters

slug   string  optional  

Find by slug of category. Example: architecto

Companies

GET api/v1/companies

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/companies" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/companies"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/companies

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/companies/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/companies/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/companies/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/companies/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the company. Example: 564

GET api/v1/companies/{id}/jobs

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/companies/564/jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/companies/564/jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/companies/{id}/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the company. Example: 564

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/companies/featured" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/companies/featured"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/companies/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/companies/search"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Device Tokens

Register or update device token

Register a new device token or update an existing one for push notifications.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/device-tokens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"architecto\",
    \"platform\": \"architecto\",
    \"app_version\": \"architecto\",
    \"device_id\": \"architecto\",
    \"user_type\": \"architecto\",
    \"user_id\": 16
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/device-tokens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "token": "architecto",
    "platform": "architecto",
    "app_version": "architecto",
    "device_id": "architecto",
    "user_type": "architecto",
    "user_id": 16
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/device-tokens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

The FCM device token. Example: architecto

platform   string  optional  

The device platform (android, ios). Example: architecto

app_version   string  optional  

The app version. Example: architecto

device_id   string  optional  

The unique device identifier. Example: architecto

user_type   string  optional  

The user type (customer, admin). Example: architecto

user_id   integer  optional  

The user ID. Example: 16

Get user's device tokens

Retrieve all device tokens for the authenticated user.

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/device-tokens" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/device-tokens"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/device-tokens

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Update device token

Update an existing device token.

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/device-tokens/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"platform\": \"architecto\",
    \"app_version\": \"architecto\",
    \"device_id\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/device-tokens/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "platform": "architecto",
    "app_version": "architecto",
    "device_id": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/device-tokens/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the device token. Example: 564

Body Parameters

platform   string  optional  

The device platform (android, ios). Example: architecto

app_version   string  optional  

The app version. Example: architecto

device_id   string  optional  

The unique device identifier. Example: architecto

Delete device token by token value

Delete a device token using the token value.

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/device-tokens/by-token" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/device-tokens/by-token"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "token": "architecto"
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

DELETE api/v1/device-tokens/by-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

The FCM device token to delete. Example: architecto

Delete device token

Delete a device token to stop receiving push notifications.

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/device-tokens/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/device-tokens/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/device-tokens/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the device token. Example: 564

Deactivate device token

Deactivate a device token without deleting it.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/device-tokens/564/deactivate" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/device-tokens/564/deactivate"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/device-tokens/{id}/deactivate

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the device token. Example: 564

Endpoints

GET api/v1/categories

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/categories" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/categories"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/categories

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/tags

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/tags" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/tags"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/tags

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/categories/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/categories/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/categories/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/categories/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the category. Example: 564

GET api/v1/categories/{id}/jobs

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/categories/564/jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/categories/564/jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/categories/{id}/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the category. Example: 564

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/categories/featured" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/categories/featured"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

GET api/v1/job-types

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-types" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-types"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-types

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/job-types/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-types/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-types/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-types/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job type. Example: 564

GET api/v1/job-skills

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-skills" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-skills"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-skills

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/job-skills/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-skills/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-skills/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-skills/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job skill. Example: 564

GET api/v1/job-experiences

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-experiences" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-experiences"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-experiences

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/job-experiences/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-experiences/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-experiences/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-experiences/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job experience. Example: 564

GET api/v1/career-levels

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/career-levels" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/career-levels"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/career-levels

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/career-levels/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/career-levels/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/career-levels/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/career-levels/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the career level. Example: 564

GET api/v1/job-shifts

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-shifts" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-shifts"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-shifts

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/job-shifts/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-shifts/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-shifts/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/job-shifts/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job shift. Example: 564

GET api/v1/functional-areas

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/functional-areas" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/functional-areas"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/functional-areas

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/functional-areas/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/functional-areas/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/functional-areas/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/functional-areas/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the functional area. Example: 564

GET api/v1/tags/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/tags/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/tags/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/tags/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the tag. Example: 564

GET api/v1/tags/{id}/jobs

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/tags/564/jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/tags/564/jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/tags/{id}/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the tag. Example: 564

GET api/v1/currencies

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/currencies" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/currencies"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/currencies

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/currencies/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/currencies/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/currencies/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/currencies/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the currency. Example: 564

GET api/v1/packages

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/packages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/packages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/packages

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/packages/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/packages/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/packages/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/packages/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the package. Example: 564

GET api/v1/candidates

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/candidates" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/candidates"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/candidates

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/candidates/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/candidates/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/candidates/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/candidates/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the candidate. Example: 564

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/candidates/search" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/candidates/search"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

GET api/v1/reviews

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/reviews" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/reviews"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/reviews

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/reviews/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/reviews/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/reviews/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/reviews/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the review. Example: 564

GET api/v1/analytics/jobs/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/analytics/jobs/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/analytics/jobs/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/analytics/jobs/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job. Example: 564

GET api/v1/analytics/companies/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/analytics/companies/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/analytics/companies/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/analytics/companies/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the company. Example: 564

GET api/v1/job-applications

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-applications" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-applications"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/job-applications

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/job-applications/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-applications/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-applications/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/job-applications/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job application. Example: 564

PUT api/v1/job-applications/{id}

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/job-applications/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"status\": \"approved\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-applications/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "status": "approved"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/job-applications/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job application. Example: 564

Body Parameters

status   string  optional  

Application status. Example: approved

Must be one of:
  • pending
  • checked

DELETE api/v1/job-applications/{id}

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/job-applications/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-applications/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/job-applications/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job application. Example: 564

GET api/v1/job-applications/{id}/download-cv

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/job-applications/564/download-cv" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/job-applications/564/download-cv"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/job-applications/{id}/download-cv

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job application. Example: 564

GET api/v1/locations/countries

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/locations/countries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/locations/countries"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/locations/countries

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/locations/states/{countryId}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/locations/states/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/locations/states/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/locations/states/{countryId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

countryId   string   

Example: 564

GET api/v1/locations/cities/{stateId}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/locations/cities/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/locations/cities/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/locations/cities/{stateId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

stateId   string   

Example: 564

Jobs

List jobs

Get a paginated list of jobs with filtering options.

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/jobs" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/v1/jobs/{id}

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/jobs/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/jobs/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job. Example: 564

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/jobs/564/related" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs/564/related"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/jobs/featured" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs/featured"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

GET api/v1/jobs/recent

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/jobs/recent" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs/recent"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Request      

GET api/v1/jobs/recent

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/jobs/popular" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs/popular"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (503):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "message": "API is currently disabled. Please contact the administrator to enable API access.",
    "data": null
}
 

Apply for a job

requires authentication

Submit an application for a specific job. Requires authentication.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/jobs/564/apply" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"job_type\": \"internal\",
    \"email\": \"[email protected]\",
    \"message\": \"I am very interested in this position...\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/jobs/564/apply"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "job_type": "internal",
    "email": "[email protected]",
    "message": "I am very interested in this position..."
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/jobs/{id}/apply

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the job. Example: 564

Body Parameters

job_type   string  optional  

Type of job application (internal or external). Example: internal

Must be one of:
  • internal
  • external
email   string   

Applicant's email address. Must be a valid email address. Example: [email protected]

message   string  optional  

Cover message or additional information. Must not be greater than 1000 characters. Example: I am very interested in this position...

Languages

Get list of available languages

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/languages" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/languages"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": [
        {
            "lang_id": 1,
            "lang_name": "English",
            "lang_locale": "en",
            "lang_code": "en_US",
            "lang_flag": "<svg ...>",
            "lang_is_default": true,
            "lang_is_rtl": false,
            "lang_order": 0
        },
        {
            "lang_id": 2,
            "lang_name": "Vietnamese",
            "lang_locale": "vi",
            "lang_code": "vi",
            "lang_flag": "<svg ...>",
            "lang_is_default": false,
            "lang_is_rtl": false,
            "lang_order": 1
        }
    ],
    "message": null
}
 

Request      

GET api/v1/languages

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Get current language

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/languages/current" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/languages/current"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "lang_id": 1,
        "lang_name": "English",
        "lang_locale": "en",
        "lang_code": "en_US",
        "lang_flag": "us",
        "lang_is_default": true,
        "lang_is_rtl": false,
        "lang_order": 0
    },
    "message": null
}
 

Request      

GET api/v1/languages/current

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Notifications

Get user notifications

Retrieve notifications for the authenticated user.

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/notifications?page=1&per_page=20&unread_only=&type=general" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/notifications"
);

const params = {
    "page": "1",
    "per_page": "20",
    "unread_only": "0",
    "type": "general",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/notifications

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Page number for pagination. Example: 1

per_page   integer  optional  

Number of notifications per page (max 50). Example: 20

unread_only   boolean  optional  

Filter to show only unread notifications. Example: false

type   string  optional  

Filter by notification type. Example: general

Get notification statistics

Get notification statistics for the authenticated user.

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/notifications/stats" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/notifications/stats"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/notifications/stats

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Mark all notifications as read

Mark all notifications as read for the authenticated user.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/notifications/mark-all-read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/notifications/mark-all-read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/notifications/mark-all-read

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Mark notification as read

Mark a specific notification as read for the authenticated user.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/notifications/564/read" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/notifications/564/read"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/notifications/{id}/read

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the notification. Example: 564

Mark notification as clicked

Mark a notification as clicked when user taps on it.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/notifications/564/clicked" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/notifications/564/clicked"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

Request      

POST api/v1/notifications/{id}/clicked

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the notification. Example: 564

Delete notification

Delete a notification from user's list.

Example request:
curl --request DELETE \
    "https://jobcy.botble.com/api/v1/notifications/564" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/notifications/564"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "DELETE",
    headers,
}).then(response => response.json());

Request      

DELETE api/v1/notifications/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the notification. Example: 564

Page

List pages

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/pages?per_page=16&page=16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/pages"
);

const params = {
    "per_page": "16",
    "page": "16",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": [
        {
            "id": 1,
            "title": "About Us",
            "slug": "about-us",
            "content": "This is the about us page content...",
            "published_at": "2023-01-01T00:00:00.000000Z"
        }
    ],
    "message": null
}
 

Request      

GET api/v1/pages

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

per_page   integer  optional  

The number of items to return per page (default: 10). Example: 16

page   integer  optional  

The page number to retrieve (default: 1). Example: 16

Get page by ID

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/pages/16" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/pages/16"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "id": 1,
        "title": "About Us",
        "slug": "about-us",
        "content": "This is the about us page content...",
        "published_at": "2023-01-01T00:00:00.000000Z"
    },
    "message": null
}
 

Example response (404):


{
    "error": true,
    "message": "Not found"
}
 

Request      

GET api/v1/pages/{id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the page to retrieve. Example: 16

Profile

Get the user profile information.

requires authentication

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/me" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/me"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/me

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Update profile

requires authentication

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/me" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"bngz\",
    \"last_name\": \"miyv\",
    \"name\": \"architecto\",
    \"phone\": \"architecto\",
    \"dob\": \"architecto\",
    \"gender\": \"architecto\",
    \"description\": \"Eius et animi quos velit et.\",
    \"email\": \"[email protected]\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/me"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "bngz",
    "last_name": "miyv",
    "name": "architecto",
    "phone": "architecto",
    "dob": "architecto",
    "gender": "architecto",
    "description": "Eius et animi quos velit et.",
    "email": "[email protected]"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/me

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

first_name   string  optional  

This field is required when name is not present. Must not be greater than 120 characters. Must be at least 2 characters. Example: bngz

last_name   string  optional  

This field is required when name is not present. Must not be greater than 120 characters. Must be at least 2 characters. Example: miyv

name   string   

Name. Example: architecto

phone   string   

Phone. Example: architecto

dob   date  optional  

nullable Date of birth (format: Y-m-d). Example: architecto

gender   string  optional  

Gender (male, female, other). Example: architecto

description   string  optional  

Description Example: Eius et animi quos velit et.

email   string  optional  

Email. Example: [email protected]

Update Avatar

requires authentication

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/update/avatar" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "avatar=@/tmp/phpediavl4likvf6LGVgmv" 
const url = new URL(
    "https://jobcy.botble.com/api/v1/update/avatar"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Request      

POST api/v1/update/avatar

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

avatar   file   

Avatar file. Example: /tmp/phpediavl4likvf6LGVgmv

Update password

requires authentication

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/update/password" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"|]|{+-\",
    \"old_password\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/update/password"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "password": "|]|{+-",
    "old_password": "architecto"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/update/password

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

password   string   

The new password of user. Example: |]|{+-

old_password   string   

The current password of user. Example: architecto

Get user settings

requires authentication

Example request:
curl --request GET \
    --get "https://jobcy.botble.com/api/v1/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://jobcy.botble.com/api/v1/settings"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "error": true,
    "data": null,
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/settings

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Update user settings

requires authentication

Example request:
curl --request PUT \
    "https://jobcy.botble.com/api/v1/settings" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"biometric_enabled\": false,
    \"notification_enabled\": false,
    \"language\": \"architecto\",
    \"currency\": \"architecto\",
    \"theme\": \"architecto\",
    \"timezone\": \"America\\/Hermosillo\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/settings"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "biometric_enabled": false,
    "notification_enabled": false,
    "language": "architecto",
    "currency": "architecto",
    "theme": "architecto",
    "timezone": "America\/Hermosillo"
};

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/settings

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

biometric_enabled   boolean  optional  

Enable/disable biometric authentication. Example: false

notification_enabled   boolean  optional  

Enable/disable notifications. Example: false

language   string  optional  

User's preferred language. Example: architecto

currency   string  optional  

User's preferred currency. Example: architecto

theme   string  optional  

User's preferred theme (light, dark, auto). Example: architecto

timezone   string  optional  

User's timezone. Example: America/Hermosillo

Reviews

Submit a review

requires authentication

Submit a review for a company or candidate. Requires authentication.

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/reviews" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"reviewable_type\": \"Botble\\\\JobBoard\\\\Models\\\\Company\",
    \"reviewable_id\": 1
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/reviews"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "reviewable_type": "Botble\\JobBoard\\Models\\Company",
    "reviewable_id": 1
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/reviews

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

reviewable_type   string   

Type of entity being reviewed (Company or Account). Example: Botble\JobBoard\Models\Company

Must be one of:
  • Botble\JobBoard\Models\Company
  • Botble\JobBoard\Models\Account
reviewable_id   string   

ID of the entity being reviewed. Example: 1

Social Login

Apple login

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/auth/apple" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"identityToken\": \"architecto\",
    \"guard\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/auth/apple"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "identityToken": "architecto",
    "guard": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "token": "1|abc123def456...",
        "user": {
            "id": 1,
            "name": "John Doe",
            "email": "[email protected]"
        }
    },
    "message": "Login successful"
}
 

Example response (400):


{
    "error": true,
    "message": "Invalid Apple token"
}
 

Example response (400):


{
    "error": true,
    "message": "Cannot login, no email or Apple ID provided!"
}
 

Request      

POST api/v1/auth/apple

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

identityToken   string   

The Apple identity token received from Apple Sign-In. Example: architecto

guard   string  optional  

optional The guard to use for authentication (default: web). Example: architecto

Google login

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/auth/google" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"identityToken\": \"architecto\",
    \"guard\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/auth/google"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "identityToken": "architecto",
    "guard": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "token": "1|abc123def456...",
        "user": {
            "id": 1,
            "name": "John Doe",
            "email": "[email protected]"
        }
    },
    "message": "Login successful"
}
 

Example response (400):


{
    "error": true,
    "message": "Invalid Google token"
}
 

Example response (400):


{
    "error": true,
    "message": "Google authentication is not properly configured"
}
 

Request      

POST api/v1/auth/google

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

identityToken   string   

The Google identity token received from Google Sign-In. Example: architecto

guard   string  optional  

optional The guard to use for authentication (default: web). Example: architecto

Facebook login

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/auth/facebook" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"accessToken\": \"architecto\",
    \"guard\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/auth/facebook"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "accessToken": "architecto",
    "guard": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "token": "1|abc123def456...",
        "user": {
            "id": 1,
            "name": "John Doe",
            "email": "[email protected]"
        }
    },
    "message": "Login successful"
}
 

Example response (400):


{
    "error": true,
    "message": "Invalid Facebook token"
}
 

Example response (400):


{
    "error": true,
    "message": "Facebook authentication is not properly configured"
}
 

Request      

POST api/v1/auth/facebook

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

accessToken   string   

The Facebook access token received from Facebook Login. Example: architecto

guard   string  optional  

optional The guard to use for authentication (default: web). Example: architecto

X (Twitter) login

Example request:
curl --request POST \
    "https://jobcy.botble.com/api/v1/auth/x" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"accessToken\": \"architecto\",
    \"guard\": \"architecto\"
}"
const url = new URL(
    "https://jobcy.botble.com/api/v1/auth/x"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "accessToken": "architecto",
    "guard": "architecto"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "error": false,
    "data": {
        "token": "1|abc123def456...",
        "user": {
            "id": 1,
            "name": "John Doe",
            "email": "[email protected]"
        }
    },
    "message": "Login successful"
}
 

Example response (400):


{
    "error": true,
    "message": "Invalid X (Twitter) token"
}
 

Example response (400):


{
    "error": true,
    "message": "X (Twitter) authentication is not properly configured"
}
 

Request      

POST api/v1/auth/x

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

accessToken   string   

The X (Twitter) access token received from X OAuth. Example: architecto

guard   string  optional  

optional The guard to use for authentication (default: web). Example: architecto