Skip to content

[auto] SDK update (major) — spec 587427a4ec8e29f25ff12a4b7a49d7a1261c4013 - #23

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
auto/sdk-update
Open

[auto] SDK update (major) — spec 587427a4ec8e29f25ff12a4b7a49d7a1261c4013#23
github-actions[bot] wants to merge 1 commit into
mainfrom
auto/sdk-update

Conversation

@github-actions

@github-actions github-actions Bot commented May 21, 2026

Copy link
Copy Markdown

Spec source

Semver classification

Bump level: major

Reason: Breaking changes detected. 901 ERR-level change(s): request-body-added-required, request-body-type-changed, request-parameter-default-value-removed, request-parameter-pattern-added, request-parameter-type-changed, request-property-any-of-removed, request-property-became-not-nullable, request-property-enum-value-removed, request-property-min-length-increased, request-property-type-changed, response-body-one-of-added, response-body-type-changed, response-media-type-removed, response-property-became-optional, response-property-list-of-types-widened, response-property-one-of-added, response-property-type-changed.

API changelog (from oasdiff)

API Changelog 1.0 vs. 1.0

API Changes

GET /api/v1/alert-configurations

  • endpoint added

POST /api/v1/alert-configurations

  • endpoint added

GET /api/v1/alert-configurations/{id}

  • endpoint added

PUT /api/v1/alert-configurations/{id}

  • endpoint added

GET /api/v1/alerts

  • endpoint added

POST /api/v1/applicant_tracking/application

  • the endpoint scheme security oauth was added to the API
  • added the non-success response with the status 429

GET /api/v1/applicant_tracking/applications

  • ⚠️ response property applications/items/applicant/avatar list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applications/items/job/title/id list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applications/items/rating list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property nextPageUrl list-of-types was widened by adding types null to media type application/json of response 200
  • the endpoint scheme security oauth was added to the API

GET /api/v1/applicant_tracking/applications/{applicationId}

  • ⚠️ response property applicant/address/addressLine1 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/address/addressLine2 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/address/city list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/address/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/address/state list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/address/zipcode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/availableStartDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/avatar list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/education/institution list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/linkedinUrl list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/phoneNumber list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/source list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/twitterUsername list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicant/websiteUrl list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property applicationReferences list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property attachmentCount list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property attachments list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property coverLetterFileId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property desiredSalary list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property job/hiringLead/avatar list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property job/hiringLead/jobTitle/id list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property job/hiringLead/jobTitle/label list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property job/title/id list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property movedFrom list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property movedTo list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property questionsAndAnswers/items/archivedDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property questionsAndAnswers/items/editedDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property questionsAndAnswers/items/editedEndDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property questionsAndAnswers/items/hasRevisions list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property questionsAndAnswers/items/isArchived list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property rating list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property referredBy list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property resumeFileId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property status/changedByUser/avatar list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property status/changedByUser/jobTitle/id list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property status/changedByUser/jobTitle/label list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ added subschema #1, subschema #2 to the applicant/address response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the applicant/education response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the applicant/education/level response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the job/hiringLead response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the job/hiringLead/jobTitle response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the status/changedByUser response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the status/changedByUser/jobTitle response property oneOf list for the response status 200
  • ⚠️ the applicant/address response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the applicant/education response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the applicant/education/level response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the job/hiringLead response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the job/hiringLead/jobTitle response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the status/changedByUser response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the status/changedByUser/jobTitle response's property type/format changed from object, null/to/`` for status 200
  • the endpoint scheme security oauth was added to the API
  • for the path request parameter applicationId, the type/format was generalized from integer/ to `string`/

POST /api/v1/applicant_tracking/applications/{applicationId}/comments

  • the endpoint scheme security oauth was added to the API
  • for the path request parameter applicationId, the type/format was generalized from integer/ to `string`/

POST /api/v1/applicant_tracking/applications/{applicationId}/status

  • the endpoint scheme security oauth was added to the API

GET /api/v1/applicant_tracking/jobs

  • ⚠️ response property items/hiringLead/avatar list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property items/hiringLead/jobTitle list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property items/postingUrl list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property items/title/id list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ added subschema #1, subschema #2 to the items/department response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the items/hiringLead response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the items/location response property oneOf list for the response status 200
  • ⚠️ the items/department response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the items/hiringLead response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the items/location response's property type/format changed from object, null/to/`` for status 200
  • the endpoint scheme security oauth was added to the API

