From cf26cab6f573f1997ad64c3cd49add89b53339d2 Mon Sep 17 00:00:00 2001 From: "Aaron K. Clark" Date: Tue, 19 May 2026 08:37:40 -0500 Subject: [PATCH] docs(openapi): declare Idempotency-Replay on POST /v1/invoice 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/invoice. Same pattern as the prior 7 entities already shipped (customer / timeentry / worker / billingtype / inventoryitem / company / job). No behavior change — pure spec metadata. 742 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 0dd7c37..e79d93a 100644 --- a/app/config/openapi.js +++ b/app/config/openapi.js @@ -948,7 +948,14 @@ const spec = { security: [{ authKey: [] }], parameters: [idempotencyKeyHeader], requestBody: { required: true, content: { 'application/json': { schema: { $ref: '#/components/schemas/Invoice' } } } }, - 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/invoice/{id}': {