From 282f3599027e8a34f8d72bb01e55d2850a2ddd91 Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark" Date: Tue, 19 May 2026 09:44:15 -0500 Subject: [PATCH] docs(openapi): declare Idempotency-Replay on POST /v1/invoicejob 201 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of #245 — single-create POST OpenAPI Idempotency-Replay sweep. Adds Idempotency-Replay response-header declaration to the 201 response on POST /v1/invoicejob. Same pattern as the prior 9 entities already shipped (customer / timeentry / worker / billingtype / inventoryitem / company / job / invoice / customerpayment). No behavior change — pure spec metadata. 760 tests still pass. Co-Authored-By: Claude Opus 4.7 (1M context) --- app/config/openapi.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/config/openapi.js b/app/config/openapi.js index 6ae3c3c..c3ff0d9 100644 --- a/app/config/openapi.js +++ b/app/config/openapi.js @@ -1024,7 +1024,14 @@ const spec = { security: [{ authKey: [] }], parameters: [idempotencyKeyHeader], requestBody: { required: true, content: { 'application/json': { schema: { $ref: '#/components/schemas/InvoiceJob' } } } }, - responses: { 201: { description: 'Created' }, 400: { description: 'Bad request' }, 403: { description: 'Auth failure' } }, + responses: { + 201: { + description: 'Created', + headers: idempotencyReplayResponseHeader, + }, + 400: { description: 'Bad request' }, + 403: { description: 'Auth failure' }, + }, }, }, '/v1/invoicejob/{id}': {