GET /api/v1/applicant_tracking/locations

  • the endpoint scheme security oauth was added to the API

GET /api/v1/applicant_tracking/statuses

  • ⚠️ response property items/code list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property items/description list-of-types was widened by adding types null to media type application/json of response 200
  • the endpoint scheme security oauth was added to the API

GET /api/v1/benefit/company_benefit

  • ⚠️ response property companyBenefits/items/allowsCatchUp list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyBenefits/items/allowsSuperCatchUp list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyBenefits/items/benefitVendorId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyBenefits/items/companyDeductionId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyBenefits/items/deductionTypeId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyBenefits/items/endDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyBenefits/items/startDate list-of-types was widened by adding types null to media type application/json of response 200
  • added the optional property companyBenefits/items/editable to the response with the 200 status
  • added the optional property companyBenefits/items/isDraft to the response with the 200 status

GET /api/v1/benefit/employee_benefit

  • ⚠️ removed subschema #1, subschema #2, subschema #3 from the filters request property anyOf list
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/companyAmount list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/companyAmountType list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/companyAnnualMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/companyCapAmount list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/companyCapAmountType list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/companyPercentBasedOn list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/coverageLevel list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/currencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/deductionEndDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/deductionStartDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/employeeAmount list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/employeeAmountType list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/employeeAnnualMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/employeeCapAmount list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/employeeCapAmountType list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/employeeBenefit/items/employeePercentBasedOn list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employeeBenefits/items/payFrequency list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/benefit/member_benefit

  • ⚠️ response property members/items/coverages/items/events/items/monthlyPremiumInCents list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property members/items/coverages/items/events/items/premiumTierId list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/benefitcoverages

  • ⚠️ response property Benefit Coverages/items/benefitPlanId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Benefit Coverages/items/description list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/benefits/member-benefits

  • ⚠️ response property data/items/plans/items/dateRanges/items/endDate list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/benefits/settings/deduction_types/all

  • ⚠️ response property items/managedDeductionType list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property items/subTypes/items/managedDeductionType list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/calendar-events

  • endpoint added

PATCH /api/v1/company-profile-data/company-information

  • ⚠️ the request property address/line1 became not nullable
  • ⚠️ the request property address/line2 became not nullable
  • ⚠️ response property address/city list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property address/line1 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property address/line2 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property address/state list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property address/zip list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property displayName list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property industryCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property legalName list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property phone list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property subdomain list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property terminationDate list-of-types was widened by adding types null to media type application/json of response 200
  • request property address/line1 list-of-types was widened by adding types null to media type application/merge-patch+json
  • request property address/line2 list-of-types was widened by adding types null to media type application/merge-patch+json

PUT /api/v1/company-profile-data/industry-codes

  • ⚠️ response property company_industries/items/addedByUserId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property company_industries/items/addedYmdt list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/company_information

  • removed the non-success response with the status 403

GET /api/v1/compensation/benchmarks

  • ⚠️ response property jobLocationPairs/items/benchmarks/items/dataYear list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/benchmarks/items/sourceColor list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/benchmarks/items/sourceId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/benchmarks/items/values/originalCurrencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/benchmarks/items/values/originalMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/benchmarks/items/values/originalMedian list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/benchmarks/items/values/originalMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/employees/items/managerName list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/employees/items/managerTitle list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/internalJobPayBand/values/originalCurrencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/internalJobPayBand/values/originalMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/internalJobPayBand/values/originalMedian list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/internalJobPayBand/values/originalMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property jobLocationPairs/items/locationDetails/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ added subschema #1, subschema #2 to the jobLocationPairs/items/employees/items/department response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the jobLocationPairs/items/employees/items/division response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the jobLocationPairs/items/internalJobPayBand response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the jobLocationPairs/items/locationDetails response property oneOf list for the response status 200
  • ⚠️ the jobLocationPairs/items/employees/items/department response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the jobLocationPairs/items/employees/items/division response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the jobLocationPairs/items/internalJobPayBand response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the jobLocationPairs/items/locationDetails response's property type/format changed from object, null/to/`` for status 200
  • added the optional property jobLocationPairs/items/employees/items/annualizationFailed to the response with the 200 status
  • added the optional property jobLocationPairs/items/employees/items/paidPer to the response with the 200 status

POST /api/v1/compensation/benchmarks

  • ⚠️ response property savedBenchmark/benchmarkMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/benchmarkMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/benchmarkSource list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/benchmarkValue list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/companiesSurveyed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/currencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/dataYear list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/employeesSurveyed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalCompanySize list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalCountry list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalIndustry list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalJobDescription list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalJobTitle list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalLevel list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalLocation list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalSecondaryLocation list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/jobLocationId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/mercerJobCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/sourceDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/sourceId list-of-types was widened by adding types null to media type application/json of response 200
  • added the non-success response with the status 400
  • added the non-success response with the status 409

PUT /api/v1/compensation/benchmarks

  • ⚠️ response property savedBenchmark/benchmarkMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/benchmarkMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/benchmarkSource list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/benchmarkValue list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/companiesSurveyed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/currencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/dataYear list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/employeesSurveyed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalCompanySize list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalCountry list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalIndustry list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalJobDescription list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalJobTitle list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalLevel list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalLocation list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/externalSecondaryLocation list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/jobLocationId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/mercerJobCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/sourceDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property savedBenchmark/sourceId list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/compensation/benchmarks/details

  • ⚠️ response property benchmarkValues/items/createdYmdt list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property benchmarkValues/items/dataYear list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property benchmarkValues/items/jobTitle list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property benchmarkValues/items/lastEdited list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property benchmarkValues/items/sourceColorCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property benchmarkValues/items/sourceDate list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property benchmarkValues/items/updatedYmdt list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyPayRange/originalCurrencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyPayRange/originalMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyPayRange/originalMedian list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property companyPayRange/originalMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employees/items/compaRatio list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employees/items/compaRatioStatus list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employees/items/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employees/items/isRemote list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property employees/items/rangePenetration list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property internalJobPayBand/description list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property internalJobPayBand/originalCurrencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property internalJobPayBand/originalMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property internalJobPayBand/originalMedian list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property internalJobPayBand/originalMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property location list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property locationId list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/companiesSurveyed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/createdYmdt list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/dataYear list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/employeesSurveyed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/formattedJobDescription list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/jobDescription list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/jobLevel list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/lastReviewed list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/updatedYmdt list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/values/description list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/values/originalCurrencyCode list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/values/originalMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/values/originalMedian list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property mercerBenchmarkDetails/values/originalMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ added subschema #1, subschema #2 to the companyPayRange response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the employees/items/location response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the employees/items/varianceFromPayBand response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the internalJobPayBand response property oneOf list for the response status 200
  • ⚠️ added subschema #1, subschema #2 to the mercerBenchmarkDetails response property oneOf list for the response status 200
  • ⚠️ the companyPayRange response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the employees/items/location response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the employees/items/varianceFromPayBand response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the internalJobPayBand response's property type/format changed from object, null/to/`` for status 200
  • ⚠️ the mercerBenchmarkDetails response's property type/format changed from object, null/to/`` for status 200
  • added the optional property employees/items/annualizationFailed to the response with the 200 status
  • added the optional property employees/items/paidPer to the response with the 200 status

POST /api/v1/compensation/benchmarks/import

  • ⚠️ response property columnMap/items/expectedColumnKey list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/compensation/benchmarks/sources

  • ⚠️ response property items/colorCode list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/compensation/equity/settings

  • ⚠️ response property companyValuation list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property disclaimers list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property outstandingShares list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property pricePerShare list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property sliderMax list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property sliderMin list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property vestingConditions list-of-types was widened by adding types null to media type application/json of response 200

PUT /api/v1/compensation/equity/settings

  • endpoint added

POST /api/v1/compensation/planning_cycles

  • endpoint added

DELETE /api/v1/compensation/planning_cycles/{id}

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}

  • endpoint added

GET /api/v1/compensation/planning_cycles/{id}/admins

  • added the optional property admins to the response with the 200 status
  • added the optional property isFullAdmin to the response with the 200 status

POST /api/v1/compensation/planning_cycles/{id}/admins

  • endpoint added

DELETE /api/v1/compensation/planning_cycles/{id}/admins/{employeeId}

  • endpoint added

DELETE /api/v1/compensation/planning_cycles/{id}/approvals/employee/{employeeId}

  • endpoint added

POST /api/v1/compensation/planning_cycles/{id}/approvals/final_approver/{employeeId}

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}/approvals/{templateId}

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}/budgets/breakdown

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}/budgets/guidelines

  • endpoint added

POST /api/v1/compensation/planning_cycles/{id}/budgets/import

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}/change_comm/template

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}/complete

  • endpoint added

DELETE /api/v1/compensation/planning_cycles/{id}/employees

  • endpoint added

POST /api/v1/compensation/planning_cycles/{id}/employees

  • endpoint added

PUT /api/v1/compensation/planning_cycles/{id}/launch

  • endpoint added

POST /api/v1/compensation/planning_cycles/{id}/recommendations

  • endpoint added

POST /api/v1/compensation/planning_cycles/{id}/recommendations/send

  • endpoint added

GET /api/v1/compensation/tools

  • endpoint added

DELETE /api/v1/compensation/total_rewards/custom_disclaimer

  • endpoint added

PUT /api/v1/compensation/total_rewards/custom_disclaimer

  • endpoint added

DELETE /api/v1/compensation/total_rewards/employees

  • endpoint added

POST /api/v1/compensation/total_rewards/employees

  • endpoint added

PUT /api/v1/compensation/total_rewards/onboarding/{stepName}

  • endpoint added

GET /api/v1/compensation/total_rewards/{employeeId}

  • endpoint added

GET /api/v1/compensation/total_rewards/{employeeId}/printable

  • endpoint added

GET /api/v1/compensation/total_rewards/{employeeId}/statement

  • endpoint added

GET /api/v1/custom-reports

  • ⚠️ response property pagination/next_page list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property pagination/prev_page list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/custom-reports/legacy-field-map

  • endpoint added

GET /api/v1/custom-reports/legacy-id-map

  • endpoint added

GET /api/v1/custom-reports/{reportId}

  • ⚠️ response property pagination/next_page list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property pagination/prev_page list-of-types was widened by adding types null to media type application/json of response 200
  • added the optional property fields to the response with the 200 status

POST /api/v1/datasets/{datasetName}

  • ⚠️ the request property aggregations/defaultAggregation became not nullable
  • ⚠️ removed the enum value avg of the request property aggregations/defaultAggregation
  • ⚠️ removed the enum value count of the request property aggregations/defaultAggregation
  • ⚠️ removed the enum value max of the request property aggregations/defaultAggregation
  • ⚠️ removed the enum value min of the request property aggregations/defaultAggregation
  • ⚠️ removed the enum value sum of the request property aggregations/defaultAggregation
  • ⚠️ response property pagination/next_page list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property pagination/prev_page list-of-types was widened by adding types null to media type application/json of response 200
  • added the new optional request property sortBy/items/aggregationType
  • request property aggregations/defaultAggregation list-of-types was widened by adding types null to media type application/json

POST /api/v1/datasets/{datasetName}/field-options

  • ⚠️ the request property dependentFields became not nullable
  • ⚠️ the request property filters became not nullable
  • request property dependentFields list-of-types was widened by adding types null to media type application/json
  • request property filters list-of-types was widened by adding types null to media type application/json

GET /api/v1/datasets/{datasetName}/fields

  • ⚠️ response property pagination/next_page list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property pagination/prev_page list-of-types was widened by adding types null to media type application/json of response 200

GET /api/v1/employee-verifications/employees/{employeeId}

  • endpoint added

PUT /api/v1/employee-verifications/employees/{employeeId}/{verificationId}

  • endpoint added

GET /api/v1/employee-verifications/integration

  • endpoint added

PUT /api/v1/employee-verifications/integration

  • endpoint added

POST /api/v1/employee-verifications/users/{userId}/send-email

  • endpoint added

GET /api/v1/employeedependents

  • ⚠️ response property Employee Dependents/items/addressLine1 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/addressLine2 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/city list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/homePhone list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isStudent list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isUsCitizen list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/maskedSIN list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/maskedSSN list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/middleName list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/state list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/zipCode list-of-types was widened by adding types null to media type application/json of response 200
  • removed the no enum value from the Employee Dependents/items/isStudent response property for the response status 200
  • removed the no enum value from the Employee Dependents/items/isUsCitizen response property for the response status 200
  • removed the yes enum value from the Employee Dependents/items/isStudent response property for the response status 200
  • removed the yes enum value from the Employee Dependents/items/isUsCitizen response property for the response status 200

POST /api/v1/employeedependents

  • ⚠️ response property Employee Dependents/items/addressLine1 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/addressLine2 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/city list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/homePhone list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isStudent list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isUsCitizen list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/maskedSIN list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/maskedSSN list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/middleName list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/state list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/zipCode list-of-types was widened by adding types null to media type application/json of response 200
  • removed the no enum value from the Employee Dependents/items/isStudent response property for the response status 200
  • removed the no enum value from the Employee Dependents/items/isUsCitizen response property for the response status 200
  • removed the yes enum value from the Employee Dependents/items/isStudent response property for the response status 200
  • removed the yes enum value from the Employee Dependents/items/isUsCitizen response property for the response status 200

GET /api/v1/employeedependents/{id}

  • ⚠️ response property Employee Dependents/items/addressLine1 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/addressLine2 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/city list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/homePhone list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isStudent list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isUsCitizen list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/maskedSIN list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/maskedSSN list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/middleName list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/state list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/zipCode list-of-types was widened by adding types null to media type application/json of response 200
  • removed the no enum value from the Employee Dependents/items/isStudent response property for the response status 200
  • removed the no enum value from the Employee Dependents/items/isUsCitizen response property for the response status 200
  • removed the yes enum value from the Employee Dependents/items/isStudent response property for the response status 200
  • removed the yes enum value from the Employee Dependents/items/isUsCitizen response property for the response status 200

PUT /api/v1/employeedependents/{id}

  • ⚠️ response property Employee Dependents/items/addressLine1 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/addressLine2 list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/city list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/country list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/homePhone list-of-types was widened by adding types null to media type application/json of response 200
  • ⚠️ response property Employee Dependents/items/isStudent list-of-types was widened by adding types null to media type application/json of response 200

…changelog truncated to fit GitHub's PR body size limit. Full changelog available as .sdk-update/analysis/changelog.md in the workflow run: https://github.com/BambooHR/bhr-api-python/actions/runs/33446783631

Changes since last review
.github/workflows/sdk-update.yml                   |  16 +-
 .openapi-generator/FILES                           |  39 ++
 CLAUDE.md                                          |  29 +-
 Makefile                                           |  14 +-
 README.md                                          |  22 +
 bamboohr_sdk/__init__.py                           |  64 +++
 bamboohr_sdk/api/__init__.py                       |   1 +
 bamboohr_sdk/api/calendar_events_api.py            | 440 +++++++++++++++++++
 bamboohr_sdk/api/time_off_api.py                   | 410 +++++++++++++++++-
 bamboohr_sdk/client/bamboohr_client.py             | 273 +++++++++---
 bamboohr_sdk/models/__init__.py                    |  26 ++
 .../calendar_anniversary_calendar_event_v1.py      | 104 +++++
 .../models/calendar_birthday_calendar_event_v1.py  | 102 +++++
 .../models/calendar_calendar_event_person_v1.py    | 106 +++++
 .../calendar_calendar_events_list_response_v1.py   | 131 ++++++
 ..._calendar_events_list_response_v1_data_inner.py | 201 +++++++++
 ...endar_calendar_events_list_response_v1_links.py | 103 +++++
 ..._calendar_events_list_response_v1_links_next.py |  85 ++++
 ..._calendar_events_list_response_v1_links_prev.py |  85 ++++
 ...lendar_calendar_events_list_response_v1_meta.py |  90 ++++
 .../models/calendar_holiday_calendar_event_v1.py   | 102 +++++
 .../models/calendar_time_off_calendar_event_v1.py  | 109 +++++
 bamboohr_sdk/models/whos_out_list_response_v1.py   | 121 ++++++
 .../models/whos_out_list_response_v1_links.py      |  95 +++++
 .../models/whos_out_list_response_v1_links_next.py |  85 ++++
 .../models/whos_out_list_response_v1_links_prev.py |  85 ++++
 .../models/whos_out_list_response_v1_meta.py       | 110 +++++
 bamboohr_sdk/models/whos_out_person_v1.py          | 113 +++++
 bamboohr_sdk/models/whos_out_v1.py                 | 108 +++++
 docs/CalendarAnniversaryCalendarEventV1.md         |  35 ++
 docs/CalendarBirthdayCalendarEventV1.md            |  34 ++
 docs/CalendarCalendarEventPersonV1.md              |  35 ++
 docs/CalendarCalendarEventsListResponseV1.md       |  32 ++
 ...alendarCalendarEventsListResponseV1DataInner.md |  36 ++
 docs/CalendarCalendarEventsListResponseV1Links.md  |  31 ++
 ...alendarCalendarEventsListResponseV1LinksNext.md |  30 ++
 ...alendarCalendarEventsListResponseV1LinksPrev.md |  30 ++
 docs/CalendarCalendarEventsListResponseV1Meta.md   |  33 ++
 docs/CalendarEventsApi.md                          | 108 +++++
 docs/CalendarHolidayCalendarEventV1.md             |  34 ++
 docs/CalendarTimeOffCalendarEventV1.md             |  35 ++
 docs/TimeOffApi.md                                 | 100 +++++
 docs/WhosOutListResponseV1.md                      |  32 ++
 docs/WhosOutListResponseV1Links.md                 |  30 ++
 docs/WhosOutListResponseV1LinksNext.md             |  30 ++
 docs/WhosOutListResponseV1LinksPrev.md             |  30 ++
 docs/WhosOutListResponseV1Meta.md                  |  32 ++
 docs/WhosOutPersonV1.md                            |  35 ++
 docs/WhosOutV1.md                                  |  34 ++
 pyproject.toml                                     |  35 +-
 scripts/post_generate.py                           |  36 +-
 scripts/sync_accessors.py                          | 332 +++++++++++++++
 specs/public.yaml                                  | 469 +++++++++++++++++++++
 specs/spec-source.json                             |   6 +-
 test/test_calendar_events_api.py                   |  47 +++
 tests/test_bamboohr_client.py                      | 158 +++----
 tests/test_sync_accessors.py                       | 264 ++++++++++++
 57 files changed, 5222 insertions(+), 190 deletions(-)

