Skip to content

feat(API): include review_due_date in job responses#1205

Merged
Sven Dunemann (forelabs) merged 2 commits into
mainfrom
openapi-sync/strings-app-pr-17981
Jun 19, 2026
Merged

feat(API): include review_due_date in job responses#1205
Sven Dunemann (forelabs) merged 2 commits into
mainfrom
openapi-sync/strings-app-pr-17981

Conversation

@phrase-bot

Copy link
Copy Markdown
Collaborator

This PR was generated by the openapi-apply agent in response to a
/openapi-sync apply request on
Phrase-Engineering/strings-app#17981.

What changed in the API

  • All job-returning endpoints (GET /api/v2/projects/{project_id}/jobs, GET /api/v2/projects/{project_id}/jobs/{id}, POST, PATCH, and job action endpoints): review_due_date was previously absent from the response when the project does not have the review workflow feature enabled. It is now always present, returning null for projects without the review workflow. Clients that checked for the presence of this key as a signal will observe different behavior.
  • GET /api/v2/accounts/{account_id}/jobs: Same review_due_date change applies to the account-scoped job list.

Source

Notes for reviewers

  • make lint ran successfully for the swagger-cli validation step (main.yaml is valid) and the bundle step. The openapi-generator-cli validate step (run via lint.sh) could not execute because java is not installed in the CI environment where this agent runs — this is a pre-existing infrastructure constraint, not caused by the spec changes. The openapi-generator-cli output ended with No validation errors before the Java-not-found error, suggesting the validation logic did not find issues before the JVM invocation failed.
  • review_due_date was not previously present in schemas/job.yaml or schemas/job_details.yaml at all (not even as a conditional property), so no required array changes were needed.
  • The change was applied to both schemas/job.yaml (base shape, used by JobSerializer) and schemas/job_details.yaml (extended shape, used by JobDetailSerializer), following the existing convention for fields like automation_id and job_template_id which also appear in both files.
  • The proposal notes this is a potentially breaking change for clients that previously checked for the presence of review_due_date as a proxy for detecting review workflow status. The changelog entry here should document this.
  • Webhook payload schemas (JobWebhookSerializer received the same serializer change) are tracked in webhook_schemas/ which is synced separately from strings-app and is off-limits for this PR.

Opened automatically by the openapi-apply agent. Review the spec changes
against the linked strings-app PR; the agent does not vouch for correctness
beyond "the YAML parsed and the documented layout was followed."

@github-actions

Copy link
Copy Markdown
Contributor

API changelog (oasdiff)

Doc-only edits (descriptions, examples) do not appear here.

20 changes: 0 error, 0 warning, 20 info
info	[response-optional-property-added] at doc/compiled.json
	in API GET /accounts/{account_id}/jobs
		added the optional property `items/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API GET /projects/{project_id}/jobs
		added the optional property `items/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `201` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `201` status

info	[response-optional-property-added] at doc/compiled.json
	in API GET /projects/{project_id}/jobs/{id}
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API GET /projects/{project_id}/jobs/{id}
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API PATCH /projects/{project_id}/jobs/{id}
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API PATCH /projects/{project_id}/jobs/{id}
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/complete
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/complete
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/keys
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/keys
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/lock
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/lock
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/reopen
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/reopen
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/start
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/start
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/unlock
		added the optional property `allOf[subschema #1: job]/review_due_date` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /projects/{project_id}/jobs/{id}/unlock
		added the optional property `allOf[subschema #2: job_details]/review_due_date` to the response with the `200` status

@forelabs Sven Dunemann (forelabs) changed the title feat(API): always include review_due_date in job responses #SCD-1061 feat(API): include review_due_date in job responses Jun 19, 2026
Comment thread schemas/job.yaml Outdated
Comment thread schemas/job_details.yaml Outdated
Comment thread doc/compiled.json Outdated
Comment thread doc/compiled.json Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants