Consultants so good

you don’t need luck

Register your details → or Search for jobs →

  • Local knowledge of Uxbridge and environs 
  • Friendly small team for bespoke recruitment 
  • Specialists in office needs 
  • Personal and professional service 

API Documentation

Available job endpoints

(VERB -> Endpoint)



Endpoint descriptions

add (self explanitory!)
delete (removes job from system - be careful!)
close (marks as unpublished and will 404)
expire (marks as no longer accepting applications)
repost (reposts the job with new closing and expiry dates +1 month)

Content types

Our API only accepts JSON (application/json) see examples. The content type must be sent as a header e.g: Content-type: application/json.


curl -X [VERB] \
-H 'Content-Type: application/json; charset=utf-8' \
--user 'your_username:strong_password!' \

Your user credentials are created by your client inside their dashboard. They are used with HTTP basic authentication and have the form [username]:[password].

Example job post data

curl -X POST \
-H 'Content-Type: application/json; charset=utf-8' \
--user 'your_username:strong_password!' \
-d '
    "available_from": "2020-01-28 09:00",
    "closing_date": "2022-02-28 09:00",
    "expiry_date": "2022-03-28 09:00",
    "published": 1,
    "featured": 0,
    "contact_name": "Bob Smith",
    "contact_email": "",
    "require_cv": 1,
    "job_title": "Test Engineer",
    "job_reference": "abc123",
    "contract_type": "Contract",
    "job_type": "Full time",
    "job_hours": "9-5 Monday to Friday",
    "job_duration": "6 Months",
    "job_skills": "VB, C++, PERL, Java",
    "job_description": "This is the detailed description",
    "job_industry": "Engineering",
    "job_latitude": 1.5,
    "job_longitude": 53.2,
    "job_location": "London",
    "job_telecommute": "no",
    "job_benefits": [
        "Benefit 1",
        "Benefit 2",
        "Benefit ..."
    "job_requirements": [
        "Requirement 1",
        "Requirement 2",
        "Requirement ..."
    "job_responsibilities": [
        "Responsibility 1",
        "Responsibility 2",
        "Responsibility ..."
    "salary_precise": "30000",
    "salary_unit": "Per year",
    "salary_currency": "GBP",
    "salary_benefits": "Bonus and Pension",
    "salary_visible": "£25000 - £30000 Pear year"

Example job delete data

curl -X POST \
-H 'Content-Type: application/json; charset=utf-8' \
--user 'your_username:strong_password!' \
-d '
    "id": 1234

Example job repost data

curl -X POST \
-H 'Content-Type: application/json; charset=utf-8' \
--user 'your_username:strong_password!' \
-d '
    "id": 1234,
    "closing_date": "2022-02-28 09:00"

Rigid data

Please note that the rigid data is subject to change as we add or remove industries etc. We have a json endpoint that has up to date values for these fields which we recommend you automatically check via your software from time to time.

Certain fields have rigid requirements in our system. These are outlined below. Any other field is classes as free text.
job_industry (one of)
[ "Administration", "Administration/Reception", "Administration/Data Entry", "Sales and Marketing", "Finance and Accounts", "Customer Services", "Human Resources", "Supply Chain & Logistics" ]

A forward slash denotes the sub-sector or discipline of the sector, you can use just the sector name or [Sector]/[Sub_sector] and we will parse out the sector and sub-sector for you.

job_type (one of)
[ "Part time", "Full time" ]
contract_type (one of)
[ "Temporary", "Contract", "Permanent", "Maternity cover" ]
salary_unit (one of)
[ "Per hour", "Per year", "Per week", "Per month" ]
salary_currencies (one of)
[ "GBP" ]
job_telecommute (one of)
[ "yes", "no" ]

Exceptions to rigid data

If available_from is set the date format is YYYY-MM-DD H:i (ex 2020-01-28 09:00).

job_longitude and job_latitude which are double's and MUST point to a specific point on the geo plane. job_location is the visible location shown to the candidate in job results and filters and can be any text string.

If application_url is set the scheme must be secure (https).

Required fields

    published (1 or 0)
    featured (1 or 0)
    job_latitude (not required if using value from pre-defined job_location list)
    job_longitude (not required if using value from pre-defined job_location list)
    require_cv (1 or 0)

All fields listed above are required

JSON Responses

Successful post

{ "status": 200, "message": "", "id": 1234 }
Errored post

{ "status": 412, "message": "Salary unit invalid" }
Successful close

{ "status": 200, "message": "Job has been closed (unpublished)" }
Successful deletion

{ "status": 200, "message": "Job has been deleted" }
Successful expiry

{ "status": 200, "message": "Job has been expired" }
Successful repost

{ "status": 200, "message": "Job has been reposted" }