MENU navbar-image

Introduction

JobAtHome API routes

This documentation aims to provide all the information you need to work with our 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 retrieve your token by visiting your dashboard and clicking Generate API token.

Auth requests

APIs for Auth management

Register user

requires authentication

Example request:
curl --request POST \
    "http://jobathome.api.test/api/register" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"hschumm@example.net\",
    \"password\": \"oF\\\"u}6ost\"
}"
const url = new URL(
    "http://jobathome.api.test/api/register"
);

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

let body = {
    "email": "hschumm@example.net",
    "password": "oF\"u}6ost"
};

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

Example response (200, success):


{
    "data": {
        "id": 33,
        "email": "sherwood.miller@example.com",
        "name": "Rodolfo",
        "phone": "207.223.5424",
        "surname": "Rowe",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:29.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:29.000000Z",
        "updated_at": "2024-10-13T00:24:29.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/register

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Example: hschumm@example.net

password   string   

Example: oF"u}6ost

Login a user

requires authentication

Example request:
curl --request POST \
    "http://jobathome.api.test/api/login" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"schuyler60@example.org\",
    \"password\": \"T6P+D5RTwRkMvc!4\"
}"
const url = new URL(
    "http://jobathome.api.test/api/login"
);

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

let body = {
    "email": "schuyler60@example.org",
    "password": "T6P+D5RTwRkMvc!4"
};

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

Example response (200, success):


{
    "data": {
        "id": 34,
        "email": "vergie89@example.net",
        "name": "Viviane",
        "phone": "989-989-6197",
        "surname": "Terry",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:29.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:29.000000Z",
        "updated_at": "2024-10-13T00:24:29.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/login

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Example: schuyler60@example.org

password   string   

Example: T6P+D5RTwRkMvc!4

Send reset link email

requires authentication

Example request:
curl --request POST \
    "http://jobathome.api.test/api/forget-password" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"email\": \"hackett.elissa@example.com\"
}"
const url = new URL(
    "http://jobathome.api.test/api/forget-password"
);

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

let body = {
    "email": "hackett.elissa@example.com"
};

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

Example response (200, success):


{
    "data": {
        "id": 35,
        "email": "estefania97@example.net",
        "name": "Sabrina",
        "phone": "872-496-2005",
        "surname": "Grady",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:29.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:29.000000Z",
        "updated_at": "2024-10-13T00:24:29.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/forget-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Example: hackett.elissa@example.com

Reset password

requires authentication

Example request:
curl --request POST \
    "http://jobathome.api.test/api/reset-password" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"token\": \"aut\",
    \"password\": \"dicta\",
    \"email\": \"rolfson.christian@example.org\"
}"
const url = new URL(
    "http://jobathome.api.test/api/reset-password"
);

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

let body = {
    "token": "aut",
    "password": "dicta",
    "email": "rolfson.christian@example.org"
};

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

Example response (200, success):


{
    "data": {
        "id": 36,
        "email": "kirlin.bobby@example.net",
        "name": "Vern",
        "phone": "+1-928-919-7581",
        "surname": "Dickens",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:29.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:29.000000Z",
        "updated_at": "2024-10-13T00:24:29.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/reset-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

token   string   

Example: aut

password   string   

Example: dicta

email   string   

Must be a valid email address. Example: rolfson.christian@example.org

Get Auth user

requires authentication

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/auth-user" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/auth-user"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 37,
        "email": "zulauf.kasey@example.net",
        "name": "Enoch",
        "phone": "838.704.5738",
        "surname": "Ziemann",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:29.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:29.000000Z",
        "updated_at": "2024-10-13T00:24:29.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/auth-user

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Logout a user

requires authentication

Example request:
curl --request POST \
    "http://jobathome.api.test/api/logout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/logout"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 38,
        "email": "considine.juvenal@example.org",
        "name": "Dallas",
        "phone": "+1 (626) 801-3045",
        "surname": "Wiza",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:29.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:29.000000Z",
        "updated_at": "2024-10-13T00:24:29.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/logout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Endpoints

Expert management

APIs for managing experts

Step 1 | Store Personal Info

requires authentication

Used to store personal info of user

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"qui\",
    \"phone\": \"pariatur\",
    \"surname\": \"necessitatibus\",
    \"date_of_birth\": \"2024-10-13T00:24:29\",
    \"gender\": \"female\"
}"
const url = new URL(
    "http://jobathome.api.test/api/step-1"
);

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

let body = {
    "name": "qui",
    "phone": "pariatur",
    "surname": "necessitatibus",
    "date_of_birth": "2024-10-13T00:24:29",
    "gender": "female"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-1

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: qui

phone   string   

Example: pariatur

surname   string   

Example: necessitatibus

date_of_birth   string   

Must be a valid date. Example: 2024-10-13T00:24:29

gender   string   

Example: female

Must be one of:
  • male
  • female
  • other

Step 2 | Store Location

requires authentication

Used to store location of expert

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"location\": \"libero\"
}"
const url = new URL(
    "http://jobathome.api.test/api/step-2"
);

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

let body = {
    "location": "libero"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-2

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

location   string   

Example: libero

Step 3 | Store Expert details

requires authentication

Used to store expert details

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"tputhoyx\",
    \"daily_rate\": 17222033.95349,
    \"description\": \"Eveniet aperiam quo nesciunt voluptate et in et.\",
    \"availability\": \"2024-10-13T00:24:29\"
}"
const url = new URL(
    "http://jobathome.api.test/api/step-3"
);

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

let body = {
    "title": "tputhoyx",
    "daily_rate": 17222033.95349,
    "description": "Eveniet aperiam quo nesciunt voluptate et in et.",
    "availability": "2024-10-13T00:24:29"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-3

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

title   string   

Must not be greater than 255 characters. Example: tputhoyx

daily_rate   number   

Example: 17222033.95349

description   string  optional  

Example: Eveniet aperiam quo nesciunt voluptate et in et.

availability   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:29

professions   object  optional  

Step 4 | Store Expert skills

requires authentication

Used to store expert skills

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-4" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"skills\": [
        {
            \"skill_id\": 10,
            \"proficiency\": \"expert\"
        }
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/step-4"
);

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

let body = {
    "skills": [
        {
            "skill_id": 10,
            "proficiency": "expert"
        }
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-4

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

skills   object[]   
skill_id   integer   

Example: 10

proficiency   string   

Example: expert

Must be one of:
  • expert
  • intermediate
  • beginner

Step 5 | Store Expert Experiences

requires authentication

Used to store expert experiences

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-5" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"experiences\": [
        {
            \"role\": \"eveniet\",
            \"company\": \"et\",
            \"location\": \"dolorem\",
            \"started_at\": \"2024-10-13T00:24:29\",
            \"finished_at\": \"2024-10-13T00:24:29\",
            \"responsibilities\": \"totam\"
        }
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/step-5"
);

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

let body = {
    "experiences": [
        {
            "role": "eveniet",
            "company": "et",
            "location": "dolorem",
            "started_at": "2024-10-13T00:24:29",
            "finished_at": "2024-10-13T00:24:29",
            "responsibilities": "totam"
        }
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-5

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

experiences   object[]   
role   string   

Example: eveniet

company   string   

Example: et

location   string   

Example: dolorem

started_at   string   

Must be a valid date. Example: 2024-10-13T00:24:29

tools   object  optional  
finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:29

responsibilities   string  optional  

Example: totam

Step 6 | Store Expert Educations

requires authentication

Used to store expert educations

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-6" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"educations\": [
        {
            \"degree\": \"dolor\",
            \"school\": \"minus\",
            \"started_at\": \"2024-10-13T00:24:29\",
            \"finished_at\": \"2024-10-13T00:24:29\",
            \"description\": \"Tempore itaque dolor aut voluptate ea.\"
        }
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/step-6"
);

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

let body = {
    "educations": [
        {
            "degree": "dolor",
            "school": "minus",
            "started_at": "2024-10-13T00:24:29",
            "finished_at": "2024-10-13T00:24:29",
            "description": "Tempore itaque dolor aut voluptate ea."
        }
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-6

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

educations   object[]   
degree   string   

Example: dolor

school   string   

Example: minus

started_at   string   

Must be a valid date. Example: 2024-10-13T00:24:29

finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:29

description   string  optional  

Example: Tempore itaque dolor aut voluptate ea.

Step 7 | Store Expert Certifications

requires authentication

Used to store expert certifications

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"certifications\": [
        {
            \"title\": \"expedita\",
            \"issue_date\": \"2024-10-13T00:24:29\",
            \"issuing_organization\": \"qui\",
            \"expiration_date\": \"2024-10-13T00:24:29\",
            \"certificate_id\": \"accusantium\",
            \"validation_url\": \"http:\\/\\/www.rippin.com\\/\"
        }
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/step-7"
);

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

let body = {
    "certifications": [
        {
            "title": "expedita",
            "issue_date": "2024-10-13T00:24:29",
            "issuing_organization": "qui",
            "expiration_date": "2024-10-13T00:24:29",
            "certificate_id": "accusantium",
            "validation_url": "http:\/\/www.rippin.com\/"
        }
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-7

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

certifications   object[]   
title   string   

Example: expedita

issue_date   string   

Must be a valid date. Example: 2024-10-13T00:24:29

issuing_organization   string   

Example: qui

expiration_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:29

certificate_id   string  optional  

Example: accusantium

validation_url   string  optional  

Example: http://www.rippin.com/

Step 8 | Store Expert Languages

requires authentication

Used to store expert languages

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-8" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"languages\": [
        {
            \"name\": \"rerum\",
            \"proficiency\": \"intermediate\"
        }
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/step-8"
);

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

let body = {
    "languages": [
        {
            "name": "rerum",
            "proficiency": "intermediate"
        }
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-8

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

languages   object[]   
name   string   

Example: rerum

proficiency   string   

Example: intermediate

Must be one of:
  • expert
  • intermediate
  • beginner

Step 9 | Store Expert Languages

requires authentication

Used to store expert languages

Example request:
curl --request POST \
    "http://jobathome.api.test/api/step-9" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "image=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php45CF.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/step-9"
);

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

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/step-9

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

image   file   

Must be an image. Must not be greater than 20480 kilobytes. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php45CF.tmp

Store Expert CV

requires authentication

Used to store expert cv

Example request:
curl --request POST \
    "http://jobathome.api.test/api/cv-upload" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "cv=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php45F0.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/cv-upload"
);

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

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/cv-upload

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

cv   file   

Must be a file. Must not be greater than 20480 kilobytes. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php45F0.tmp

% Completion

requires authentication

Used to get profile completion percentage

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/profile-completion" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/profile-completion"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/profile-completion

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Change expert status

requires authentication

Used to change the status of an expert

Example request:
curl --request POST \
    "http://jobathome.api.test/api/change-expert-status" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"expert_id\": \"aut\"
}"
const url = new URL(
    "http://jobathome.api.test/api/change-expert-status"
);

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

let body = {
    "expert_id": "aut"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/change-expert-status

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

expert_id   string   

Example: aut

Possible experts

requires authentication

Used to get the possible list of experts for a mission proposal

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/possible-experts/enim" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/possible-experts/enim"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/possible-experts/{missionId}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

missionId   string   

Example: enim

Search & List

requires authentication

Used to filter experts or get them all

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/experts?filters%5Btext%5D=dicta&filters%5Bstatus%5D=1&filters%5Bcountry%5D=iure&filters%5Bpage%5D=3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/experts"
);

const params = {
    "filters[text]": "dicta",
    "filters[status]": "1",
    "filters[country]": "iure",
    "filters[page]": "3",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 1,
            "user_id": 10,
            "title": "Architecte Cloud Senior",
            "daily_rate": 850,
            "location": "Abidjan, Côte d'Ivoire",
            "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
            "availability": null,
            "professions": null,
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null,
            "statistics": {
                "successfulMissions": 1,
                "rejectedMissions": 5,
                "profileUpdatesPerMonth": 2,
                "proposedMissionsWithoutResponse": 5
            },
            "last_connection": "Aucune connexion récente",
            "uploaded_cv": "",
            "media": []
        },
        {
            "id": 1,
            "user_id": 10,
            "title": "Architecte Cloud Senior",
            "daily_rate": 850,
            "location": "Abidjan, Côte d'Ivoire",
            "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
            "availability": null,
            "professions": null,
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null,
            "statistics": {
                "successfulMissions": 1,
                "rejectedMissions": 5,
                "profileUpdatesPerMonth": 2,
                "proposedMissionsWithoutResponse": 5
            },
            "last_connection": "Aucune connexion récente",
            "uploaded_cv": "",
            "media": []
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/experts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by name|title. Example: dicta

filters[status]   boolean  optional  

Filter by expert status. Example: true

filters[country]   string  optional  

Filter by expert country Example: iure

filters[page]   integer  optional  

set page. Example: 3

Create

requires authentication

Used to get extra data for expert creation

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/experts/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/experts/create"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/experts/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Store

requires authentication

Used to create an expert

Example request:
curl --request POST \
    "http://jobathome.api.test/api/experts" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "daily_rate=35277.729997596"\
    --form "title=znzkwmgvyekukli"\
    --form "location=aut"\
    --form "description=Rerum accusantium qui omnis."\
    --form "availability=918782.5"\
    --form "marital_status=single"\
    --form "personal_info[][name]=non"\
    --form "personal_info[][surname]=voluptas"\
    --form "personal_info[][phone]=asperiores"\
    --form "personal_info[][date_of_birth]=2024-10-13T00:24:30"\
    --form "personal_info[][gender]=male"\
    --form "languages[][name]=pariatur"\
    --form "languages[][proficiency]=expert"\
    --form "educations[][degree]=accusamus"\
    --form "educations[][school]=illo"\
    --form "educations[][started_at]=2024-10-13T00:24:30"\
    --form "educations[][finished_at]=2024-10-13T00:24:30"\
    --form "educations[][description]=Repellendus sed necessitatibus et."\
    --form "experiences[][role]=adipisci"\
    --form "experiences[][tools]=dolore"\
    --form "experiences[][company]=iste"\
    --form "experiences[][location]=qui"\
    --form "experiences[][started_at]=2024-10-13T00:24:30"\
    --form "experiences[][finished_at]=2024-10-13T00:24:30"\
    --form "experiences[][achievements]=nihil"\
    --form "experiences[][responsibilities]=voluptatem"\
    --form "certifications[][title]=neque"\
    --form "certifications[][issue_date]=2024-10-13T00:24:30"\
    --form "certifications[][issuing_organization]=et"\
    --form "certifications[][expiration_date]=2024-10-13T00:24:30"\
    --form "certifications[][certificate_id]=unde"\
    --form "certifications[][validation_url]=http://johnston.info/porro-unde-nesciunt-quia-qui-ea"\
    --form "image=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php4779.tmp" \
    --form "cv=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php477A.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/experts"
);

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

const body = new FormData();
body.append('daily_rate', '35277.729997596');
body.append('title', 'znzkwmgvyekukli');
body.append('location', 'aut');
body.append('description', 'Rerum accusantium qui omnis.');
body.append('availability', '918782.5');
body.append('marital_status', 'single');
body.append('personal_info[][name]', 'non');
body.append('personal_info[][surname]', 'voluptas');
body.append('personal_info[][phone]', 'asperiores');
body.append('personal_info[][date_of_birth]', '2024-10-13T00:24:30');
body.append('personal_info[][gender]', 'male');
body.append('languages[][name]', 'pariatur');
body.append('languages[][proficiency]', 'expert');
body.append('educations[][degree]', 'accusamus');
body.append('educations[][school]', 'illo');
body.append('educations[][started_at]', '2024-10-13T00:24:30');
body.append('educations[][finished_at]', '2024-10-13T00:24:30');
body.append('educations[][description]', 'Repellendus sed necessitatibus et.');
body.append('experiences[][role]', 'adipisci');
body.append('experiences[][tools]', 'dolore');
body.append('experiences[][company]', 'iste');
body.append('experiences[][location]', 'qui');
body.append('experiences[][started_at]', '2024-10-13T00:24:30');
body.append('experiences[][finished_at]', '2024-10-13T00:24:30');
body.append('experiences[][achievements]', 'nihil');
body.append('experiences[][responsibilities]', 'voluptatem');
body.append('certifications[][title]', 'neque');
body.append('certifications[][issue_date]', '2024-10-13T00:24:30');
body.append('certifications[][issuing_organization]', 'et');
body.append('certifications[][expiration_date]', '2024-10-13T00:24:30');
body.append('certifications[][certificate_id]', 'unde');
body.append('certifications[][validation_url]', 'http://johnston.info/porro-unde-nesciunt-quia-qui-ea');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('cv', document.querySelector('input[name="cv"]').files[0]);

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/experts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

daily_rate   number   

Example: 35277.729997596

image   file  optional  

Must be an image. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php4779.tmp

cv   file  optional  

Must be a file. Must not be greater than 20480 kilobytes. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php477A.tmp

title   string   

Must not be greater than 255 characters. Example: znzkwmgvyekukli

location   string   

Example: aut

description   string  optional  

Example: Rerum accusantium qui omnis.

availability   number  optional  

Example: 918782.5

marital_status   string   

Example: single

Must be one of:
  • single
  • married
  • divorced
personal_info   object[]  optional  
name   string  optional  

Example: non

surname   string  optional  

Example: voluptas

phone   string  optional  

Example: asperiores

date_of_birth   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

gender   string  optional  

Example: male

Must be one of:
  • male
  • female
  • other
languages   object[]  optional  
name   string  optional  

Example: pariatur

proficiency   string  optional  

Example: expert

Must be one of:
  • expert
  • intermediate
  • beginner
educations   object[]  optional  
degree   string  optional  

Example: accusamus

school   string  optional  

Example: illo

started_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

description   string  optional  

Example: Repellendus sed necessitatibus et.

experiences   object[]  optional  
role   string  optional  

Example: adipisci

tools   string  optional  

Example: dolore

company   string  optional  

Example: iste

location   string  optional  

Example: qui

started_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

achievements   string  optional  

Example: nihil

responsibilities   string  optional  

Example: voluptatem

certifications   object[]  optional  
title   string  optional  

Example: neque

issue_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

issuing_organization   string  optional  

Example: et

expiration_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

certificate_id   string  optional  

Example: unde

validation_url   string  optional  

Example: http://johnston.info/porro-unde-nesciunt-quia-qui-ea

Show

requires authentication

Used to get details on an expert

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/experts/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/experts/1"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/experts/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert. Example: 1

Update

requires authentication

Used to update an expert

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/experts/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "daily_rate=185928542"\
    --form "title=hjsl"\
    --form "location=et"\
    --form "description=Eos harum aut atque occaecati."\
    --form "availability=2284.97632"\
    --form "marital_status=divorced"\
    --form "personal_info[][name]=in"\
    --form "personal_info[][surname]=inventore"\
    --form "personal_info[][phone]=reprehenderit"\
    --form "personal_info[][date_of_birth]=2024-10-13T00:24:30"\
    --form "personal_info[][gender]=female"\
    --form "languages[][name]=molestiae"\
    --form "languages[][proficiency]=intermediate"\
    --form "educations[][degree]=accusantium"\
    --form "educations[][school]=rerum"\
    --form "educations[][started_at]=2024-10-13T00:24:30"\
    --form "educations[][finished_at]=2024-10-13T00:24:30"\
    --form "educations[][description]=Ratione maxime omnis atque vel omnis ea."\
    --form "experiences[][role]=et"\
    --form "experiences[][tools]=et"\
    --form "experiences[][company]=veniam"\
    --form "experiences[][location]=perferendis"\
    --form "experiences[][started_at]=2024-10-13T00:24:30"\
    --form "experiences[][finished_at]=2024-10-13T00:24:30"\
    --form "experiences[][achievements]=maiores"\
    --form "experiences[][responsibilities]=pariatur"\
    --form "certifications[][title]=tempore"\
    --form "certifications[][issue_date]=2024-10-13T00:24:30"\
    --form "certifications[][issuing_organization]=molestias"\
    --form "certifications[][expiration_date]=2024-10-13T00:24:30"\
    --form "certifications[][certificate_id]=impedit"\
    --form "certifications[][validation_url]=http://www.halvorson.biz/odio-voluptatibus-maxime-repellat-modi-rerum-consequatur.html"\
    --form "image=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php47AA.tmp" \
    --form "cv=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php47AB.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/experts/1"
);

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

const body = new FormData();
body.append('daily_rate', '185928542');
body.append('title', 'hjsl');
body.append('location', 'et');
body.append('description', 'Eos harum aut atque occaecati.');
body.append('availability', '2284.97632');
body.append('marital_status', 'divorced');
body.append('personal_info[][name]', 'in');
body.append('personal_info[][surname]', 'inventore');
body.append('personal_info[][phone]', 'reprehenderit');
body.append('personal_info[][date_of_birth]', '2024-10-13T00:24:30');
body.append('personal_info[][gender]', 'female');
body.append('languages[][name]', 'molestiae');
body.append('languages[][proficiency]', 'intermediate');
body.append('educations[][degree]', 'accusantium');
body.append('educations[][school]', 'rerum');
body.append('educations[][started_at]', '2024-10-13T00:24:30');
body.append('educations[][finished_at]', '2024-10-13T00:24:30');
body.append('educations[][description]', 'Ratione maxime omnis atque vel omnis ea.');
body.append('experiences[][role]', 'et');
body.append('experiences[][tools]', 'et');
body.append('experiences[][company]', 'veniam');
body.append('experiences[][location]', 'perferendis');
body.append('experiences[][started_at]', '2024-10-13T00:24:30');
body.append('experiences[][finished_at]', '2024-10-13T00:24:30');
body.append('experiences[][achievements]', 'maiores');
body.append('experiences[][responsibilities]', 'pariatur');
body.append('certifications[][title]', 'tempore');
body.append('certifications[][issue_date]', '2024-10-13T00:24:30');
body.append('certifications[][issuing_organization]', 'molestias');
body.append('certifications[][expiration_date]', '2024-10-13T00:24:30');
body.append('certifications[][certificate_id]', 'impedit');
body.append('certifications[][validation_url]', 'http://www.halvorson.biz/odio-voluptatibus-maxime-repellat-modi-rerum-consequatur.html');
body.append('image', document.querySelector('input[name="image"]').files[0]);
body.append('cv', document.querySelector('input[name="cv"]').files[0]);

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/experts/{id}

PATCH api/experts/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert. Example: 1

Body Parameters

daily_rate   number  optional  

Example: 185928542

image   file  optional  

Must be an image. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php47AA.tmp

cv   file  optional  

Must be a file. Must not be greater than 20480 kilobytes. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php47AB.tmp

title   string  optional  

Must not be greater than 255 characters. Example: hjsl

location   string  optional  

Example: et

description   string  optional  

Example: Eos harum aut atque occaecati.

availability   number  optional  

Example: 2284.97632

marital_status   string  optional  

Example: divorced

Must be one of:
  • single
  • married
  • divorced
personal_info   object[]  optional  
name   string  optional  

Example: in

surname   string  optional  

Example: inventore

phone   string  optional  

Example: reprehenderit

date_of_birth   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

gender   string  optional  

Example: female

Must be one of:
  • male
  • female
  • other
languages   object[]  optional  
name   string  optional  

Example: molestiae

proficiency   string  optional  

Example: intermediate

Must be one of:
  • expert
  • intermediate
  • beginner
educations   object[]  optional  
degree   string  optional  

Example: accusantium

school   string  optional  

Example: rerum

started_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

description   string  optional  

Example: Ratione maxime omnis atque vel omnis ea.

experiences   object[]  optional  
role   string  optional  

Example: et

tools   string  optional  

Example: et

company   string  optional  

Example: veniam

location   string  optional  

Example: perferendis

started_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

achievements   string  optional  

Example: maiores

responsibilities   string  optional  

Example: pariatur

certifications   object[]  optional  
title   string  optional  

Example: tempore

issue_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

issuing_organization   string  optional  

Example: molestias

expiration_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

certificate_id   string  optional  

Example: impedit

validation_url   string  optional  

Example: http://www.halvorson.biz/odio-voluptatibus-maxime-repellat-modi-rerum-consequatur.html

Delete

requires authentication

Used to delete expert

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/experts/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/experts/1"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/experts/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert. Example: 1

Matched Experts

requires authentication

Used to get matching experts for a job description

Example request:
curl --request POST \
    "http://jobathome.api.test/api/top-experts" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"jobDescription\": \"rerum\",
    \"locale\": \"en\"
}"
const url = new URL(
    "http://jobathome.api.test/api/top-experts"
);

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

let body = {
    "jobDescription": "rerum",
    "locale": "en"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "user_id": 10,
        "title": "Architecte Cloud Senior",
        "daily_rate": 850,
        "location": "Abidjan, Côte d'Ivoire",
        "description": "Architecte cloud expérimenté spécialisé dans AWS, Azure et les infrastructures cloud hybrides. Solide expérience dans la conception de solutions évolutives.",
        "availability": null,
        "professions": null,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null,
        "statistics": {
            "successfulMissions": 1,
            "rejectedMissions": 5,
            "profileUpdatesPerMonth": 2,
            "proposedMissionsWithoutResponse": 5
        },
        "last_connection": "Aucune connexion récente",
        "uploaded_cv": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/top-experts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

jobDescription   string   

Example: rerum

locale   string  optional  

Example: en

Must be one of:
  • fr
  • en

Dashboard KPIs

APIs for Dashboard KPIs

Expert Dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/dashboard" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/dashboard"
);

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

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

Example response (200):


{
    "data": "object",
    "message": "string",
    "success": "boolean"
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/dashboard

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Admin Dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/admin-dashboard" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/admin-dashboard"
);

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

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

Example response (200):


{
    "data": "object",
    "message": "string",
    "success": "boolean"
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/admin-dashboard

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Avg Activity

requires authentication

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/avg-expert-activity" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/avg-expert-activity"
);

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

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

Example response (200):


{
    "data": "object",
    "message": "string",
    "success": "boolean"
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/avg-expert-activity

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Client satisfaction

requires authentication

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/client-satisfaction-score" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/client-satisfaction-score"
);

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

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

Example response (200):


{
    "data": "object",
    "message": "string",
    "success": "boolean"
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/client-satisfaction-score

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Expert Skill

APIs for managing expert skills

Delete

requires authentication

Used to delete an expert skill

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/expert-skills/est" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-skills/est"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "skill_id": 1,
        "expert_id": 1,
        "proficiency": "expert",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/expert-skills/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expert skill. Example: est

Update

requires authentication

Used to update a expertSkill

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-skills/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"skill_id\": 9,
    \"proficiency\": \"expert\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-skills/1"
);

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

let body = {
    "skill_id": 9,
    "proficiency": "expert"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "skill_id": 1,
        "expert_id": 1,
        "proficiency": "expert",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-skills/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert skill. Example: 1

Body Parameters

skill_id   integer  optional  

Example: 9

proficiency   string  optional  

Example: expert

Must be one of:
  • expert
  • intermediate
  • beginner

Expert Experience

APIs for managing expert experiences

Delete

requires authentication

Used to delete an expert experience

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/expert-experiences/repellat" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-experiences/repellat"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "role": "Développeur Full-Stack",
        "company": "TechCorp",
        "started_at": "2020-06-01",
        "tools": [
            "Laravel",
            "Vue.js",
            "MySQL"
        ],
        "location": "Paris, France",
        "finished_at": "2022-08-01",
        "achievements": "Développement complet d'une plateforme de gestion d'événements en ligne, permettant une réduction de 20% des coûts opérationnels.",
        "responsibilities": "Développement backend et frontend, intégration d'API tierces, tests unitaires et déploiement.",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/expert-experiences/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expert experience. Example: repellat

Update

requires authentication

Used to update a expertExperience

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-experiences/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"role\": \"et\",
    \"company\": \"cupiditate\",
    \"location\": \"voluptate\",
    \"started_at\": \"2024-10-13T00:24:30\",
    \"finished_at\": \"2024-10-13T00:24:30\",
    \"achievements\": \"in\",
    \"responsibilities\": \"et\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-experiences/1"
);

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

let body = {
    "role": "et",
    "company": "cupiditate",
    "location": "voluptate",
    "started_at": "2024-10-13T00:24:30",
    "finished_at": "2024-10-13T00:24:30",
    "achievements": "in",
    "responsibilities": "et"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "role": "Développeur Full-Stack",
        "company": "TechCorp",
        "started_at": "2020-06-01",
        "tools": [
            "Laravel",
            "Vue.js",
            "MySQL"
        ],
        "location": "Paris, France",
        "finished_at": "2022-08-01",
        "achievements": "Développement complet d'une plateforme de gestion d'événements en ligne, permettant une réduction de 20% des coûts opérationnels.",
        "responsibilities": "Développement backend et frontend, intégration d'API tierces, tests unitaires et déploiement.",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-experiences/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert experience. Example: 1

Body Parameters

role   string  optional  

Example: et

company   string  optional  

Example: cupiditate

location   string  optional  

Example: voluptate

started_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

tools   object  optional  
finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

achievements   string  optional  

Example: in

responsibilities   string  optional  

Example: et

Expert Education

APIs for managing expert educations

Delete

requires authentication

Used to delete an expert education

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/expert-educations/voluptas" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-educations/voluptas"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "degree": "Baccalauréat en Informatique",
        "school": "Université de Douala",
        "started_at": "2010-09-01",
        "finished_at": "2013-06-30",
        "description": "Formation générale en informatique avec une spécialisation en développement logiciel.",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/expert-educations/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expert education. Example: voluptas

Update

requires authentication

Used to update a expertEducation

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-educations/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"degree\": \"aperiam\",
    \"school\": \"minus\",
    \"started_at\": \"2024-10-13T00:24:30\",
    \"finished_at\": \"2024-10-13T00:24:30\",
    \"description\": \"Ex dolores voluptatem voluptatem assumenda.\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-educations/1"
);

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

let body = {
    "degree": "aperiam",
    "school": "minus",
    "started_at": "2024-10-13T00:24:30",
    "finished_at": "2024-10-13T00:24:30",
    "description": "Ex dolores voluptatem voluptatem assumenda."
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "degree": "Baccalauréat en Informatique",
        "school": "Université de Douala",
        "started_at": "2010-09-01",
        "finished_at": "2013-06-30",
        "description": "Formation générale en informatique avec une spécialisation en développement logiciel.",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-educations/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert education. Example: 1

Body Parameters

degree   string  optional  

Example: aperiam

school   string  optional  

Example: minus

started_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

finished_at   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

description   string  optional  

Example: Ex dolores voluptatem voluptatem assumenda.

Expert Language

APIs for managing expert languages

Delete

requires authentication

Used to delete an expert language

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/expert-languages/laborum" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-languages/laborum"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "name": "Français",
        "expert_id": 1,
        "proficiency": "expert",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/expert-languages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expert language. Example: laborum

Update

requires authentication

Used to update a expertLanguage

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-languages/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"fuga\",
    \"proficiency\": \"intermediate\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-languages/1"
);

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

let body = {
    "name": "fuga",
    "proficiency": "intermediate"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "name": "Français",
        "expert_id": 1,
        "proficiency": "expert",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-languages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert language. Example: 1

Body Parameters

name   string  optional  

Example: fuga

proficiency   string  optional  

Example: intermediate

Must be one of:
  • expert
  • intermediate
  • beginner

Expert Certification

APIs for managing expert certifications

Delete

requires authentication

Used to delete an expert certification

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/expert-certifications/quia" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-certifications/quia"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "title": "Certified ScrumMaster (CSM)",
        "issue_date": "2021-05-15",
        "issuing_organization": "Scrum Alliance",
        "expiration_date": "2024-05-15",
        "certificate_id": "CSM123456789",
        "validation_url": "https://www.scrumalliance.org/validate?cert=CSM123456789",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/expert-certifications/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expert certification. Example: quia

Update

requires authentication

Used to update a expertCertification

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-certifications/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"qui\",
    \"issue_date\": \"2024-10-13T00:24:30\",
    \"issuing_organization\": \"impedit\",
    \"expiration_date\": \"2024-10-13T00:24:30\",
    \"certificate_id\": \"itaque\",
    \"validation_url\": \"http:\\/\\/www.botsford.com\\/\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-certifications/1"
);

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

let body = {
    "title": "qui",
    "issue_date": "2024-10-13T00:24:30",
    "issuing_organization": "impedit",
    "expiration_date": "2024-10-13T00:24:30",
    "certificate_id": "itaque",
    "validation_url": "http:\/\/www.botsford.com\/"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "title": "Certified ScrumMaster (CSM)",
        "issue_date": "2021-05-15",
        "issuing_organization": "Scrum Alliance",
        "expiration_date": "2024-05-15",
        "certificate_id": "CSM123456789",
        "validation_url": "https://www.scrumalliance.org/validate?cert=CSM123456789",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-certifications/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert certification. Example: 1

Body Parameters

title   string  optional  

Example: qui

issue_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

issuing_organization   string  optional  

Example: impedit

expiration_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

certificate_id   string  optional  

Example: itaque

validation_url   string  optional  

Example: http://www.botsford.com/

Expert Portfolio

APIs for managing expert portfolios

Update

requires authentication

Used to update a expertPortfolio

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-portfolios/perferendis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/www.jacobi.com\\/minus-accusantium-ullam-placeat-voluptates\",
    \"role\": \"sapiente\",
    \"date\": \"2024-10-13T00:24:30\",
    \"description\": \"Expedita debitis ratione quis quo.\",
    \"project_name\": \"quidem\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-portfolios/perferendis"
);

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

let body = {
    "url": "http:\/\/www.jacobi.com\/minus-accusantium-ullam-placeat-voluptates",
    "role": "sapiente",
    "date": "2024-10-13T00:24:30",
    "description": "Expedita debitis ratione quis quo.",
    "project_name": "quidem"
};

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-portfolios/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the expert portfolio. Example: perferendis

Body Parameters

url   string  optional  

Example: http://www.jacobi.com/minus-accusantium-ullam-placeat-voluptates

role   string  optional  

Example: sapiente

date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

description   string  optional  

Example: Expedita debitis ratione quis quo.

project_name   string  optional  

Example: quidem

technologies   object  optional  

Propositions Module

APIs for experts missions propositions management

Accept proposition

requires authentication

Used by expert to accept mission proposition

Example request:
curl --request POST \
    "http://jobathome.api.test/api/accept-mission/et" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/accept-mission/et"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/accept-mission/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the accept mission. Example: et

Reject proposition

requires authentication

Used by expert to reject mission proposition

Example request:
curl --request POST \
    "http://jobathome.api.test/api/reject-mission/et" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/reject-mission/et"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/reject-mission/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the reject mission. Example: et

Search & List

requires authentication

Used to filter & list missions propositions

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/all-proposed-missions?filters%5Btext%5D=consequuntur&filters%5Bstatus%5D=rejected" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/all-proposed-missions"
);

const params = {
    "filters[text]": "consequuntur",
    "filters[status]": "rejected",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 1,
            "expert_id": 1,
            "mission_id": 5,
            "created_by": 1,
            "status": "accepted",
            "created_at": "2024-10-10T15:54:24.000000Z",
            "updated_at": "2024-10-10T15:54:24.000000Z",
            "deleted_at": null
        },
        {
            "id": 1,
            "expert_id": 1,
            "mission_id": 5,
            "created_by": 1,
            "status": "accepted",
            "created_at": "2024-10-10T15:54:24.000000Z",
            "updated_at": "2024-10-10T15:54:24.000000Z",
            "deleted_at": null
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/all-proposed-missions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by expert name & surname | mission title. Example: consequuntur

filters[status]   string  optional  

Filter by status. Example: rejected

Must be one of:
  • proposed
  • accepted
  • rejected

Store

requires authentication

Used to make a mission proposition to an expert

Example request:
curl --request POST \
    "http://jobathome.api.test/api/propose-mission" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"expert_id\": \"aliquid\",
    \"mission_id\": \"qui\"
}"
const url = new URL(
    "http://jobathome.api.test/api/propose-mission"
);

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

let body = {
    "expert_id": "aliquid",
    "mission_id": "qui"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/propose-mission

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

expert_id   string   

Example: aliquid

mission_id   string   

Example: qui

Store Many

requires authentication

Used to make a mission proposition to several experts

Example request:
curl --request POST \
    "http://jobathome.api.test/api/propose-many-missions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"mission_id\": \"aut\",
    \"expert_ids\": [
        \"deleniti\"
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/propose-many-missions"
);

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

let body = {
    "mission_id": "aut",
    "expert_ids": [
        "deleniti"
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/propose-many-missions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

mission_id   string   

Example: aut

expert_ids   string[]   

Propose expert missions

requires authentication

Used to propose several missions to an expert

Example request:
curl --request POST \
    "http://jobathome.api.test/api/propose-many" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"expert_id\": \"sit\",
    \"missions\": [
        16
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/propose-many"
);

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

let body = {
    "expert_id": "sit",
    "missions": [
        16
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/propose-many

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

expert_id   string   

Example: sit

missions   integer[]   

Propose mission to experts

requires authentication

Used to propose a mission to several experts

Example request:
curl --request POST \
    "http://jobathome.api.test/api/propose-mission-to-expert" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"mission_id\": \"consequuntur\",
    \"experts\": [
        15
    ]
}"
const url = new URL(
    "http://jobathome.api.test/api/propose-mission-to-expert"
);

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

let body = {
    "mission_id": "consequuntur",
    "experts": [
        15
    ]
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "mission_id": 5,
        "created_by": 1,
        "status": "accepted",
        "created_at": "2024-10-10T15:54:24.000000Z",
        "updated_at": "2024-10-10T15:54:24.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/propose-mission-to-expert

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

mission_id   string   

Example: consequuntur

experts   integer[]   

Mission management

APIs for managing missions

List Open and Upcoming Missions with Filters

requires authentication

Get all 'open' missions with start date in the future, filtered by available options

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/missions/open-upcoming" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/missions/open-upcoming"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/missions/open-upcoming

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Possible propositions

requires authentication

Used to get the list of missions that can be proposed to an expert

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/possible-propositions/consectetur" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/possible-propositions/consectetur"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/possible-propositions/{expertId}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

expertId   string   

Example: consectetur

Search & List

requires authentication

Used to filter & list missions

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/missions?filters%5Btext%5D=aperiam&filters%5Bstatus%5D=consectetur&filters%5Bcompany%5D=voluptatem&filters%5Bcountry%5D=dolorem&filters%5BstartDate%5D=possimus&filters%5BendDate%5D=at&filters%5BpublishedData%5D=vel&filters%5Bpage%5D=3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/missions"
);

const params = {
    "filters[text]": "aperiam",
    "filters[status]": "consectetur",
    "filters[company]": "voluptatem",
    "filters[country]": "dolorem",
    "filters[startDate]": "possimus",
    "filters[endDate]": "at",
    "filters[publishedData]": "vel",
    "filters[page]": "3",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 2,
            "created_by": 1,
            "company_id": 1,
            "title": "Développeur Frontend Angular",
            "start_date": "2024-11-01",
            "duration": 12,
            "end_date": "2025-10-01",
            "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
            "daily_rate": 300,
            "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
            "technical_environment": [
                "Angular",
                "HTML",
                "CSS",
                "JavaScript",
                "GIT",
                "Maven",
                "Jenkins",
                "Nexus",
                "Sonar"
            ],
            "status": "open",
            "experience_range": "6-8",
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null
        },
        {
            "id": 2,
            "created_by": 1,
            "company_id": 1,
            "title": "Développeur Frontend Angular",
            "start_date": "2024-11-01",
            "duration": 12,
            "end_date": "2025-10-01",
            "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
            "daily_rate": 300,
            "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
            "technical_environment": [
                "Angular",
                "HTML",
                "CSS",
                "JavaScript",
                "GIT",
                "Maven",
                "Jenkins",
                "Nexus",
                "Sonar"
            ],
            "status": "open",
            "experience_range": "6-8",
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/missions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by mission title Example: aperiam

filters[tjm]   object  optional  

Filter by experts daily rate | example: {min:0, max:100}

filters[status]   string  optional  

Filter by mission status Example: consectetur

filters[company]   string  optional  

Filter by company name Example: voluptatem

filters[country]   string  optional  

Filter by company country Example: dolorem

filters[duration]   object  optional  

Filter by mission duration | example: {min:0, max:100}

filters[startDate]   date  optional  

Filter by start date. Example: possimus

filters[endDate]   date  optional  

Filter by max date. Example: at

filters[publishedData]   date  optional  

Filter by publication date. Example: vel

filters[page]   integer  optional  

set page. Example: 3

Create

requires authentication

Used to get data for mission creation

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/missions/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/missions/create"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/missions/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Store

requires authentication

Used to create a mission

Example request:
curl --request POST \
    "http://jobathome.api.test/api/missions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"company_id\": 12,
    \"title\": \"impedit\",
    \"duration\": 9,
    \"start_date\": \"2024-10-13T00:24:30\",
    \"end_date\": \"2024-10-13T00:24:30\",
    \"daily_rate\": 42.20798357,
    \"description\": \"Incidunt ut quas excepturi quam.\",
    \"responsibilities\": \"ab\",
    \"experience_range\": \"6-8\"
}"
const url = new URL(
    "http://jobathome.api.test/api/missions"
);

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

let body = {
    "company_id": 12,
    "title": "impedit",
    "duration": 9,
    "start_date": "2024-10-13T00:24:30",
    "end_date": "2024-10-13T00:24:30",
    "daily_rate": 42.20798357,
    "description": "Incidunt ut quas excepturi quam.",
    "responsibilities": "ab",
    "experience_range": "6-8"
};

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/missions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

company_id   integer   

Example: 12

title   string   

Example: impedit

duration   integer  optional  

Example: 9

start_date   string   

Must be a valid date. Example: 2024-10-13T00:24:30

end_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

daily_rate   number   

Example: 42.20798357

description   string   

Example: Incidunt ut quas excepturi quam.

responsibilities   string   

Example: ab

technical_environment   object  optional  
experience_range   string   

Example: 6-8

Must be one of:
  • 0-2
  • 3-5
  • 6-8
  • 8-10
  • >11

Show

requires authentication

Used to get details on a mission

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/missions/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/missions/2"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/missions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the mission. Example: 2

Update

requires authentication

Used to update a mission

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/missions/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"company_id\": 19,
    \"title\": \"at\",
    \"duration\": 15,
    \"start_date\": \"2024-10-13T00:24:30\",
    \"end_date\": \"2024-10-13T00:24:30\",
    \"daily_rate\": 6184.130276,
    \"description\": \"Nostrum occaecati fugiat recusandae eaque.\",
    \"responsibilities\": \"et\",
    \"status\": \"open\",
    \"experience_range\": \"0-2\"
}"
const url = new URL(
    "http://jobathome.api.test/api/missions/2"
);

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

let body = {
    "company_id": 19,
    "title": "at",
    "duration": 15,
    "start_date": "2024-10-13T00:24:30",
    "end_date": "2024-10-13T00:24:30",
    "daily_rate": 6184.130276,
    "description": "Nostrum occaecati fugiat recusandae eaque.",
    "responsibilities": "et",
    "status": "open",
    "experience_range": "0-2"
};

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/missions/{id}

PATCH api/missions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the mission. Example: 2

Body Parameters

company_id   integer  optional  

Example: 19

title   string  optional  

Example: at

duration   integer  optional  

Example: 15

start_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

end_date   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

daily_rate   number  optional  

Example: 6184.130276

description   string  optional  

Example: Nostrum occaecati fugiat recusandae eaque.

responsibilities   string  optional  

Example: et

technical_environment   object  optional  
status   string  optional  

Example: open

Must be one of:
  • open
  • in progress
  • closed
  • cancelled
  • finished
experience_range   string  optional  

Example: 0-2

Must be one of:
  • 0-2
  • 3-5
  • 6-8
  • 8-10
  • >11

Delete

requires authentication

Used to delete a mission

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/missions/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/missions/2"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "created_by": 1,
        "company_id": 1,
        "title": "Développeur Frontend Angular",
        "start_date": "2024-11-01",
        "duration": 12,
        "end_date": "2025-10-01",
        "description": "\n                    <p><strong>Jobathome</strong> est une Entreprise de Service Numérique (ESN) innovante, spécialisée dans les métiers du numérique. Nous agissons en tant que tiers de confiance entre les entreprises françaises et les experts IT basés en Afrique francophone. Notre mission est de faciliter les missions en SMART Remote, offrant ainsi la flexibilité du travail à distance avec l'option pour nos consultants de se rendre occasionnellement chez le client pour des interventions sur site, selon les besoins.</p>\n                    <h3>Poste : Développeur Frontend Angular</h3>\n                    <p><strong>Type de contrat :</strong> À définir (Freelance)</p>\n                    <p><strong>Rémunération :</strong> Selon profil</p>\n                    <p><strong>Localisation :</strong> Full remote</p>\n                    <h3>Description de la mission :</h3>\n                    <p>Nous sommes à la recherche d'un Développeur Frontend Angular Senior ayant au minimum 5 ans d'expérience pour rejoindre notre équipe dynamique. Vous jouerez un rôle clé dans le développement d'interfaces utilisateur innovantes pour un de nos clients.</p>\n                    <h4>Missions principales :</h4>\n                    <ul>\n                        <li>Intégration des composants créés par l'agence au sein du Storybook pour capitaliser leur utilisation dans les interfaces des projets et produits Luminess.</li>\n                        <li>Développement et maintenance d'applications web en utilisant Angular avec une attention particulière à l'implémentation et aux tests.</li>\n                        <li>Réalisation d'intégrations HTML/CSS/JS de haute qualité conformément aux maquettes fournies.</li>\n                        <li>Application des bonnes pratiques Frontend en matière de développement.</li>\n                        <li>Mise en place et utilisation des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                        <li>Collaboration avec les équipes de design et de backend pour assurer une intégration fluide des fonctionnalités.</li>\n                        <li>Documentation des réalisations et partage des connaissances avec l'équipe.</li>\n                        <li>Participation à l'évolution du Design System et contribution dans un contexte orienté Produit plutôt que Projet.</li>\n                    </ul>\n                    <h4>Profil recherché :</h4>\n                    <ul>\n                        <li>Diplôme Bac+5 en informatique ou équivalent.</li>\n                        <li>Minimum 5 ans d'expérience en développement frontend avec une expertise avérée en Angular.</li>\n                    </ul>\n                    <h5>Compétences obligatoires :</h5>\n                    <ul>\n                        <li>Expérience significative dans l'intégration HTML/CSS/JS.</li>\n                        <li>Bonne expertise en Angular, y compris l'implémentation et le testing.</li>\n                        <li>Maîtrise des bonnes pratiques Frontend en développement.</li>\n                        <li>Maîtrise des outils de CI/CD : GIT, Maven, Jenkins, Nexus, Sonar.</li>\n                    </ul>\n                    <h5>Compétences technologiques optionnelles :</h5>\n                    <ul>\n                        <li>Connaissance de Storybook pour la documentation et le partage de composants.</li>\n                        <li>Familiarité avec PrimeNG pour l'utilisation de composants Angular prêts à l'emploi.</li>\n                    </ul>\n                    <h4>Pourquoi nous rejoindre ?</h4>\n                    <p>En rejoignant Jobathome, vous devenez acteur au sein d'une entreprise visionnaire, qui transcende le modèle traditionnel des ESN en adoptant une approche axée sur la mission. Notre démarche unique nous positionne comme un pont stratégique entre les entreprises françaises confrontées à un besoin croissant de talents et des consultants IT qualifiés et certifiés basés en Afrique francophone. Ce faisant, nous ne nous contentons pas de répondre à un besoin crucial du marché ; nous contribuons également à un impact économique et social significatif.</p>\n                ",
        "daily_rate": 300,
        "responsibilities": "Intégration des composants créés par l'agence au sein du Storybook, développement et maintenance d'applications web en utilisant Angular, réalisation d'intégrations HTML/CSS/JS, collaboration avec les équipes backend et design, documentation des réalisations, participation à l'évolution du Design System.",
        "technical_environment": [
            "Angular",
            "HTML",
            "CSS",
            "JavaScript",
            "GIT",
            "Maven",
            "Jenkins",
            "Nexus",
            "Sonar"
        ],
        "status": "open",
        "experience_range": "6-8",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/missions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the mission. Example: 2

Skills management

APIs for managing Skills

Search & List

requires authentication

Used to filter experts or get them all

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/skills?filters%5Btext%5D=placeat" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/skills"
);

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

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "name": "OOP",
        "category": "Technical",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 1,
            "name": "OOP",
            "category": "Technical",
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null
        },
        {
            "id": 1,
            "name": "OOP",
            "category": "Technical",
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/skills

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by name|category. Example: placeat

Store

requires authentication

Used to create a skill application

Example request:
curl --request POST \
    "http://jobathome.api.test/api/skills" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"beatae\",
    \"category\": \"optio\"
}"
const url = new URL(
    "http://jobathome.api.test/api/skills"
);

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

let body = {
    "name": "beatae",
    "category": "optio"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "name": "OOP",
        "category": "Technical",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/skills

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: beatae

category   string  optional  

Example: optio

Contracts management

APIs for experts contracts management

Search & List

requires authentication

Used to filter & list contracts

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/contracts?filters%5Btext%5D=ut&filters%5BstartDate%5D=repellat&filters%5BendDate%5D=harum&filters%5Bstatus%5D=maiores" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/contracts"
);

const params = {
    "filters[text]": "ut",
    "filters[startDate]": "repellat",
    "filters[endDate]": "harum",
    "filters[status]": "maiores",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (200, success):


{
    "data": [
        [],
        []
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/contracts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by expert name|mission title|company name. Example: ut

filters[startDate]   date  optional  

Filter by start date. Example: repellat

filters[endDate]   date  optional  

Filter by max date. Example: harum

filters[status]   string  optional  

Filter by status. Example: maiores

Create

requires authentication

Used to get info for contract creation

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/contracts/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/contracts/create"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/contracts/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Store

requires authentication

Used to create a contract

Example request:
curl --request POST \
    "http://jobathome.api.test/api/contracts" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rating\": 218894.54,
    \"internal_notes\": \"hic\"
}"
const url = new URL(
    "http://jobathome.api.test/api/contracts"
);

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

let body = {
    "rating": 218894.54,
    "internal_notes": "hic"
};

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/contracts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

rating   number   

Example: 218894.54

internal_notes   string  optional  

Example: hic

Show

requires authentication

Used to get details on a contract

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/contracts/4" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/contracts/4"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/contracts/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the contract. Example: 4

Update

requires authentication

Used to update a contract

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/contracts/10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rating\": 28297650.207654603,
    \"internal_notes\": \"dolorem\"
}"
const url = new URL(
    "http://jobathome.api.test/api/contracts/10"
);

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

let body = {
    "rating": 28297650.207654603,
    "internal_notes": "dolorem"
};

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/contracts/{id}

PATCH api/contracts/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the contract. Example: 10

Body Parameters

rating   number  optional  

Example: 28297650.207655

internal_notes   string  optional  

Example: dolorem

Delete

requires authentication

Used to delete a contract

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/contracts/12" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/contracts/12"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/contracts/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the contract. Example: 12

Company management

APIs for company management actions

Search & List

requires authentication

Used to filter & list companies

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/companies?filters%5Btext%5D=et&filters%5Bcountry%5D=eius&filters%5Bstatus%5D=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/companies"
);

const params = {
    "filters[text]": "et",
    "filters[country]": "eius",
    "filters[status]": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "name": "Jobathome",
        "phone": "(230)12678954321",
        "email": "info@innovaitconsulting.com",
        "location": "Casablanca, Maroc",
        "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
        "is_active": 1,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-13T00:10:40.000000Z",
        "deleted_at": null,
        "logo": "",
        "statistics": {
            "total": 3,
            "canceled": 0,
            "successful": 1,
            "usingExperts": 1
        },
        "media": [],
        "missions": [
            {
                "id": 7,
                "created_by": 1,
                "company_id": 2,
                "title": "Consultant en Sécurité Informatique",
                "start_date": "2023-07-15",
                "duration": 12,
                "end_date": "2025-07-15",
                "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                "daily_rate": 700,
                "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                "technical_environment": [
                    "Linux",
                    "Firewall",
                    "VPN",
                    "Kali Linux"
                ],
                "status": "open",
                "experience_range": "6-8",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 48,
                "created_by": 1,
                "company_id": 2,
                "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                "start_date": "2023-09-01",
                "duration": 6,
                "end_date": "2024-03-01",
                "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                "daily_rate": 800,
                "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                "technical_environment": [
                    "Google Cloud",
                    "Kubernetes",
                    "Terraform",
                    "Jenkins",
                    "Ansible"
                ],
                "status": "in progress",
                "experience_range": ">11",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 53,
                "created_by": 1,
                "company_id": 2,
                "title": "Développeur Backend pour une application de gestion des stocks",
                "start_date": "2022-04-01",
                "duration": 12,
                "end_date": "2023-04-01",
                "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                "daily_rate": 750,
                "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                "technical_environment": [
                    "PHP",
                    "Laravel",
                    "MySQL",
                    "Redis"
                ],
                "status": "finished",
                "experience_range": "3-5",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            }
        ]
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 2,
            "name": "Jobathome",
            "phone": "(230)12678954321",
            "email": "info@innovaitconsulting.com",
            "location": "Casablanca, Maroc",
            "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
            "is_active": 1,
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-13T00:10:40.000000Z",
            "deleted_at": null,
            "logo": "",
            "statistics": {
                "total": 3,
                "canceled": 0,
                "successful": 1,
                "usingExperts": 1
            },
            "media": [],
            "missions": [
                {
                    "id": 7,
                    "created_by": 1,
                    "company_id": 2,
                    "title": "Consultant en Sécurité Informatique",
                    "start_date": "2023-07-15",
                    "duration": 12,
                    "end_date": "2025-07-15",
                    "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                    "daily_rate": 700,
                    "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                    "technical_environment": [
                        "Linux",
                        "Firewall",
                        "VPN",
                        "Kali Linux"
                    ],
                    "status": "open",
                    "experience_range": "6-8",
                    "created_at": "2024-10-10T15:54:23.000000Z",
                    "updated_at": "2024-10-10T15:54:23.000000Z",
                    "deleted_at": null
                },
                {
                    "id": 48,
                    "created_by": 1,
                    "company_id": 2,
                    "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                    "start_date": "2023-09-01",
                    "duration": 6,
                    "end_date": "2024-03-01",
                    "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                    "daily_rate": 800,
                    "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                    "technical_environment": [
                        "Google Cloud",
                        "Kubernetes",
                        "Terraform",
                        "Jenkins",
                        "Ansible"
                    ],
                    "status": "in progress",
                    "experience_range": ">11",
                    "created_at": "2024-10-10T15:54:23.000000Z",
                    "updated_at": "2024-10-10T15:54:23.000000Z",
                    "deleted_at": null
                },
                {
                    "id": 53,
                    "created_by": 1,
                    "company_id": 2,
                    "title": "Développeur Backend pour une application de gestion des stocks",
                    "start_date": "2022-04-01",
                    "duration": 12,
                    "end_date": "2023-04-01",
                    "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                    "daily_rate": 750,
                    "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                    "technical_environment": [
                        "PHP",
                        "Laravel",
                        "MySQL",
                        "Redis"
                    ],
                    "status": "finished",
                    "experience_range": "3-5",
                    "created_at": "2024-10-10T15:54:23.000000Z",
                    "updated_at": "2024-10-10T15:54:23.000000Z",
                    "deleted_at": null
                }
            ]
        },
        {
            "id": 2,
            "name": "Jobathome",
            "phone": "(230)12678954321",
            "email": "info@innovaitconsulting.com",
            "location": "Casablanca, Maroc",
            "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
            "is_active": 1,
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-13T00:10:40.000000Z",
            "deleted_at": null,
            "logo": "",
            "statistics": {
                "total": 3,
                "canceled": 0,
                "successful": 1,
                "usingExperts": 1
            },
            "media": [],
            "missions": [
                {
                    "id": 7,
                    "created_by": 1,
                    "company_id": 2,
                    "title": "Consultant en Sécurité Informatique",
                    "start_date": "2023-07-15",
                    "duration": 12,
                    "end_date": "2025-07-15",
                    "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                    "daily_rate": 700,
                    "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                    "technical_environment": [
                        "Linux",
                        "Firewall",
                        "VPN",
                        "Kali Linux"
                    ],
                    "status": "open",
                    "experience_range": "6-8",
                    "created_at": "2024-10-10T15:54:23.000000Z",
                    "updated_at": "2024-10-10T15:54:23.000000Z",
                    "deleted_at": null
                },
                {
                    "id": 48,
                    "created_by": 1,
                    "company_id": 2,
                    "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                    "start_date": "2023-09-01",
                    "duration": 6,
                    "end_date": "2024-03-01",
                    "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                    "daily_rate": 800,
                    "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                    "technical_environment": [
                        "Google Cloud",
                        "Kubernetes",
                        "Terraform",
                        "Jenkins",
                        "Ansible"
                    ],
                    "status": "in progress",
                    "experience_range": ">11",
                    "created_at": "2024-10-10T15:54:23.000000Z",
                    "updated_at": "2024-10-10T15:54:23.000000Z",
                    "deleted_at": null
                },
                {
                    "id": 53,
                    "created_by": 1,
                    "company_id": 2,
                    "title": "Développeur Backend pour une application de gestion des stocks",
                    "start_date": "2022-04-01",
                    "duration": 12,
                    "end_date": "2023-04-01",
                    "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                    "daily_rate": 750,
                    "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                    "technical_environment": [
                        "PHP",
                        "Laravel",
                        "MySQL",
                        "Redis"
                    ],
                    "status": "finished",
                    "experience_range": "3-5",
                    "created_at": "2024-10-10T15:54:23.000000Z",
                    "updated_at": "2024-10-10T15:54:23.000000Z",
                    "deleted_at": null
                }
            ]
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/companies

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by name|email. Example: et

