POST /vendor/jobs/postings
This call allows you to to create a new posting in XING jobs. Please find an example request at the very bottom.
Required parameters |
|
---|---|
organization_id |
You'll get these unique IDs from your point of contact type in our sales department. It is mandatory to bill your job postings to the correct account.
NOTE: the posting API only applies static validation on the 'order_id' and 'organization_id' fields. You'll only see errors with status code 400, which are returned if the field is not present or if the value isn't a valid integer. It does not validate contract related parameters of the order such as contingent or run-time of the order. To check the status of your posting, use the posting states endpoint |
order_id | |
function | Title of the job posting. Length is limited to 255 characters. |
company_name | Name of the company advertising this job posting. Length is limited to 255 characters. |
description |
The description of the posting.
Your posting should at least contain line break tags for a good user experience.
The following HTML tags are available for styling:
h2 , h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Other tags and attributes including style tags and inline CSS will be removed. Length is limited to 10.000 characters. You may only use either description or description_template. |
description_template |
The description_template is a complex field with multiple child elements which allows for greater control over the appearance of your job ad.
The individual fields are described further below in this documentation.
You may only use either description or description_template. |
city | City of the job location. Please provide real and exact values only. For example, sending “Somecity (near Munich)” as city would be accepted by the API but may lead to problems with our geolocation search and, as a result, less traffic for your job posting on our search page. Multiple locations are not supported. |
country | Country of the job location. Please find available values here. |
reply_setting |
Defines how candidates can apply for this job posting. Possible values are:
|
Optional parameters |
|
zipcode optional | Zipcode, street and region of the job location. Use this along with mandatory parameters city and country to define the location more precisely. |
street optional | |
region optional | |
language optional | Language of the job posting. Should be an ISO code like defined in ISO 639-1 |
tags optional | Comma separated list of keywords to improve the searchability of the posting. Length is limited to 500 characters. |
skills optional | Comma separated list of skills a candidate should have. This parameter used for recommendations and will not be shown in the job posting. Length is limited to 255 characters |
discipline_id optional | Discipline ID of the job posting. Please find available values here. |
industry_id optional | Industry ID of the job posting. Please find available values here. |
level optional | Career level of the job posting. Please find available values here. |
job_type optional |
Type of this job posting. Must be one of:
|
remote_options optional |
Choose one, multiple, or no value from this list of optional fields to define the possible remote options for the job posting:
|
point_of_contact_type optional |
Defines who can be contacted for more information about this job posting. It will be shown right beneath the job posting.
Possible values are:
|
reply_email optional Conditionally required |
Email address to apply. This is required if the
reply_setting
is set to email .
|
reply_url optional Conditionally required |
URL to an application form. This is required if the
reply_setting
is set to url .
|
poster_url optional | URL to a XING user profile. Job seekers applying will be able to send a private message to this user. |
user_role optional Conditionally required |
In case the
point_of_contact_type
is 'user' or 'none', this parameter is required and will describe the role of this user appearing next to the job posting. Possible values are:
|
company_profile_url optional Conditionally required |
URL to a XING company profile. This is required if
publish_to_company
is set or
point_of_contact_type
is set to company . Please
click here for further information
|
publish_to_company optional | Boolean indicating whether the posting should be displayed on the company profile. Requires company_profile_url to define it. Default is false. Please click here for further information |
posting_url optional | If you’d like to use full HTML, use this parameter to include a HTTPS URL to a job ad on your website which will then be shown in an iframe as a description of your job ad. Please click here for further information |
posting_logo_content optional |
Base64 URL encoded logo image for Standard and Campus postings. Maximum image size is 3 MB. Allowed image types are GIF, JPEG and PNG. Please
click here for further information
NOTE: this image is ignored if the job posting uses a description template with a non-empty description_template.header_image
|
job_code optional | A free text job code / ID. It is not shown on the job posting and can be used to identify your postings in our GET calls or for billing reasons. Length is limited to 100 characters |
salary optional | The salary can be defined by either a single value (salary) OR as range by providing a lower boundary and a higher one. You can’t submit a single value and a range at the same time. Provide all this fields as integer numbers without any formatting. Please click here for further information |
salary_range_start optional | |
salary_range_end optional | |
salary_interval optional |
The interval in which the salary or salary range is defined. Possible values are:
|
currency optional |
The currency of the salary. Possible values are:
|
student_classification optional Conditionally required |
This is required for Campus job postings and classifies them.
Please find available values here |
video_link optional |
Video link from Vimeo or YouTube. Video will be included below the job posting content. Only available for Professional+ postings
NOTE: this video is ignored if the job posting uses a description template and at least one of description_template.video_youtube
or
description_template.video_vimeo
fields are non-empty
|
xing_apply_privacy_policy optional |
External URL for the privacy policy for a job posting.
If the reply_setting is set to xing_apply you can provide this field
The value must be a valid HTTP or HTTPS
URL.
*This value cannot be changed once provided |
xing_apply_terms_and_conditions optional |
External URL for the terms and conditions for a job posting.
If the reply_setting is set to xing_apply you can provide this field
The value must be a valid HTTP or HTTPS
URL.
*This value cannot be changed once provided |
description_template.title_color optional | Color of headlines for all sections in the description_template. The format is a hex color code (e.g. #004665) |
description_template.company_description optional |
Describes what your company is doing and what an applicant should know about your company. If present, it must contain a "content" field and optionally a "title".
The title can not contain any html tag. It will be rendered as h2, therefore h2-tags are not allowed in the content section, but all of the following html tags are available for styling:
h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Forbidden tags will be removed from the description. Furthermore a-tags can only contain href-attributes. The "content" field can not have more than 5000 characters! |
description_template.responsibility optional |
What will be the responsibilities of an applicant in their new position. If present, it must contain a "content" field and optionally a "title".
The title can not contain any html tag. It will be rendered as h2, therefore h2-tags are not allowed in the content section, but all of the following html tags are available for styling:
h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Forbidden tags will be removed from the description. Furthermore a-tags can only contain href-attributes. The "content" field can not have more than 5000 characters! |
description_template.skills optional |
What skills do you desire or require from the applicant to be the right fit for this job. If present, it must contain a "content" field and optionally a "title".
The title can not contain any html tag. It will be rendered as h2, therefore h2-tags are not allowed in the content section, but all of the following html tags are available for styling:
h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Forbidden tags will be removed from the description. Furthermore a-tags can only contain href-attributes. The "content" field can not have more than 5000 characters! |
description_template.we_offer optional |
A description of special offers you have for your employees. If present, it must contain a "content" field and optionally a "title".
The title can not contain any html tag. It will be rendered as h2, therefore h2-tags are not allowed in the content section, but all of the following html tags are available for styling:
h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Forbidden tags will be removed from the description. Furthermore a-tags can only contain href-attributes. The "content" field can not have more than 5000 characters! |
description_template.contact_info optional |
A description of how to get in touch with you. If present, it must contain a "content" field and optionally a "title".
The title can not contain any html tag. It will be rendered as h2, therefore h2-tags are not allowed in the content section, but all of the following html tags are available for styling:
h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Forbidden tags will be removed from the description. Furthermore a-tags can only contain href-attributes. The "content" field can not have more than 5000 characters! |
description_template.generic_description optional |
Instead of using the description sections (e.g. company_description, responsibility, skills, we_offer, contact_info), you can define your own custom description with the generic_description.
All of the following html tags are available for styling:
h2 , h3 , h4 , h5 , hr , a , br , li , ol , ul , p , em , i , b , strong
Forbidden tags will be removed from the description. Furthermore a-tags can only contain href-attributes. The generic description can not have more than 29000 characters! |
description_template.header_image optional |
URL to an image that will be displayed on top of the job posting.
This field accepts valid http or https URLs ending in .jpg, .jpeg and .png extensions (e.g. https://example.com/some-image.jpg).
NOTE: this image takes precedence over the posting_logo_content
field
|
description_template.footer_image optional | URL to an image that will be displayed at the bottom of the job posting. This field accepts valid http or https URLs ending in .jpg, .jpeg and .png extensions (e.g. https://example.com/some-image.jpg). |
description_template.video_youtube optional |
URL of an embedded YouTube video. Between 0-1000 characters (e.g. https://www.youtube.com/embed/...).
NOTE: this video takes precedence over the video_link
field
|
description_template.video_vimeo optional |
URL of a Vimeo video. Between 0-1000 characters (e.g. https://player.vimeo.com/video/...).
NOTE: this video takes precedence over the video_link
field
|
description_template.social_website optional | URL of your company's website. Between 0-1000 characters (e.g. https://www.you-social-website.com/...). |
description_template.social_facebook optional | URL of your company's Facebook page. Between 0-1000 characters (e.g. https://www.facebook.com/...). |
description_template.social_twitter optional | URL of your company's Twitter page. Between 0-1000 characters (e.g. https://www.twitter.com/...). |
description_template.social_youtube optional | URL of your company's YouTube channel. Between 0-1000 characters (e.g. https://www.youtube.com/...). |
description_template.social_xing optional | URL of your company's Xing page. Between 0-1000 characters (e.g. https://xing.com/...). |
description_template.social_instagram optional | URL of your company's Instagram account. Between 0-1000 characters (e.g. https://www.instagram.com/...). |
description_template.social_pinterest optional | URL of your company's Pinterest page. Between 0-1000 characters (e.g. https://pinterest.com/...). |
description_template.social_tiktok optional | URL of your company's TikTok account. Between 0-1000 characters (e.g. https://tiktok.com/...). |
description_template.social_kununu optional | URL of your company's Kununu account. Between 0-1000 characters (e.g. https://kununu.com/...). |
The following curl example shows a simple request on how to post a job posting on XING jobs:
curl -X POST "https://api.xing.com/vendor/jobs/postings.json" \
-d "oauth_token=$ACCESS_TOKEN" \
-d "oauth_consumer_key=$CONSUMER_KEY" \
-d "oauth_signature_method=PLAINTEXT" \
-d "oauth_signature=$CONSUMER_SECRET%26$ACCESS_TOKEN_SECRET" \
-d '{
"organization_id": 5160,
"order_id": 1022232,
"function": "Technical Product Manager - Jobs Integration (m/w)",
"company_name": "New Work SE",
"description": "<p>Description of my job ad goes here</p><h3>Headline</h3><ul><li>List entry 1</li><li>List entry 2</li>",
"city": "Hamburg",
"country": "DE",
"reply_setting": "url",
"point_of_contact_type": "company",
"language": "de",
"job_type": "FULL_TIME",
"level": "JOBLEVEL_3",
"discipline_id": "1017",
"industry_id": "90000",
"zipcode": "22085",
"region": "Hamburg",
"tags": "hamburg, product manager, technical product",
"reply_url": "https://mytestcompany.com/jobs/apply/jobid-YF112522",
"poster_url": "https://www.xing.com/profile/Max_Mustermann",
"user_role": "HR_CONSULTANT",
"company_profile_url": "https://www.xing.com/company/xing",
"publish_to_company": true,
"job_code": "YF112522"
}'
And here you'll find an example using the description_template functionality:
curl -X POST "https://api.xing.com/vendor/jobs/postings.json" \
-d "oauth_token=$ACCESS_TOKEN" \
-d "oauth_consumer_key=$CONSUMER_KEY" \
-d "oauth_signature_method=PLAINTEXT" \
-d "oauth_signature=$CONSUMER_SECRET%26$ACCESS_TOKEN_SECRET" \
-d '{
"organization_id": 5160,
"order_id": 1022232,
"function": "Technical Product Manager - Jobs Integration (m/w)",
"company_name": "New Work SE",
"description_template": {
"title_color": "#f0f0f0",
"company_description": {
"title": "Join our great company",
"content": "Here goes the company description"
},
"we_offer": {
"title": "We offer",
"content": "<h2>Here are our benefits</h2>"
}
},
"city": "Hamburg",
"country": "DE",
"reply_setting": "url",
"point_of_contact_type": "company",
"language": "de",
"job_type": "FULL_TIME",
"level": "JOBLEVEL_3",
"discipline_id": "1017",
"industry_id": "90000",
"zipcode": "22085",
"region": "Hamburg",
"tags": "hamburg, product manager, technical product",
"reply_url": "https://mytestcompany.com/jobs/apply/jobid-YF112522",
"poster_url": "https://www.xing.com/profile/Max_Mustermann",
"user_role": "HR_CONSULTANT",
"company_profile_url": "https://www.xing.com/company/xing",
"publish_to_company": true,
"job_code": "YF112522"
}'
HTTP/1.1 201 Created
{"posting_id":30675491,"permalink":"https://www.xing.com/jobs/hamburg-technical-product-manager-jobs-integration-30675491"}