- Required fields for creating job postings
- Basic job posting
- Job postings with certain job types
- No probationary period, no fixed overtime pay
- No probationary period, has fixed overtime pay
- Has probationary period, no fixed overtime pay
- Has probationary period, fixed overtime pay for normal period only
- Fixed overtime pay for both normal and probationary periods
Job posting guidelines and examples (Japan)
When posting jobs using jobsIngest.createSourcedJobPostings, Japanese partners must follow additional requirements to comply with Indeed PLUS policies and the law.
To ensure that you post jobs successfully and job seekers can see your job postings in Japan, follow this guide.
Required fields for creating job postings
The createSourcedJobPostings mutation takes a CreateSourcedJobPostingsInput object as its input argument.
CreateSourcedJobPostingsInput has one field, jobPostings, which is an array of CreateSourcedJobPostingInput objects.
The following fields are required for each CreateSourcedJobPostingInput object:
| Field | Applicable job types | Requirement |
|---|---|---|
body.title | All job types | Required. |
body.description | All job types | Required. Follow the guidance in Job description formatting. |
body.descriptionJobDescription segment | All job types | Required. |
body.descriptionWorkHours segment | 正社員パート・アルバイト契約社員派遣 | Required in Japan. |
body.descriptionPay segment | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a fixed overtime pay. |
body.descriptionFormatting | All job types | Required. Set to RICH_FORMATTING. |
body.salary.currency | All job types | Required. |
body.salary.minimumMinor | All job types | Required. |
body.salary.period | All job types | Required. |
body.salary.fineGrainedSalaryInformation.totalSalaryMinor | 正社員パート・アルバイト契約社員派遣 | Required in Japan. Include only compensation that is counted toward minimum wage. For example, don't include commuting allowance or overtime pay in this value. |
body.salary.fineGrainedSalaryInformation.workingHours | 正社員パート・アルバイト契約社員派遣 | Required in Japan. |
body.salary.fineGrainedSalaryInformation.totalOvertimeHours | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a fixed overtime pay system and it's not an hourly wage. |
body.salary.fineGrainedSalaryInformation.fixedOvertimeSalaryMinor | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a fixed overtime pay system and it's not an hourly wage. |
body.salary.fineGrainedSalaryInformation.fixedOvertimePay | 正社員パート・アルバイト契約社員派遣 | Required. |
body.hasProbationaryPeriod | All job types | Required. Must be set to YES or NO. |
body.probationaryPeriod.probationaryConditions | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a probationary period. |
body.probationaryPeriod.probationarySalary.fineGrainedSalaryInformation.totalSalaryMinor | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a probationary period. |
body.probationaryPeriod.probationarySalary.fineGrainedSalaryInformation.workingHours | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a probationary period. |
body.probationaryPeriod.probationarySalary.fineGrainedSalaryInformation.totalOvertimeHours | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a fixed overtime pay system during the probationary period, and it's not an hourly wage. |
body.probationaryPeriod.probationarySalary.fineGrainedSalaryInformation.fixedOvertimeSalaryMinor | 正社員パート・アルバイト契約社員派遣 | Required in Japan if the job has a fixed overtime pay system during the probationary period, and it's not an hourly wage. |
body.probationaryPeriod.probationarySalary.fineGrainedSalaryInformation.fixedOvertimePay | 正社員パート・アルバイト契約社員派遣 | Required if the job has a probationary period and it's not an hourly wage. |
body.location.country | All job types | Required. |
body.location.streetAddress | All job types | Required in Japan. Enter the full address. For more information, see Location information (Japan). |
body.location.cityRegionPostal | All job types | Do not use this field for jobs in Japan. |
body.benefits | All job types | Required. Can be an empty list. |
metadata.jobSource.companyName | All job types | Required. |
metadata.jobSource.sourceName | All job types | Required. |
metadata.jobSource.sourceType | All job types | Required. |
metadata.jobSource.employerIds | All job types | Required in Japan. Provide an array with one |
metadata.jobPostingId | All job types | Required. |
metadata.taxonomyClassification.jobTypes | All job types | Required in Japan. Provide one applicable SUID value from Job types. You cannot use multiple |
metadata.taxonomyClassification.occupations | All job types | Required in Japan. Provide applicable SUID values from Occupation. |
metadata.taxonomyClassification.attributesSocial Insurance values | 正社員契約社員派遣 | Required in Japan. Provide applicable SUID values from the Social Insurance table. |
metadata.taxonomyClassification.attributesWork System values | 正社員パート・アルバイト契約社員派遣 | Required in Japan. Provide applicable SUID values from the Work System table. |
metadata.datePublished | All job types | Required. |
metadata.url | All job types | Required. |
metadata.contacts.contactType | All job types | Required. Include one contact with a contactType that includes contact. |
metadata.contacts.contactInfo.contactEmail | All job types | Required. |
applyMethod.indeedApply.postUrl | All job types | Required. |
applyMethod.indeedApply.resumeFieldsRequired | All job types | Required in Japan. |
applyMethod.indeedApply.resumeFieldsOptional | All job types | Required in Japan. |
applyMethod.indeedApply.apiToken | All job types | Required. |
Basic job posting
The following is an example of posting a basic job in Japan with all of the required fields:
mutation PostJob { jobsIngest { createSourcedJobPostings( input: { jobPostings: [ { body: { title: "カス タマーサポート" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">仕事内容</h2><div data-segment-type=\"content\" data-segment-label=\"JobDescription\">当社店舗でのカスタマーサポートの仕事になります。<br/>分からないことがあれば店舗のスタッフに相談できる環境になっています。</div>" descriptionFormatting: RICH_FORMATTING salary: { currency: "JPY" period: "MONTH" minimumMinor: 400000 } hasProbationaryPeriod: NO location: { country: "JP" streetAddress: "〒108-0023 東京都港区芝浦3丁目1−21" } benefits: [] } metadata: { jobSource: { companyName: "株式会社テストその1" sourceName: "テストその1" sourceType: "Employer" employerIds: [ { type: "<YOUR_ATS_IDENTIFIER>" id: "<YOUR_ATS_EMPLOYER_ID>" } ] } jobPostingId: "<YOUR_ATS_JOB_POSTING_ID>" taxonomyClassification: { jobTypes: ["8YWGX"] occupations: ["C3XKZ"] } datePublished: "2023-09-20T09:00:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: [ { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } ] } applyMethod: { indeedApply: { postUrl: "https://example.com/applypost" apiToken: "<YOUR_INDEED_APPLY_API_TOKEN>" resumeFieldsRequired: [CERTIFICATIONS] resumeFieldsOptional: [EDUCATION] } } } ] } ) { results { jobPosting { sourcedPostingId } } } }}Replace anything in angle brackets (<>) with your values.
Job postings with certain job types
Some additional fields are required if you set metadata.taxonomyClassification.jobTypes to one of the following values (only a single value is allowed):
5QWDV(full-time, 正社員)75GKK(part-time, アルバイト・パート)8YWGX(third-party contract, 派遣社員)T9BXE(fixed-term, 契約社員)
The following fields are required for these job types, in addition to the fields in Basic job posting:
bodydescription- Include the
WorkHourssegment. - In the
Paysegment, enter the base salary.
- Include the
salaryfineGrainedSalaryInformationtotalSalaryMinorworkingHoursfixedOvertimePay: Set tofalse.
hasProbationaryPeriod: Set toNO.
metadatataxonomyClassificationattributes- For requests with
jobTypesset to5QWDV(full-time, 正社員),8YWGX(third-party contract, 派遣社員), orT9BXE(fixed-term, 契約社員),attributesmust include at least one applicable SUID value from the Social Insurance table. - Must include at least one applicable SUID value from the Work System table.
- For requests with
The following is an example of posting a job with these additional fields:
mutation PostJob { jobsIngest { createSourcedJobPostings( input: { jobPostings: [ { body: { title: "カスタマーサポート" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">仕事内容</h2><div data-segment-type=\"content\" data-segment-label=\"JobDescription\">当社店舗でのカスタマーサポートの仕事になります。<br/>分からないことがあれば店舗のスタッフに相談できる環境になっています。</div><h2 data-segment-type=\"header\" data-segment-label=\"WorkHours\">勤務時間</h2><div data-segment-type=\"content\" data-segment-label=\"WorkHours\">平日09:00-18:00<br/>休憩1時間を含む</div>" descriptionFormatting: RICH_FORMATTING salary: { currency: "JPY" period: "MONTH" minimumMinor: 400000 fineGrainedSalaryInformation: { totalSalaryMinor: 400000 workingHours: 173 fixedOvertimePay: false } } hasProbationaryPeriod: NO location: { country: "JP" streetAddress: "〒108-0023 東京都港区芝浦3丁目1−21" } benefits: [] } metadata: { jobSource: { companyName: "株式会社テストその1" sourceName: "テストその1" sourceType: "Employer" d: [ { type: "<YOUR_ATS_IDENTIFIER>" id: "<YOUR_ATS_EMPLOYER_ID>" } ] } jobPostingId: "<YOUR_ATS_JOB_POSTING_ID>" taxonomyClassification: { jobTypes: ["8YWGX"] occupations: ["C3XKZ"] attributes: ["3943V", "9NEED"] } datePublished: "2023-09-20T09:00:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: [ { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } ] } applyMethod: { indeedApply: { postUrl: "https://example.com/applypost" apiToken: "<YOUR_INDEED_APPLY_API_TOKEN>" resumeFieldsRequired: [CERTIFICATIONS] resumeFieldsOptional: [EDUCATION] } } } ] } ) { results { jobPosting { sourcedPostingId } } } }}The following sections describe the additional required fields for job postings with and without fixed overtime pay and probationary periods.
No probationary period, no fixed overtime pay
| Base salary | Fixed overtime pay | |
|---|---|---|
| Normal period | ✅ | ❌ |
| Probationary period | ❌ | ❌ |
The previous code snippet is an example of this case. The required fields are described in that section.
No probationary period, has fixed overtime pay
| Base salary | Fixed overtime pay | |
|---|---|---|
| Normal period | ✅ | ✅ |
| Probationary period | ❌ | ❌ |
The following fields are required in addition to the fields in Job postings with certain job types:
bodydescription: In thePaysegment, enter the base salary and the fixed overtime pay, which is the number of covered overtime hours and additional payment for excess hours. See Job description formatting.salaryfineGrainedSalaryInformation- totalOvertimeHours
- fixedOvertimeSalaryMinor
- fixedOvertimePay: Set to
true.
The following is an example of posting a job with these additional fields:
mutation PostJob { jobsIngest { createSourcedJobPostings( input: { jobPostings: [ { body: { title: "カスタマーサポート" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">仕事内容</h2><div data-segment-type=\"content\" data-segment-label=\"JobDescription\">当社店舗でのカスタマーサポートの仕事になります。<br/>分からないことがあれば店舗のスタッフに相談できる環境になっています。</div><h2 data-segment-type=\"header\" data-segment-label=\"WorkHours\">勤務時間</h2><div data-segment-type=\"content\" data-segment-label=\"WorkHours\">平日09:00-18:00<br/>休憩1時間を含む</div><h2 data-segment-type=\"header\" data-segment-label=\"Pay\">給与</h2><div data-segment-type=\"content\" data-segment-label=\"Pay\">月給: 40万円~<br/><br/>固定残業代 5万円(20時間分)を含む<br/>固定残業時間を超えた勤務時間については別途残業代を支給します。</div>" descriptionFormatting: RICH_FORMATTING salary: { currency: "JPY" period: "MONTH" minimumMinor: 400000 fineGrainedSalaryInformation: { totalSalaryMinor: 350000 workingHours: 173 fixedOvertimePay: true totalOvertimeHours: 20 fixedOvertimeSalaryMinor: 50000 } } hasProbationaryPeriod: NO location: { country: "JP" streetAddress: "〒108-0023 東京都港区芝浦3丁目1−21" } benefits: [] } metadata: { jobSource: { companyName: "株式会社テストその1" sourceName: "テストその1" sourceType: "Employer" employerIds: [ { type: "<YOUR_ATS_IDENTIFIER>" id: "<YOUR_ATS_EMPLOYER_ID>" } ] } jobPostingId: "<YOUR_ATS_JOB_POSTING_ID>" taxonomyClassification: { jobTypes: ["8YWGX"] occupations: ["C3XKZ"] attributes: ["3943V", "9NEED"] } datePublished: "2023-09-20T09:00:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: [ { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } ] } applyMethod: { indeedApply: { postUrl: "https://example.com/applypost" apiToken: "<YOUR_INDEED_APPLY_API_TOKEN>" resumeFieldsRequired: [CERTIFICATIONS] resumeFieldsOptional: [EDUCATION] } } } ] } ) { results { jobPosting { sourcedPostingId } } } }}Has probationary period, no fixed overtime pay
| Base salary | Fixed overtime pay | |
|---|---|---|
| Normal period | ✅ | ❌ |
| Probationary period | ✅ | ❌ |
The following fields are required in addition to the fields in Job postings with certain job types:
bodyhasProbationaryPeriod: Set toYES.probationaryPeriodprobationaryConditions: Explain the duration of the probationary period and any differences in employment status, salary, or other conditions.probationarySalarycurrencyminimumMinorperiodfineGrainedSalaryInformationtotalSalaryMinorworkingHoursfixedOvertimePay: Set tofalse.
The following is an example of posting a job with these additional fields:
mutation PostJob { jobsIngest { createSourcedJobPostings( input: { jobPostings: [ { body: { title: "カスタマーサポート" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">仕事内容</h2><div data-segment-type=\"content\" data-segment-label=\"JobDescription\">当社店舗でのカスタマーサポートの仕事になります。<br/>分からないことがあれば店舗のスタッフに相談できる環境になっています。</div><h2 data-segment-type=\"header\" data-segment-label=\"WorkHours\">勤務時間</h2><div data-segment-type=\"content\" data-segment-label=\"WorkHours\">平日09:00-18:00<br/>休憩1時間を含む</div>" descriptionFormatting: RICH_FORMATTING salary: { currency: "JPY" period: "MONTH" minimumMinor: 400000 fineGrainedSalaryInformation: { totalSalaryMinor: 400000 workingHours: 173 fixedOvertimePay: false } } hasProbationaryPeriod: YES probationaryPeriod: { probationaryConditions: "最初1ヶ月は試用期間\n月給: 230000円~\n他の条件は通常と同様\n試用期間には業界や自社商品などに関する研修を行います。\n固定残業代:なし" probationarySalary: { currency: "JPY" minimumMinor: 230000 period: "MONTH" fineGrainedSalaryInformation: { totalSalaryMinor: 230000 workingHours: 173 fixedOvertimePay: false } } } location: { country: "JP" streetAddress: "〒108-0023 東京都港区芝浦3丁目1−21" } benefits: [] } metadata: { jobSource: { companyName: "株式会社テストその1" sourceName: "テストその1" sourceType: "Employer" employerIds: [ { type: "<YOUR_ATS_IDENTIFIER>" id: "<YOUR_ATS_EMPLOYER_ID>" } ] } jobPostingId: "<YOUR_ATS_JOB_POSTING_ID>" taxonomyClassification: { jobTypes: ["8YWGX"] occupations: ["C3XKZ"] attributes: ["3943V", "9NEED"] } datePublished: "2023-09-20T09:00:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: [ { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } ] } applyMethod: { indeedApply: { postUrl: "https://example.com/applypost" apiToken: "<YOUR_INDEED_APPLY_API_TOKEN>" resumeFieldsRequired: [CERTIFICATIONS] resumeFieldsOptional: [EDUCATION] } } } ] } ) { results { jobPosting { sourcedPostingId } } } }}Has probationary period, fixed overtime pay for normal period only
| Base salary | Fixed overtime pay | |
|---|---|---|
| Normal period | ✅ | ✅ |
| Probationary period | ✅ | ❌ |
The following fields are required in addition to the fields in Job postings with certain job types:
bodydescription: Explain the base salary, probationary period, and fixed overtime pay in thePaysegment. For more information, see Job description formatting.salaryfineGrainedSalaryInformationtotalOvertimeHoursfixedOvertimeSalaryMinorfixedOvertimePay: Set totrue.
hasProbationaryPeriod: Set toYES.probationaryPeriodprobationaryConditions: Explain the duration of the probationary period and any differences in employment status, salary, or other conditions.probationarySalarycurrencyminimumMinorperiodfineGrainedSalaryInformationtotalSalaryMinorworkingHoursfixedOvertimePay: Set tofalse.
The following is an example of posting a job with these additional fields:
mutation PostJob { jobsIngest { createSourcedJobPostings( input: { jobPostings: [ { body: { title: "カスタマーサポート" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">仕事内容</h2><div data-segment-type=\"content\" data-segment-label=\"JobDescription\">当社店舗でのカスタマーサポートの仕事になります。<br/>分からないことがあれば店舗のスタッフに相談できる環境になっています。</div><h2 data-segment-type=\"header\" data-segment-label=\"WorkHours\">勤務時間</h2><div data-segment-type=\"content\" data-segment-label=\"WorkHours\">平日09:00-18:00<br/>休憩1時間を含む</div><h2 data-segment-type=\"header\" data-segment-label=\"Pay\">給与</h2><div data-segment-type=\"content\" data-segment-label=\"Pay\">月給: 40万円~<br/><br/>固定残業代 5万円(20時間分)を含む<br/>固定残業時間を超えた勤務時間については別途残業代を支給します。</div>" descriptionFormatting: RICH_FORMATTING salary: { currency: "JPY" period: "MONTH" minimumMinor: 400000 fineGrainedSalaryInformation: { totalSalaryMinor: 350000 workingHours: 173 fixedOvertimePay: true totalOvertimeHours: 20 fixedOvertimeSalaryMinor: 50000 } } hasProbationaryPeriod: YES probationaryPeriod: { probationaryConditions: "最初1ヶ月は試用期間\n月給: 230000円~\n他の条件は通常と同様\n試用期間には業界や自社商品などに関する研修を行います。\n固定残業代:なし" probationarySalary: { currency: "JPY" minimumMinor: 230000 period: "MONTH" fineGrainedSalaryInformation: { totalSalaryMinor: 230000 workingHours: 173 fixedOvertimePay: false } } } location: { country: "JP" streetAddress: "〒108-0023 東京都港区芝浦3丁目1−21" } benefits: [] } metadata: { jobSource: { companyName: "株式会社テストその1" sourceName: "テストその1" sourceType: "Employer" employerIds: [ { type: "<YOUR_ATS_IDENTIFIER>" id: "<YOUR_ATS_EMPLOYER_ID>" } ] } jobPostingId: "<YOUR_ATS_JOB_POSTING_ID>" taxonomyClassification: { jobTypes: ["8YWGX"] occupations: ["C3XKZ"] attributes: ["3943V", "9NEED"] } datePublished: "2023-09-20T09:00:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: [ { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } ] } applyMethod: { indeedApply: { postUrl: "https://example.com/applypost" apiToken: "<YOUR_INDEED_APPLY_API_TOKEN>" resumeFieldsRequired: [CERTIFICATIONS] resumeFieldsOptional: [EDUCATION] } } } ] } ) { results { jobPosting { sourcedPostingId } } } }}Fixed overtime pay for both normal and probationary periods
| Base salary | Fixed overtime pay | |
|---|---|---|
| Normal period | ✅ | ✅ |
| Probationary period | ✅ | ✅ |
The following fields are required in addition to the fields in Job postings with certain job types:
bodydescription: Explain the base salary, probationary period, and fixed overtime pay in thePaysegment. For more information, see Job description formatting.salaryfineGrainedSalaryInformationtotalOvertimeHoursfixedOvertimeSalaryMinorfixedOvertimePay: Set totrue.
hasProbationaryPeriod: Set toYES.probationaryPeriodprobationaryConditions: Explain the duration of the probationary period and any differences in employment status, salary, or other conditions.probationarySalarycurrencyminimumMinorperiodfineGrainedSalaryInformation
The following is an example of posting a job with these additional fields:
mutation PostJob { jobsIngest { createSourcedJobPostings( input: { jobPostings: [ { body: { title: "カスタマーサポート" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">仕事内容</h2><div data-segment-type=\"content\" data-segment-label=\"JobDescription\">当社店舗でのカスタマーサポートの仕事になります。<br/>分からないことがあれば店舗のスタッフに相談できる環境になっています。</div><h2 data-segment-type=\"header\" data-segment-label=\"WorkHours\">勤務時間</h2><div data-segment-type=\"content\" data-segment-label=\"WorkHours\">平日09:00-18:00<br/>休憩1時間を含む</div><h2 data-segment-type=\"header\" data-segment-label=\"Pay\">給与</h2><div data-segment-type=\"content\" data-segment-label=\"Pay\">月給: 40万円~<br/><br/>固定残業代 5万円(20時間分)を含む<br/>固定残業時間を超えた勤務時間については別途残業代を支給します。</div>" descriptionFormatting: RICH_FORMATTING salary: { currency: "JPY" period: "MONTH" minimumMinor: 400000 fineGrainedSalaryInformation: { totalSalaryMinor: 350000 workingHours: 173 fixedOvertimePay: true totalOvertimeHours: 20 fixedOvertimeSalaryMinor: 50000 } } hasProbationaryPeriod: YES probationaryPeriod: { probationaryConditions: "最初1ヶ月は試用期間\n月給: 230000円~\n他の条件は通常と同様\n試用期間には業界や自社商品などに関する研修を行います。\n固定残業代4万円(10時間分)を含む。\n固定残業時間を超えた勤務時間については別途残業代を支給します。" probationarySalary: { currency: "JPY" minimumMinor: 230000 period: "MONTH" fineGrainedSalaryInformation: { totalSalaryMinor: 190000 workingHours: 173 fixedOvertimePay: true totalOvertimeHours: 10 fixedOvertimeSalaryMinor: 40000 } } } location: { country: "JP" streetAddress: "〒108-0023 東京都港区芝浦3丁目1−21" } benefits: [] } metadata: { jobSource: { companyName: "株式会社テストその1" sourceName: "テストその1" sourceType: "Employer" employerIds: [ { type: "<YOUR_ATS_IDENTIFIER>" id: "<YOUR_ATS_EMPLOYER_ID>" } ] } jobPostingId: "<YOUR_ATS_JOB_POSTING_ID>" taxonomyClassification: { jobTypes: ["8YWGX"] occupations: ["C3XKZ"] attributes: ["3943V", "9NEED"] } datePublished: "2023-09-20T09:00:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: [ { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } ] } applyMethod: { indeedApply: { postUrl: "https://example.com/applypost" apiToken: "<YOUR_INDEED_APPLY_API_TOKEN>" resumeFieldsRequired: [CERTIFICATIONS] resumeFieldsOptional: [EDUCATION] } } } ] } ) { results { jobPosting { sourcedPostingId } } } }}