@cheqd/studio 3.15.0-develop.1 → 3.15.0-develop.2

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 (130) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +3 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/controllers/api/accreditation.d.ts.map +1 -1
  5. package/dist/controllers/api/accreditation.js +36 -9
  6. package/dist/controllers/api/accreditation.js.map +1 -1
  7. package/dist/controllers/api/credential-status.d.ts +94 -0
  8. package/dist/controllers/api/credential-status.d.ts.map +1 -1
  9. package/dist/controllers/api/credential-status.js +220 -506
  10. package/dist/controllers/api/credential-status.js.map +1 -1
  11. package/dist/controllers/api/credential.d.ts +66 -0
  12. package/dist/controllers/api/credential.d.ts.map +1 -1
  13. package/dist/controllers/api/credential.js +117 -1
  14. package/dist/controllers/api/credential.js.map +1 -1
  15. package/dist/controllers/api/did.js.map +1 -1
  16. package/dist/controllers/api/key.js.map +1 -1
  17. package/dist/controllers/api/presentation.js +22 -21
  18. package/dist/controllers/api/presentation.js.map +1 -1
  19. package/dist/controllers/api/providers.controller.js.map +1 -1
  20. package/dist/controllers/api/resource.js.map +1 -1
  21. package/dist/database/entities/issued-credential.entity.d.ts +10 -1
  22. package/dist/database/entities/issued-credential.entity.d.ts.map +1 -1
  23. package/dist/database/entities/issued-credential.entity.js +22 -0
  24. package/dist/database/entities/issued-credential.entity.js.map +1 -1
  25. package/dist/database/entities/status-registry.entity.d.ts +60 -0
  26. package/dist/database/entities/status-registry.entity.d.ts.map +1 -0
  27. package/dist/database/entities/status-registry.entity.js +145 -0
  28. package/dist/database/entities/status-registry.entity.js.map +1 -0
  29. package/dist/database/migrations/1761834657128-studio-migrations.d.ts +7 -0
  30. package/dist/database/migrations/1761834657128-studio-migrations.d.ts.map +1 -0
  31. package/dist/database/migrations/1761834657128-studio-migrations.js +14 -0
  32. package/dist/database/migrations/1761834657128-studio-migrations.js.map +1 -0
  33. package/dist/database/migrations/1762775396083-MigrateStatusLists.d.ts +25 -0
  34. package/dist/database/migrations/1762775396083-MigrateStatusLists.d.ts.map +1 -0
  35. package/dist/database/migrations/1762775396083-MigrateStatusLists.js +243 -0
  36. package/dist/database/migrations/1762775396083-MigrateStatusLists.js.map +1 -0
  37. package/dist/database/migrations/1762775500000-UpdateWriteCursors.d.ts +23 -0
  38. package/dist/database/migrations/1762775500000-UpdateWriteCursors.d.ts.map +1 -0
  39. package/dist/database/migrations/1762775500000-UpdateWriteCursors.js +181 -0
  40. package/dist/database/migrations/1762775500000-UpdateWriteCursors.js.map +1 -0
  41. package/dist/database/types/types.d.ts.map +1 -1
  42. package/dist/database/types/types.js +10 -0
  43. package/dist/database/types/types.js.map +1 -1
  44. package/dist/helpers/mailchimp.d.ts.map +1 -1
  45. package/dist/helpers/mailchimp.js +1 -3
  46. package/dist/helpers/mailchimp.js.map +1 -1
  47. package/dist/middleware/auth/routes/api/credential-status-auth.d.ts.map +1 -1
  48. package/dist/middleware/auth/routes/api/credential-status-auth.js +2 -0
  49. package/dist/middleware/auth/routes/api/credential-status-auth.js.map +1 -1
  50. package/dist/services/api/credential-status.d.ts +107 -0
  51. package/dist/services/api/credential-status.d.ts.map +1 -0
  52. package/dist/services/api/credential-status.js +923 -0
  53. package/dist/services/api/credential-status.js.map +1 -0
  54. package/dist/services/api/credentials.d.ts +12 -0
  55. package/dist/services/api/credentials.d.ts.map +1 -1
  56. package/dist/services/api/credentials.js +330 -117
  57. package/dist/services/api/credentials.js.map +1 -1
  58. package/dist/services/connectors/resource.js.map +1 -1
  59. package/dist/services/identity/abstract.d.ts +1 -1
  60. package/dist/services/identity/abstract.d.ts.map +1 -1
  61. package/dist/services/identity/abstract.js +1 -1
  62. package/dist/services/identity/abstract.js.map +1 -1
  63. package/dist/services/identity/default.d.ts +1 -1
  64. package/dist/services/identity/default.d.ts.map +1 -1
  65. package/dist/services/identity/default.js +2 -2
  66. package/dist/services/identity/default.js.map +1 -1
  67. package/dist/services/identity/index.d.ts +1 -1
  68. package/dist/services/identity/index.d.ts.map +1 -1
  69. package/dist/services/identity/providers/studio/agent.d.ts +6 -6
  70. package/dist/services/identity/providers/studio/agent.d.ts.map +1 -1
  71. package/dist/services/identity/providers/studio/agent.js +11 -2
  72. package/dist/services/identity/providers/studio/agent.js.map +1 -1
  73. package/dist/services/identity/providers/studio/local.d.ts +3 -3
  74. package/dist/services/identity/providers/studio/postgres.d.ts +3 -3
  75. package/dist/services/identity/providers/studio/postgres.d.ts.map +1 -1
  76. package/dist/services/identity/providers/studio/postgres.js +0 -12
  77. package/dist/services/identity/providers/studio/postgres.js.map +1 -1
  78. package/dist/services/track/api/credential-status-subscriber.d.ts +4 -4
  79. package/dist/services/track/api/credential-status-subscriber.d.ts.map +1 -1
  80. package/dist/services/track/api/credential-status-subscriber.js +18 -1
  81. package/dist/services/track/api/credential-status-subscriber.js.map +1 -1
  82. package/dist/services/track/api/credential-subscriber.d.ts +4 -4
  83. package/dist/services/track/api/credential-subscriber.d.ts.map +1 -1
  84. package/dist/services/track/api/credential-subscriber.js.map +1 -1
  85. package/dist/services/track/api/did-subscriber.d.ts +4 -4
  86. package/dist/services/track/api/did-subscriber.d.ts.map +1 -1
  87. package/dist/services/track/api/did-subscriber.js.map +1 -1
  88. package/dist/services/track/api/key-subscriber.d.ts +4 -4
  89. package/dist/services/track/api/key-subscriber.d.ts.map +1 -1
  90. package/dist/services/track/api/key-subscriber.js.map +1 -1
  91. package/dist/services/track/api/presentation-subscriber.d.ts +4 -4
  92. package/dist/services/track/api/presentation-subscriber.d.ts.map +1 -1
  93. package/dist/services/track/api/presentation-subscriber.js.map +1 -1
  94. package/dist/services/track/api/resource-subscriber.d.ts +4 -4
  95. package/dist/services/track/api/resource-subscriber.d.ts.map +1 -1
  96. package/dist/services/track/api/resource-subscriber.js.map +1 -1
  97. package/dist/services/track/base.d.ts +2 -2
  98. package/dist/services/track/base.d.ts.map +1 -1
  99. package/dist/services/track/base.js.map +1 -1
  100. package/dist/services/track/operation-subscriber.d.ts +4 -4
  101. package/dist/services/track/operation-subscriber.d.ts.map +1 -1
  102. package/dist/services/track/operation-subscriber.js.map +1 -1
  103. package/dist/services/track/tracker.d.ts +2 -2
  104. package/dist/services/track/tracker.d.ts.map +1 -1
  105. package/dist/services/track/tracker.js.map +1 -1
  106. package/dist/services/track/types.d.ts +2 -2
  107. package/dist/services/track/types.d.ts.map +1 -1
  108. package/dist/static/swagger-api.json +560 -46
  109. package/dist/types/accreditation.d.ts +3 -0
  110. package/dist/types/accreditation.d.ts.map +1 -1
  111. package/dist/types/constants.d.ts +2 -0
  112. package/dist/types/constants.d.ts.map +1 -1
  113. package/dist/types/constants.js +2 -0
  114. package/dist/types/constants.js.map +1 -1
  115. package/dist/types/credential-status.d.ts +39 -1
  116. package/dist/types/credential-status.d.ts.map +1 -1
  117. package/dist/types/credential-status.js +7 -0
  118. package/dist/types/credential-status.js.map +1 -1
  119. package/dist/types/credential.d.ts +21 -3
  120. package/dist/types/credential.d.ts.map +1 -1
  121. package/dist/types/credential.js +5 -0
  122. package/dist/types/credential.js.map +1 -1
  123. package/dist/types/swagger-api-types.d.ts +242 -39
  124. package/dist/types/swagger-api-types.d.ts.map +1 -1
  125. package/dist/types/swagger-api-types.js +242 -39
  126. package/dist/types/swagger-api-types.js.map +1 -1
  127. package/dist/types/track.d.ts +8 -6
  128. package/dist/types/track.d.ts.map +1 -1
  129. package/dist/types/track.js.map +1 -1
  130. package/package.json +1 -1
