@inklok/api-spec 7.8.2 → 7.8.4

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 (2) hide show
  1. package/openapi.yaml +147 -1
  2. package/package.json +1 -1
package/openapi.yaml CHANGED
@@ -8,7 +8,7 @@ info:
8
8
  Authenticate using an API key or bearer token, then use the resources below to manage
9
9
  templates, agreements, documents, and signing. For your first integration, start with
10
10
  the Quick Start guide.
11
- version: "7.8.2"
11
+ version: "7.8.4"
12
12
  contact:
13
13
  name: Inklok API Support
14
14
  email: support@inklok.com
@@ -239,6 +239,96 @@ paths:
239
239
  $ref: '#/components/responses/Unauthorized'
240
240
  '403':
241
241
  $ref: '#/components/responses/Forbidden'
242
+ '409':
243
+ $ref: '#/components/responses/Conflict'
244
+ '500':
245
+ $ref: '#/components/responses/InternalServerError'
246
+
247
+ /v1/crypto/identities/{publicKeyId}/recovery:
248
+ get:
249
+ operationId: getCryptoIdentityRecoveryBundleV1
250
+ summary: Get crypto identity recovery bundle
251
+ x-visibility: internal
252
+ description: |
253
+ Returns the encrypted client-side recovery bundle for an authorized account crypto identity. Recovery Keys are never accepted by this API.
254
+ x-required-roles: [workflow-editor, workflow-operator, agreement-auditor, organization-admin]
255
+ tags:
256
+ - Crypto Identities
257
+ parameters:
258
+ - name: publicKeyId
259
+ in: path
260
+ required: true
261
+ schema:
262
+ type: string
263
+ - name: X-Inklok-Org-Id
264
+ in: header
265
+ required: false
266
+ schema:
267
+ type: string
268
+ responses:
269
+ '200':
270
+ description: Encrypted recovery bundle
271
+ content:
272
+ application/json:
273
+ schema:
274
+ type: object
275
+ required: [bundle]
276
+ properties:
277
+ bundle:
278
+ $ref: '#/components/schemas/CryptoIdentityRecoveryBundle'
279
+ '401':
280
+ $ref: '#/components/responses/Unauthorized'
281
+ '403':
282
+ $ref: '#/components/responses/Forbidden'
283
+ '404':
284
+ $ref: '#/components/responses/NotFound'
285
+ '500':
286
+ $ref: '#/components/responses/InternalServerError'
287
+ put:
288
+ operationId: putCryptoIdentityRecoveryBundleV1
289
+ summary: Replace crypto identity recovery bundle
290
+ x-visibility: internal
291
+ description: |
292
+ Stores an encrypted client-side recovery bundle for an authorized account crypto identity. The plaintext private key and Recovery Key are never accepted.
293
+ x-required-roles: [workflow-editor, workflow-operator, agreement-auditor, organization-admin]
294
+ tags:
295
+ - Crypto Identities
296
+ parameters:
297
+ - name: publicKeyId
298
+ in: path
299
+ required: true
300
+ schema:
301
+ type: string
302
+ - name: X-Inklok-Org-Id
303
+ in: header
304
+ required: false
305
+ schema:
306
+ type: string
307
+ requestBody:
308
+ required: true
309
+ content:
310
+ application/json:
311
+ schema:
312
+ $ref: '#/components/schemas/CryptoIdentityRecoveryBundle'
313
+ responses:
314
+ '200':
315
+ description: Stored encrypted recovery bundle
316
+ content:
317
+ application/json:
318
+ schema:
319
+ type: object
320
+ required: [bundle]
321
+ properties:
322
+ bundle:
323
+ $ref: '#/components/schemas/CryptoIdentityRecoveryBundle'
324
+ '400':
325
+ $ref: '#/components/responses/BadRequest'
326
+ '401':
327
+ $ref: '#/components/responses/Unauthorized'
328
+ '403':
329
+ $ref: '#/components/responses/Forbidden'
330
+ '404':
331
+ $ref: '#/components/responses/NotFound'
242
332
  '500':
243
333
  $ref: '#/components/responses/InternalServerError'
244
334
 
@@ -5858,6 +5948,62 @@ components:
5858
5948
  type: string
5859
5949
  format: date-time
5860
5950
  readOnly: true
5951
+ recoveryBundle:
5952
+ allOf:
5953
+ - $ref: '#/components/schemas/CryptoIdentityRecoveryBundle'
5954
+ writeOnly: true
5955
+ description: Optional encrypted recovery bundle used only when first registering an account identity.
5956
+
5957
+ CryptoIdentityRecoveryBundle:
5958
+ type: object
5959
+ description: Client-encrypted account private-key recovery payload. The Recovery Key is never included.
5960
+ required: [identityId, encryptedPrivateKey, salt, iv, kdf, kdfVersion, kdfParams, encryptionAlg, encryptionVersion, aad]
5961
+ properties:
5962
+ identityId:
5963
+ type: string
5964
+ encryptedPrivateKey:
5965
+ type: string
5966
+ description: Base64 AES-GCM ciphertext of the account private key export.
5967
+ salt:
5968
+ type: string
5969
+ iv:
5970
+ type: string
5971
+ kdf:
5972
+ type: string
5973
+ enum: [PBKDF2-SHA-256]
5974
+ kdfVersion:
5975
+ type: integer
5976
+ enum: [1]
5977
+ kdfParams:
5978
+ type: object
5979
+ required: [iterations, hash, saltBytes]
5980
+ properties:
5981
+ iterations:
5982
+ type: integer
5983
+ minimum: 310000
5984
+ hash:
5985
+ type: string
5986
+ enum: [SHA-256]
5987
+ saltBytes:
5988
+ type: integer
5989
+ enum: [16]
5990
+ encryptionAlg:
5991
+ type: string
5992
+ enum: [AES-GCM-256]
5993
+ encryptionVersion:
5994
+ type: integer
5995
+ enum: [1]
5996
+ aad:
5997
+ type: string
5998
+ description: Identity-bound AES-GCM additional authenticated data.
5999
+ createdAt:
6000
+ type: string
6001
+ format: date-time
6002
+ readOnly: true
6003
+ updatedAt:
6004
+ type: string
6005
+ format: date-time
6006
+ readOnly: true
5861
6007
 
5862
6008
  AppendExecutionEventRequest:
5863
6009
  type: object
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inklok/api-spec",
3
- "version": "7.8.2",
3
+ "version": "7.8.4",
4
4
  "description": "Canonical OpenAPI specification for the Inklok public API.",
5
5
  "main": "openapi.yaml",
6
6
  "license": "MIT",