@inklok/api-spec 7.8.1 → 7.8.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.
- package/openapi.yaml +178 -1
- 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.
|
|
11
|
+
version: "7.8.3"
|
|
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
|
|
|
@@ -2833,6 +2923,7 @@ paths:
|
|
|
2833
2923
|
value_encrypted:
|
|
2834
2924
|
type: string
|
|
2835
2925
|
nullable: true
|
|
2926
|
+
description: JSON-serialized ScopedEncryptedFieldValue (v2). The server stores this string verbatim only after structural and authoritative binding validation.
|
|
2836
2927
|
required:
|
|
2837
2928
|
type: boolean
|
|
2838
2929
|
'401':
|
|
@@ -2924,6 +3015,8 @@ paths:
|
|
|
2924
3015
|
type: string
|
|
2925
3016
|
value_encrypted:
|
|
2926
3017
|
type: string
|
|
3018
|
+
minLength: 1
|
|
3019
|
+
description: JSON-serialized ScopedEncryptedFieldValue. The server validates its exact v2 envelope, authoritative keyScopeId, and canonical AAD before persistence.
|
|
2927
3020
|
metadata:
|
|
2928
3021
|
type: object
|
|
2929
3022
|
additionalProperties: true
|
|
@@ -5628,6 +5721,7 @@ components:
|
|
|
5628
5721
|
type:
|
|
5629
5722
|
type: string
|
|
5630
5723
|
enum: [PARTY_PRIVATE, SHARED, ORG_AUTHORIZED, WORKSPACE_AUTHORIZED]
|
|
5724
|
+
description: Current managed signing creation accepts PARTY_PRIVATE and SHARED. Other enum values are reserved for future modes and are rejected at creation time.
|
|
5631
5725
|
partyId:
|
|
5632
5726
|
type: string
|
|
5633
5727
|
members:
|
|
@@ -5647,6 +5741,7 @@ components:
|
|
|
5647
5741
|
protectionMode:
|
|
5648
5742
|
type: string
|
|
5649
5743
|
enum: [MANAGED, STRICT_ZK]
|
|
5744
|
+
description: Current signing creation accepts MANAGED only. STRICT_ZK is reserved and not enabled.
|
|
5650
5745
|
createdAt:
|
|
5651
5746
|
type: string
|
|
5652
5747
|
format: date-time
|
|
@@ -5727,6 +5822,37 @@ components:
|
|
|
5727
5822
|
kmsWrappedScopeDek:
|
|
5728
5823
|
type: string
|
|
5729
5824
|
|
|
5825
|
+
ScopedEncryptedFieldValue:
|
|
5826
|
+
type: object
|
|
5827
|
+
additionalProperties: false
|
|
5828
|
+
description: |
|
|
5829
|
+
Parsed form of the JSON string carried by signing field value_encrypted.
|
|
5830
|
+
v2 binds AES-GCM authentication to the agreement, authoritative scope,
|
|
5831
|
+
field, and encryption version. The server validates structure and AAD
|
|
5832
|
+
metadata but does not decrypt managed values.
|
|
5833
|
+
required: [alg, keyScopeId, encryptionVersion, ciphertext, iv, authTag, aad]
|
|
5834
|
+
properties:
|
|
5835
|
+
alg:
|
|
5836
|
+
type: string
|
|
5837
|
+
enum: [AES-256-GCM]
|
|
5838
|
+
keyScopeId:
|
|
5839
|
+
type: string
|
|
5840
|
+
encryptionVersion:
|
|
5841
|
+
type: integer
|
|
5842
|
+
enum: [2]
|
|
5843
|
+
ciphertext:
|
|
5844
|
+
type: string
|
|
5845
|
+
description: Canonical base64 ciphertext bytes, without the GCM tag.
|
|
5846
|
+
iv:
|
|
5847
|
+
type: string
|
|
5848
|
+
description: Canonical base64 12-byte AES-GCM IV.
|
|
5849
|
+
authTag:
|
|
5850
|
+
type: string
|
|
5851
|
+
description: Canonical base64 16-byte AES-GCM authentication tag.
|
|
5852
|
+
aad:
|
|
5853
|
+
type: string
|
|
5854
|
+
description: 'Exact UTF-8 AAD string: inklok:field-value:v2:{"agreementId":"…","keyScopeId":"…","fieldId":"…","encryptionVersion":2}'
|
|
5855
|
+
|
|
5730
5856
|
CryptoPrincipal:
|
|
5731
5857
|
type: object
|
|
5732
5858
|
required: [principalId, type, subjectId]
|
|
@@ -5823,6 +5949,57 @@ components:
|
|
|
5823
5949
|
format: date-time
|
|
5824
5950
|
readOnly: true
|
|
5825
5951
|
|
|
5952
|
+
CryptoIdentityRecoveryBundle:
|
|
5953
|
+
type: object
|
|
5954
|
+
description: Client-encrypted account private-key recovery payload. The Recovery Key is never included.
|
|
5955
|
+
required: [identityId, encryptedPrivateKey, salt, iv, kdf, kdfVersion, kdfParams, encryptionAlg, encryptionVersion, aad]
|
|
5956
|
+
properties:
|
|
5957
|
+
identityId:
|
|
5958
|
+
type: string
|
|
5959
|
+
encryptedPrivateKey:
|
|
5960
|
+
type: string
|
|
5961
|
+
description: Base64 AES-GCM ciphertext of the account private key export.
|
|
5962
|
+
salt:
|
|
5963
|
+
type: string
|
|
5964
|
+
iv:
|
|
5965
|
+
type: string
|
|
5966
|
+
kdf:
|
|
5967
|
+
type: string
|
|
5968
|
+
enum: [PBKDF2-SHA-256]
|
|
5969
|
+
kdfVersion:
|
|
5970
|
+
type: integer
|
|
5971
|
+
enum: [1]
|
|
5972
|
+
kdfParams:
|
|
5973
|
+
type: object
|
|
5974
|
+
required: [iterations, hash, saltBytes]
|
|
5975
|
+
properties:
|
|
5976
|
+
iterations:
|
|
5977
|
+
type: integer
|
|
5978
|
+
minimum: 310000
|
|
5979
|
+
hash:
|
|
5980
|
+
type: string
|
|
5981
|
+
enum: [SHA-256]
|
|
5982
|
+
saltBytes:
|
|
5983
|
+
type: integer
|
|
5984
|
+
enum: [16]
|
|
5985
|
+
encryptionAlg:
|
|
5986
|
+
type: string
|
|
5987
|
+
enum: [AES-GCM-256]
|
|
5988
|
+
encryptionVersion:
|
|
5989
|
+
type: integer
|
|
5990
|
+
enum: [1]
|
|
5991
|
+
aad:
|
|
5992
|
+
type: string
|
|
5993
|
+
description: Identity-bound AES-GCM additional authenticated data.
|
|
5994
|
+
createdAt:
|
|
5995
|
+
type: string
|
|
5996
|
+
format: date-time
|
|
5997
|
+
readOnly: true
|
|
5998
|
+
updatedAt:
|
|
5999
|
+
type: string
|
|
6000
|
+
format: date-time
|
|
6001
|
+
readOnly: true
|
|
6002
|
+
|
|
5826
6003
|
AppendExecutionEventRequest:
|
|
5827
6004
|
type: object
|
|
5828
6005
|
required: [type, actorType]
|