filters[country]   string  optional  

Filter by company country Example: eius

filters[status]   boolean  optional  

Filter by status. Example: false

Store

requires authentication

Used to create a company

Example request:
curl --request POST \
    "http://jobathome.api.test/api/companies" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=alias"\
    --form "phone=asperiores"\
    --form "location=qui"\
    --form "email=karley51@example.com"\
    --form "is_active=1"\
    --form "description=Excepturi similique et iusto recusandae autem non hic maiores."\
    --form "logo=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php4942.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/companies"
);

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

const body = new FormData();
body.append('name', 'alias');
body.append('phone', 'asperiores');
body.append('location', 'qui');
body.append('email', 'karley51@example.com');
body.append('is_active', '1');
body.append('description', 'Excepturi similique et iusto recusandae autem non hic maiores.');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "name": "Jobathome",
        "phone": "(230)12678954321",
        "email": "info@innovaitconsulting.com",
        "location": "Casablanca, Maroc",
        "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
        "is_active": 1,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-13T00:10:40.000000Z",
        "deleted_at": null,
        "logo": "",
        "statistics": {
            "total": 3,
            "canceled": 0,
            "successful": 1,
            "usingExperts": 1
        },
        "media": [],
        "missions": [
            {
                "id": 7,
                "created_by": 1,
                "company_id": 2,
                "title": "Consultant en Sécurité Informatique",
                "start_date": "2023-07-15",
                "duration": 12,
                "end_date": "2025-07-15",
                "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                "daily_rate": 700,
                "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                "technical_environment": [
                    "Linux",
                    "Firewall",
                    "VPN",
                    "Kali Linux"
                ],
                "status": "open",
                "experience_range": "6-8",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 48,
                "created_by": 1,
                "company_id": 2,
                "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                "start_date": "2023-09-01",
                "duration": 6,
                "end_date": "2024-03-01",
                "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                "daily_rate": 800,
                "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                "technical_environment": [
                    "Google Cloud",
                    "Kubernetes",
                    "Terraform",
                    "Jenkins",
                    "Ansible"
                ],
                "status": "in progress",
                "experience_range": ">11",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 53,
                "created_by": 1,
                "company_id": 2,
                "title": "Développeur Backend pour une application de gestion des stocks",
                "start_date": "2022-04-01",
                "duration": 12,
                "end_date": "2023-04-01",
                "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                "daily_rate": 750,
                "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                "technical_environment": [
                    "PHP",
                    "Laravel",
                    "MySQL",
                    "Redis"
                ],
                "status": "finished",
                "experience_range": "3-5",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            }
        ]
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/companies

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string   