This PR was opened automatically by the sdk-update workflow.
Trigger: workflow_dispatch.

@github-actions
github-actions Bot requested a review from a team as a code owner May 21, 2026 17:42
@github-actions github-actions Bot added auto-generated PR opened automatically by the sdk-update workflow breaking Contains breaking API changes (semver major) generation-failed make generate did not succeed on the latest run labels May 21, 2026
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec 8fa85884655b7e803f9fc1e39c7e6883439067a5 [auto] SDK update (major) — spec 5160588a6ab8c78a9cb1d1d4024f40076b8b8dcd May 29, 2026
drago1216 added a commit that referenced this pull request May 29, 2026
… RUF001/003 (#26)

Three coordinated changes addressing the false "generation-failed" label
that stuck on PR #23 after a successful generation run:

A. Decouple quality checks from each other (workflow YAML)
   Format / lint / smoke / test no longer cascade — they all gate on
   `steps.generate.outcome == 'success'` instead of chaining off each
   other. Format failing on an unfixable lint issue no longer hides
   the actual lint / smoke / test signal. Reviewers see every result
   on a single run.

B. Three-tier generation status (workflow YAML + build_pr_body.py)
   "Determine generation status" now emits one of:
     - success          everything green
     - quality-issues   generate succeeded; one or more downstream
                        checks (format/lint/smoke/test) failed.
                        SDK is structurally valid but has issues.
     - generation-failed make generate itself failed; SDK not buildable.

   The PR-create step toggles a matching label per tier — `quality-issues`
   and `generation-failed` are mutually exclusive, removed when not
   applicable. build_pr_body.py emits a softer WARNING banner for
   quality-issues and a stronger CAUTION banner for generation-failed
   (no banner on success).

   Bump version gate stays at `result == 'success'` only — quality issues
   block the auto-bump so a reviewer decides whether to merge as-is.

C. Add RUF001 + RUF003 to per-file-ignores for generated paths
   The 13 unfixable ruff errors that triggered yesterday's false failure
   were all RUF001 (ambiguous unicode in strings — curly quotes copied
   from spec descriptions). RUF002 was already ignored on those paths
   but the matching string/comment variants weren't. The smart quotes
   come from API designers' description text and aren't ambiguous in
   context; ruff is being pedantic about source we don't own.

Verified locally: build_pr_body.py renders all three banner variants
cleanly. The next sdk-update run should land cleanly green on the
example from PR #23.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec 5160588a6ab8c78a9cb1d1d4024f40076b8b8dcd [auto] SDK update (major) — spec ccb43979d65456775d0ef23a6b3ff9abce44a100 May 29, 2026
@github-actions github-actions Bot added quality-issues Generation succeeded but format/lint/smoke/test reported issues and removed generation-failed make generate did not succeed on the latest run labels May 29, 2026
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec ccb43979d65456775d0ef23a6b3ff9abce44a100 [auto] SDK update (major) — spec 17ee60b234a8ab0416594de30a956b61402342b4 Jun 1, 2026
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec 17ee60b234a8ab0416594de30a956b61402342b4 [auto] SDK update (major) — spec f29fe6f1631643b22c40c6bb62fdd3f0fe4c4fed Jun 1, 2026
@github-actions github-actions Bot removed the quality-issues Generation succeeded but format/lint/smoke/test reported issues label Jun 1, 2026
drago1216 added a commit that referenced this pull request Jun 1, 2026
[SPN-2931] Stop regen from deleting .github/ tree

PR #23 (auto/sdk-update) was deleting our entire .github/ directory on
every regen — CODEOWNERS, generate.yml, publish-pypi.yml,
publish-testpypi.yml, and sdk-update.yml itself all showed as removed
in the bot PR.

Root cause: scripts/post_generate.py runs

    shutil.rmtree(PROJECT_ROOT / ".github")

as part of its "cleanup generator artifacts" pass. That logic was
written when .github/ was 100% openapi-generator output (the Python
template still writes a default .github/workflows/python.yml). Since
then we've added our own workflows under .github/, but the cleanup
kept indiscriminately rm-rf'ing the whole tree.

Fix:
  1. Add .github/** to .openapi-generator-ignore so the generator
     never writes there in the first place. This makes the cleanup
     step a no-op for .github/ regardless of what the upstream
     template emits.
  2. Remove ".github" from post_generate.py's unwanted list with a
     comment explaining why it's intentionally absent (so a future
     maintainer doesn't re-add it).

Verified locally: ran `make generate` after the change; .github/
contents are byte-identical to before, git status reports a clean
working tree for the directory.

Next bot run on auto/sdk-update should drop the five .github
deletions from the diff.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec f29fe6f1631643b22c40c6bb62fdd3f0fe4c4fed [auto] SDK update (major) — spec 60e3a426b2be76e7e7ca22b44a89961068ddd29b Jun 1, 2026
drago1216 added a commit that referenced this pull request Jun 1, 2026
…imit (#30)

Mirror of bhr-api-php#83's fix. Our build_pr_body.py and sdk-update.yml
have the same shape (Python and PHP scripts started as a verbatim copy
of each other) and have the same latent bug: build_pr_body.py
unconditionally inlines the full oasdiff markdown changelog into the
PR body, and a major spec rewrite (e.g. PR #23's 863 ERR-level breaking
changes, ~100 KB of markdown) exceeds GitHub's hard 65,536-char PR
body cap.

The PHP repo hit it first because their workflow happened to trigger
against the latest spec; ours hasn't reproduced yet, but would the
next time the upstream spec has more than ~50 endpoint changes.

Fix: size-budget the changelog section. Build all other sections
optimistically, treat their total length as fixed cost, give the
changelog whatever budget is left under SAFE_BUDGET = 60,000 chars
(under the 65,536 hard cap, with headroom for joins, trailing
newlines, and gh's GraphQL serialization).

When the changelog overflows the available budget:
  - truncate_at_line() slices on a line boundary so we never cut
    mid-line
  - append a notice with the run URL so reviewers can find the full
    changelog at .sdk-update/analysis/changelog.md in the workflow run

build_pr_body.py gained a --run-url flag. The workflow passes
  ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
through an env var.

Verified locally (the PHP commit) with a synthetic 120K-char
changelog: output lands at ~60K, line-aligned, all downstream
sections intact.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec 60e3a426b2be76e7e7ca22b44a89961068ddd29b [auto] SDK update (major) — spec 609cfe8f52ef70cbb4e4f017affc183198c4051a Aug 31, 2026
@github-actions github-actions Bot added the quality-issues Generation succeeded but format/lint/smoke/test reported issues label Aug 31, 2026
@github-actions github-actions Bot changed the title [auto] SDK update (major) — spec 609cfe8f52ef70cbb4e4f017affc183198c4051a [auto] SDK update (major) — spec 587427a4ec8e29f25ff12a4b7a49d7a1261c4013 Aug 31, 2026
@github-actions github-actions Bot removed the quality-issues Generation succeeded but format/lint/smoke/test reported issues label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-generated PR opened automatically by the sdk-update workflow breaking Contains breaking API changes (semver major)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants