MENU navbar-image

Introduction

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.

! Undocumented Endpoints

DELETE api/v1/user/delete

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/delete"
);

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

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

Request      

DELETE api/v1/user/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/v1/push-notification/send

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/push-notification/send"
);

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

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

Request      

POST api/v1/push-notification/send

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Auth

This group holds the login/registration related endpoints

Login

The login endpoint

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/login"
);

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

let body = {
    "email": "zdoyle@example.com",
    "password": "aefWg>",
    "device_name": "rjjohbyupvlcwqmanlrczuconkodtvztninjruepfkhkbdpzqeilcbbhydqxycnwdx",
    "device_token": "wjhdjahcdifclhtobxxwfoxfmnumqmdqkfzngyiaulntn"
};

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

Example response (200, The user was logged and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Example response (422, Invalid login credentials.):


{
    "message": "The email has already been taken. (and 1 more error)",
    "errors": {
        "email": [
            "The email has already been taken."
        ],
        "password": [
            "The password field is required."
        ]
    }
}
 

Request      

POST api/v1/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Must not be greater than 255 characters. Example: zdoyle@example.com

password   string   

Must not be greater than 255 characters. Must be at least 6 characters. Example: aefWg>

device_name   string  optional  

Must not be greater than 255 characters. Must be at least 3 characters. Example: rjjohbyupvlcwqmanlrczuconkodtvztninjruepfkhkbdpzqeilcbbhydqxycnwdx

device_token   string  optional  

Must not be greater than 255 characters. Must be at least 6 characters. Example: wjhdjahcdifclhtobxxwfoxfmnumqmdqkfzngyiaulntn

Logout

The Logout endpoint

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/logout"
);

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

let body = {
    "device_token": "tjjpcwfegbeauqyqnektkizjbcvmtihjznchfucqmylinmboeugmdbpbmcguwuh"
};

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

Example response (200, The user was logout and a response message success):


{
    "message": "Logout success"
}
 

Example response (422, Invalid login credentials.):


{
    "message": "The email has already been taken. (and 1 more error)",
    "errors": {
        "email": [
            "The email has already been taken."
        ],
        "password": [
            "The password field is required."
        ]
    }
}
 

Request      

POST api/v1/auth/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

device_token   string  optional  

Must be at least 3 characters. Example: tjjpcwfegbeauqyqnektkizjbcvmtihjznchfucqmylinmboeugmdbpbmcguwuh

Registration

The registration endpoint

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/register"
);

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

let body = {
    "email": "alvena.stokes@example.org",
    "password": "7|2\/!%p@7Az9xu@w_E(",
    "device_name": "ioxdpwsweoxjlqfebtjicplghyuizdniormpfjhxhxlacrnieqnzawibmebxgcgwqwgrqpvg",
    "device_token": "mzngogydfpb"
};

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

Example response (200, The user was created and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Example response (422, Invalid registration data.):


{
    "message": "The email has already been taken. (and 1 more error)",
    "errors": {
        "email": [
            "The email has already been taken."
        ],
        "password": [
            "The password field is required."
        ]
    }
}
 

Request      

POST api/v1/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Must not be greater than 255 characters. Example: alvena.stokes@example.org

password   string   

Must not be greater than 255 characters. Must be at least 6 characters. Example: 7|2/!%p@7Az9xu@w_E(

device_name   string  optional  

Must not be greater than 255 characters. Must be at least 3 characters. Example: ioxdpwsweoxjlqfebtjicplghyuizdniormpfjhxhxlacrnieqnzawibmebxgcgwqwgrqpvg

device_token   string  optional  

Must not be greater than 255 characters. Must be at least 6 characters. Example: mzngogydfpb

Refresh token

Refresh token fill the Auth Bearer with your refresh token

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/refresh-token"
);

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

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

Example response (200, The user was logged and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Request      

POST api/v1/auth/refresh-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Google Auth

Google Auth Endpoint

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/google"
);

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

let body = {
    "id_token": "lfediyiignlujjsnpdbgtvigzotpbkyyodsarsahgzsbbgibnmuurhhlcvxsnnuebmsgwuuelpdqagt",
    "device_name": "kwwpntxbhxlpmllghvygxuwvjkhrhwgpsqlmlzsiljrkxeqhdnooihqelrbmkoa",
    "device_token": "rtupirqtibqfgjjjguhvyqqhtopczn"
};

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

Example response (200, The user was logged and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Example response (422, Invalid Credentials):


{
    "message": "Invalid Credentials"
}
 

Request      

GET api/v1/auth/google

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id_token   string   

Must be at least 3 characters. Example: lfediyiignlujjsnpdbgtvigzotpbkyyodsarsahgzsbbgibnmuurhhlcvxsnnuebmsgwuuelpdqagt

device_name   string  optional  

Must not be greater than 255 characters. Must be at least 3 characters. Example: kwwpntxbhxlpmllghvygxuwvjkhrhwgpsqlmlzsiljrkxeqhdnooihqelrbmkoa

device_token   string  optional  

Must not be greater than 255 characters. Must be at least 6 characters. Example: rtupirqtibqfgjjjguhvyqqhtopczn

Facebook Auth

Facebook Auth Endpoint

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/facebook"
);

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

let body = {
    "id_token": "gcqmnkasxcorswygydlsnjjxamkkeovgxmfvtxthelhwfj",
    "device_name": "bnrjlbdsutvyagmhcyvxoswfszmdcaxtxvlrodfhiyqimmzlbcxhildntffccjxhvgpujcstlphafjkon",
    "device_token": "gkjuezxttrfallwwnncpiiegwbalksct"
};

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

Example response (200, The user was logged and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Example response (422, Invalid Credentials):


{
    "message": "Invalid Credentials"
}
 

Request      

GET api/v1/auth/facebook

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id_token   string   

Must be at least 3 characters. Example: gcqmnkasxcorswygydlsnjjxamkkeovgxmfvtxthelhwfj

device_name   string  optional  

Must not be greater than 255 characters. Must be at least 3 characters. Example: bnrjlbdsutvyagmhcyvxoswfszmdcaxtxvlrodfhiyqimmzlbcxhildntffccjxhvgpujcstlphafjkon

device_token   string  optional  

Must not be greater than 255 characters. Must be at least 6 characters. Example: gkjuezxttrfallwwnncpiiegwbalksct

Apple Auth

Apple Auth Endpoint

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/apple"
);

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

let body = {
    "id_token": "jqfkzaioafqgktmqzzkeceuqtpmpnlu",
    "device_name": "fwufkwmdorfyxpegtnzfvkolxxqbaqlkkzxxijltlvytzmlkaesq",
    "device_token": "bhdwyyxkeuhmoakluqceo"
};

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

Example response (200, The user was logged and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Example response (422, Invalid Credentials):


{
    "message": "Invalid Credentials"
}
 

Request      

GET api/v1/auth/apple

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id_token   string   

Must be at least 3 characters. Example: jqfkzaioafqgktmqzzkeceuqtpmpnlu

device_name   string  optional  

Must not be greater than 255 characters. Must be at least 3 characters. Example: fwufkwmdorfyxpegtnzfvkolxxqbaqlkkzxxijltlvytzmlkaesq

device_token   string  optional  

Must not be greater than 255 characters. Must be at least 6 characters. Example: bhdwyyxkeuhmoakluqceo

City

This group holds the cities related endpoints

List

Get cities list

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/cities"
);

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

let body = {
    "filter": {
        "name": "est",
        "user": {
            "lat": 11,
            "lng": 1
        }
    },
    "per_page": 3
};

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

Example response (200, The cities data):


{
    "data": [
        {
            "id": 69422,
            "name": "New York",
            "country": {
                "id": 147,
                "name": "United States",
                "phone_code": null,
                "sort_name": "US",
                "cca3": "USA"
            }
        },
        {
            "id": 69423,
            "name": "New York Mills",
            "country": {
                "id": 147,
                "name": "United States",
                "phone_code": null,
                "sort_name": "US",
                "cca3": "USA"
            }
        },
        {
            "id": 74067,
            "name": "West New York",
            "country": {
                "id": 147,
                "name": "United States",
                "phone_code": null,
                "sort_name": "US",
                "cca3": "USA"
            }
        }
    ],
    "links": {
        "first": "http://127.0.0.1:7001/api/v1/cities?page=1",
        "last": "http://127.0.0.1:7001/api/v1/cities?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://127.0.0.1:7001/api/v1/cities?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://127.0.0.1:7001/api/v1/cities",
        "per_page": 15,
        "to": 3,
        "total": 3
    }
}
 

Request      

GET api/v1/cities

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

filter   object  optional  
name   string  optional  

Example: est

user   object  optional  
lat   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 11

lng   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 1

per_page   integer  optional  

Example: 3

Company

This group holds the companies related endpoints

Item

requires authentication

Get company data

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies/target"
);

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, The company data):