Example: alias

phone   string  optional  

Example: asperiores

location   string  optional  

Example: qui

email   string  optional  

Must be a valid email address. Example: karley51@example.com

is_active   boolean  optional  

Example: true

description   string  optional  

Example: Excepturi similique et iusto recusandae autem non hic maiores.

logo   file  optional  

Must be an image. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php4942.tmp

Show

requires authentication

Used to get details on a company

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/companies/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/companies/2"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "name": "Jobathome",
        "phone": "(230)12678954321",
        "email": "info@innovaitconsulting.com",
        "location": "Casablanca, Maroc",
        "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
        "is_active": 1,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-13T00:10:40.000000Z",
        "deleted_at": null,
        "logo": "",
        "statistics": {
            "total": 3,
            "canceled": 0,
            "successful": 1,
            "usingExperts": 1
        },
        "media": [],
        "missions": [
            {
                "id": 7,
                "created_by": 1,
                "company_id": 2,
                "title": "Consultant en Sécurité Informatique",
                "start_date": "2023-07-15",
                "duration": 12,
                "end_date": "2025-07-15",
                "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                "daily_rate": 700,
                "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                "technical_environment": [
                    "Linux",
                    "Firewall",
                    "VPN",
                    "Kali Linux"
                ],
                "status": "open",
                "experience_range": "6-8",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 48,
                "created_by": 1,
                "company_id": 2,
                "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                "start_date": "2023-09-01",
                "duration": 6,
                "end_date": "2024-03-01",
                "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                "daily_rate": 800,
                "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                "technical_environment": [
                    "Google Cloud",
                    "Kubernetes",
                    "Terraform",
                    "Jenkins",
                    "Ansible"
                ],
                "status": "in progress",
                "experience_range": ">11",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 53,
                "created_by": 1,
                "company_id": 2,
                "title": "Développeur Backend pour une application de gestion des stocks",
                "start_date": "2022-04-01",
                "duration": 12,
                "end_date": "2023-04-01",
                "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                "daily_rate": 750,
                "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                "technical_environment": [
                    "PHP",
                    "Laravel",
                    "MySQL",
                    "Redis"
                ],
                "status": "finished",
                "experience_range": "3-5",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            }
        ]
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/companies/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the company. Example: 2

Update

requires authentication

Used to update a company

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/companies/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=quis"\
    --form "phone=ut"\
    --form "location=voluptas"\
    --form "email=eswaniawski@example.net"\
    --form "is_active="\
    --form "description=Ut ipsa et dolor."\
    --form "logo=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php4952.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/companies/2"
);

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

const body = new FormData();
body.append('name', 'quis');
body.append('phone', 'ut');
body.append('location', 'voluptas');
body.append('email', 'eswaniawski@example.net');
body.append('is_active', '');
body.append('description', 'Ut ipsa et dolor.');
body.append('logo', document.querySelector('input[name="logo"]').files[0]);

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "name": "Jobathome",
        "phone": "(230)12678954321",
        "email": "info@innovaitconsulting.com",
        "location": "Casablanca, Maroc",
        "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
        "is_active": 1,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-13T00:10:40.000000Z",
        "deleted_at": null,
        "logo": "",
        "statistics": {
            "total": 3,
            "canceled": 0,
            "successful": 1,
            "usingExperts": 1
        },
        "media": [],
        "missions": [
            {
                "id": 7,
                "created_by": 1,
                "company_id": 2,
                "title": "Consultant en Sécurité Informatique",
                "start_date": "2023-07-15",
                "duration": 12,
                "end_date": "2025-07-15",
                "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                "daily_rate": 700,
                "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                "technical_environment": [
                    "Linux",
                    "Firewall",
                    "VPN",
                    "Kali Linux"
                ],
                "status": "open",
                "experience_range": "6-8",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 48,
                "created_by": 1,
                "company_id": 2,
                "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                "start_date": "2023-09-01",
                "duration": 6,
                "end_date": "2024-03-01",
                "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                "daily_rate": 800,
                "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                "technical_environment": [
                    "Google Cloud",
                    "Kubernetes",
                    "Terraform",
                    "Jenkins",
                    "Ansible"
                ],
                "status": "in progress",
                "experience_range": ">11",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 53,
                "created_by": 1,
                "company_id": 2,
                "title": "Développeur Backend pour une application de gestion des stocks",
                "start_date": "2022-04-01",
                "duration": 12,
                "end_date": "2023-04-01",
                "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                "daily_rate": 750,
                "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                "technical_environment": [
                    "PHP",
                    "Laravel",
                    "MySQL",
                    "Redis"
                ],
                "status": "finished",
                "experience_range": "3-5",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            }
        ]
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/companies/{id}

