MENU navbar-image

Introduction

Hello fellow developer,

This is where you'll find the documentation for the Jobtoolz Content API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can find your API key in the application settings.

Employer branding

Retrieve the current company.

requires authentication

Example request:
curl --request GET \
    --get "https://api.jobtoolz.com/content/v1/company" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en"
const url = new URL(
    "https://api.jobtoolz.com/content/v1/company"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.jobtoolz.com/content/v1/company';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": null,
    "type": "company",
    "attributes": {
        "name": "Grégoire",
        "email": "tran.arthur@example.org",
        "active": true,
        "subdomain": "gregoire",
        "domainalias": null,
        "domainalias_verified": null,
        "website": "https://example.org",
        "jobsite_url": "http://gregoire.jobtoolz.com",
        "logo_original_name": null,
        "logo_url": null,
        "social": {
            "facebook": "https://www.facebook.com",
            "linkedin": "https://www.linkedin.com",
            "twitter": "https://twitter.com",
            "instagram": "https://instagram.com"
        },
        "description": {
            "nl": "<p>En zij telde ze hem. Uilenspiegel toog er henen, ging zoo.</p><p>Sidderend stak zij al die dwaallichtjes, die, gonzend als krekelen, zeiden: Kijkt toe.</p>",
            "fr": "<p>Dormouse shall!' they both cried. 'Wake up, Dormouse!'.</p><p>PRECIOUS nose'; as an explanation. 'Oh, you're sure to happen,'.</p><p>March Hare went on. 'Would you like to be treated with respect. 'Cheshire Puss,' she began, in a twinkling! Half-past one, time for.</p>",
            "en": "<p>Alice, as the large birds complained that they must needs come wriggling down from the change: and Alice could.</p><p>Alice. 'I've so often read in the after-time, be herself a grown.</p><p>I'm mad. You're mad.' 'How do you know that Cheshire cats always grinned; in fact, I didn't know how to set about.</p><p>By the use of repeating all that stuff,' the Mock Turtle in.</p>"
        }
    },
    "relationships": [],
    "links": {
        "self": "https://api.jobtoolz.com/content/v1/company"
    }
}
 

Request      

GET content/v1/company

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en

Retrieve a list of locations.

requires authentication

Example request:
curl --request GET \
    --get "https://api.jobtoolz.com/content/v1/locations" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en"
const url = new URL(
    "https://api.jobtoolz.com/content/v1/locations"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.jobtoolz.com/content/v1/locations';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "id": null,
            "type": "location",
            "attributes": {
                "street": "Pironpad 86",
                "postal_code": "3200",
                "city": "Châtelet",
                "country": "BE",
                "phone": "0719 982547",
                "email": "sacha.diallo@messaoudi.be",
                "lat": -21.589243,
                "lng": 32.874606,
                "created_at": null,
                "updated_at": null
            }
        },
        {
            "id": null,
            "type": "location",
            "attributes": {
                "street": "Jansendreef 39",
                "postal_code": "7811",
                "city": "Chiny",
                "country": "BE",
                "phone": "019 67 72 19",
                "email": "kobe.vervoort@hardy.be",
                "lat": -79.926251,
                "lng": -77.25144,
                "created_at": null,
                "updated_at": null
            }
        }
    ],
    "links": [
        {
            "href": "http://api.jobtoolz.com/content/v1/locations",
            "rel": "self",
            "method": "GET"
        }
    ]
}
 

Request      

GET content/v1/locations

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en

Applications

Create a new application

requires authentication

Example request:
curl --request POST \
    "https://api.jobtoolz.com/content/v1/applications" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en" \
    --data "{
    \"data\": {
        \"type\": \"application\",
        \"attributes\": {
            \"job_id\": 5,
            \"first_name\": \"John\",
            \"last_name\": \"Doe\",
            \"email\": \"john.doe@example.com\",
            \"photo\": 16,
            \"phone\": \"omnis\",
            \"motivation\": \"recusandae\",
            \"curriculum_vitae\": 4,
            \"education\": [
                {
                    \"title\": \"magnam\",
                    \"institution\": \"et\",
                    \"short_description\": \"reiciendis\",
                    \"date_from\": \"minus\",
                    \"date_to\": \"sint\"
                }
            ],
            \"experience\": [
                {
                    \"company\": \"esse\",
                    \"job_title\": \"totam\",
                    \"job_description\": \"numquam\",
                    \"tasks\": \"velit\",
                    \"date_from\": \"et\",
                    \"date_to\": \"et\"
                }
            ],
            \"disclaimer\": true,
            \"referrer\": \"https:\\/\\/google.com\"
        }
    }
}"
const url = new URL(
    "https://api.jobtoolz.com/content/v1/applications"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en",
};

let body = {
    "data": {
        "type": "application",
        "attributes": {
            "job_id": 5,
            "first_name": "John",
            "last_name": "Doe",
            "email": "john.doe@example.com",
            "photo": 16,
            "phone": "omnis",
            "motivation": "recusandae",
            "curriculum_vitae": 4,
            "education": [
                {
                    "title": "magnam",
                    "institution": "et",
                    "short_description": "reiciendis",
                    "date_from": "minus",
                    "date_to": "sint"
                }
            ],
            "experience": [
                {
                    "company": "esse",
                    "job_title": "totam",
                    "job_description": "numquam",
                    "tasks": "velit",
                    "date_from": "et",
                    "date_to": "et"
                }
            ],
            "disclaimer": true,
            "referrer": "https:\/\/google.com"
        }
    }
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.jobtoolz.com/content/v1/applications';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en',
        ],
        'json' => [
            'data' => [
                'type' => 'application',
                'attributes' => [
                    'job_id' => 5,
                    'first_name' => 'John',
                    'last_name' => 'Doe',
                    'email' => 'john.doe@example.com',
                    'photo' => 16,
                    'phone' => 'omnis',
                    'motivation' => 'recusandae',
                    'curriculum_vitae' => 4,
                    'education' => [
                        [
                            'title' => 'magnam',
                            'institution' => 'et',
                            'short_description' => 'reiciendis',
                            'date_from' => 'minus',
                            'date_to' => 'sint',
                        ],
                    ],
                    'experience' => [
                        [
                            'company' => 'esse',
                            'job_title' => 'totam',
                            'job_description' => 'numquam',
                            'tasks' => 'velit',
                            'date_from' => 'et',
                            'date_to' => 'et',
                        ],
                    ],
                    'disclaimer' => true,
                    'referrer' => 'https://google.com',
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": 1437371120,
    "type": "applications",
    "attributes": {
        "id": 1437371120,
        "created_at": "2020-07-17T07:30:21.000000Z",
        "updated_at": "2020-07-17T07:30:21.000000Z",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com",
        "referrer": "https://google.com"
    },
    "links": {
        "self": "https://api.jobtoolz.com/content/v1/applications/1437371120"
    }
}
 

Request      

POST content/v1/applications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en

Body Parameters

data   object   

The general data object

type   string   

The type of the resource. Example: application

attributes   object   

The attributes regarding the resource

job_id   integer   

ID of the job. Example: 5

first_name   string  optional  

required. Example: John

last_name   string  optional  

required. Example: Doe

email   string   

Example: john.doe@example.com

photo   integer  optional  

[This is an example field, these fields are dependent on the form fields from the job] Queued File ID (Refer to storing Queued Files). Example: 16

phone   string  optional  

[This is an example field, these fields are dependent on the form fields from the job]. Example: omnis

motivation   string  optional  

[This is an example field, these fields are dependent on the form fields from the job]. Example: recusandae

curriculum_vitae   integer  optional  

[This is an example field, these fields are dependent on the form fields from the job] Queued File ID (Refer to storing Queued Files). Example: 4

education   object[]  optional  
title   string   

Example: magnam

institution   string   

Example: et

short_description   string   

Example: reiciendis

date_from   string   

Example: minus

date_to   string   

Example: sint

experience   object[]  optional  
company   string   

Example: esse

job_title   string   

Example: totam

job_description   string   

Example: numquam

tasks   string   

Example: velit

date_from   string   

Example: et

date_to   string   

Example: et

disclaimer   boolean   

Confirmation of our disclaimer. Example: true

referrer   string  optional  

Website / URL where the user came from to find the application. Example: https://google.com

Jobs

Retrieve a list of jobs.

requires authentication

Example request:
curl --request GET \
    --get "https://api.jobtoolz.com/content/v1/jobs" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en"
const url = new URL(
    "https://api.jobtoolz.com/content/v1/jobs"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.jobtoolz.com/content/v1/jobs';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request      

GET content/v1/jobs

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en

Retrieve a job.

requires authentication

Example request:
curl --request GET \
    --get "https://api.jobtoolz.com/content/v1/jobs/11" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --header "Accept-Language: en"
const url = new URL(
    "https://api.jobtoolz.com/content/v1/jobs/11"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Accept-Language": "en",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.jobtoolz.com/content/v1/jobs/11';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
            'Accept-Language' => 'en',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Request      

GET content/v1/jobs/{jobId}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Accept-Language      

Example: en

URL Parameters

jobId   integer   

Example: 11

Queued files

Create a new queued file

requires authentication

Example request:
curl --request POST \
    "https://api.jobtoolz.com/content/v1/file" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --header "Accept-Language: en" \
    --form "type=image"\
    --form "file=@/tmp/phpZGjPQa" 
const url = new URL(
    "https://api.jobtoolz.com/content/v1/file"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
    "Accept-Language": "en",
};

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

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://api.jobtoolz.com/content/v1/file';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
            'Content-Type' => 'multipart/form-data',
            'Accept' => 'application/json',
            'Accept-Language' => 'en',
        ],
        'multipart' => [
            [
                'name' => 'type',
                'contents' => 'image'
            ],
            [
                'name' => 'file',
                'contents' => fopen('/tmp/phpZGjPQa', 'r')
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "id": 374296568,
    "type": "file",
    "attributes": {
        "type": "document",
        "name_original": "a38eee3d-c82f-32dd-8bde-bdf2698ba639.jpg"
    }
}
 

Request      

POST content/v1/file

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Accept-Language      

Example: en

Body Parameters

file   file   

Example: /tmp/phpZGjPQa

type   string   

Type of the provided file. Example: image