{}
 

Request      

GET api/v1/companies/{company_slug}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

company_slug   string   

The slug of the company. Example: target

Collection

requires authentication

Get own companies list

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies"
);

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, The company data):


{}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/companies

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Store

requires authentication

Create company data

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies"
);

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

let body = {
    "name": "jschandsitaty",
    "description": "omnis",
    "description_plain": "consequatur",
    "is_agency": true,
    "founded": 23,
    "email": "kyleigh96@example.org",
    "phone_number": "illum",
    "company_size": 18,
    "city_id": 18,
    "address": "jqlrgpnswovcvxym",
    "video_url": "https:\/\/www.luettgen.org\/quaerat-delectus-praesentium-sed-quas-sint-error-reprehenderit",
    "industries": [
        11
    ]
};

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

Example response (200, The company data):


{}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

POST api/v1/companies

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must be at least 2 characters. Must not be greater than 255 characters. Example: jschandsitaty

description   string   

Example: omnis

description_plain   string   

Example: consequatur

is_agency   boolean   

Example: true

founded   integer   

Must be at least 1900. Must not be greater than 2024. Example: 23

email   string   

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

phone_number   string   

Example: illum

company_size   integer   

Must be at least 1. Example: 18

city_id   integer   

Example: 18

address   string   

Must be at least 5 characters. Must not be greater than 255 characters. Example: jqlrgpnswovcvxym

video_url   string   

Must be at least 5 characters. Example: https://www.luettgen.org/quaerat-delectus-praesentium-sed-quas-sint-error-reprehenderit

industries   integer[]  optional  

Update

requires authentication

Update company data

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies/target"
);

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

let body = {
    "name": "zrorgzqwqowg",
    "description": "veritatis",
    "description_plain": "eum",
    "is_agency": false,
    "founded": 11,
    "email": "allie13@example.net",
    "phone_number": "numquam",
    "company_size": 21,
    "city_id": 15,
    "address": "chsphsgeshvgilumxf",
    "video_url": "http:\/\/www.beahan.com\/consectetur-autem-veniam-sapiente-provident",
    "industries": [
        19
    ]
};

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

Example response (200, The company data):


{}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

PATCH api/v1/companies/{company_slug}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

company_slug   string   

The slug of the company. Example: target

Body Parameters

name   string   

Must be at least 2 characters. Must not be greater than 255 characters. Example: zrorgzqwqowg

description   string   

Example: veritatis

description_plain   string   

Example: eum

is_agency   boolean   

Example: false

founded   integer   

Must be at least 1900. Must not be greater than 2024. Example: 11

email   string   

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

phone_number   string   

Example: numquam

company_size   integer   

Must be at least 1. Example: 21

city_id   integer   

Example: 15

address   string   

Must be at least 5 characters. Must not be greater than 255 characters. Example: chsphsgeshvgilumxf

video_url   string   

Must be at least 5 characters. Example: http://www.beahan.com/consectetur-autem-veniam-sapiente-provident

industries   integer[]  optional  

Company Invitation

This group holds the company related endpoints

Send company invitation

requires authentication

Send company invitation

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies/target/invite"
);

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

let body = {
    "user": 8,
    "role": 17
};

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

Example response (200, The user already have been invited to this company):


{
    "success": "Already have been invited to this company"
}
 

Example response (202, Invitation to company was sent to user):


{
    "success": "Invitation to company was sent"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

POST api/v1/companies/{company_slug}/invite

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

company_slug   string   

The slug of the company. Example: target

Body Parameters

user   integer   

Example: 8

role   integer   

Example: 17

Accept company invitation

requires authentication

Accept company invitation

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies/target/accept"
);

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

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

Example response (200, The user accepted company invitation):


{
    "success": "Accepted company invitation"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

PATCH api/v1/companies/{company_slug}/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

company_slug   string   

The slug of the company. Example: target

Decline company invitation

requires authentication

Accept company invitation

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/companies/target/decline"
);

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

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

Example response (200, The user declined company invitation):


{
    "success": "Declined company invitation"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

PATCH api/v1/companies/{company_slug}/decline

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

company_slug   string   

The slug of the company. Example: target

Employment types

This group holds the employment types related endpoints

Collection

requires authentication

List employment types

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/employment-types"
);

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, The employment types data):


{
    "data": [
        {
            "id": 1,
            "name": "Full-time"
        },
        {
            "id": 2,
            "name": "Part-time"
        },
        {
            "id": 3,
            "name": "Contract"
        },
        {
            "id": 4,
            "name": "Hourly"
        },
        {
            "id": 5,
            "name": "Temporary"
        },
        {
            "id": 6,
            "name": "Internship"
        },
        {
            "id": 7,
            "name": "SecondJob"
        },
        {
            "id": 8,
            "name": "Per project"
        }
    ]
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/employment-types

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Favorite

This group holds the favorite related endpoints

Collection

requires authentication

List favorites

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/favorites"
);

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 favorite):


{
    "data": [
        {
            "id": 8303,
            "company": {
                "id": 1,
                "name": "Target"
            },
            "slug": "store-director-store-manager-sturgeon-bay-wi-at-target",
            "title": "Store Director (Store Manager)- Sturgeon Bay, WI at TARGET",
            "description_plain": "The pay range is $100,000.00 - $200,000.00Pay is based on several factors which vary based on position. These include labor markets and in some instances may include education, work experience and certifications. In addition to your pay, Target cares about and invests in you as a team member, so that you can take care of yourself and your family. Target offers eligible team members and their dependents comprehensive health benefits and programs, which may include medical, vision, dental, life insurance and more, to help you and your family take care of your whole selves. Other benefits for eligible team members include 401(k), employee discount, short term disability, long term disability, paid sick leave, paid national holidays, and paid vacation. Find competitive benefits from financial and education to well-being and beyond at https://corporate.target.com/careers/benefits.ALL ABOUT TARGETAs a Fortune 50 company with more than 400,000 team members worldwide, Target is an iconic brand and one of America's leading retailers.Working at Target means the opportunity to help all families discover the joy of everyday life. Caring for our communities is woven into who we are, and we invest in the places we collectively live, work and play. We prioritize relationships, fuel and develop talent by creating growth opportunities, and succeed as one Target team. At our core, our purpose is ingrained in who we are, what we value, and how we work. It's how we care, grow, and win together.ALL ABOUT STORE LEADERSHIPYou run a profitable growth business that has one purpose: to help all families discover the joy of everyday life. You lead a sales force of experts, advocates and consultants that discover guests’ needs and offer solutions to earn their loyalty.You lead teams that are passionate about making sure guests get what they came for (plus a little more) every time they shop at their store. You develop leaders who care about their team members, and team members who care about their guests and each other.At Target, we believe in our leaders having meaningful experiences that help them build and develop skills for a career. The role of a Store Director can provide you with the:Knowledge of guest service fundamentals and experience building and managing a guest first culture across the storeSkills in retail business financials (e.g. payroll, profit and loss) and driving sales growthExperience creating store specific strategies and managing your team to deliver resultsKnowledge of retail business fundamentals for total store: sales trends, inventory management, guest shopping patterns and satisfaction, pricing and promotions strategies and specialty businessesSkills in setting and planning total store quarterly business priorities and managing a team to deliver on sales goalsMake business decisions by assessing market competition, understanding guest insights and feedbackExperience managing a large team of hourly team members and leaders as well as leaders of leadersSkills in recruiting, selecting, talent management and talent planning across all departments of the storeAs a Store Director, no two days are ever the same, but a typical day will most likely include the following responsibilities:Own your store’s overall business to drive efficiency and grow salesLead and create a service culture utilizing tools and routines that model, train, and coach behavioral expectations to deliver the service standardDemonstrate a commitment to diversity, equity, and inclusion through continuous development, modeling inclusive behaviors, and proactively managing biasIn partnership with HR, support the leadership team in ensuring equitable experiences, strengthening inclusion acumen, and promoting a culture of inclusivity and belonging that embraces the contributions of all team membersLeverage your reports (financial, operational, safety, food safety, team and guest) to understand the business and make decisionsUnderstand sales trends and lead your team to drive sales growth in core businesses (Style, Beauty, Electronics, Food & Beverage, Fulfillment) by leaning into key seasons, events and weekendsKnow and assess the competition; leverage guest insights and feedback to drive the business and be the destination of choice for our guestsLead an efficient operation to fund the sales cultureAs a key carrier, follow all safe and secure training and processesAddress store needs (emergency, regulatory visits, etc.)Always demonstrate a culture of ethical conduct, safety (including food safety) and compliance; Lead and hold the team accountable to work in the same wayCultivate a guest-centric and engaged teamDevelop a team and culture that is committed to guest loyalty and shares services and rewards like REDcard, Target Circle, Pick-up, Wallet and Shipt to improve convenience and frequencyLead a confident and knowledgeable sales force that delivers a differentiated experience, prioritizes the guest over task and delivers a welcoming, inspiring, rewarding and easy experienceRecruit, hire and retain a passionate team for area specific knowledge and expertiseInvest in training to enhance skills and capabilitiesEvaluate and manage individual impact through a total store contributionCreate sustainable talent strategies to fuel continued team growthOwn and implement exempt and hourly schedules that align to guest and business needs (including weekends, mornings, evenings, overnight and appropriate seasonal adjustments)WHAT WE ARE LOOKING FORWe might be a great match if:Working in a fun and energetic environment makes you excited…. We work efficiently and as a team to take care of our guestsProviding service to our guests that makes them say I LOVE TARGET! excites you…. That’s why we love working at TargetLeading teams who are stocking, setting and selling Target products sounds like your thing… That’s the core of what we doYou aren’t looking for Monday thru Friday job where you are at a computer all day… We are busy all day (especially on the weekends), making it easy for the guest to feel welcomed, inspired and rewardedThe good news is that we have some amazing training that will help teach you everything you need to know to be a Store Director. But there are a few skills you should have from the get-go:4-year degree or equivalent experienceStrong interpersonal and communication skillsStrong cognitive skills, including problem analysis, decision making, financial and quantitative analysisManage conflict and lead and hold others accountableRelate well with and interact with all levels of the organizationWelcoming and helpful attitudeManage workload and prioritize tasks independentlyWe are an awesome place to work and care about our teams, so we want to make sure we are clear on a few more basics that we expect:Access all areas of the building to respond to guest or team member issuesInterpret instructions, reports and informationAccurately handle cash register operationsClimb up and down laddersScan, handle and move merchandise efficiently and safely, including frequently lifting or moving merchandise up to 40 poundsFlexible work schedule (e.g., nights, weekends and holidays) and regular attendance necessaryAmericans with Disabilities Act (ADA)Target will provide reasonable accommodations with the application process upon your request as required to comply with applicable laws. If you have a disability and require assistance in this application process, please visit your nearest Target store or Supply Chain Facility or reach out to Guest Services at 1-800-440-0680 for additional information.",
            "marker": {
                "address": "410 S Ashland Ave, Sturgeon Bay, WI 54235, USA",
                "lat": 44.824,
                "lng": -87.403
            },
            "employment_type": null,
            "salary_from": "100000.00",
            "salary_to": "200000.00"
        }
    ]
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/favorites

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Store

requires authentication

Add job into favorites

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/favorites/1"
);

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 added in favorites):


{
    "message": "Success added in favorites"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, This job is already in your favorite list):


{
    "message": "This job is already in your favorite list"
}
 

Request      