PATCH api/companies/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the company. Example: 2

Body Parameters

name   string  optional  

Example: quis

phone   string  optional  

Example: ut

location   string  optional  

Example: voluptas

email   string  optional  

Must be a valid email address. Example: eswaniawski@example.net

is_active   boolean  optional  

Example: false

description   string  optional  

Example: Ut ipsa et dolor.

logo   file  optional  

Must be an image. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php4952.tmp

Delete

requires authentication

Used to delete a company

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/companies/2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/companies/2"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 2,
        "name": "Jobathome",
        "phone": "(230)12678954321",
        "email": "info@innovaitconsulting.com",
        "location": "Casablanca, Maroc",
        "description": "<p>Spécialisée dans le conseil IT et l'intégration de solutions ERP pour les entreprises de toutes tailles.</p>",
        "is_active": 1,
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-13T00:10:40.000000Z",
        "deleted_at": null,
        "logo": "",
        "statistics": {
            "total": 3,
            "canceled": 0,
            "successful": 1,
            "usingExperts": 1
        },
        "media": [],
        "missions": [
            {
                "id": 7,
                "created_by": 1,
                "company_id": 2,
                "title": "Consultant en Sécurité Informatique",
                "start_date": "2023-07-15",
                "duration": 12,
                "end_date": "2025-07-15",
                "description": "L'entreprise cherche à améliorer ses mesures de cybersécurité pour se prémunir contre les cyberattaques. Le consultant aura pour mission d'évaluer les vulnérabilités actuelles et de proposer des solutions efficaces pour renforcer les défenses de l'infrastructure IT.",
                "daily_rate": 700,
                "responsibilities": "Audit de sécurité des systèmes et réseaux, analyse des menaces, mise en place de solutions de protection, formation des équipes internes aux bonnes pratiques de sécurité.",
                "technical_environment": [
                    "Linux",
                    "Firewall",
                    "VPN",
                    "Kali Linux"
                ],
                "status": "open",
                "experience_range": "6-8",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 48,
                "created_by": 1,
                "company_id": 2,
                "title": "DevOps Engineer for Cloud Infrastructure Optimization",
                "start_date": "2023-09-01",
                "duration": 6,
                "end_date": "2024-03-01",
                "description": "Optimize the cloud infrastructure for a fast-growing SaaS application. Focus on automation, infrastructure as code, and monitoring to ensure high availability and scalability.",
                "daily_rate": 800,
                "responsibilities": "Implement Terraform for infrastructure as code, automate CI/CD pipelines using Jenkins, and deploy Kubernetes clusters on Google Cloud.",
                "technical_environment": [
                    "Google Cloud",
                    "Kubernetes",
                    "Terraform",
                    "Jenkins",
                    "Ansible"
                ],
                "status": "in progress",
                "experience_range": ">11",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            },
            {
                "id": 53,
                "created_by": 1,
                "company_id": 2,
                "title": "Développeur Backend pour une application de gestion des stocks",
                "start_date": "2022-04-01",
                "duration": 12,
                "end_date": "2023-04-01",
                "description": "Développement d’une application de gestion des stocks pour une grande entreprise. Vous avez conçu l’API backend, intégré des services tiers et optimisé les performances.",
                "daily_rate": 750,
                "responsibilities": "Conception d’API, gestion des bases de données et optimisation des performances.",
                "technical_environment": [
                    "PHP",
                    "Laravel",
                    "MySQL",
                    "Redis"
                ],
                "status": "finished",
                "experience_range": "3-5",
                "created_at": "2024-10-10T15:54:23.000000Z",
                "updated_at": "2024-10-10T15:54:23.000000Z",
                "deleted_at": null
            }
        ]
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/companies/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the company. Example: 2

Technologies management

APIs for managing Technologies

Search & List

requires authentication

Used to filter technologies or get them all

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/technologies?filters%5Btext%5D=molestias" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/technologies"
);

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

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "category": "Framework",
        "name": "Laravel",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 1,
            "category": "Framework",
            "name": "Laravel",
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null
        },
        {
            "id": 1,
            "category": "Framework",
            "name": "Laravel",
            "created_at": "2024-10-10T15:54:23.000000Z",
            "updated_at": "2024-10-10T15:54:23.000000Z",
            "deleted_at": null
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/technologies

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by name|category. Example: molestias

Store

requires authentication

Used to create a technology application

Example request:
curl --request POST \
    "http://jobathome.api.test/api/technologies" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"quam\",
    \"category\": \"doloribus\"
}"
const url = new URL(
    "http://jobathome.api.test/api/technologies"
);

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

let body = {
    "name": "quam",
    "category": "doloribus"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "category": "Framework",
        "name": "Laravel",
        "created_at": "2024-10-10T15:54:23.000000Z",
        "updated_at": "2024-10-10T15:54:23.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/technologies

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Example: quam

category   string  optional  

Example: doloribus

Expert Review

APIs for managing expert reviews

Search & List

requires authentication

Used to filter & list expert reviews

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/expert-reviews?filters%5Btext%5D=dolorem" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-reviews"
);

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

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "reviewer_id": 1,
        "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
        "rating": "5.00",
        "created_at": "2024-10-10T15:54:28.000000Z",
        "updated_at": "2024-10-10T15:54:28.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 1,
            "expert_id": 1,
            "reviewer_id": 1,
            "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
            "rating": "5.00",
            "created_at": "2024-10-10T15:54:28.000000Z",
            "updated_at": "2024-10-10T15:54:28.000000Z",
            "deleted_at": null
        },
        {
            "id": 1,
            "expert_id": 1,
            "reviewer_id": 1,
            "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
            "rating": "5.00",
            "created_at": "2024-10-10T15:54:28.000000Z",
            "updated_at": "2024-10-10T15:54:28.000000Z",
            "deleted_at": null
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/expert-reviews

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by internal notes. Example: dolorem

Create

requires authentication

Used to get info for expert reviews creation

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/expert-reviews/create" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-reviews/create"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "reviewer_id": 1,
        "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
        "rating": "5.00",
        "created_at": "2024-10-10T15:54:28.000000Z",
        "updated_at": "2024-10-10T15:54:28.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/expert-reviews/create

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Store

requires authentication

Used to create an expert review

Example request:
curl --request POST \
    "http://jobathome.api.test/api/expert-reviews" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rating\": 2.865562884,
    \"internal_notes\": \"a\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-reviews"
);

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

let body = {
    "rating": 2.865562884,
    "internal_notes": "a"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "reviewer_id": 1,
        "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
        "rating": "5.00",
        "created_at": "2024-10-10T15:54:28.000000Z",
        "updated_at": "2024-10-10T15:54:28.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/expert-reviews

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

rating   number   

Example: 2.865562884

internal_notes   string  optional  

Example: a

Show

requires authentication

Used to get details on a expertReview

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/expert-reviews/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-reviews/1"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "reviewer_id": 1,
        "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
        "rating": "5.00",
        "created_at": "2024-10-10T15:54:28.000000Z",
        "updated_at": "2024-10-10T15:54:28.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/expert-reviews/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert review. Example: 1

Update

requires authentication

Used to update a expertReview

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/expert-reviews/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"rating\": 33565960,
    \"internal_notes\": \"quibusdam\"
}"
const url = new URL(
    "http://jobathome.api.test/api/expert-reviews/1"
);

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

let body = {
    "rating": 33565960,
    "internal_notes": "quibusdam"
};

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "reviewer_id": 1,
        "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
        "rating": "5.00",
        "created_at": "2024-10-10T15:54:28.000000Z",
        "updated_at": "2024-10-10T15:54:28.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/expert-reviews/{id}

PATCH api/expert-reviews/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert review. Example: 1

