2026-08-17
GraphQL schema change log: 2026-08-17
📘 Documentation: Updated the GraphQL schema and the GraphQL API Reference with these changes:
-
[log] ✔ Description:
Seat body for adding a seat.On type
AddSeatBodyInputhas changed to:Body data for a new seat. -
[log] ✔ Input field
AddSeatBodyInput.locationdescription changed from:Location for the seat.To:
Seat location. -
[log] ✔ Input field
AddSeatBodyInput.salarydescription changed from:Salary for the seat.To:
Seat salary. -
[log] ✔ Description:
One seat add operation.On type
AddSeatInputhas changed to:One seat to add. -
[log] ✔ Input field
AddSeatInput.bodydescription changed from:Seat body data.To:
Seat body. -
[log] ✔ Input field
AddSeatInput.seatPostingIddescription changed from:Agency-provided identifier for the seat. Must be unique across all seats on the job. Use it in later `updateSeats` and `clearSeats` requests.To:
Agency-provided seat ID. Must be unique across all seats on the job. -
[log] ✔ Description:
Seat metadata for adding a seat.On type
AddSeatMetadataInputhas changed to:Metadata for a new seat. -
[log] ✔ Input field
AddSeatMetadataInput.taxonomyClassificationdescription changed from:Taxonomy classification for the seat.To:
Taxonomy classification. -
[log] ✔ Input field
AddSeatMetadataInput.trackingUrldescription changed from:Tracking URL for the seat.To:
Tracking URL. -
[log] ✔ Input field
AddSeatMetadataInput.urldescription changed from:Job URL for the seat.To:
Job URL. -
[log] ✔ Description:
Result for one seat add operation.On type
AddSeatResulthas changed to:Result for one seat add. -
[log] ✔ Field
AddSeatResult.employerJobIddescription changed from:Base64-encoded IRI of the employer job.To:
Employer job ID as a base64-encoded IRI. -
[log] ✔ Field
AddSeatResult.jobKeydescription changed from:Encrypted `aggJobId` for the seat. Pass it to `SeatIdentifierInput.jobKey` in `updateSeats` or `clearSeats`.`null` if the seat add failed.To:
Encrypted `aggJobId` for the seat returned by [`addSeats`](/api/job/mutations/jobsIngest/addSeats).Pass it to `SeatIdentifierInput.jobKey` in [`updateSeats`](/api/job/mutations/jobsIngest/updateSeats) or [`clearSeats`](/api/job/mutations/jobsIngest/clearSeats).If the seat add failed, the value is null. -
[log] ✔ Field
AddSeatResult.seatPostingIddescription changed from:Agency-provided seat identifier.To:
Agency-provided seat ID. -
[log] ✔ Field
AddSeatResult.sourcedPostingIddescription changed from:UUID form of the employer job ID.To:
Employer job ID as a UUID. -
[log] ✔ Description:
`addSeats` input.On type
AddSeatsInputhas changed to:Input for `addSeats`. -
[log] ✔ Input field
AddSeatsInput.seatAdditionsdescription changed from:Seat additions to process. Accepts one item.To:
Seat additions to process. -
[log] ✔ Description:
`addSeats` return type.On type
AddSeatsPayloadhas changed to:Payload for `addSeats`. -
[log] ✔ Description:
One seat clear operation.On type
ClearSeatInputhas changed to:One seat to remove. -
[log] ✔ Input field
ClearSeatInput.seatIdentifierdescription changed from:Seat to remove. Provide one field.To:
Seat to remove.Provide one field. -
[log] ✔ Description:
Result for one seat clear operation.On type
ClearSeatResulthas changed to:Result for one seat clear. -
[log] ✔ Field
ClearSeatResult.employerJobIddescription changed from:Base64-encoded IRI of the employer job.To:
Employer job ID as a base64-encoded IRI. -
[log] ✔ Field
ClearSeatResult.jobKeydescription changed from:Encrypted `aggJobId` for the seat.To:
Encrypted `aggJobId` for the seat returned by [`addSeats`](/api/job/mutations/jobsIngest/addSeats).Pass it to `SeatIdentifierInput.jobKey` in [`updateSeats`](/api/job/mutations/jobsIngest/updateSeats) or [`clearSeats`](/api/job/mutations/jobsIngest/clearSeats).If the seat add failed, the value is null. -
[log] ✔ Field
ClearSeatResult.seatPostingIddescription changed from:Agency-provided seat identifier.To:
Agency-provided seat ID. -
[log] ✔ Field
ClearSeatResult.sourcedPostingIddescription changed from:UUID form of the employer job ID.To:
Employer job ID as a UUID. -
[log] ✔ Description:
`clearSeats` input.On type
ClearSeatsInputhas changed to:Input for `clearSeats`. -
[log] ✔ Input field
ClearSeatsInput.seatRemovalsdescription changed from:Seat removals to process. Accepts one item.To:
Seat removals to process.Accepts one item. -
[log] ✔ Description:
`clearSeats` return type.On type
ClearSeatsPayloadhas changed to:Payload for `clearSeats`. -
[log] ✔ Description:
Clears updates from `updateSourcedJobPostings`.Not atomic. Errors can partially clear updates.On type
ClearSourcedJobPostingUpdateInputhas changed to:One job posting with updates from `updateSourcedJobPostings` to clear.Not atomic. Errors can partially clear updates. -
[log] ✔ Input field
ClearSourcedJobPostingUpdateInput.sourcedPostingIddescription changed from:Job post UUID from `createSourcedJobPostings`, or employer job ID as a UUID or base64-encoded [`EmployerJob`](/api/job/objects/EmployerJob) [IRI](/getstarted/iris).To:
Job post UUID from `createSourcedJobPostings`.Also accepts an employer job ID as a UUID or a base64-encoded [`EmployerJob`](/api/job/objects/EmployerJob) [IRI](/integration-basics/graphql-at-indeed/iris). -
[log] ✔ Description:
Return type for each `clearJobPostingUpdates` result.On type
ClearSourcedJobPostingUpdateResulthas changed to:Result for one `clearSourcedJobPostingUpdates` operation. -
[log] ✔ Field
ClearSourcedJobPostingUpdateResult.jobPostingdescription changed from:The cleared job posting, or null if nothing was cleared.To:
Cleared job posting. If nothing was cleared, null. -
[log] ✔ Description:
`clearSourcedJobPostingUpdates` input.On type
ClearSourcedJobPostingUpdatesInputhas changed to:Input for `clearSourcedJobPostingUpdates`. -
[log] ✔ Description:
Return type for `clearSourcedJobPostingUpdates`.On type
ClearSourcedJobPostingUpdatesPayloadhas changed to:Payload for `clearSourcedJobPostingUpdates`. -
[log] ✔ Field
ClearSourcedJobPostingUpdatesPayload.resultsdescription changed from:Results for each clear operation.Array items are never null, but `jobPosting` can be null if nothing was cleared.To:
Results for each clear. Array items are never null.If nothing was cleared, `jobPosting` can be null. -
[log] ✔ Description:
Date with time (isoformat)On type
DateTimehas changed to:Datetime as [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). -
[log] ✔ Description:
Identifies the employer job. Provide exactly one field: `sourcedPostingId` as a UUID, or `employerJobId` as a base64-encoded IRI.On type
EmployerJobIdentifierInputhas changed to:Identifies the employer job.Provide exactly one field: `sourcedPostingId` as a UUID, or `employerJobId` as a base64-encoded IRI. -
[log] ✔ Input field
EmployerJobIdentifierInput.employerJobIddescription changed from:Base64-encoded IRI from `EmployerJob`. Accepts values from `createSourcedJobPostings` or `EmployerJob`.To:
Base64-encoded IRI from `EmployerJob`.Accepts values from `createSourcedJobPostings` or `EmployerJob`. -
[log] ✔ Object type
JobsIngestMutationshas description:Job ingest mutations. -
[log] ✔ Description for argument
inputon fieldJobsIngestMutations.addSeatschanged from:nullTo:
Seat-add input. -
[log] ✔ Field
JobsIngestMutations.clearSeatsdescription changed from:Clears or expires seats from a job.To:
Clears or expires seats on a job. -
[log] ✔ Description for argument
inputon fieldJobsIngestMutations.clearSeatschanged from:nullTo:
Seat-clear input. -
[log] ✔ Description for argument
inputon fieldJobsIngestMutations.clearSourcedJobPostingUpdateschanged from:nullTo:
Clear-updates input. -
[log] ✔ Description for argument
inputon fieldJobsIngestMutations.updateSeatschanged from:nullTo:
Seat-update input. -
[log] ✔ Field
JobsIngestMutations.updateSourcedJobPostingsdescription changed from:Updates a sourced job. You must claim the job source before calling this mutation. Only one update is allowed per call.To:
Updates a sourced job.Claim the job source before calling this mutation.One update per call. -
[log] ✔ Description for argument
inputon fieldJobsIngestMutations.updateSourcedJobPostingschanged from:nullTo:
Job posting update input. -
[log] ✔ Input field
SeatIdentifierInput.jobKeydescription changed from:Encrypted `jobPostId` for the seats `JobPost`. Returned by `addSeats` and also available on `EmployerJobSeatMetaData`.To:
Encrypted `aggJobId` for the seat returned by [`addSeats`](/api/job/mutations/jobsIngest/addSeats).Pass it to `SeatIdentifierInput.jobKey` in [`updateSeats`](/api/job/mutations/jobsIngest/updateSeats) or [`clearSeats`](/api/job/mutations/jobsIngest/clearSeats).If the seat add failed, the value is null. -
[log] ✔ Description:
Salary for a seat. Use `maximumMinor` and `minimumMinor` for a range. For a fixed salary, set both fields to the same value.On type
SeatJobPostingSalaryInputhas changed to:Salary for a seat.Use `maximumMinor` and `minimumMinor` for a range.For a fixed salary, set both to the same value. -
[log] ✔ Input field
SeatLocationInput.countrydescription changed from:Country code. See [Supported language codes, country codes, and locales](https://docs.indeed.com/api/job/objects/CreateSourcedJobPostingInput#language-codes-and-locales).To:
Country code.See [Supported language codes, country codes, and locales](https://docs.indeed.com/api/job/objects/CreateSourcedJobPostingInput#language-codes-and-locales). -
[log] ✔ Input field
SeatLocationInput.latitudedescription changed from:Latitude for the job location.To:
Latitude. -
[log] ✔ Input field
SeatLocationInput.longitudedescription changed from:Longitude for the job location.To:
Longitude. -
[log] ✔ Input field
SeatLocationInput.streetAddressdescription changed from:Street address. Example: `1600 Pennsylvania Ave`.To:
Street address.Example: `1600 Pennsylvania Ave`. -
[log] ✔ Input field
SeatTaxonomyInput.attributesdescription changed from:Taxonomy attributes as [SUIDs](https://docs.indeed.com/getstarted/understanding-suids/#suid-format) or strings. Maximum 100 per seat.To:
Taxonomy attributes as [SUIDs](https://docs.indeed.com/getstarted/understanding-suids/#suid-format) or strings.Maximum 100 per seat. -
[log] ✔ Input field
SeatTaxonomyInput.remoteTypedescription changed from:Location flexibility. Omit this field or set it to `null` for non-remote jobs.Values: `Fully Remote`, `Hybrid Remote`.To:
Location flexibility.Omit or set to null for non-remote jobs.Values: `Fully Remote`, `Hybrid Remote`. -
[log] ✔ Description:
Return type for an accepted job update. Changes might not appear right away.On type
SourcedJobPostingUpdatehas changed to:Accepted job update.Changes might not appear right away. -
[log] ✔ Field
SourcedJobPostingUpdate.employerJobIddescription changed from:Employer job ID, base64-encoded as an [IRI](/getstarted/iris).To:
Employer job ID as a base64-encoded [IRI](/integration-basics/graphql-at-indeed/iris). -
[log] ✔ Description:
Seat body for updating a seat. All fields are optional. Provide only changed fields.On type
UpdateSeatBodyInputhas changed to:Body data for a seat update.All fields are optional.Provide only changed fields. -
[log] ✔ Input field
UpdateSeatBodyInput.locationdescription changed from:Updated location. Omit or set to `null` for no change.To:
Updated location. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Input field
UpdateSeatBodyInput.salarydescription changed from:Updated salary. Omit or set to `null` for no change.To:
Updated salary. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Description:
One seat update operation.On type
UpdateSeatInputhas changed to:One seat to update. -
[log] ✔ Input field
UpdateSeatInput.bodydescription changed from:Seat body data. Omit fields for no change.To:
Seat body. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Input field
UpdateSeatInput.metadatadescription changed from:Seat metadata. Omit fields for no change.To:
Seat metadata. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Description:
Seat metadata for updating a seat.On type
UpdateSeatMetadataInputhas changed to:Metadata for a seat update. -
[log] ✔ Input field
UpdateSeatMetadataInput.taxonomyClassificationdescription changed from:Taxonomy classification for the seat.To:
Taxonomy classification. -
[log] ✔ Input field
UpdateSeatMetadataInput.trackingUrldescription changed from:Tracking URL for the seat. Omit or set to `null` for no change.To:
Tracking URL.To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Input field
UpdateSeatMetadataInput.urldescription changed from:Job URL for the seat. Omit or set to `null` for no change.To:
Job URL.To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Field
UpdateSeatResult.employerJobIddescription changed from:Base64-encoded IRI of the employer job.To:
Employer job ID as a base64-encoded IRI. -
[log] ✔ Field
UpdateSeatResult.jobKeydescription changed from:Encrypted `aggJobId` for the seat.To:
Encrypted `aggJobId` for the seat returned by [`addSeats`](/api/job/mutations/jobsIngest/addSeats).Pass it to `SeatIdentifierInput.jobKey` in [`updateSeats`](/api/job/mutations/jobsIngest/updateSeats) or [`clearSeats`](/api/job/mutations/jobsIngest/clearSeats).If the seat add failed, the value is null. -
[log] ✔ Field
UpdateSeatResult.sourcedPostingIddescription changed from:UUID form of the employer job ID.To:
Employer job ID as a UUID. -
[log] ✔ Description:
`updateSeats` input.On type
UpdateSeatsInputhas changed to:Input for `updateSeats`. -
[log] ✔ Description:
Return type for `updateSeats`.On type
UpdateSeatsPayloadhas changed to:Payload for `updateSeats`. -
[log] ✔ Description:
Updated job body. See [`UpdateSourcedJobPostingInput.body`](https://docs.indeed.com/api/job/objects/UpdateSourcedJobPostingInput).On type
UpdateSourcedJobPostingBodyInputhas changed to:Updated job body.See [`UpdateSourcedJobPostingInput.body`](https://docs.indeed.com/api/job/objects/UpdateSourcedJobPostingInput). -
[log] ✔ Input field
UpdateSourcedJobPostingBodyInput.companyNamedescription changed from:Company name. Maximum 200 characters. Omit or set to `null` for no change.To:
Company name. Maximum 200 characters. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Input field
UpdateSourcedJobPostingBodyInput.descriptiondescription changed from:Job description. 30 to 20,000 characters. Omit or set to `null` for no change.To:
Job description shown to job seekers.* Plain text (`TEXT`): 30 to 20,000 characters.* HTML (`HTML`): at least 30 characters, at most 65,000 [UTF-8](https://www.rfc-editor.org/info/rfc3629/) bytes. Multibyte characters count toward the byte limit.To leave the value unchanged, omit this field or set it to null.Must match the job at [`SourcedJobPostingMetadataInput.url`](/api/job/objects/SourcedJobPostingMetadataInput).If the client uses HTML on job list or details pages, Indeed requires HTML for XML and API jobs unless there is a good reason not to. To send HTML, set `descriptionFormatting` to `RICH_FORMATTING`. See [Job description formatting](/job-sync-api/reference/job-description-formatting). -
[log] ✔ Input field
UpdateSourcedJobPostingBodyInput.descriptionFormattingdescription changed from:Description format. Omit to use the default `TEXT`.To:
Job description format. To send HTML, set this field to `RICH_FORMATTING`.See [Job description formatting](/job-sync-api/reference/job-description-formatting). -
[log] ✔ Input field
UpdateSourcedJobPostingBodyInput.jobLocationdescription changed from:Job location. Omit or set to `null` for no change.To:
Job location. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Input field
UpdateSourcedJobPostingBodyInput.salarydescription changed from:Job salary. Omit or set to `null` for no change.To:
Job salary. To leave the value unchanged, omit this field or set it to null.Every non-null `salary` object must include `period`, including when `maximumMinor` or `minimumMinor` is set to null to clear a value. -
[log] ✔ Input field
UpdateSourcedJobPostingBodyInput.titledescription changed from:Job title. Maximum 75 characters. Omit or set to `null` for no change.To:
Job title. Maximum 75 characters. To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Object type
UpdateSourcedJobPostingGeneralLocationInputhas description:City, region, postal code, and optional street address. -
[log] ✔ Input field
UpdateSourcedJobPostingGeneralLocationInput.streetAddressdescription changed from:Street address of the job location.Example: `1600 Pennsylvania Ave`.To:
Street address.Example: `1600 Pennsylvania Ave`. -
[log] ✔ Description:
Job posting update input.On type
UpdateSourcedJobPostingInputhas changed to:One job posting update. -
[log] ✔ Input field
UpdateSourcedJobPostingInput.sourcedPostingIddescription changed from:Employer job UUID from `createSourcedJobPostings`. Also accepts a base64-encoded IRI from `EmployerJob`.To:
Employer job UUID from `createSourcedJobPostings`.Also accepts a base64-encoded [IRI](/integration-basics/graphql-at-indeed/iris) from `EmployerJob`. -
[log] ✔ Description:
Job location update. Provide one field or the API returns an error.On type
UpdateSourcedJobPostingLocationInputhas changed to:Job location update.Provide one field or the API returns an error. -
[log] ✔ Input field
UpdateSourcedJobPostingLocationInput.generaldescription changed from:General location input. Accepts values from `cityRegionPostal` to specific addresses.To:
General location, from `cityRegionPostal` to a specific address. -
[log] ✔ Description:
Job metadata to update. Provide at least one field.Not atomic. Errors can cause partial updates.On type
UpdateSourcedJobPostingMetadataInputhas changed to:Job metadata to update. Not atomic. Errors can cause partial updates. -
[log] ✔ Input field
UpdateSourcedJobPostingMetadataInput.trackingUrldescription changed from:Job tracking URL.To:
Tracking URL. -
[log] ✔ Description:
Return type for each `updateSourcedJobPostings` result.On type
UpdateSourcedJobPostingResulthas changed to:Result for one `updateSourcedJobPostings` operation. -
[log] ✔ Field
UpdateSourcedJobPostingResult.jobPostingdescription changed from:Updated job posting, or null if the update was not accepted.To:
Updated job posting. Null if the update was not accepted. -
[log] ✔ Object type
UpdateSourcedJobPostingSalaryInputhas description:Salary update. -
[log] ✔ Input field
UpdateSourcedJobPostingSalaryInput.currencydescription changed from:Salary currency in ISO 4217 format, such as `USD`. Omit or set to `null` for no change.To:
Salary currency in ISO 4217 format, such as `USD`.To leave the value unchanged, omit this field or set it to null. -
[log] ✔ Input field
UpdateSourcedJobPostingSalaryInput.maximumMinordescription changed from:Maximum amount in local minor currency. Omit or set to `null` to clear.To:
Maximum amount in local minor currency.To clear, omit this field or set it to null.Every non-null `salary` object must include `period`, including when `maximumMinor` is set to null to clear a value. -
[log] ✔ Input field
UpdateSourcedJobPostingSalaryInput.minimumMinordescription changed from:Minimum amount in local minor currency. Omit or set to `null` to clear.To:
Minimum amount in local minor currency.To clear, omit this field or set it to null.Every non-null `salary` object must include `period`, including when `minimumMinor` is set to null to clear a value. -
[log] ✔ Input field
UpdateSourcedJobPostingSalaryInput.perioddescription changed from:Salary period.To:
Salary period.Every non-null `salary` object must include `period`, including when `maximumMinor` or `minimumMinor` is set to null to clear a value. -
[log] ✔ Description:
`updateSourcedJobPostings` input.On type
UpdateSourcedJobPostingsInputhas changed to:Input for `updateSourcedJobPostings`. -
[log] ✔ Description:
Return type for `updateSourcedJobPostings`.On type
UpdateSourcedJobPostingsPayloadhas changed to:Payload for `updateSourcedJobPostings`. -
[log] ✔ Field
UpdateSourcedJobPostingsPayload.resultsdescription changed from:Results for each update. Array items are never null, but `jobPosting` is null if the update was not accepted.To:
Results for each update. Array items are never null.`jobPosting` is null if the update was not accepted. -
[log] ✔ Description:
Well-formed URL. Specification: [RFC 2396/2732](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier)On type
WebUrlhas changed to:A well-formed URL ([RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986)).