POST api/v1/favorites/{job_id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

job_id   integer   

The ID of the job. Example: 1

Remove

requires authentication

Remove from favorites

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/favorites/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, Deleted form favorite):


{
    "message": "Success removed from favorites"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not found job as favorite):


{
    "message": "This job is not in your favorite list"
}
 

Request      

DELETE api/v1/favorites/{job_id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

job_id   integer   

The ID of the job. Example: 1

Industries

This group holds the industries related endpoints

Collection

requires authentication

List industries

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/industries"
);

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, The industries data):


{
    "data": [
        {
            "id": 1,
            "name": "Accounting"
        },
        {
            "id": 2,
            "name": "Advertising"
        },
        {
            "id": 3,
            "name": "Aerospace"
        },
        {
            "id": 4,
            "name": "Agriculture"
        },
        {
            "id": 5,
            "name": "Architecture"
        },
        {
            "id": 6,
            "name": "Automotive"
        },
        {
            "id": 7,
            "name": "Banking"
        },
        {
            "id": 8,
            "name": "Biotechnology"
        },
        {
            "id": 9,
            "name": "Chemicals"
        },
        {
            "id": 10,
            "name": "Construction"
        },
        {
            "id": 11,
            "name": "Consulting"
        },
        {
            "id": 12,
            "name": "Customer Service"
        },
        {
            "id": 13,
            "name": "Education"
        },
        {
            "id": 14,
            "name": "Engineering"
        },
        {
            "id": 15,
            "name": "Entertainment"
        },
        {
            "id": 16,
            "name": "Environmental"
        },
        {
            "id": 17,
            "name": "Finance"
        },
        {
            "id": 18,
            "name": "Food and Beverage"
        },
        {
            "id": 19,
            "name": "Government"
        },
        {
            "id": 20,
            "name": "Healthcare"
        },
        {
            "id": 21,
            "name": "Hospitality"
        },
        {
            "id": 22,
            "name": "Human Resources"
        },
        {
            "id": 23,
            "name": "Information Technology (IT)"
        },
        {
            "id": 24,
            "name": "Insurance"
        },
        {
            "id": 25,
            "name": "Legal"
        },
        {
            "id": 26,
            "name": "Manufacturing"
        },
        {
            "id": 27,
            "name": "Marketing"
        },
        {
            "id": 28,
            "name": "Media"
        },
        {
            "id": 29,
            "name": "Non-profit/Volunteering"
        },
        {
            "id": 30,
            "name": "Pharmaceuticals"
        },
        {
            "id": 31,
            "name": "Real Estate"
        },
        {
            "id": 32,
            "name": "Retail"
        },
        {
            "id": 33,
            "name": "Sales"
        },
        {
            "id": 34,
            "name": "Science"
        },
        {
            "id": 35,
            "name": "Social Media"
        },
        {
            "id": 36,
            "name": "Sports"
        },
        {
            "id": 37,
            "name": "Telecommunications"
        },
        {
            "id": 38,
            "name": "Transportation"
        },
        {
            "id": 39,
            "name": "Travel and Tourism"
        },
        {
            "id": 40,
            "name": "Others"
        }
    ]
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/industries

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Job

This group holds the job related endpoints

Apply

requires authentication

Apply to job

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/jobs/1/apply"
);

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

let body = {
    "companies": [
        13
    ]
};

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

Example response (200, Success message on apply):


{
    "message": "Your contacts have been sent successfully"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

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

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

job_id   integer   

The ID of the job. Example: 1

Body Parameters

companies   integer[]  optional  

Application

requires authentication

Job Application, list of users which apply to this job

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/jobs/1/applications"
);

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, Job Application data):


{
    "id": 1,
    "title": "Java developer",
    "description": "Description of job",
    "applications": {
        "id": "id",
        "status": "pending",
        "user": {
            "id": 1,
            "first_name": "Johnny",
            "last_name": "MaClarin"
        }
    }
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/jobs/{job_id}/applications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

job_id   integer   

The ID of the job. Example: 1

Collection

Jobs collection

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/jobs"
);

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

let body = {
    "per_page": 15,
    "page": 7,
    "filter": {
        "text": "iure",
        "only_favorites": false,
        "near_me": false,
        "salary": {
            "from": 1417.403371795,
            "to": 2237936.67734524
        },
        "bounds": {
            "lat1": 12,
            "lat2": 20,
            "lng1": 15,
            "lng2": 6
        }
    }
};

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

Example response (200, Get jobs list with pagination):


{
    "data": [
        {
            "id": 8306,
            "company": {
                "id": 1,
                "name": "Target",
                "logo": "https://corporate.aldi.us/fileadmin/_processed_/7/6/csm_aldi_logo_2017_cbae513198.jpg"
            },
            "slug": "hourly-warehouse-operations-seasonal-and-permanent-openings-1000-sign-on-bonus-t0590-at-target",
            "title": "tests22",
            "marker": {
                "address": "2200 Viking Rd, Cedar Falls, IA 50613, USA",
                "lat": 42.482,
                "lng": -92.471
            },
            "employment_type": null,
            "salary_per_hour": "21.00",
            "salary_from": "21.00",
            "salary_to": "24.00",
            "has_favorited": false
        },
        {
            "id": 8305,
            "company": {
                "id": 1,
                "name": "Target",
                "logo": "https://corporate.aldi.us/fileadmin/_processed_/7/6/csm_aldi_logo_2017_cbae513198.jpg"
            },
            "slug": "executive-team-leader-specialty-sales-assistant-manager-merchandising-service-vallejo-ca-at-target",
            "title": "Executive Team Leader Specialty Sales (Assistant Manager Merchandising & Service)- Vallejo, CA at TARGET",
            "marker": {
                "address": "904 Admiral Callaghan Ln, Vallejo, CA 94591, USA",
                "lat": 38.132,
                "lng": -122.223
            },
            "employment_type": null,
            "salary_per_hour": "28.85",
            "salary_from": "60000.00",
            "salary_to": "120000.00",
            "has_favorited": false
        },
        {
            "id": 8304,
            "company": {
                "id": 1,
                "name": "Target",
                "logo": "https://corporate.aldi.us/fileadmin/_processed_/7/6/csm_aldi_logo_2017_cbae513198.jpg"
            },
            "slug": "executive-team-leader-service-engagement-assistant-manager-front-end-fairfield-ca-at-target",
            "title": "Executive Team Leader Service & Engagement (Assistant Manager Front End)- Fairfield, CA at TARGET",
            "marker": {
                "address": "Target, 2059 Cadenasso Dr, Fairfield, CA 94533, USA",
                "lat": 38.247,
                "lng": -122.069
            },
            "employment_type": null,
            "salary_per_hour": "28.85",
            "salary_from": "60000.00",
            "salary_to": "120000.00",
            "has_favorited": false
        },
        {
            "id": 8303,
            "company": {
                "id": 1,
                "name": "Target",
                "logo": "https://corporate.aldi.us/fileadmin/_processed_/7/6/csm_aldi_logo_2017_cbae513198.jpg"
            },
            "slug": "store-director-store-manager-sturgeon-bay-wi-at-target",
            "title": "Store Director (Store Manager)- Sturgeon Bay, WI at TARGET",
            "marker": {
                "address": "410 S Ashland Ave, Sturgeon Bay, WI 54235, USA",
                "lat": 44.824,
                "lng": -87.403
            },
            "employment_type": null,
            "salary_per_hour": "48.08",
            "salary_from": "100000.00",
            "salary_to": "200000.00",
            "has_favorited": false
        }
    ],
    "links": {
        "first": "http://localhost:7001/api/v1/jobs?page=1",
        "last": "http://localhost:7001/api/v1/jobs?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://localhost:7001/api/v1/jobs?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://localhost:7001/api/v1/jobs",
        "per_page": 10,
        "to": 4,
        "total": 4
    }
}
 

