--- title: "Job Post" slug: "job-post" updated: 2026-10-21T12:40:09Z published: 2026-10-21T12:40:09Z canonical: "support.carehome.co.uk/job-post" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.carehome.co.uk/llms.txt > Use this file to discover all available pages before exploring further. # Job Post Post a new job to carehome.co.uk. Each job uses one job credit and stays live for 30 days. > [!NOTE] > **Who can use it:** Enhanced and Platinum subscribers with at least one job credit. Partners post with the subscriber's API key and their own `partner_key`. ## Post a job ``` POST /index.cfm/jobs ``` Base URL `https://api.carehome.co.uk`. Authentication, errors and support are covered in the [Jobs API overview](https://support.carehome.co.uk/docs/jobs-api). Send the fields as a JSON object with the header `Content-Type: application/json`. IDs can be sent as numbers or strings. ### Body parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | Yes | Your API key. Partners send the API key of the customer the job is for. | | `job_title` | string | Yes | Job title, up to 60 characters. | | `job_category_id` | integer | Yes | From [`/jobs/categories`](https://support.carehome.co.uk/docs/job-api-list). | | `job_setting_id` | integer | Yes | The kind of workplace, from [`/jobs/settings`](https://support.carehome.co.uk/docs/job-api-list). | | `job_type_id` | integer | Yes | For example Full Time, from [`/jobs/types`](https://support.carehome.co.uk/docs/job-api-list). | | `job_description` | string | Yes | Job description, as plain text or simple HTML. Up to 8,000 characters of text, not counting HTML tags. See [Job description](/docs/job-post#description). | | `job_contact_name` | string | Yes | Contact name for the job, up to 255 characters. | | `job_contact_email` | string | One of these two | Email address applications are sent to, up to 255 characters. | | `job_contact_url` | string | One of these two | Web address of this job's application page, up to 1,000 characters. Applicants are sent there to apply. Use the page for this job, not a general jobs page. If you send both, the URL is used and the email address is ignored. | | `job_admin_email` | string | Yes | Email address we remind before the job expires, up to 300 characters. Not shown to applicants. | | `job_processed_by` | string | Yes | Name of the person posting the job, up to 100 characters. For our records; not shown to applicants. | | `job_pay_type_id` | integer | See [Salary](/docs/job-post#salary) | `1` per annum, `2` per hour, `5` non-specific. From [`/jobs/pay_types`](https://support.carehome.co.uk/docs/job-api-list). | | `job_salary_from` | string | See [Salary](/docs/job-post#salary) | Lowest pay, for example `"24000"` or `"12.50"`. Up to 7 digits and 2 decimal places, with no commas or currency sign. | | `job_salary_to` | string | See [Salary](/docs/job-post#salary) | Highest pay, in the same format. For a fixed amount, send the same value as `job_salary_from`. | | `job_salary` | string | See [Salary](/docs/job-post#salary) | Salary details as text, for example `"Plus overtime"`, up to 60 characters. | | `job_town_id` | integer | See description | Where the job is, from [`/jobs/towns`](https://support.carehome.co.uk/docs/job-api-list). If you leave it out, we use the town of the setting the job is branded as. If we can't find one, the request fails with `Please provide job_town_id`. | | `job_member_id` | integer | No (recommended) | The setting or group the job is shown as. If you leave it out, the job is branded as the setting or group your API key belongs to. Sending it links the job to the right setting and gets better application rates. See [Branding](/docs/job-post#branding). | | `job_reference` | string | No | Your own reference for the job, up to 255 characters. Returned with the job and its applications. | | `uniqueReference` | boolean | No | `true` to refuse the job if one of your open jobs already has the same `job_reference`. See [Duplicate references](/docs/job-post#duplicates). | | `job_skills` | string | No | Skills and qualifications, as a comma-separated list, up to 1,000 characters. | | `job_accept_applicant_uk_only` | integer | No | `1` to accept applicants based in the UK only. Default `0`. | | `partner_key` | string | Partners only | Your partner key. | ### Salary Give the pay in one of these ways: | Pay | Send | | --- | --- | | Per annum | `job_pay_type_id` `1`, `job_salary_from` of at least 1000, and `job_salary_to`. `job_salary` is optional. | | Per hour | `job_pay_type_id` `2`, `job_salary_from`, and `job_salary_to` below 1000. `job_salary` is optional. | | Non-specific | `job_pay_type_id` `5` and `job_salary`. Don't send `job_salary_from` or `job_salary_to`. | | Text only | `job_salary` only. Supported for integrations built before February 2017; use a pay type for new integrations. | `job_salary_from` must not be higher than `job_salary_to`, and both need a `job_pay_type_id`. ### Branding A job is shown on carehome.co.uk as posted by a setting or group. That is its branding, and you set it with `job_member_id`. `job_member_id` is optional. If you leave it out, the job is branded as the setting or group your API key belongs to. We recommend always sending it: it links the job to the right setting, which helps it reach the right candidates and gets better application rates. - **Your own setting:** send your own ID. - **Another setting in your group:** send that setting's ID. A group can brand jobs as any of its settings. Get the IDs you can use from [`/jobs/members`](https://support.carehome.co.uk/docs/job-api-list). Any other ID fails with `valid job_member_id is required`. ### Job description We clean up `job_description` before it is shown: - Use simple HTML: `p`, `br`, `b`, `strong`, `i`, `em`, `u`, `ul`, `ol` and `li`. Attributes are removed, and other tags may be removed. - Sentences containing contact details are removed: email addresses, web addresses, and phone numbers. - Empty paragraphs and repeated spaces are removed. Applicants apply through carehome.co.uk, using `job_contact_email` or `job_contact_url`, so contact details aren't needed in the description. ### Duplicate references If you send `"uniqueReference": true` with a `job_reference`, we check your open jobs, and those of your group, for the same reference. If there is one, the job is not posted and no credit is used. The response is `409`: ``` { "data": {}, "error": [], "warn": [ "There is an existing job with the reference EXAMPLE-001" ] } ``` ### Example request ``` curl -X POST "https://api.carehome.co.uk/index.cfm/jobs" \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_API_KEY", "job_title": "Care Assistant (example)", "job_category_id": 5, "job_setting_id": 10, "job_type_id": 1, "job_description": "

