@factpulse/sdk 4.0.2 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.openapi-generator/FILES +12 -2
  2. package/CHANGELOG.md +4 -4
  3. package/README.md +12 -0
  4. package/api/afnorpdppaapi.ts +17 -7
  5. package/api/async-tasks-api.ts +3 -0
  6. package/api/chorus-pro-api.ts +48 -0
  7. package/api/client-management-api.ts +360 -11
  8. package/api/downloads-api.ts +6 -0
  9. package/api/electronic-signature-api.ts +12 -0
  10. package/api/factur-xconversion-api.ts +95 -0
  11. package/api/factur-xgeneration-api.ts +9 -0
  12. package/api/factur-xpdfxmlverification-api.ts +9 -0
  13. package/api/factur-xvalidation-api.ts +11 -2
  14. package/api/flux10-ereporting-api.ts +18 -0
  15. package/api/flux6-invoice-lifecycle-cdarapi.ts +9 -0
  16. package/api/health-api.ts +3 -0
  17. package/common.ts +2 -1
  18. package/dist/api/afnorpdppaapi.d.ts +8 -4
  19. package/dist/api/afnorpdppaapi.js +16 -7
  20. package/dist/api/async-tasks-api.js +2 -0
  21. package/dist/api/chorus-pro-api.js +32 -0
  22. package/dist/api/client-management-api.d.ts +149 -8
  23. package/dist/api/client-management-api.js +326 -11
  24. package/dist/api/downloads-api.js +4 -0
  25. package/dist/api/electronic-signature-api.js +8 -0
  26. package/dist/api/factur-xconversion-api.d.ts +36 -0
  27. package/dist/api/factur-xconversion-api.js +87 -0
  28. package/dist/api/factur-xgeneration-api.js +6 -0
  29. package/dist/api/factur-xpdfxmlverification-api.js +6 -0
  30. package/dist/api/factur-xvalidation-api.js +6 -0
  31. package/dist/api/flux10-ereporting-api.js +12 -0
  32. package/dist/api/flux6-invoice-lifecycle-cdarapi.js +6 -0
  33. package/dist/api/health-api.js +2 -0
  34. package/dist/common.d.ts +1 -1
  35. package/dist/common.js +1 -0
  36. package/dist/esm/api/afnorpdppaapi.d.ts +8 -4
  37. package/dist/esm/api/afnorpdppaapi.js +17 -8
  38. package/dist/esm/api/async-tasks-api.js +3 -1
  39. package/dist/esm/api/chorus-pro-api.js +33 -1
  40. package/dist/esm/api/client-management-api.d.ts +149 -8
  41. package/dist/esm/api/client-management-api.js +327 -12
  42. package/dist/esm/api/downloads-api.js +5 -1
  43. package/dist/esm/api/electronic-signature-api.js +9 -1
  44. package/dist/esm/api/factur-xconversion-api.d.ts +36 -0
  45. package/dist/esm/api/factur-xconversion-api.js +88 -1
  46. package/dist/esm/api/factur-xgeneration-api.js +7 -1
  47. package/dist/esm/api/factur-xpdfxmlverification-api.js +7 -1
  48. package/dist/esm/api/factur-xvalidation-api.js +7 -1
  49. package/dist/esm/api/flux10-ereporting-api.js +13 -1
  50. package/dist/esm/api/flux6-invoice-lifecycle-cdarapi.js +7 -1
  51. package/dist/esm/api/health-api.js +3 -1
  52. package/dist/esm/common.d.ts +1 -1
  53. package/dist/esm/common.js +1 -0
  54. package/dist/esm/models/convert-resume-request.d.ts +6 -1
  55. package/dist/esm/models/facture-electronique-rest-api-schemas-validation-validation-error-response.d.ts +20 -0
  56. package/dist/esm/models/index.d.ts +6 -1
  57. package/dist/esm/models/index.js +6 -1
  58. package/dist/esm/models/key-rotation-request.d.ts +24 -0
  59. package/dist/esm/models/key-rotation-request.js +14 -0
  60. package/dist/esm/models/key-rotation-response.d.ts +29 -0
  61. package/dist/esm/models/key-rotation-response.js +14 -0
  62. package/dist/esm/models/pdpconfig-response.d.ts +1 -0
  63. package/dist/esm/models/pdpconfig-update-request.d.ts +7 -1
  64. package/dist/esm/models/pdpconfig-update-request.js +4 -1
  65. package/dist/esm/models/secret-status.d.ts +2 -0
  66. package/dist/esm/models/validate-cdarresponse.d.ts +3 -3
  67. package/dist/esm/models/validation-error-response.d.ts +12 -3
  68. package/dist/esm/models/{facture-electronique-rest-api-schemas-cdar-validation-error-response.d.ts → webhook-secret-delete-response.d.ts} +5 -10
  69. package/dist/esm/models/webhook-secret-delete-response.js +14 -0
  70. package/dist/esm/models/webhook-secret-generate-response.d.ts +32 -0
  71. package/dist/esm/models/webhook-secret-generate-response.js +14 -0
  72. package/dist/esm/models/webhook-secret-status-response.d.ts +21 -0
  73. package/dist/esm/models/webhook-secret-status-response.js +14 -0
  74. package/dist/models/convert-resume-request.d.ts +6 -1
  75. package/dist/models/facture-electronique-rest-api-schemas-validation-validation-error-response.d.ts +20 -0
  76. package/dist/models/index.d.ts +6 -1
  77. package/dist/models/index.js +6 -1
  78. package/dist/models/key-rotation-request.d.ts +24 -0
  79. package/dist/models/key-rotation-request.js +15 -0
  80. package/dist/models/key-rotation-response.d.ts +29 -0
  81. package/dist/models/key-rotation-response.js +15 -0
  82. package/dist/models/pdpconfig-response.d.ts +1 -0
  83. package/dist/models/pdpconfig-update-request.d.ts +7 -1
  84. package/dist/models/pdpconfig-update-request.js +5 -0
  85. package/dist/models/secret-status.d.ts +2 -0
  86. package/dist/models/validate-cdarresponse.d.ts +3 -3
  87. package/dist/models/validation-error-response.d.ts +12 -3
  88. package/dist/models/{facture-electronique-rest-api-schemas-cdar-validation-error-response.d.ts → webhook-secret-delete-response.d.ts} +5 -10
  89. package/dist/models/webhook-secret-delete-response.js +15 -0
  90. package/dist/models/webhook-secret-generate-response.d.ts +32 -0
  91. package/dist/models/webhook-secret-generate-response.js +15 -0
  92. package/dist/models/webhook-secret-status-response.d.ts +21 -0
  93. package/dist/models/webhook-secret-status-response.js +15 -0
  94. package/docs/AFNORPDPPAApi.md +5 -2
  95. package/docs/AsyncTasksApi.md +1 -1
  96. package/docs/ChorusProApi.md +16 -16
  97. package/docs/ClientManagementApi.md +249 -10
  98. package/docs/ConvertResumeRequest.md +5 -1
  99. package/docs/DownloadsApi.md +2 -2
  100. package/docs/ElectronicSignatureApi.md +4 -4
  101. package/docs/FacturXConversionApi.md +64 -4
  102. package/docs/FacturXGenerationApi.md +3 -3
  103. package/docs/FacturXPDFXMLVerificationApi.md +3 -3
  104. package/docs/FacturXValidationApi.md +3 -3
  105. package/docs/FactureElectroniqueRestApiSchemasValidationValidationErrorResponse.md +21 -0
  106. package/docs/Flux10EReportingApi.md +6 -6
  107. package/docs/Flux6InvoiceLifecycleCDARApi.md +3 -3
  108. package/docs/HealthApi.md +1 -1
  109. package/docs/KeyRotationRequest.md +23 -0
  110. package/docs/KeyRotationResponse.md +27 -0
  111. package/docs/PDPConfigResponse.md +2 -0
  112. package/docs/PDPConfigUpdateRequest.md +3 -1
  113. package/docs/SecretStatus.md +4 -0
  114. package/docs/ValidateCDARResponse.md +2 -2
  115. package/docs/ValidationErrorResponse.md +9 -3
  116. package/docs/WebhookSecretDeleteResponse.md +23 -0
  117. package/docs/WebhookSecretGenerateResponse.md +27 -0
  118. package/docs/WebhookSecretStatusResponse.md +23 -0
  119. package/models/convert-resume-request.ts +6 -1
  120. package/models/facture-electronique-rest-api-schemas-validation-validation-error-response.ts +26 -0
  121. package/models/index.ts +6 -1
  122. package/models/key-rotation-request.ts +30 -0
  123. package/models/key-rotation-response.ts +35 -0
  124. package/models/pdpconfig-response.ts +1 -0
  125. package/models/pdpconfig-update-request.ts +10 -1
  126. package/models/secret-status.ts +2 -0
  127. package/models/validate-cdarresponse.ts +3 -3
  128. package/models/validation-error-response.ts +12 -3
  129. package/models/{facture-electronique-rest-api-schemas-cdar-validation-error-response.ts → webhook-secret-delete-response.ts} +5 -10
  130. package/models/webhook-secret-generate-response.ts +38 -0
  131. package/models/webhook-secret-status-response.ts +27 -0
  132. package/package.json +1 -1
  133. package/docs/FactureElectroniqueRestApiSchemasCdarValidationErrorResponse.md +0 -27
  134. /package/dist/esm/models/{facture-electronique-rest-api-schemas-cdar-validation-error-response.js → facture-electronique-rest-api-schemas-validation-validation-error-response.js} +0 -0
  135. /package/dist/models/{facture-electronique-rest-api-schemas-cdar-validation-error-response.js → facture-electronique-rest-api-schemas-validation-validation-error-response.js} +0 -0
@@ -58,6 +58,8 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
58
58
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
59
59
  const localVarHeaderParameter = {};
60
60
  const localVarQueryParameter = {};
61
+ // authentication APIKeyHeader required
62
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
61
63
  // authentication HTTPBearer required
62
64
  // http bearer authentication required
63
65
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -90,6 +92,8 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
90
92
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
91
93
  const localVarHeaderParameter = {};
92
94
  const localVarQueryParameter = {};
95
+ // authentication APIKeyHeader required
96
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
93
97
  // authentication HTTPBearer required
94
98
  // http bearer authentication required
95
99
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -125,6 +129,78 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
125
129
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
126
130
  const localVarHeaderParameter = {};
127
131
  const localVarQueryParameter = {};
132
+ // authentication APIKeyHeader required
133
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
134
+ // authentication HTTPBearer required
135
+ // http bearer authentication required
136
+ yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
137
+ localVarHeaderParameter['Accept'] = 'application/json';
138
+ (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
139
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
140
+ localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
141
+ return {
142
+ url: (0, common_1.toPathString)(localVarUrlObj),
143
+ options: localVarRequestOptions,
144
+ };
145
+ }),
146
+ /**
147
+ * Delete the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **After deletion**: Webhooks for this client will use the global server key for HMAC signature instead of a client-specific key.
148
+ * @summary Delete webhook secret
149
+ * @param {string} uid
150
+ * @param {*} [options] Override http request option.
151
+ * @throws {RequiredError}
152
+ */
153
+ deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete: (uid_1, ...args_1) => __awaiter(this, [uid_1, ...args_1], void 0, function* (uid, options = {}) {
154
+ // verify required parameter 'uid' is not null or undefined
155
+ (0, common_1.assertParamExists)('deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete', 'uid', uid);
156
+ const localVarPath = `/api/v1/clients/{uid}/webhook-secret`
157
+ .replace(`{${"uid"}}`, encodeURIComponent(String(uid)));
158
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
159
+ const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
160
+ let baseOptions;
161
+ if (configuration) {
162
+ baseOptions = configuration.baseOptions;
163
+ }
164
+ const localVarRequestOptions = Object.assign(Object.assign({ method: 'DELETE' }, baseOptions), options);
165
+ const localVarHeaderParameter = {};
166
+ const localVarQueryParameter = {};
167
+ // authentication APIKeyHeader required
168
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
169
+ // authentication HTTPBearer required
170
+ // http bearer authentication required
171
+ yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
172
+ localVarHeaderParameter['Accept'] = 'application/json';
173
+ (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
174
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
175
+ localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
176
+ return {
177
+ url: (0, common_1.toPathString)(localVarUrlObj),
178
+ options: localVarRequestOptions,
179
+ };
180
+ }),
181
+ /**
182
+ * Generate or regenerate the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Important**: Save the returned secret immediately - it will never be shown again. The secret is used to sign webhooks sent by the server (HMAC-SHA256). **If a secret already exists**: It will be replaced by the new one.
183
+ * @summary Generate webhook secret
184
+ * @param {string} uid
185
+ * @param {*} [options] Override http request option.
186
+ * @throws {RequiredError}
187
+ */
188
+ generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost: (uid_1, ...args_1) => __awaiter(this, [uid_1, ...args_1], void 0, function* (uid, options = {}) {
189
+ // verify required parameter 'uid' is not null or undefined
190
+ (0, common_1.assertParamExists)('generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost', 'uid', uid);
191
+ const localVarPath = `/api/v1/clients/{uid}/webhook-secret/generate`
192
+ .replace(`{${"uid"}}`, encodeURIComponent(String(uid)));
193
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
194
+ const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
195
+ let baseOptions;
196
+ if (configuration) {
197
+ baseOptions = configuration.baseOptions;
198
+ }
199
+ const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
200
+ const localVarHeaderParameter = {};
201
+ const localVarQueryParameter = {};
202
+ // authentication APIKeyHeader required
203
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
128
204
  // authentication HTTPBearer required
129
205
  // http bearer authentication required
130
206
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -158,6 +234,8 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
158
234
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'GET' }, baseOptions), options);
159
235
  const localVarHeaderParameter = {};