Request      

GET api/v1/jobs

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

per_page   integer  optional  

Example: 15

page   integer  optional  

Example: 7

filter   object  optional  
text   string  optional  

Example: iure

only_favorites   boolean  optional  

Example: false

city_id   string  optional  
industries   string  optional  
employment_type   string  optional  
near_me   boolean  optional  

Example: false

salary   object  optional  
from   number  optional  

Example: 1417.403371795

to   number  optional  

Example: 2237936.6773452

bounds   object  optional  
lat1   number  optional  

Must be at least -90.000000. Must not be greater than 90.000000. Example: 12

lat2   number  optional  

Must be at least -90.000000. Must not be greater than 90.000000. Example: 20

lng1   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 15

lng2   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 6

Item

Job data

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/jobs/1"
);

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

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

Example response (200, Get jobs list with pagination):


{
    "data": {
        "id": 8310,
        "slug": "guest-advocate-cashier-general-merchandise-inbound-stocking-t3321-at-target",
        "title": "Guest Advocate (Cashier), General Merchandise, Inbound (Stocking) (T3321) at TARGET",
        "description": "<div>Starting Hourly Rate / Salario por Hora Inicial: $18.25 USD per hour<p></p><p></p><p><b>ALL ABOUT TARGET</b></p><p>As a Fortune 50 company with more than 400,000 team members worldwide, Target is an iconic brand and one of America’s leading retailers.</p><p></p><p>Working at Target means the opportunity to help all families discover the joy of everyday life. Caring for our communities is woven into who we are, and we invest in the places we collectively live, work and play. We prioritize relationships, fuel and develop talent by creating growth opportunities, and succeed as one Target team. At our core, our purpose is ingrained in who we are, what we value, and how we work. It’s how we care, grow, and win together.</p><p></p><p>You delight our guests in all areas of the store ensuring each guest has an enjoyable experience in our smallest format stores.</p><p></p><p><b>ALL ABOUT SMALL FORMATS</b></p><p>We enable a consistent experience for our guests by ensuring product is in stock, available, accurately priced and signed on the sales floor in our smallest format stores. Experts of service, operations, process and efficiency, this team is responsible for being proficient in all areas of the store to complete duties such as, but not limited to, cashiering, stocking, presentation and price accuracy. You’ll provide exceptional guest service, customizing each experience and anticipating guest needs.</p><p></p><p><b>At Target, we believe in our team members having meaningful experiences that help them build and develop skills for a career. The role of a Small Format Team Member can provide you with the:</b></p><ul><li>Knowledge of guest service fundamentals and experience building a guest first culture across the store</li><li>Experience in retail business fundamentals including: department sales trends, pricing and promotion strategies, inventory management, and process efficiency &amp; improvement</li><li>Experience supporting daily/weekly workload to support business priorities and deliver on sales goals</li></ul><p></p><p><b>As a Small Format Team Member, no two </b><b>days are ever the same, but a typical day will most likely include the following responsibilities:</b></p><ul><li>Create a welcoming experience by authentically greeting all guests</li><li>Observe to quickly understand whether a guest needs assistance or wants to interact. Follow body language and verbal cues to tailor your approach.</li><li>Engage with guests in a genuine way, which includes asking questions to better understand their specific needs.</li><li>Be knowledgeable about the tools, products, and services available in the total store, and specific to your area, to solve issues for the guest and improve their experience.</li><li>Thank the guest in a genuine way and let them know we’re happy they chose to shop at Target.</li><li>Help guests as you complete workload with minimal guest disruption</li><li>Work in all departments to ensure sales floor is full, zoned and in stock for guests</li><li>Push and stock product to sales floor</li><li>Execute adjacency changes, transitions, revisions and sales plans for all departments</li><li>Conduct weekly price change workload and ensure regular and promotional signing is set accurately for all departments</li><li>Complete scans and system audit functions to ensure inventory accuracy</li><li>Support execution of major transitions and ISM</li><li><span>Maintain interior and exterior brand, including emptying garbage cans and attending to restroom cleanliness, collecting carts, charging electronic carts, RVM maintenance (if applicable) and attending to spills throughout the store as needed.</span></li><li>Accurately execute all pulls (i.e., daily Fills, out of stock, manual and guest requests) and backstock product from all departments</li><li>Process all inbound deliveries (using the receive application) to ensure inventory accuracy</li><li>Complete all backroom daily and weekly audits</li><li>Operate power equipment only if certified</li><li>Maintain backroom organization and location accuracy and follow equipment guidelines</li><li>Follow processes accurately with attention to detail, monitor own progress and accurately prioritize tasks</li><li>Demonstrate a culture of ethical conduct, safety and compliance</li><li>Work in a safe manner at all times to benefit yourself and others; identify and correct hazards; comply with all safety policies and best practices.</li><li>Support guest services such as back-up cashier, order pick up (OPU) and Drive-up (DU) and maintain a compliance culture while executing those duties, such as compliance with federal, state, and local adult beverage laws</li><li>All other duties based on business needs</li></ul><p></p><p>WHAT WE ARE LOOKING FOR</p><p><b>We might be a great match if:</b></p><ul><li>Working in a fun and energetic environment makes you excited…. We work efficiently and as a team to deliver for our guests</li><li>Providing service to our guests that makes them say I LOVE TARGET! excites you…. That’s why we love working at Target</li><li>Stocking, Setting and Selling Target products sounds like your thing… That’s the core of what we do</li><li>You aren’t looking for Monday thru Friday job where you are at a computer all day… We are busy all day (especially on the weekends), making it easy for the guest to feel welcomed, inspired and rewarded</li></ul><p></p><p><b>The good news is that we have some amazing training that will help teach you everything you need to </b><b>know to be a Small Format Team Member. But,there are a few skills you should have from the get-go:</b></p><ul><li>Welcoming and helpful attitude toward guests and other team members</li><li>Learn and adapt to current technology needs</li><li>Work both independently and with a team</li><li>Resolve guest questions quickly on the spot</li><li>Attention to detail and follow a multi-step process</li></ul><p></p><p><b>We are an awesome place to work and care about our teams, so we want to make sure we are clear on a few more basics that we expect:</b></p><ul><li>Accurately handle cash register operations</li><li>Climb up and down ladders</li><li>Scan, handle and move merchandise efficiently and safely, including frequently lifting or moving merchandise up to 40 pounds</li><li>Flexible work schedule (e.g., nights, weekends and holidays) and regular attendance necessary.</li></ul><p></p><p></p><p><b>Americans with Disabilities Act (ADA)</b></p><p></p><p>Target will provide reasonable accommodations with the application process upon your request as required to comply with applicable laws. If you have a disability and require assistance in this application process, please visit your nearest Target store or Supply Chain Facility or reach out to Guest Services at 1-800-440-0680 for additional information.</p></div>",
        "description_plain": "Starting Hourly Rate / Salario por Hora Inicial: $18.25 USD per hourALL ABOUT TARGETAs a Fortune 50 company with more than 400,000 team members worldwide, Target is an iconic brand and one of America’s leading retailers.Working at Target means the opportunity to help all families discover the joy of everyday life. Caring for our communities is woven into who we are, and we invest in the places we collectively live, work and play. We prioritize relationships, fuel and develop talent by creating growth opportunities, and succeed as one Target team. At our core, our purpose is ingrained in who we are, what we value, and how we work. It’s how we care, grow, and win together.You delight our guests in all areas of the store ensuring each guest has an enjoyable experience in our smallest format stores.ALL ABOUT SMALL FORMATSWe enable a consistent experience for our guests by ensuring product is in stock, available, accurately priced and signed on the sales floor in our smallest format stores. Experts of service, operations, process and efficiency, this team is responsible for being proficient in all areas of the store to complete duties such as, but not limited to, cashiering, stocking, presentation and price accuracy. You’ll provide exceptional guest service, customizing each experience and anticipating guest needs.At Target, we believe in our team members having meaningful experiences that help them build and develop skills for a career. The role of a Small Format Team Member can provide you with the:Knowledge of guest service fundamentals and experience building a guest first culture across the storeExperience in retail business fundamentals including: department sales trends, pricing and promotion strategies, inventory management, and process efficiency & improvementExperience supporting daily/weekly workload to support business priorities and deliver on sales goalsAs a Small Format Team Member, no two days are ever the same, but a typical day will most likely include the following responsibilities:Create a welcoming experience by authentically greeting all guestsObserve to quickly understand whether a guest needs assistance or wants to interact. Follow body language and verbal cues to tailor your approach.Engage with guests in a genuine way, which includes asking questions to better understand their specific needs.Be knowledgeable about the tools, products, and services available in the total store, and specific to your area, to solve issues for the guest and improve their experience.Thank the guest in a genuine way and let them know we’re happy they chose to shop at Target.Help guests as you complete workload with minimal guest disruptionWork in all departments to ensure sales floor is full, zoned and in stock for guestsPush and stock product to sales floorExecute adjacency changes, transitions, revisions and sales plans for all departmentsConduct weekly price change workload and ensure regular and promotional signing is set accurately for all departmentsComplete scans and system audit functions to ensure inventory accuracySupport execution of major transitions and ISMMaintain interior and exterior brand, including emptying garbage cans and attending to restroom cleanliness, collecting carts, charging electronic carts, RVM maintenance (if applicable) and attending to spills throughout the store as needed.Accurately execute all pulls (i.e., daily Fills, out of stock, manual and guest requests) and backstock product from all departmentsProcess all inbound deliveries (using the receive application) to ensure inventory accuracyComplete all backroom daily and weekly auditsOperate power equipment only if certifiedMaintain backroom organization and location accuracy and follow equipment guidelinesFollow processes accurately with attention to detail, monitor own progress and accurately prioritize tasksDemonstrate a culture of ethical conduct, safety and complianceWork in a safe manner at all times to benefit yourself and others; identify and correct hazards; comply with all safety policies and best practices.Support guest services such as back-up cashier, order pick up (OPU) and Drive-up (DU) and maintain a compliance culture while executing those duties, such as compliance with federal, state, and local adult beverage lawsAll other duties based on business needsWHAT WE ARE LOOKING FORWe might be a great match if:Working in a fun and energetic environment makes you excited…. We work efficiently and as a team to deliver for our guestsProviding service to our guests that makes them say I LOVE TARGET! excites you…. That’s why we love working at TargetStocking, Setting and Selling Target products sounds like your thing… That’s the core of what we doYou aren’t looking for Monday thru Friday job where you are at a computer all day… We are busy all day (especially on the weekends), making it easy for the guest to feel welcomed, inspired and rewardedThe good news is that we have some amazing training that will help teach you everything you need to know to be a Small Format Team Member. But,there are a few skills you should have from the get-go:Welcoming and helpful attitude toward guests and other team membersLearn and adapt to current technology needsWork both independently and with a teamResolve guest questions quickly on the spotAttention to detail and follow a multi-step processWe are an awesome place to work and care about our teams, so we want to make sure we are clear on a few more basics that we expect:Accurately handle cash register operationsClimb up and down laddersScan, handle and move merchandise efficiently and safely, including frequently lifting or moving merchandise up to 40 poundsFlexible work schedule (e.g., nights, weekends and holidays) and regular attendance necessary.Americans with Disabilities Act (ADA)Target will provide reasonable accommodations with the application process upon your request as required to comply with applicable laws. If you have a disability and require assistance in this application process, please visit your nearest Target store or Supply Chain Facility or reach out to Guest Services at 1-800-440-0680 for additional information.",
        "employment_type": null,
        "address_label": "512 2nd Ave, New York, New York, United States, 10016-8604",
        "marker": {
            "city": {
                "id": 18875,
                "name": "New York",
                "state_code": "NY",
                "cost_of_living": {
                    "id": 1,
                    "indices": {
                        "name": "New York, NY, United States",
                        "city_id": 6512,
                        "cpi_index": 78.33661180190455,
                        "rent_index": 65.21959376191104,
                        "crime_index": 53.34230941855818,
                        "safety_index": 46.65769058144182,
                        "climate_index": 88.25433798690545,
                        "traffic_index": 155.89160368069412,
                        "groceries_index": 58.43652054116736,
                        "pollution_index": 58.27208464176413,
                        "health_care_index": 70.75969570552323,
                        "traffic_co2_index": 1869.84140969163,
                        "contributors_crime": 1027,
                        "cpi_and_rent_index": 72.07527649109899,
                        "traffic_time_index": 43.95594713656387,
                        "contributors_traffic": 241,
                        "contributors_property": 98,
                        "quality_of_life_index": 127.95751313724718,
                        "contributors_pollution": 370,
                        "restaurant_price_index": 76.89401514383184,
                        "contributors_healthcare": 359,
                        "traffic_inefficiency_index": 189.4021258120608,
                        "contributors_cost_of_living": 564,
                        "property_price_to_income_ratio": 16.705588892782238,
                        "purchasing_power_incl_rent_index": 80.67989242778127
                    },
                    "costs_estimator": {
                        "city_id": "6512",
                        "children": 2,
                        "currency": "USD",
                        "breakdown": [
                            {
                                "category": "Rent",
                                "estimate": 851.7582208104193
                            },
                            {
                                "category": "Going out",
                                "estimate": 204.6940999533413
                            }
                        ],
                        "overall_estimate": 11745.345860115707,
                        "household_members": 4
                    },
                    "prices": {
                        "prices": [
                            {
                                "item_id": 1,
                                "item_name": "Meal, Inexpensive Restaurant, Restaurants",
                                "data_points": 82,
                                "lowest_price": 10,
                                "average_price": 15,
                                "highest_price": 30
                            },
                            {
                                "item_id": 5,
                                "item_name": "Imported Beer (0.33 liter bottle), Restaurants",
                                "data_points": 69,
                                "lowest_price": 4,
                                "average_price": 5,
                                "highest_price": 7
                            },
                            {
                                "item_id": 11,
                                "item_name": "Eggs (regular) (12), Markets",
                                "data_points": 71,
                                "lowest_price": 1.2344128765489015,
                                "average_price": 2.2980851064307743,
                                "highest_price": 3.600000000144
                            }
                        ],
                        "city_id": 6512,
                        "currency": "GBP",
                        "contributors": 564,
                        "yearLastUpdate": 2022,
                        "monthLastUpdate": 4,
                        "contributors12months": 943
                    }
                },
                "type": "City"
            },
            "address": "512 2nd Ave, New York, NY 10016, USA",
            "lat": 40.741,
            "lng": -73.978
        },
        "expiration_month": 3,
        "expiration_date": "2024-02-27",
        "post_date": "2023-11-27T00:00:00.000000Z",
        "start_date": null,
        "order_data": "2023-11-27T10:55:31.000000Z",
        "positions_nr": null,
        "experience_required": null,
        "salary_per_hour": "18.25",
        "salary_from": "18.25",
        "salary_to": null,
        "salary_per": "Hour",
        "hours": null,
        "hours_per": null,
        "payment_per": null,
        "benefits": [],
        "apply_method": {
            "url": "https://target.wd5.myworkdayjobs.com/targetcareers/job/512-2nd-Ave-New-YorkNY-10016-8604/Guest-Advocate--Cashier---General-Merchandise--Inbound--Stocking---T3321-_R0000314301"
        },
        "status": "Active",
        "company": {
            "id": 1,
            "slug": "target",
            "name": "Target",
            "description": null,
            "description_plain": null,
            "is_agency": false,
            "founded": null,
            "email": null,
            "phone_number": null,
            "company_size": null,
            "city_id": null,
            "address": null,
            "video_url": null,
            "industries": []
        },
        "has_favorited": false,
        "created_at": "2023-11-27T10:55:31.000000Z",
        "updated_at": "2023-11-27T10:55:31.000000Z"
    }
}
 

Request      

GET api/v1/jobs/{jobId}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

jobId   integer   

Example: 1

Medias

This group holds the media related endpoints

Store

requires authentication

Store media file into filesystem (s3)

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/media"
);

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

let body = {
    "file": "ojsippftkdcvewkvpxpywefo"
};

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

Example response (200, The job data):


{
    "url": "http://localhost:9000/staf/655a191c5e2b4_Screenshot 2023-11-13 at 23.37.01.png"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

POST api/v1/media

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

file   string   

Must not be greater than 20000 characters. Example: ojsippftkdcvewkvpxpywefo

Reset password

This group holds the reset password related endpoints

Send reset password code

Send mail with code for next step to reset password

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/password/send"
);

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

let body = {
    "email": "emard.candelario@example.org"
};

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

Example response (200, The mail was sent with success and next step is to get the code):


{
    "message": "Success send mail for reset password"
}
 

Example response (422, Invalid data.):


{
    "message": "The email field is required",
    "errors": {
        "email": [
            "The email field is required"
        ]
    }
}
 

Request      

POST api/v1/auth/password/send

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string   

Must be a valid email address. Must not be greater than 255 characters. Example: emard.candelario@example.org

Verify password code

Verify code form email send to check if is valid

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/password/verify"
);

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

let body = {
    "code": 14,
    "email": "kwhite@example.org"
};

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

Example response (200, Code is valid):


{
    "message": "Code is valid"
}
 

Example response (400, Invalid code data.):


{
    "error": "Invalid OTP"
}
 

Example response (422, Invalid data.):


{
    "message": "The email field is required",
    "errors": {
        "email": [
            "The email field is required"
        ]
    }
}
 

Request      

POST api/v1/auth/password/verify

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

code   integer   

Must be at least 1000. Must not be greater than 9999. Example: 14

email   string   

Must be a valid email address. Must not be greater than 50 characters. Example: kwhite@example.org

Change password

Change password with code

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/auth/password/update"
);

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

let body = {
    "code": 19,
    "email": "rosemary93@example.net",
    "password": ">}PV7%O&\\ZD\/"
};

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

Example response (200, The user was logged and a response was provided):


{
    "data": {
        "user": {
            "id": 2,
            "first_name": null,
            "last_name": null,
            "birthday": null,
            "username": null,
            "phone_number": null,
            "current_position": null,
            "current_location": null,
            "email": "test@email.com",
            "created_at": "2023-09-01T07:07:11.000000Z",
            "updated_at": "2023-09-01T07:07:11.000000Z",
            "skills": []
        },
        "access_token": "50|ls_gIH2pSAscNI4OSpaKrGPUp03qGurmtRGbkT7zpff2efad5f4",
        "expire_access_token": "2023-09-01T15:02:57.000000Z",
        "refresh_token": "51|ls_dPlao62tX5gMKxCYGrxVxk62dSSXSDtmiLwwYgEef0eb02b2",
        "expire_refresh_token": "2023-09-08T14:02:57.000000Z",
        "token_type": "Bearer"
    }
}
 

Example response (400, Invalid code data.):


{
    "error": "Invalid OTP"
}
 

Example response (422, Invalid data.):


{
    "message": "The email field is required",
    "errors": {
        "email": [
            "The email field is required"
        ]
    }
}
 

Request      

POST api/v1/auth/password/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

code   integer   

Must be at least 1000. Must not be greater than 9999. Example: 19

email   string   

Must be a valid email address. Must not be greater than 50 characters. Example: rosemary93@example.net

password   string   

Must not be greater than 255 characters. Must be at least 6 characters. Example: >}PV7%O&\ZD/