Body Parameters

rating   number  optional  

Example: 33565960

internal_notes   string  optional  

Example: quibusdam

Delete

requires authentication

Used to delete a expertReview

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/expert-reviews/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/expert-reviews/1"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 1,
        "expert_id": 1,
        "reviewer_id": 1,
        "internal_notes": "Velit eos doloribus ea at quas itaque. Eaque et placeat illo. Veritatis quia repudiandae doloremque quibusdam culpa eius. Ipsum non exercitationem veniam et praesentium. Sunt occaecati ea tenetur.",
        "rating": "5.00",
        "created_at": "2024-10-10T15:54:28.000000Z",
        "updated_at": "2024-10-10T15:54:28.000000Z",
        "deleted_at": null
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/expert-reviews/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the expert review. Example: 1

GET api/email/verify/{id}/{hash}

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/email/verify/aut/eos" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/email/verify/aut/eos"
);

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
vary: Origin
 

{
    "success": false,
    "message": "Unauthenticated."
}
 

Request      

GET api/email/verify/{id}/{hash}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the verify. Example: aut

hash   string   

Example: eos

GET api/email/verify

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/email/verify" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/email/verify"
);

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
vary: Origin
 

{
    "success": false,
    "message": "Unauthenticated."
}
 

Request      

GET api/email/verify

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/email/verification-notification

Example request:
curl --request POST \
    "http://jobathome.api.test/api/email/verification-notification" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/email/verification-notification"
);

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

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

Request      

POST api/email/verification-notification

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Message Module

APIs for messages management

Message management

APIs for managing messages

Search & List

requires authentication

Used to filter & list messages

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/messages?filters%5Btext%5D=expedita" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/messages"
);

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

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (200, success):


{
    "data": [
        [],
        []
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by message content | receiver name | receiver email. Example: expedita

Store

requires authentication

Used to create a message

Example request:
curl --request POST \
    "http://jobathome.api.test/api/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/messages"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show

requires authentication

Used to get details on a message

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/messages/18" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/messages/18"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/messages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the message. Example: 18

Update

requires authentication

Used to update a message

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/messages/20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/messages/20"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/messages/{id}

PATCH api/messages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the message. Example: 20

Delete

requires authentication

Used to delete a message

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/messages/20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/messages/20"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/messages/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the message. Example: 20

Payment Module

APIs for payments management

Payment management

APIs for managing payments

Search & List

requires authentication

Used to filter & list payments

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/payments?filters%5BstartDate%5D=et&filters%5BendDate%5D=repellat" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/payments"
);

const params = {
    "filters[startDate]": "et",
    "filters[endDate]": "repellat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (200, success):


{
    "data": [
        [],
        []
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/payments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[startDate]   date  optional  

Filter by start date. Example: et

filters[endDate]   date  optional  

Filter by max date. Example: repellat

Store

requires authentication

Used to create a payment

Example request:
curl --request POST \
    "http://jobathome.api.test/api/payments" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/payments"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/payments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show

requires authentication

Used to get details on a payment

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/payments/4" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/payments/4"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/payments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the payment. Example: 4

Update

requires authentication

Used to update a payment

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/payments/12" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/payments/12"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/payments/{id}

PATCH api/payments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the payment. Example: 12

Delete

requires authentication

Used to delete a payment

Example request:
curl --request DELETE \
    "http://jobathome.api.test/api/payments/8" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/payments/8"
);

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

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

Example response (200, success):


{
    "data": [],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

DELETE api/payments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the payment. Example: 8

User Module

APIs for users management

User management

APIs for managing users

Search & List

requires authentication

Used to filter & list users

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/profiles?filters%5Btext%5D=velit&filters%5Bcountry%5D=similique&filters%5Bstatus%5D=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/profiles"
);

const params = {
    "filters[text]": "velit",
    "filters[country]": "similique",
    "filters[status]": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200, success):


{
    "data": {
        "id": 39,
        "email": "abigayle69@example.com",
        "name": "Orland",
        "phone": "+12604266377",
        "surname": "Raynor",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:30.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:30.000000Z",
        "updated_at": "2024-10-13T00:24:30.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (200, success):


{
    "data": [
        {
            "id": 40,
            "email": "marquardt.zack@example.org",
            "name": "Alycia",
            "phone": "+1-458-549-9319",
            "surname": "Douglas",
            "date_of_birth": null,
            "status": 1,
            "email_verified_at": "2024-10-13T00:24:30.000000Z",
            "gender": "other",
            "created_at": "2024-10-13T00:24:30.000000Z",
            "updated_at": "2024-10-13T00:24:30.000000Z",
            "deleted_at": null,
            "profile_image": "",
            "media": []
        },
        {
            "id": 41,
            "email": "chelsea.emmerich@example.com",
            "name": "Aurelie",
            "phone": "+14793538120",
            "surname": "Kuhic",
            "date_of_birth": null,
            "status": 1,
            "email_verified_at": "2024-10-13T00:24:30.000000Z",
            "gender": "other",
            "created_at": "2024-10-13T00:24:30.000000Z",
            "updated_at": "2024-10-13T00:24:30.000000Z",
            "deleted_at": null,
            "profile_image": "",
            "media": []
        }
    ],
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/profiles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filters[text]   string  optional  

Filter by name|surname|email. Example: velit

filters[country]   string  optional  

Filter by user country Example: similique

filters[status]   boolean  optional  

Filter by status. Example: true

Store

requires authentication

Used to create a user

Example request:
curl --request POST \
    "http://jobathome.api.test/api/profiles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "email=bernard11@example.net"\
    --form "name=consequatur"\
    --form "phone=temporibus"\
    --form "surname=blanditiis"\
    --form "date_of_birth=2024-10-13T00:24:30"\
    --form "gender=female"\
    --form "image=@C:\Users\Steve Tenadjang\AppData\Local\Temp\php4982.tmp" 
const url = new URL(
    "http://jobathome.api.test/api/profiles"
);

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

const body = new FormData();
body.append('email', 'bernard11@example.net');
body.append('name', 'consequatur');
body.append('phone', 'temporibus');
body.append('surname', 'blanditiis');
body.append('date_of_birth', '2024-10-13T00:24:30');
body.append('gender', 'female');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200, success):


{
    "data": {
        "id": 42,
        "email": "alford56@example.org",
        "name": "Rigoberto",
        "phone": "346.921.0555",
        "surname": "Schuppe",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:30.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:30.000000Z",
        "updated_at": "2024-10-13T00:24:30.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

POST api/profiles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Example: bernard11@example.net

name   string   

Example: consequatur

phone   string  optional  

Example: temporibus

surname   string   

Example: blanditiis

date_of_birth   string  optional  

Must be a valid date. Example: 2024-10-13T00:24:30

gender   string  optional  

Example: female

Must be one of:
  • male
  • female
  • other
image   file  optional  

Must be an image. Example: C:\Users\Steve Tenadjang\AppData\Local\Temp\php4982.tmp

Show

requires authentication

Used to get details on a user

Example request:
curl --request GET \
    --get "http://jobathome.api.test/api/profiles/occaecati" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/profiles/occaecati"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 43,
        "email": "jayme85@example.org",
        "name": "Camron",
        "phone": "(810) 522-7625",
        "surname": "Spencer",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:30.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:30.000000Z",
        "updated_at": "2024-10-13T00:24:30.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

GET api/profiles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the profile. Example: occaecati

Update

requires authentication

Used to update a user

Example request:
curl --request PUT \
    "http://jobathome.api.test/api/profiles/maxime" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://jobathome.api.test/api/profiles/maxime"
);

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

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

Example response (200, success):


{
    "data": {
        "id": 44,
        "email": "iliana.mcglynn@example.org",
        "name": "Jordi",
        "phone": "720.329.9860",
        "surname": "Bailey",
        "date_of_birth": null,
        "status": 1,
        "email_verified_at": "2024-10-13T00:24:30.000000Z",
        "gender": "other",
        "created_at": "2024-10-13T00:24:30.000000Z",
        "updated_at": "2024-10-13T00:24:30.000000Z",
        "deleted_at": null,
        "profile_image": "",
        "media": []
    },
    "success": true
}
 

Example response (400, Bad request):


{
    "success": false,
    "message": "Bad request"
}
 

Example response (404, Bad request):


{
    "success": false,
    "message": "Not found"
}
 

Example response (500, An Error occurred):


{
    "success": false,
    "message": "An Error occurred"
}
 

Request      

PUT api/profiles/{id}

PATCH api/profiles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   string   

The ID of the profile. Example: maxime