160
236
  const localVarQueryParameter = {};
237
+ // authentication APIKeyHeader required
238
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
161
239
  // authentication HTTPBearer required
162
240
  // http bearer authentication required
163
241
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -191,6 +269,43 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
191
269
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'GET' }, baseOptions), options);
192
270
  const localVarHeaderParameter = {};
193
271
  const localVarQueryParameter = {};
272
+ // authentication APIKeyHeader required
273
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
274
+ // authentication HTTPBearer required
275
+ // http bearer authentication required
276
+ yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
277
+ localVarHeaderParameter['Accept'] = 'application/json';
278
+ (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
279
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
280
+ localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
281
+ return {
282
+ url: (0, common_1.toPathString)(localVarUrlObj),
283
+ options: localVarRequestOptions,
284
+ };
285
+ }),
286
+ /**
287
+ * Check if a webhook secret is configured for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Response**: - `hasSecret`: Whether a webhook secret is configured - `createdAt`: When the secret was created (if exists) **Note**: The secret value is never returned, only its status.
288
+ * @summary Get webhook secret status
289
+ * @param {string} uid
290
+ * @param {*} [options] Override http request option.
291
+ * @throws {RequiredError}
292
+ */
293
+ getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet: (uid_1, ...args_1) => __awaiter(this, [uid_1, ...args_1], void 0, function* (uid, options = {}) {
294
+ // verify required parameter 'uid' is not null or undefined
295
+ (0, common_1.assertParamExists)('getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet', 'uid', uid);
296
+ const localVarPath = `/api/v1/clients/{uid}/webhook-secret/status`
297
+ .replace(`{${"uid"}}`, encodeURIComponent(String(uid)));
298
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
299
+ const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
300
+ let baseOptions;
301
+ if (configuration) {
302
+ baseOptions = configuration.baseOptions;
303
+ }
304
+ const localVarRequestOptions = Object.assign(Object.assign({ method: 'GET' }, baseOptions), options);
305
+ const localVarHeaderParameter = {};
306
+ const localVarQueryParameter = {};
307
+ // authentication APIKeyHeader required
308
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
194
309
  // authentication HTTPBearer required
195
310
  // http bearer authentication required
196
311
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -222,6 +337,8 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
222
337
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'GET' }, baseOptions), options);
223
338
  const localVarHeaderParameter = {};
224
339
  const localVarQueryParameter = {};
340
+ // authentication APIKeyHeader required
341
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
225
342
  // authentication HTTPBearer required
226
343
  // http bearer authentication required
227
344
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -240,6 +357,46 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
240
357
  options: localVarRequestOptions,
241
358
  };
242
359
  }),
360
+ /**
361
+ * Rotate the client encryption key for all secrets in double encryption mode. **Scope**: Client level (JWT with client_uid that must match {uid}) **What this does**: 1. Decrypts all secrets (PDP, Chorus Pro) using the old key 2. Re-encrypts them using the new key 3. Saves to database **Important notes**: - Both keys must be base64-encoded AES-256 keys (32 bytes each) - The old key becomes invalid immediately after rotation - Only secrets encrypted with `encryptionMode: \"double\"` are affected - If the client has no double-encrypted secrets, returns 404 **Security**: - The old key must be valid (decryption is verified) - If decryption fails, rotation is aborted (atomic operation) - Neither key is logged or stored by the server
362
+ * @summary Rotate client encryption key
363
+ * @param {string} uid
364
+ * @param {KeyRotationRequest} keyRotationRequest
365
+ * @param {*} [options] Override http request option.
366
+ * @throws {RequiredError}
367
+ */
368
+ rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost: (uid_1, keyRotationRequest_1, ...args_1) => __awaiter(this, [uid_1, keyRotationRequest_1, ...args_1], void 0, function* (uid, keyRotationRequest, options = {}) {
369
+ // verify required parameter 'uid' is not null or undefined
370
+ (0, common_1.assertParamExists)('rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost', 'uid', uid);
371
+ // verify required parameter 'keyRotationRequest' is not null or undefined
372
+ (0, common_1.assertParamExists)('rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost', 'keyRotationRequest', keyRotationRequest);
373
+ const localVarPath = `/api/v1/clients/{uid}/rotate-encryption-key`
374
+ .replace(`{${"uid"}}`, encodeURIComponent(String(uid)));
375
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
376
+ const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL);
377
+ let baseOptions;
378
+ if (configuration) {
379
+ baseOptions = configuration.baseOptions;
380
+ }
381
+ const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
382
+ const localVarHeaderParameter = {};
383
+ const localVarQueryParameter = {};
384
+ // authentication APIKeyHeader required
385
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
386
+ // authentication HTTPBearer required
387
+ // http bearer authentication required
388
+ yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
389
+ localVarHeaderParameter['Content-Type'] = 'application/json';
390
+ localVarHeaderParameter['Accept'] = 'application/json';
391
+ (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
392
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
393
+ localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
394
+ localVarRequestOptions.data = (0, common_1.serializeDataIfNeeded)(keyRotationRequest, localVarRequestOptions, configuration);
395
+ return {
396
+ url: (0, common_1.toPathString)(localVarUrlObj),
397
+ options: localVarRequestOptions,
398
+ };
399
+ }),
243
400
  /**
244
401
  * Update client information (partial update). **Scope**: Client level (JWT with client_uid that must match {uid}) **Updatable fields**: - `name`: Client name - `description`: Description - `siret`: SIRET (14 digits) Only provided fields are updated.
245
402
  * @summary Update a client
@@ -264,6 +421,8 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
264
421
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'PATCH' }, baseOptions), options);
265
422
  const localVarHeaderParameter = {};
266
423
  const localVarQueryParameter = {};
424
+ // authentication APIKeyHeader required
425
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
267
426
  // authentication HTTPBearer required
268
427
  // http bearer authentication required
269
428
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -279,14 +438,15 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
279
438
  };
280
439
  }),
281
440
  /**
282
- * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
441
+ * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) - `encryptionMode`: Encryption mode (default: \"fernet\") - \"fernet\": Server-side encryption only - \"double\": Client AES-256-GCM + Server Fernet (requires X-Encryption-Key header) **Double Encryption Mode**: When `encryptionMode` is set to \"double\", you MUST also provide the `X-Encryption-Key` header containing a base64-encoded AES-256 key (32 bytes). This key is used to encrypt the `clientSecret` on the client side before the server encrypts it again with Fernet. The server cannot decrypt the secret without the client key. **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
283
442
  * @summary Configure client PDP
284
443
  * @param {string} uid
285
444
  * @param {PDPConfigUpdateRequest} pDPConfigUpdateRequest
445
+ * @param {string | null} [xEncryptionKey] Client encryption key for double encryption mode. Must be a base64-encoded AES-256 key (32 bytes). Required only when accessing resources encrypted with encryption_mode=\'double\'.
286
446
  * @param {*} [options] Override http request option.
287
447
  * @throws {RequiredError}
288
448
  */
289
- updatePdpConfigApiV1ClientsUidPdpConfigPut: (uid_1, pDPConfigUpdateRequest_1, ...args_1) => __awaiter(this, [uid_1, pDPConfigUpdateRequest_1, ...args_1], void 0, function* (uid, pDPConfigUpdateRequest, options = {}) {
449
+ updatePdpConfigApiV1ClientsUidPdpConfigPut: (uid_1, pDPConfigUpdateRequest_1, xEncryptionKey_1, ...args_1) => __awaiter(this, [uid_1, pDPConfigUpdateRequest_1, xEncryptionKey_1, ...args_1], void 0, function* (uid, pDPConfigUpdateRequest, xEncryptionKey, options = {}) {
290
450
  // verify required parameter 'uid' is not null or undefined
291
451
  (0, common_1.assertParamExists)('updatePdpConfigApiV1ClientsUidPdpConfigPut', 'uid', uid);
292
452
  // verify required parameter 'pDPConfigUpdateRequest' is not null or undefined
@@ -302,11 +462,16 @@ const ClientManagementApiAxiosParamCreator = function (configuration) {
302
462
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'PUT' }, baseOptions), options);
303
463
  const localVarHeaderParameter = {};
304
464
  const localVarQueryParameter = {};
465
+ // authentication APIKeyHeader required
466
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
305
467
  // authentication HTTPBearer required
306
468
  // http bearer authentication required
307
469
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
308
470
  localVarHeaderParameter['Content-Type'] = 'application/json';
309
471
  localVarHeaderParameter['Accept'] = 'application/json';
472
+ if (xEncryptionKey != null) {
473
+ localVarHeaderParameter['X-Encryption-Key'] = String(xEncryptionKey);
474
+ }
310
475
  (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter);
311
476
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
312
477
  localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers);
@@ -373,6 +538,38 @@ const ClientManagementApiFp = function (configuration) {
373
538
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
374
539
  });