Search

This group holds the search related endpoints

Recommendation

Search recommendation

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/search/recommendation"
);

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

let body = {
    "q": "ratione",
    "filter": {
        "user": {
            "lat": 13,
            "lng": 24
        }
    }
};

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

Example response (200, Get search recommendation list):


[
    {
        "name": "ch",
        "type": "Current"
    },
    {
        "name": "chi",
        "type": "History"
    },
    {
        "id": 6350,
        "name": "Chicago",
        "state_code": "IL",
        "type": "City"
    },
    {
        "id": 15054,
        "name": "Charlotte",
        "state_code": "NC",
        "type": "City"
    },
    {
        "id": 6352,
        "name": "Chicago Ridge",
        "state_code": "IL",
        "type": "City"
    },
    {
        "name": "chef",
        "type": "Job position"
    },
    {
        "name": "chain",
        "type": "Job position"
    },
    {
        "name": "charge",
        "type": "Job position"
    }
]
 

Request      

GET api/v1/search/recommendation

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

q   string   

Example: ratione

filter   object  optional  
user   object  optional  
lat   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 13

lng   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 24

User

This group holds the user related endpoints

Resend email verify

requires authentication

Resend email for verification

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/email/resend"
);

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, The user was logged and a response was provided):


{
    "message": "Email was already confirmed"
}
 

Example response (202, The user was logged and a response was provided):


{
    "success": "Email was send"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/user/email/resend

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get profile

requires authentication

Get profile data

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/profile"
);

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, The user profile data):


{
    "data": {
        "id": 1,
        "first_name": "Jonny",
        "last_name": "MaCaron",
        "birthday": null,
        "username": null,
        "phone_number": "+1(209)-212-311",
        "profile_photo": "http://localhost:9000/staf/655a191c5e2b4_Screenshot 2023-11-13 at 23.37.01.png",
        "current_position": null,
        "current_location": null,
        "email": "jonny@mail.com",
        "created_at": "2023-11-10T07:40:05.000000Z",
        "updated_at": "2023-11-19T14:19:02.000000Z",
        "skills": [
            {
                "name": "PHP",
                "level": null
            }
        ]
    }
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/user/profile

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Update profile

requires authentication

Update profile data

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/profile"
);

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

let body = {
    "email": "jed.ferry@example.net",
    "first_name": "myfikrpifppsmdwtjypbrkfcf",
    "last_name": "dzcdynpfhnaceoayyfulnmsjqfhkysqpepftpwvumtfjctmwesovx",
    "birthday": "2024-09-16T03:30:50",
    "current_position": "orqbnlnuittbujwwtqujxpngbjsptokmwgygehii",
    "current_location": 6,
    "username": "cf",
    "phone_number": "jbmoygrovqcrctsuxxxfrqvbmtofgbfbbzjgpvptjcvwphldiykjjocpulzfmqxutrucwnirbewh",
    "skills": [
        {
            "level": 4,
            "name": "ratione"
        }
    ],
    "links": [
        {
            "id": 4,
            "link_id": 9,
            "url": "eos"
        }
    ]
};

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

Example response (200, Update profile data):


{
    "data": {
        "id": 1,
        "first_name": "Jonny",
        "last_name": "MaCaron",
        "birthday": null,
        "username": null,
        "phone_number": "+1(209)-212-311",
        "profile_photo": "http://localhost:9000/staf/655a191c5e2b4_Screenshot 2023-11-13 at 23.37.01.png",
        "current_position": null,
        "current_location": null,
        "email": "jonny@mail.com",
        "created_at": "2023-11-10T07:40:05.000000Z",
        "updated_at": "2023-11-19T14:19:02.000000Z",
        "skills": [
            {
                "name": "PHP",
                "level": null
            }
        ]
    }
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

PATCH api/v1/user/profile

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email   string  optional  

Must be a valid email address. Must not be greater than 255 characters. Example: jed.ferry@example.net

first_name   string  optional  

Must not be greater than 255 characters. Must be at least 1 character. Example: myfikrpifppsmdwtjypbrkfcf

last_name   string  optional  

Must not be greater than 255 characters. Must be at least 1 character. Example: dzcdynpfhnaceoayyfulnmsjqfhkysqpepftpwvumtfjctmwesovx

birthday   string  optional  

Must be a valid date. Example: 2024-09-16T03:30:50

current_position   string  optional  

Must not be greater than 255 characters. Must be at least 2 characters. Example: orqbnlnuittbujwwtqujxpngbjsptokmwgygehii

current_location   integer  optional  

Example: 6

username   string  optional  

Must not be greater than 255 characters. Must be at least 2 characters. Example: cf

phone_number   string  optional  

Must not be greater than 255 characters. Must be at least 6 characters. Example: jbmoygrovqcrctsuxxxfrqvbmtofgbfbbzjgpvptjcvwphldiykjjocpulzfmqxutrucwnirbewh

skills   object[]  optional  
level   integer   

Must be at least 1. Must not be greater than 5. Example: 4

name   string   

Example: ratione

links   object[]  optional  
id   integer  optional  

Example: 4

link_id   integer  optional  

Example: 9

url   string   

Example: eos

profile_photo   string  optional  

Store coordinates

requires authentication

Store user coordinates

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/coordinates"
);

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

let body = {
    "lat": 8,
    "lng": 16
};

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

Example response (200, Message of success):


{
    "message": "Success was saved coordination"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

POST api/v1/user/coordinates

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

lat   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 8

lng   number  optional  

Must be at least -300.000000. Must not be greater than 300.000000. Example: 16

Application

requires authentication

User Application, list of application user applied

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/applications"
);

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

let body = {
    "filter": {
        "company_id": 5
    }
};

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

Example response (200, Application list):


{
    "id": 1,
    "title": "Java developer",
    "description": "Description of job",
    "applications": {
        "id": "id",
        "status": "pending",
        "user": {
            "id": 1,
            "first_name": "Johnny",
            "last_name": "MaClarin"
        }
    }
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

GET api/v1/user/applications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

filter   object  optional  
company_id   integer  optional  

Example: 5

Change password

requires authentication

Change password of user

Example request:
const url = new URL(
    "https://api.staf.online/api/v1/user/change-password"
);

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

let body = {
    "old_password": "hjakilblherawncuheekypyxarfoiihxrza",
    "password": "wH~(+=$}:"
};

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

Example response (200, Change password success message):


{
    "message": "Success was modify password"
}
 

Example response (401, The user is not authenticated):


{
    "message": "Unauthenticated."
}
 

Request      

POST api/v1/user/change-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

old_password   string   

Must not be greater than 255 characters. Must be at least 6 characters. Example: hjakilblherawncuheekypyxarfoiihxrza

password   string   

Must not be greater than 255 characters. Must be at least 6 characters. Example: wH~(+=$}: