Menu

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)

POST → https://www.sheridanward.co.uk/api/v1/job/add
POST → https://www.sheridanward.co.uk/api/v1/job/delete
POST → https://www.sheridanward.co.uk/api/v1/job/close
POST → https://www.sheridanward.co.uk/api/v1/job/expire
POST → https://www.sheridanward.co.uk/api/v1/job/repost

GET → https://www.sheridanward.co.uk/api/v1/job/fields

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.

Authentication

curl -X [VERB] https://www.sheridanward.co.uk/api/v1/job/add \
-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 https://www.sheridanward.co.uk/api/v1/job/add \
-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": "bob@smith.com",
    "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 https://www.sheridanward.co.uk/api/v1/job/delete \
-H 'Content-Type: application/json; charset=utf-8' \
--user 'your_username:strong_password!' \
-d '
{
    "id": 1234
}
'

Example job repost data

curl -X POST https://www.sheridanward.co.uk/api/v1/job/repost \
-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.

https://www.sheridanward.co.uk/api/v1/job/fields
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_title
    job_reference
    job_industry
    job_telecommute
    job_location
    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)
    job_type
    contract_type
    job_description
    contact_name
    contact_email
    salary_visible
    salary_precise
    salary_unit
    salary_currency
    require_cv (1 or 0)

All fields listed above are required

JSON Responses

Successful post

{ "status": 200, "message": "https://www.sheridanward.co.uk/job/full-time-test-engineer-london-acme/1234", "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" }