An example job description.

", "job_skills": "Example skill, another example skill", "job_contact_name": "Example Name", "job_contact_email": "example@example.com", "job_admin_email": "example@example.com", "job_processed_by": "Example Name", "job_pay_type_id": 2, "job_salary_from": "12.50", "job_salary_to": "13.50", "job_town_id": 12345, "job_reference": "EXAMPLE-001" }' ``` ### Example response `201 Created`. `data` is the new job, in the same format as the [job list](https://support.carehome.co.uk/docs/job-api-list). Keep `job_id`: you need it to edit or close the job. ``` { "data": { "job_id": 96000000001, "job_title": "Care Assistant (example)", "job_posted_date": "2026-10-01 09:30:00", "job_expiry_date": "31-Oct-2026 00:00:00", "job_link": "https://www.carehome.co.uk/jobs/job.cfm/id/96000000001", "...": "other job fields" }, "error": [], "warn": [] } ``` ### Errors Validation errors return `400` with the reasons in `error`. Common messages: | error | What to do | | --- | --- | | `Please either provide both job_salary_from & job_salary_to, or provide job_salary` | Add pay details; see [Salary](/docs/job-post#salary). | | `When entering job_salary_from & job_salary_to, job_pay_type_id is a required field` | Add `job_pay_type_id`. | | `Please enter a value higher than 1000 for job_salary_from if submitting job_pay_type_id=1` | Annual pay must be at least 1000. | | `Please enter a value lower than 1000 for job_salary_to if submitting job_pay_type_id=2` | Hourly pay must be below 1000. | | `Please provide job_town_id` | Send `job_town_id`. | | `Please pass Contact Email or Contact URL` | Send `job_contact_email` or `job_contact_url`. | | `job_title is required` (and similar) | Send the required field. | | `Invalid job_category_id: 0` (and similar) | Use an ID from the lookup endpoints. | | `valid job_member_id is required` | Use an ID from `/jobs/members`. | | `Insufficient Job Credits` | Buy more credits. Check your balance with `/jobs/credits`. |