@@ -577,6 +577,22 @@
577
577
  "additionalProperties": true,
578
578
  "description": "Credential status configuration"
579
579
  },
580
+ "statusRegistryId": {
581
+ "type": "string",
582
+ "description": "UUID of the Status Registry"
583
+ },
584
+ "statusIndex": {
585
+ "type": "number",
586
+ "description": "Allocated Index of the Status Registry"
587
+ },
588
+ "retryCount": {
589
+ "type": "number",
590
+ "description": "Retry Count in case of failures"
591
+ },
592
+ "lastError": {
593
+ "type": "string",
594
+ "description": "Last error message in case of failure"
595
+ },
580
596
  "providerMetadata": {
581
597
  "type": "object",
582
598
  "additionalProperties": true,
@@ -685,6 +701,100 @@
685
701
  }
686
702
  }
687
703
  },
704
+ "RetryCredentialRequest": {
705
+ "type": "object",
706
+ "properties": {
707
+ "attributes": {
708
+ "description": "JSON object containing the attributes to be included in the credential.",
709
+ "type": "object",
710
+ "example": {
711
+ "name": "Bob",
712
+ "gender": "male"
713
+ }
714
+ },
715
+ "@context": {
716
+ "description": "Optional properties to be included in the `@context` property of the credential.",
717
+ "type": "array",
718
+ "items": {
719
+ "type": "string"
720
+ },
721
+ "example": [
722
+ "https://schema.org/schema.jsonld",
723
+ "https://veramo.io/contexts/profile/v1"
724
+ ]
725
+ },
726
+ "type": {
727
+ "description": "Optional properties to be included in the `type` property of the credential.",
728
+ "type": "array",
729
+ "items": {
730
+ "type": "string"
731
+ },
732
+ "example": [
733
+ "Person"
734
+ ]
735
+ },
736
+ "expirationDate": {
737
+ "description": "Optional expiration date according to the <a href=https://www.w3.org/TR/vc-data-model/#expiration> VC Data Model specification</a>.",
738
+ "type": "string",
739
+ "format": "date-time",
740
+ "example": "2023-06-08T13:49:28.000Z"
741
+ },
742
+ "termsOfUse": {
743
+ "description": "Terms of use can be utilized by an issuer or a holder to communicate the terms under which a verifiable credential was issued.",
744
+ "type": "array",
745
+ "items": {
746
+ "type": "object",
747
+ "example": {
748
+ "type": "IssuerPolicy",
749
+ "id": "http://example.com/policies/credential/4",
750
+ "profile": "http://example.com/profiles/credential",
751
+ "prohibition": [
752
+ {
753
+ "assigner": "https://example.edu/issuers/14",
754
+ "assignee": "AllVerifiers",
755
+ "target": "http://example.edu/credentials/3732",
756
+ "action": [
757
+ "Archival"
758
+ ]
759
+ }
760
+ ]
761
+ }
762
+ }
763
+ },
764
+ "refreshService": {
765
+ "description": "RefreshService property MUST be one or more refresh services that provides enough information to the recipient's software such that the recipient can refresh the verifiable credential.",
766
+ "type": "array",
767
+ "items": {
768
+ "type": "object",
769
+ "example": {
770
+ "type": "ManualRefreshService2018",
771
+ "id": "https://example.edu/refresh/3732"
772
+ }
773
+ }
774
+ },
775
+ "evidence": {
776
+ "description": "Evidence property MUST be one or more evidence schemes providing enough information for a verifier to determine whether the evidence gathered by the issuer meets its confidence requirements for relying on the credential.",
777
+ "type": "array",
778
+ "items": {
779
+ "type": "object",
780
+ "example": {
781
+ "type": [
782
+ "DocumentVerification"
783
+ ],
784
+ "id": "https://example.edu/evidence/f2aeec97-fc0d-42bf-8ca7-0548192d4231",
785
+ "verifier": "https://example.edu/issuers/14",
786
+ "evidenceDocument": "DriversLicense",
787
+ "subjectPresence": "Physical",
788
+ "documentPresence": "Physical",
789
+ "licenseNumber": "123AB4567"
790
+ }
791
+ }
792
+ }
793
+ },
794
+ "required": [
795
+ "attributes"
796
+ ]
797
+ },
688
798
  "VerifyPresentationResult": {
689
799
  "type": "object",
690
800
  "properties": {
@@ -1099,6 +1209,175 @@
1099
1209
  }
1100
1210
  }
1101
1211
  },
1212
+ "CredentialStatusRecordResult": {
1213
+ "type": "object",
1214
+ "properties": {
1215
+ "statusListId": {
1216
+ "type": "string",
1217
+ "description": "Unique identifier for the status registry"
1218
+ },
1219
+ "statusListName": {
1220
+ "type": "string",
1221
+ "description": "Name of the status list resource"
1222
+ },
1223
+ "uri": {
1224
+ "type": "string",
1225
+ "description": "DID URL of the status list resource"
1226
+ },
1227
+ "issuerId": {
1228
+ "type": "string",
1229
+ "format": "uri",
1230
+ "description": "DID of the issuer"
1231
+ },
1232
+ "previousUri": {
1233
+ "type": "string",
1234
+ "nullable": true,
1235
+ "description": "Link to previous registry in the chain (for FULL registries)"
1236
+ },
1237
+ "nextUri": {
1238
+ "type": "string",
1239
+ "nullable": true,
1240
+ "description": "Link to next registry in the chain (STANDBY registry)"
1241
+ },
1242
+ "listType": {
1243
+ "type": "string",
1244
+ "description": "Type of status list (StatusList2021Revocation, StatusList2021Suspension, BitstringStatusListCredential)"
1245
+ },
1246
+ "storageType": {
1247
+ "type": "string",
1248
+ "enum": [
1249
+ "cheqd",
1250
+ "ipfs",
1251
+ "dock",
1252
+ "paradym"
1253
+ ],
1254
+ "description": "Storage provider for the status list"
1255
+ },
1256
+ "encrypted": {
1257
+ "type": "boolean",
1258
+ "description": "Whether the status list is encrypted"
1259
+ },
1260
+ "credentialCategory": {
1261
+ "type": "string",
1262
+ "enum": [
1263
+ "credential",
1264
+ "accreditation"
1265
+ ],
1266
+ "description": "Category of credentials this status list is for"
1267
+ },
1268
+ "size": {
1269
+ "type": "integer",
1270
+ "description": "Maximum capacity of the status list (total number of indices)"
1271
+ },
1272
+ "writeCursor": {
1273
+ "type": "integer",
1274
+ "description": "Current write cursor position (last assigned index)"
1275
+ },
1276
+ "state": {
1277
+ "type": "string",
1278
+ "enum": [
1279
+ "ACTIVE",
1280
+ "STANDBY",
1281
+ "FULL"
1282
+ ],
1283
+ "description": "Current state of the registry"
1284
+ },
1285
+ "createdAt": {
1286
+ "type": "string",
1287
+ "format": "date-time",
1288
+ "description": "Timestamp when the registry was created"
1289
+ },
1290
+ "updatedAt": {
1291
+ "type": "string",
1292
+ "format": "date-time",
1293
+ "description": "Timestamp when the registry was last updated"
1294
+ },
1295
+ "sealedAt": {
1296
+ "type": "string",
1297
+ "format": "date-time",
1298
+ "nullable": true,
1299
+ "description": "Timestamp when the registry was sealed (marked as FULL)"
1300
+ },
1301
+ "statusPurpose": {
1302
+ "oneOf": [
1303
+ {
1304
+ "type": "string"
1305
+ },
1306
+ {
1307
+ "type": "array",
1308
+ "items": {
1309
+ "type": "string"
1310
+ }
1311
+ }
1312
+ ],
1313
+ "description": "Status purpose or list of status purposes"
1314
+ },
1315
+ "deprecated": {
1316
+ "type": "boolean",
1317
+ "description": "Whether the registry is deprecated"
1318
+ }
1319
+ },
1320
+ "example": {
1321
+ "statusListId": "5945233a-a4b5-422b-b893-eaed5cedd2dc",
1322
+ "statusListName": "cheqd-employee-credentials",
1323
+ "uri": "did:cheqd:testnet:7c2b990c-3d05-4ebf-91af-f4f4d0091d2e?resourceName=cheqd-employee-credentials&resourceType=StatusList2021Revocation",
1324
+ "issuerId": "did:cheqd:testnet:7c2b990c-3d05-4ebf-91af-f4f4d0091d2e",
1325
+ "previousUri": null,
1326
+ "nextUri": "did:cheqd:testnet:7c2b990c-3d05-4ebf-91af-f4f4d0091d2e?resourceName=cheqd-employee-credentials-ext1&resourceType=StatusList2021Revocation",
1327
+ "listType": "StatusList2021Revocation",
1328
+ "storageType": "cheqd",
1329
+ "encrypted": false,
1330
+ "credentialCategory": "credential",
1331
+ "size": 131072,
1332
+ "writeCursor": 105432,
1333
+ "state": "ACTIVE",
1334
+ "createdAt": "2023-06-26T11:45:19.349Z",
1335
+ "updatedAt": "2023-06-26T11:45:20.000Z",
1336
+ "statusPurpose": [
1337
+ "revocation"
1338
+ ],
1339
+ "sealedAt": null,
1340
+ "deprecated": false
1341
+ }
1342
+ },
1343
+ "ListCredentialStatusRecordsResult": {
1344
+ "type": "object",
1345
+ "properties": {
1346
+ "total": {
1347
+ "type": "number"
1348
+ },
1349
+ "records": {
1350
+ "type": "array",
1351
+ "items": {
1352
+ "$ref": "#/components/schemas/CredentialStatusRecordResult"
1353
+ }
1354
+ }
1355
+ },
1356
+ "example": {
1357
+ "total": 1,
1358
+ "records": [
1359
+ {
1360
+ "statusListId": "5945233a-a4b5-422b-b893-eaed5cedd2dc",
1361
+ "statusListName": "cheqd-employee-credentials",
1362
+ "uri": "did:cheqd:testnet:7c2b990c-3d05-4ebf-91af-f4f4d0091d2e?resourceName=cheqd-employee-credentials&resourceType=StatusList2021Revocation",
1363
+ "issuerId": "did:cheqd:testnet:7c2b990c-3d05-4ebf-91af-f4f4d0091d2e",
1364
+ "previousUri": null,
1365
+ "nextUri": "did:cheqd:testnet:7c2b990c-3d05-4ebf-91af-f4f4d0091d2e?resourceName=cheqd-employee-credentials-ext1&resourceType=StatusList2021Revocation",
1366
+ "listType": "StatusList2021Revocation",
1367
+ "storageType": "cheqd",
1368
+ "encrypted": false,
1369
+ "credentialCategory": "credential",
1370
+ "size": 131072,
1371
+ "writeCursor": 105432,
1372
+ "state": "ACTIVE",
1373
+ "createdAt": "2023-06-26T11:45:19.349Z",
1374
+ "updatedAt": "2023-06-26T11:45:20.000Z",
1375
+ "sealedAt": null,
1376
+ "deprecated": false
1377
+ }
1378
+ ]
1379
+ }
1380
+ },
1102
1381
  "CredentialStatusCreateBody": {
1103
1382
  "allOf": [
1104
1383
  {
@@ -1142,6 +1421,14 @@
1142
1421
  "type": "integer",
1143
1422
  "minimum": 1
1144
1423
  },
1424
+ "credentialCategory": {
1425
+ "description": "Category of credentials this status list is for.",
1426
+ "type": "string",
1427
+ "enum": [
1428
+ "credential",
1429
+ "accreditation"
1430
+ ]
1431
+ },
1145
1432
  "statusMessages": {
1146
1433
  "description": "Only for BitstringStatusList (Mandatory if statusSize > 1): Message explaining each bit",
1147
1434
  "type": "array",
@@ -1637,11 +1924,11 @@
1637
1924
  "exclusiveMinimum": false
1638
1925
  },
1639
1926
  "statusListCredential": {
1640
- "description": "Optional Resolvable DID URL of the BistringStatusList credential to be checked.",
1927
+ "description": "Optional Resolvable DID URL of the BitstringStatusList credential to be checked.",
1641
1928
  "type": "string"
1642
1929
  },
1643
1930
  "statusSize": {
1644
- "description": "Optional size of the BistringStatusList.",
1931
+ "description": "Optional size of the BitstringStatusList.",
1645
1932
  "type": "number",
1646
1933
  "default": 2
1647
1934
  },
@@ -2834,54 +3121,50 @@
2834
3121
  },
2835
3122
  "accreditations": {
2836
3123
  "type": "array",
2837
- "description": "List of accreditations.",
3124
+ "description": "List of accreditations with credential data and tracking metadata.",
2838
3125
  "items": {
2839
- "type": "object",
2840
- "properties": {
2841
- "id": {
2842
- "type": "string",
2843
- "description": "Unique identifier of the accreditation.",
2844
- "example": "did:cheqd:testnet:12345678-90ab-cdef-1234-567890abcdef"
2845
- },
2846
- "name": {
2847
- "type": "string",
2848
- "description": "Name of the accreditation.",
2849
- "example": "MuseumPassAccreditation"
2850
- },
2851
- "issuerDid": {
2852
- "type": "string",
2853
- "description": "DID of the accreditation issuer.",
2854
- "example": "did:cheqd:testnet:7bf81a20-633c-4cc7-bc4a-5a45801005e0"
2855
- },
2856
- "subjectDid": {
2857
- "type": "string",
2858
- "description": "DID of the accreditation holder/subject.",
2859
- "example": "did:cheqd:testnet:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
3126
+ "allOf": [
3127
+ {
3128
+ "$ref": "#/components/schemas/VerifiableCredential"
2860
3129
  },
2861
- "schemas": {
2862
- "type": "array",
2863
- "description": "List of schemas associated with the accreditation.",
2864
- "items": {
2865
- "$ref": "#/components/schemas/SchemaUrl"
3130
+ {
3131
+ "type": "object",
3132
+ "properties": {
3133
+ "metadata": {
3134
+ "type": "object",
3135
+ "description": "Tracking metadata from the issued credential database record",
3136
+ "properties": {
3137
+ "issuedCredentialId": {
3138
+ "type": "string",
3139
+ "description": "Unique identifier for the issued credential"
3140
+ },
3141
+ "providerId": {
3142
+ "type": "string",
3143
+ "description": "Provider identifier"
3144
+ },
3145
+ "providerCredentialId": {
3146
+ "type": "string",
3147
+ "description": "Provider-specific credential ID (resourceId)"
3148
+ },
3149
+ "status": {
3150
+ "type": "string",
3151
+ "description": "Current status of the credential",
3152
+ "enum": [
3153
+ "issued",
3154
+ "suspended",
3155
+ "revoked"
3156
+ ]
3157
+ },
3158
+ "statusUpdatedAt": {
3159
+ "type": "string",
3160
+ "format": "date-time",
3161
+ "description": "Timestamp when status was last updated"
3162
+ }
3163
+ }
3164
+ }
2866
3165
  }
2867
- },
2868
- "expirationDate": {
2869
- "type": "string",
2870
- "format": "date-time",
2871
- "description": "Expiration date of the accreditation.",
2872
- "example": "2025-12-31T23:59:59Z"
2873
- },
2874
- "status": {
2875
- "type": "string",
2876
- "description": "Current status of the accreditation.",
2877
- "enum": [
2878
- "active",
2879
- "revoked",
2880
- "expired"
2881
- ],
2882
- "example": "active"
2883
3166
  }
2884
- }
3167
+ ]
2885
3168
  }
2886
3169
  }
2887
3170
  }
@@ -3874,6 +4157,138 @@
3874
4157
  }
3875
4158
  }
3876
4159
  },
4160
+ "/credential-status/list": {
4161
+ "get": {
4162
+ "tags": [
4163
+ "Status Lists"
4164
+ ],
4165
+ "summary": "List StatusList2021 or BitstringStatusList DID-Linked Resources created by the customer.",
4166
+ "parameters": [
4167
+ {
4168
+ "in": "query",
4169
+ "name": "did",
4170
+ "description": "The DID of the issuer of the status list.",
4171
+ "schema": {
4172
+ "type": "string"
4173
+ }
4174
+ },
4175
+ {
4176
+ "in": "query",
4177
+ "name": "listType",
4178
+ "description": "The type of Status List.",
4179
+ "schema": {
4180
+ "type": "string",
4181
+ "enum": [
4182
+ "StatusList2021",
4183
+ "BitstringStatusList"
4184
+ ]
4185
+ }
4186
+ },
4187
+ {
4188
+ "in": "query",
4189
+ "name": "statusListName",
4190
+ "description": "The name of the Status List DID-Linked Resource.",
4191
+ "schema": {
4192
+ "type": "string"
4193
+ }
4194
+ },
4195
+ {
4196
+ "in": "query",
4197
+ "name": "state",
4198
+ "description": "The state of the Status List DID-Linked Resource.",
4199
+ "schema": {
4200
+ "type": "string",
4201
+ "enum": [
4202
+ "ACTIVE",
4203
+ "STANDBY",
4204
+ "FULL"
4205
+ ]
4206
+ }
4207
+ },
4208
+ {
4209
+ "in": "query",
4210
+ "name": "credentialCategory",
4211
+ "description": "Filter status lists by credential category assigned for.",
4212
+ "schema": {
4213
+ "type": "string",
4214
+ "enum": [
4215
+ "credential",
4216
+ "accreditation"
4217
+ ]
4218
+ }
4219
+ },
4220
+ {
4221
+ "in": "query",
4222
+ "name": "deprecated",
4223
+ "description": "Filter status lists by deprecated status.",
4224
+ "schema": {
4225
+ "type": "boolean"
4226
+ }
4227
+ }
4228
+ ],
4229
+ "responses": {
4230
+ "200": {
4231
+ "description": "The request was successful.",
4232
+ "content": {
4233
+ "application/json": {
4234
+ "schema": {
4235
+ "$ref": "#/components/schemas/ListCredentialStatusRecordsResult"
4236
+ }
4237
+ }
4238
+ }
4239
+ },
4240
+ "400": {
4241
+ "$ref": "#/components/schemas/InvalidRequest"
4242
+ },
4243
+ "401": {
4244
+ "$ref": "#/components/schemas/UnauthorizedError"
4245
+ },
4246
+ "500": {
4247
+ "$ref": "#/components/schemas/InternalError"
4248
+ }
4249
+ }
4250
+ }
4251
+ },
4252
+ "/credential-status/list/{statusListId}": {
4253
+ "get": {
4254
+ "tags": [
4255
+ "Status Lists"
4256
+ ],
4257
+ "summary": "Fetch StatusList2021 or BitstringStatusList DID-Linked Resource based on search criteria.",
4258
+ "parameters": [
4259
+ {
4260
+ "in": "path",
4261
+ "name": "statusListId",
4262
+ "description": "The statusListId of the status list.",
4263
+ "required": true,
4264
+ "schema": {
4265
+ "type": "string"
4266
+ }
4267
+ }
4268
+ ],
4269
+ "responses": {
4270
+ "200": {
4271
+ "description": "The request was successful.",
4272
+ "content": {
4273
+ "application/json": {
4274
+ "schema": {
4275
+ "$ref": "#/components/schemas/CredentialStatusRecordResult"
4276
+ }
4277
+ }
4278
+ }
4279
+ },
4280
+ "400": {
4281
+ "$ref": "#/components/schemas/InvalidRequest"
4282
+ },
4283
+ "401": {
4284
+ "$ref": "#/components/schemas/UnauthorizedError"
4285
+ },
4286
+ "500": {
4287
+ "$ref": "#/components/schemas/InternalError"
4288
+ }
4289
+ }
4290
+ }
4291
+ },
3877
4292
  "/credential/issue": {
3878
4293
  "post": {
3879
4294
  "tags": [
@@ -4304,6 +4719,24 @@
4304
4719
  "format": "date-time"
4305
4720
  },
4306
4721
  "required": false
4722
+ },
4723
+ {
4724
+ "in": "query",
4725
+ "name": "credentialType",
4726
+ "description": "Filter credentials by type (e.g., 'VerifiableCredential', 'UniversityDegreeCredential').",
4727
+ "schema": {
4728
+ "type": "string"
4729
+ },
4730
+ "required": false
4731
+ },
4732
+ {
4733
+ "in": "query",
4734
+ "name": "statusRegistryId",
4735
+ "description": "Filter issued credentials using status registry ID.",
4736
+ "schema": {
4737
+ "type": "string"
4738
+ },
4739
+ "required": false
4307
4740
  }
4308
4741
  ],
4309
4742
  "responses": {
@@ -4507,6 +4940,87 @@
4507
4940
  }
4508
4941
  }
4509
4942
  },
4943
+ "/credentials/issued/{id}/re-issue": {
4944
+ "post": {
4945
+ "tags": [
4946
+ "Verifiable Credentials"
4947
+ ],
4948
+ "summary": "Reissue an issued credential with failed state.",
4949
+ "description": "This endpoint re-issues the issued credential record in failed state.",
4950
+ "parameters": [
4951
+ {
4952
+ "in": "path",
4953
+ "name": "id",
4954
+ "description": "Credential identifier (issuedCredentialId).",
4955
+ "required": true,
4956
+ "schema": {
4957
+ "type": "string"
4958
+ }
4959
+ }
4960
+ ],
4961
+ "requestBody": {
4962
+ "content": {
4963
+ "application/x-www-form-urlencoded": {
4964
+ "schema": {
4965
+ "$ref": "#/components/schemas/RetryCredentialRequest"
4966
+ }
4967
+ },
4968
+ "application/json": {
4969
+ "schema": {
4970
+ "$ref": "#/components/schemas/RetryCredentialRequest"
4971
+ }
4972
+ }
4973
+ }
4974
+ },
4975
+ "responses": {
4976
+ "200": {
4977
+ "description": "The request was successful.",
4978
+ "content": {
4979
+ "application/json": {
4980
+ "schema": {
4981
+ "type": "object",
4982
+ "properties": {
4983
+ "success": {
4984
+ "type": "boolean"
4985
+ },
4986
+ "data": {
4987
+ "$ref": "#/components/schemas/IssuedCredentialResponse"
4988
+ }
4989
+ }
4990
+ }
4991
+ }
4992
+ }
4993
+ },
4994
+ "400": {
4995
+ "$ref": "#/components/schemas/InvalidRequest"
4996
+ },
4997
+ "401": {
4998
+ "$ref": "#/components/schemas/UnauthorizedError"
4999
+ },
5000
+ "404": {
5001
+ "description": "Credential not found.",
5002
+ "content": {
5003
+ "application/json": {
5004
+ "schema": {
5005
+ "type": "object",
5006
+ "properties": {
5007
+ "success": {
5008
+ "type": "boolean"
5009
+ },
5010
+ "error": {
5011
+ "type": "string"
5012
+ }
5013
+ }
5014
+ }
5015
+ }
5016
+ }
5017
+ },
5018
+ "500": {
5019
+ "$ref": "#/components/schemas/InternalError"
5020
+ }
5021
+ }
5022
+ }
5023
+ },
4510
5024
  "/did/create": {
4511
5025
  "post": {
4512
5026
  "tags": [