375
540
  },
541
+ /**
542
+ * Delete the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **After deletion**: Webhooks for this client will use the global server key for HMAC signature instead of a client-specific key.
543
+ * @summary Delete webhook secret
544
+ * @param {string} uid
545
+ * @param {*} [options] Override http request option.
546
+ * @throws {RequiredError}
547
+ */
548
+ deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete(uid, options) {
549
+ return __awaiter(this, void 0, void 0, function* () {
550
+ var _a, _b, _c;
551
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete(uid, options);
552
+ const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
553
+ const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['ClientManagementApi.deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
554
+ return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
555
+ });
556
+ },
557
+ /**
558
+ * Generate or regenerate the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Important**: Save the returned secret immediately - it will never be shown again. The secret is used to sign webhooks sent by the server (HMAC-SHA256). **If a secret already exists**: It will be replaced by the new one.
559
+ * @summary Generate webhook secret
560
+ * @param {string} uid
561
+ * @param {*} [options] Override http request option.
562
+ * @throws {RequiredError}
563
+ */
564
+ generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost(uid, options) {
565
+ return __awaiter(this, void 0, void 0, function* () {
566
+ var _a, _b, _c;
567
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost(uid, options);
568
+ const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
569
+ const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['ClientManagementApi.generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
570
+ return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
571
+ });
572
+ },
376
573
  /**
377
574
  * Get details of a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: If the JWT contains a client_uid, it must match the {uid} in the URL, otherwise a 403 error is returned.
378
575
  * @summary Get client details
@@ -405,6 +602,22 @@ const ClientManagementApiFp = function (configuration) {
405
602
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
406
603
  });
407
604
  },
605
+ /**
606
+ * Check if a webhook secret is configured for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Response**: - `hasSecret`: Whether a webhook secret is configured - `createdAt`: When the secret was created (if exists) **Note**: The secret value is never returned, only its status.
607
+ * @summary Get webhook secret status
608
+ * @param {string} uid
609
+ * @param {*} [options] Override http request option.
610
+ * @throws {RequiredError}
611
+ */
612
+ getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet(uid, options) {
613
+ return __awaiter(this, void 0, void 0, function* () {
614
+ var _a, _b, _c;
615
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet(uid, options);
616
+ const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
617
+ const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['ClientManagementApi.getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
618
+ return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
619
+ });
620
+ },
408
621
  /**
409
622
  * Paginated list of clients for the account. **Scope**: Account level (JWT without client_uid) **Pagination**: - `page`: Page number (default: 1) - `pageSize`: Page size (default: 20, max: 100)
410
623
  * @summary List clients
@@ -422,6 +635,23 @@ const ClientManagementApiFp = function (configuration) {
422
635
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
423
636
  });
424
637
  },
638
+ /**
639
+ * Rotate the client encryption key for all secrets in double encryption mode. **Scope**: Client level (JWT with client_uid that must match {uid}) **What this does**: 1. Decrypts all secrets (PDP, Chorus Pro) using the old key 2. Re-encrypts them using the new key 3. Saves to database **Important notes**: - Both keys must be base64-encoded AES-256 keys (32 bytes each) - The old key becomes invalid immediately after rotation - Only secrets encrypted with `encryptionMode: \"double\"` are affected - If the client has no double-encrypted secrets, returns 404 **Security**: - The old key must be valid (decryption is verified) - If decryption fails, rotation is aborted (atomic operation) - Neither key is logged or stored by the server
640
+ * @summary Rotate client encryption key
641
+ * @param {string} uid
642
+ * @param {KeyRotationRequest} keyRotationRequest
643
+ * @param {*} [options] Override http request option.
644
+ * @throws {RequiredError}
645
+ */
646
+ rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost(uid, keyRotationRequest, options) {
647
+ return __awaiter(this, void 0, void 0, function* () {
648
+ var _a, _b, _c;
649
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost(uid, keyRotationRequest, options);
650
+ const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
651
+ const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['ClientManagementApi.rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
652
+ return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
653
+ });
654
+ },
425
655
  /**
426
656
  * Update client information (partial update). **Scope**: Client level (JWT with client_uid that must match {uid}) **Updatable fields**: - `name`: Client name - `description`: Description - `siret`: SIRET (14 digits) Only provided fields are updated.
427
657
  * @summary Update a client
@@ -440,17 +670,18 @@ const ClientManagementApiFp = function (configuration) {
440
670
  });
441
671
  },
442
672
  /**
443
- * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
673
+ * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) - `encryptionMode`: Encryption mode (default: \"fernet\") - \"fernet\": Server-side encryption only - \"double\": Client AES-256-GCM + Server Fernet (requires X-Encryption-Key header) **Double Encryption Mode**: When `encryptionMode` is set to \"double\", you MUST also provide the `X-Encryption-Key` header containing a base64-encoded AES-256 key (32 bytes). This key is used to encrypt the `clientSecret` on the client side before the server encrypts it again with Fernet. The server cannot decrypt the secret without the client key. **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
444
674
  * @summary Configure client PDP
445
675
  * @param {string} uid
446
676
  * @param {PDPConfigUpdateRequest} pDPConfigUpdateRequest
677
+ * @param {string | null} [xEncryptionKey] Client encryption key for double encryption mode. Must be a base64-encoded AES-256 key (32 bytes). Required only when accessing resources encrypted with encryption_mode=\'double\'.
447
678
  * @param {*} [options] Override http request option.
448
679
  * @throws {RequiredError}
449
680
  */
450
- updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, options) {
681
+ updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, xEncryptionKey, options) {
451
682
  return __awaiter(this, void 0, void 0, function* () {
452
683
  var _a, _b, _c;
453
- const localVarAxiosArgs = yield localVarAxiosParamCreator.updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, options);
684
+ const localVarAxiosArgs = yield localVarAxiosParamCreator.updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, xEncryptionKey, options);
454
685
  const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
455
686
  const localVarOperationServerBasePath = (_c = (_b = base_1.operationServerMap['ClientManagementApi.updatePdpConfigApiV1ClientsUidPdpConfigPut']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
456
687
  return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
@@ -495,6 +726,26 @@ const ClientManagementApiFactory = function (configuration, basePath, axios) {
495
726
  deactivateClientApiV1ClientsUidDesactiverPost(uid, options) {
496
727
  return localVarFp.deactivateClientApiV1ClientsUidDesactiverPost(uid, options).then((request) => request(axios, basePath));
497
728
  },
729
+ /**
730
+ * Delete the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **After deletion**: Webhooks for this client will use the global server key for HMAC signature instead of a client-specific key.
731
+ * @summary Delete webhook secret
732
+ * @param {string} uid
733
+ * @param {*} [options] Override http request option.
734
+ * @throws {RequiredError}
735
+ */
736
+ deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete(uid, options) {
737
+ return localVarFp.deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete(uid, options).then((request) => request(axios, basePath));
738
+ },
739
+ /**
740
+ * Generate or regenerate the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Important**: Save the returned secret immediately - it will never be shown again. The secret is used to sign webhooks sent by the server (HMAC-SHA256). **If a secret already exists**: It will be replaced by the new one.
741
+ * @summary Generate webhook secret
742
+ * @param {string} uid
743
+ * @param {*} [options] Override http request option.
744
+ * @throws {RequiredError}
745
+ */
746
+ generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost(uid, options) {
747
+ return localVarFp.generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost(uid, options).then((request) => request(axios, basePath));
748
+ },
498
749
  /**
499
750
  * Get details of a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: If the JWT contains a client_uid, it must match the {uid} in the URL, otherwise a 403 error is returned.
500
751
  * @summary Get client details
@@ -515,6 +766,16 @@ const ClientManagementApiFactory = function (configuration, basePath, axios) {
515
766
  getPdpConfigApiV1ClientsUidPdpConfigGet(uid, options) {
516
767
  return localVarFp.getPdpConfigApiV1ClientsUidPdpConfigGet(uid, options).then((request) => request(axios, basePath));
517
768
  },
769
+ /**
770
+ * Check if a webhook secret is configured for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Response**: - `hasSecret`: Whether a webhook secret is configured - `createdAt`: When the secret was created (if exists) **Note**: The secret value is never returned, only its status.
771
+ * @summary Get webhook secret status
772
+ * @param {string} uid
773
+ * @param {*} [options] Override http request option.
774
+ * @throws {RequiredError}
775
+ */
776
+ getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet(uid, options) {
777
+ return localVarFp.getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet(uid, options).then((request) => request(axios, basePath));
778
+ },
518
779
  /**
519
780
  * Paginated list of clients for the account. **Scope**: Account level (JWT without client_uid) **Pagination**: - `page`: Page number (default: 1) - `pageSize`: Page size (default: 20, max: 100)
520
781
  * @summary List clients
@@ -526,6 +787,17 @@ const ClientManagementApiFactory = function (configuration, basePath, axios) {
526
787
  listClientsApiV1ClientsGet(page, pageSize, options) {
527
788
  return localVarFp.listClientsApiV1ClientsGet(page, pageSize, options).then((request) => request(axios, basePath));
528
789
  },
790
+ /**
791
+ * Rotate the client encryption key for all secrets in double encryption mode. **Scope**: Client level (JWT with client_uid that must match {uid}) **What this does**: 1. Decrypts all secrets (PDP, Chorus Pro) using the old key 2. Re-encrypts them using the new key 3. Saves to database **Important notes**: - Both keys must be base64-encoded AES-256 keys (32 bytes each) - The old key becomes invalid immediately after rotation - Only secrets encrypted with `encryptionMode: \"double\"` are affected - If the client has no double-encrypted secrets, returns 404 **Security**: - The old key must be valid (decryption is verified) - If decryption fails, rotation is aborted (atomic operation) - Neither key is logged or stored by the server
792
+ * @summary Rotate client encryption key
793
+ * @param {string} uid
794
+ * @param {KeyRotationRequest} keyRotationRequest
795
+ * @param {*} [options] Override http request option.
796
+ * @throws {RequiredError}
797
+ */
798
+ rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost(uid, keyRotationRequest, options) {
799
+ return localVarFp.rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost(uid, keyRotationRequest, options).then((request) => request(axios, basePath));
800
+ },
529
801
  /**
530
802
  * Update client information (partial update). **Scope**: Client level (JWT with client_uid that must match {uid}) **Updatable fields**: - `name`: Client name - `description`: Description - `siret`: SIRET (14 digits) Only provided fields are updated.
531
803
  * @summary Update a client
@@ -538,15 +810,16 @@ const ClientManagementApiFactory = function (configuration, basePath, axios) {
538
810
  return localVarFp.updateClientApiV1ClientsUidPatch(uid, clientUpdateRequest, options).then((request) => request(axios, basePath));
539
811
  },
540
812
  /**
541
- * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
813
+ * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) - `encryptionMode`: Encryption mode (default: \"fernet\") - \"fernet\": Server-side encryption only - \"double\": Client AES-256-GCM + Server Fernet (requires X-Encryption-Key header) **Double Encryption Mode**: When `encryptionMode` is set to \"double\", you MUST also provide the `X-Encryption-Key` header containing a base64-encoded AES-256 key (32 bytes). This key is used to encrypt the `clientSecret` on the client side before the server encrypts it again with Fernet. The server cannot decrypt the secret without the client key. **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
542
814
  * @summary Configure client PDP
543
815
  * @param {string} uid
544
816
  * @param {PDPConfigUpdateRequest} pDPConfigUpdateRequest
817
+ * @param {string | null} [xEncryptionKey] Client encryption key for double encryption mode. Must be a base64-encoded AES-256 key (32 bytes). Required only when accessing resources encrypted with encryption_mode=\'double\'.
545
818
  * @param {*} [options] Override http request option.
546
819
  * @throws {RequiredError}
547
820
  */
548
- updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, options) {
549
- return localVarFp.updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, options).then((request) => request(axios, basePath));
821
+ updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, xEncryptionKey, options) {
822
+ return localVarFp.updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, xEncryptionKey, options).then((request) => request(axios, basePath));
550
823
  },
551
824
  };
552
825
  };
@@ -585,6 +858,26 @@ class ClientManagementApi extends base_1.BaseAPI {
585
858
  deactivateClientApiV1ClientsUidDesactiverPost(uid, options) {
586
859
  return (0, exports.ClientManagementApiFp)(this.configuration).deactivateClientApiV1ClientsUidDesactiverPost(uid, options).then((request) => request(this.axios, this.basePath));
587
860
  }
861
+ /**
862
+ * Delete the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **After deletion**: Webhooks for this client will use the global server key for HMAC signature instead of a client-specific key.
863
+ * @summary Delete webhook secret
864
+ * @param {string} uid
865
+ * @param {*} [options] Override http request option.
866
+ * @throws {RequiredError}
867
+ */
868
+ deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete(uid, options) {
869
+ return (0, exports.ClientManagementApiFp)(this.configuration).deleteWebhookSecretApiV1ClientsUidWebhookSecretDelete(uid, options).then((request) => request(this.axios, this.basePath));
870
+ }
871
+ /**
872
+ * Generate or regenerate the webhook secret for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Important**: Save the returned secret immediately - it will never be shown again. The secret is used to sign webhooks sent by the server (HMAC-SHA256). **If a secret already exists**: It will be replaced by the new one.
873
+ * @summary Generate webhook secret
874
+ * @param {string} uid
875
+ * @param {*} [options] Override http request option.
876
+ * @throws {RequiredError}
877
+ */
878
+ generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost(uid, options) {
879
+ return (0, exports.ClientManagementApiFp)(this.configuration).generateWebhookSecretApiV1ClientsUidWebhookSecretGeneratePost(uid, options).then((request) => request(this.axios, this.basePath));
880
+ }
588
881
  /**
589
882
  * Get details of a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Security**: If the JWT contains a client_uid, it must match the {uid} in the URL, otherwise a 403 error is returned.
590
883
  * @summary Get client details
@@ -605,6 +898,16 @@ class ClientManagementApi extends base_1.BaseAPI {
605
898
  getPdpConfigApiV1ClientsUidPdpConfigGet(uid, options) {
606
899
  return (0, exports.ClientManagementApiFp)(this.configuration).getPdpConfigApiV1ClientsUidPdpConfigGet(uid, options).then((request) => request(this.axios, this.basePath));
607
900
  }
901
+ /**
902
+ * Check if a webhook secret is configured for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Response**: - `hasSecret`: Whether a webhook secret is configured - `createdAt`: When the secret was created (if exists) **Note**: The secret value is never returned, only its status.
903
+ * @summary Get webhook secret status
904
+ * @param {string} uid
905
+ * @param {*} [options] Override http request option.
906
+ * @throws {RequiredError}
907
+ */
908
+ getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet(uid, options) {
909
+ return (0, exports.ClientManagementApiFp)(this.configuration).getWebhookSecretStatusApiV1ClientsUidWebhookSecretStatusGet(uid, options).then((request) => request(this.axios, this.basePath));
910
+ }
608
911
  /**
609
912
  * Paginated list of clients for the account. **Scope**: Account level (JWT without client_uid) **Pagination**: - `page`: Page number (default: 1) - `pageSize`: Page size (default: 20, max: 100)
610
913
  * @summary List clients
@@ -616,6 +919,17 @@ class ClientManagementApi extends base_1.BaseAPI {
616
919
  listClientsApiV1ClientsGet(page, pageSize, options) {
617
920
  return (0, exports.ClientManagementApiFp)(this.configuration).listClientsApiV1ClientsGet(page, pageSize, options).then((request) => request(this.axios, this.basePath));
618
921
  }
922
+ /**
923
+ * Rotate the client encryption key for all secrets in double encryption mode. **Scope**: Client level (JWT with client_uid that must match {uid}) **What this does**: 1. Decrypts all secrets (PDP, Chorus Pro) using the old key 2. Re-encrypts them using the new key 3. Saves to database **Important notes**: - Both keys must be base64-encoded AES-256 keys (32 bytes each) - The old key becomes invalid immediately after rotation - Only secrets encrypted with `encryptionMode: \"double\"` are affected - If the client has no double-encrypted secrets, returns 404 **Security**: - The old key must be valid (decryption is verified) - If decryption fails, rotation is aborted (atomic operation) - Neither key is logged or stored by the server
924
+ * @summary Rotate client encryption key
925
+ * @param {string} uid
926
+ * @param {KeyRotationRequest} keyRotationRequest
927
+ * @param {*} [options] Override http request option.
928
+ * @throws {RequiredError}
929
+ */
930
+ rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost(uid, keyRotationRequest, options) {
931
+ return (0, exports.ClientManagementApiFp)(this.configuration).rotateEncryptionKeyApiV1ClientsUidRotateEncryptionKeyPost(uid, keyRotationRequest, options).then((request) => request(this.axios, this.basePath));
932
+ }
619
933
  /**
620
934
  * Update client information (partial update). **Scope**: Client level (JWT with client_uid that must match {uid}) **Updatable fields**: - `name`: Client name - `description`: Description - `siret`: SIRET (14 digits) Only provided fields are updated.
621
935
  * @summary Update a client
@@ -628,15 +942,16 @@ class ClientManagementApi extends base_1.BaseAPI {
628
942
  return (0, exports.ClientManagementApiFp)(this.configuration).updateClientApiV1ClientsUidPatch(uid, clientUpdateRequest, options).then((request) => request(this.axios, this.basePath));
629
943
  }
630
944
  /**
631
- * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
945
+ * Configure or update the PDP (PA/PDP) configuration for a client. **Scope**: Client level (JWT with client_uid that must match {uid}) **Required fields**: - `flowServiceUrl`: PDP Flow Service URL - `tokenUrl`: PDP OAuth token URL - `oauthClientId`: OAuth Client ID - `clientSecret`: OAuth Client Secret (sent but NEVER returned) **Optional fields**: - `isActive`: Enable/disable the config (default: true) - `modeSandbox`: Sandbox mode (default: false) - `encryptionMode`: Encryption mode (default: \"fernet\") - \"fernet\": Server-side encryption only - \"double\": Client AES-256-GCM + Server Fernet (requires X-Encryption-Key header) **Double Encryption Mode**: When `encryptionMode` is set to \"double\", you MUST also provide the `X-Encryption-Key` header containing a base64-encoded AES-256 key (32 bytes). This key is used to encrypt the `clientSecret` on the client side before the server encrypts it again with Fernet. The server cannot decrypt the secret without the client key. **Security**: The `clientSecret` is stored encrypted on Django side and is never returned in API responses.
632
946
  * @summary Configure client PDP
633
947
  * @param {string} uid
634
948
  * @param {PDPConfigUpdateRequest} pDPConfigUpdateRequest
949
+ * @param {string | null} [xEncryptionKey] Client encryption key for double encryption mode. Must be a base64-encoded AES-256 key (32 bytes). Required only when accessing resources encrypted with encryption_mode=\'double\'.
635
950
  * @param {*} [options] Override http request option.
636
951
  * @throws {RequiredError}
637
952
  */
638
- updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, options) {
639
- return (0, exports.ClientManagementApiFp)(this.configuration).updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, options).then((request) => request(this.axios, this.basePath));
953
+ updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, xEncryptionKey, options) {
954
+ return (0, exports.ClientManagementApiFp)(this.configuration).updatePdpConfigApiV1ClientsUidPdpConfigPut(uid, pDPConfigUpdateRequest, xEncryptionKey, options).then((request) => request(this.axios, this.basePath));
640
955
  }
641
956
  }
642
957
  exports.ClientManagementApi = ClientManagementApi;
@@ -58,6 +58,8 @@ const DownloadsApiAxiosParamCreator = function (configuration) {
58
58
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'HEAD' }, baseOptions), options);
59
59
  const localVarHeaderParameter = {};
60
60
  const localVarQueryParameter = {};
61
+ // authentication APIKeyHeader required
62
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
61
63
  // authentication HTTPBearer required
62
64
  // http bearer authentication required
63
65
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -92,6 +94,8 @@ const DownloadsApiAxiosParamCreator = function (configuration) {
92
94
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'GET' }, baseOptions), options);
93
95
  const localVarHeaderParameter = {};
94
96
  const localVarQueryParameter = {};
97
+ // authentication APIKeyHeader required
98
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
95
99
  // authentication HTTPBearer required
96
100
  // http bearer authentication required
97
101
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -57,6 +57,8 @@ const ElectronicSignatureApiAxiosParamCreator = function (configuration) {
57
57
  const localVarRequestOptions = Object.assign(Object.assign({ method: 'POST' }, baseOptions), options);
58
58
  const localVarHeaderParameter = {};
59
59
  const localVarQueryParameter = {};
60
+ // authentication APIKeyHeader required
61
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
60
62
  // authentication HTTPBearer required
61
63
  // http bearer authentication required
62
64
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -98,6 +100,8 @@ const ElectronicSignatureApiAxiosParamCreator = function (configuration) {
98
100
  const localVarHeaderParameter = {};
99
101
  const localVarQueryParameter = {};
100
102
  const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
103
+ // authentication APIKeyHeader required
104
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
101
105
  // authentication HTTPBearer required
102
106
  // http bearer authentication required
103
107
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -162,6 +166,8 @@ const ElectronicSignatureApiAxiosParamCreator = function (configuration) {
162
166
  const localVarHeaderParameter = {};
163
167
  const localVarQueryParameter = {};
164
168
  const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
169
+ // authentication APIKeyHeader required
170
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
165
171
  // authentication HTTPBearer required
166
172
  // http bearer authentication required
167
173
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);
@@ -224,6 +230,8 @@ const ElectronicSignatureApiAxiosParamCreator = function (configuration) {
224
230
  const localVarHeaderParameter = {};
225
231
  const localVarQueryParameter = {};
226
232
  const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
233
+ // authentication APIKeyHeader required
234
+ yield (0, common_1.setApiKeyToObject)(localVarHeaderParameter, "X-API-Key", configuration);
227
235
  // authentication HTTPBearer required
228
236
  // http bearer authentication required
229
237
  yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration);