{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "walt.id Enterprise",
    "description" : "Interact with the walt.id Enterprise. Version is reported to be 0.22.0 and this service instance was started 2026-07-07T18:55:39Z.<br/>Questions about anything here? Visit <a href='https://support.walt.id'>support</a>.<br/><br/>Any HTTP status code of 200 - 299 indicates request success, 400 - 499 client error / invalid request, 500+ internal server processing exception.",
    "contact" : {
      "name" : "walt.id",
      "url" : "https://walt.id",
      "email" : "office@walt.id"
    },
    "license" : {
      "name" : "Commercial License",
      "url" : "https://walt.id/enterprise-stack"
    },
    "version" : "0.22.0"
  },
  "externalDocs" : {
    "description" : "docs.walt.id",
    "url" : "https://docs.walt.id"
  },
  "servers" : [ {
    "url" : "/",
    "description" : "Development Server"
  } ],
  "tags" : [ ],
  "paths" : {
    "/features/registered" : {
      "get" : {
        "tags" : [ "Feature management" ],
        "summary" : "List registered features",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Registered features",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "LinkedHashMap<String,String>"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/features/state" : {
      "get" : {
        "tags" : [ "Feature management" ],
        "summary" : "Show state of features",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "State of features",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.commons.web.modules.FeatureFlagInformationModule.FeatureFlagInformations"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/livez" : {
      "get" : {
        "tags" : [ ],
        "parameters" : [ ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/auth/account/emailpass" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Account authentication",
        "description" : "Login with account. Applied Auth flow configuration(s) on this route are:\n```json\n|Method: email\n|-> Flow end (success)\n```\nEmail login is enabled. Use EmailPass.EmailPassCredentials request, e.g.:\n```json\n{\"email\":\"email@address\",\"password\":\"pass\"}\n```\nAfterwards, follow AuthSession response for more information.",
        "parameters" : [ ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.EmailPass.EmailPassCredentials"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful authentication",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.ktorauthnz.sessions.AuthSessionInformation"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/auth/account/logout" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Logout",
        "description" : "Invalidate a session or token. Provide Authorization Bearer token or auth cookie; optionally, a `sessionId` via route/query parameter or `X-Session-Id` header.",
        "parameters" : [ ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/admin/account/register" : {
      "post" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Register new account",
        "description" : "Creates a new user account in the system through the administration API. This endpoint allows administrators to register accounts on behalf of users or for system setup purposes.\n\n**Use Cases:**\n- Administrative account creation for new users\n- Bulk account provisioning during system setup\n- Creating accounts with specific initial configurations\n- Setting up service accounts or API accounts\n\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Account registration request with profile, preferences, and initial authentication",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.account.AccountService.UnwrappedAccountRegistrationRequest"
              },
              "examples" : {
                "Account registration with email/password" : {
                  "value" : {
                    "profile" : {
                      "name" : "Max Mustermann",
                      "email" : "max.mustermann@example.org",
                      "addressCountry" : "AT",
                      "address" : "Liechtensteinstraße 111/115, 1090 Vienna"
                    },
                    "preferences" : {
                      "timeZone" : "UTC",
                      "languagePreference" : "EN"
                    },
                    "initialAuth" : {
                      "type" : "email",
                      "identifier" : {
                        "type" : "email",
                        "email" : "max.mustermann@example.org"
                      },
                      "data" : {
                        "type" : "email",
                        "password" : "password123456"
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Account successfully registered",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
                },
                "examples" : {
                  "Registered account" : {
                    "value" : {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "createdAt" : null,
                      "updatedAt" : null,
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org",
                        "addressCountry" : "AT",
                        "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "phone" : "+43 1 2345678"
                      },
                      "accountPreferences" : {
                        "timeZone" : "Europe/Vienna",
                        "languagePreference" : "DE"
                      },
                      "flags" : [ ],
                      "roles" : {
                        "waltid.organization1" : [ "admin", "user" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - validation errors in profile data, invalid email format, or invalid country code",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          },
          "409" : {
            "description" : "Account already exists with the provided email address",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/by-email/{email}" : {
      "get" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Get account by email",
        "description" : "Retrieves account information by email address. This administrative endpoint allows looking up accounts using their email identifier. Returns complete account information including roles and preferences\n\n**Use Cases:**\n- Look up account details by email address\n- Verify account existence before operations\n- Retrieve account information for administrative purposes\n- Support account recovery and management workflows\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "email",
          "in" : "path",
          "description" : "The email address of the account to retrieve",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "max.mustermann@example.org"
        } ],
        "responses" : {
          "200" : {
            "description" : "Account information for the specified email",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
                },
                "examples" : {
                  "Account with email" : {
                    "value" : {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "createdAt" : null,
                      "updatedAt" : null,
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org",
                        "addressCountry" : "AT",
                        "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "phone" : "+43 1 2345678"
                      },
                      "accountPreferences" : {
                        "timeZone" : "Europe/Vienna",
                        "languagePreference" : "DE"
                      },
                      "flags" : [ ],
                      "roles" : {
                        "waltid.organization1" : [ "admin", "user" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "No account found with the specified email address",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/{id}/roles/add/{organization}/{role}" : {
      "post" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Add role to account",
        "description" : "Adds a role to an account within a specific organization. This allows administrators to grant permissions to accounts by assigning them roles that define access levels and capabilities.\n\n**Use Cases:**\n- Grant permissions to accounts by assigning roles\n- Add accounts to organizational roles\n- Update account access levels within organizations\n- Manage role-based access control (RBAC) for accounts\n\n**Important Notes:**\n- Requires superadmin privileges\n- The role must exist in the specified organization\n- Account permission cache is invalidated after role addition\n- Roles are scoped to specific organizations\n\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID) to add the role to",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        }, {
          "name" : "organization",
          "in" : "path",
          "description" : "The organization ID where the role should be added",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.organization1"
        }, {
          "name" : "role",
          "in" : "path",
          "description" : "The role ID to add to the account",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "admin"
        } ],
        "responses" : {
          "200" : {
            "description" : "Updated organization roles for the account",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  },
                  "title" : "LinkedHashMap<String,ArrayList<String>>"
                },
                "examples" : {
                  "Updated roles" : {
                    "value" : {
                      "waltid.organization1" : [ "admin", "user", "editor" ],
                      "waltid.organization1.tenant1" : [ "viewer" ]
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Account, organization, or role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/{id}/roles/remove/{organization}/{role}" : {
      "post" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Remove role from account",
        "description" : "Removes a role from an account within a specific organization. This allows administrators to revoke permissions by removing roles that define access levels and capabilities.\n\n**Use Cases:**\n- Revoke permissions from accounts by removing roles\n- Remove accounts from organizational roles\n- Downgrade account access levels within organizations\n- Manage role-based access control (RBAC) for accounts\n\n**Important Notes:**\n- Requires superadmin privileges\n- The role must be currently assigned to the account\n- Account permission cache is invalidated after role removal\n- Roles are scoped to specific organizations\n\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID) to remove the role from",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        }, {
          "name" : "organization",
          "in" : "path",
          "description" : "The organization ID where the role should be removed",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.organization1"
        }, {
          "name" : "role",
          "in" : "path",
          "description" : "The role ID to remove from the account",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "admin"
        } ],
        "responses" : {
          "200" : {
            "description" : "Updated organization roles for the account",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  },
                  "title" : "LinkedHashMap<String,ArrayList<String>>"
                },
                "examples" : {
                  "Updated roles" : {
                    "value" : {
                      "waltid.organization1" : [ "user" ]
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Account, organization, or role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/accounts" : {
      "get" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "List all accounts",
        "description" : "Retrieves a paginated list of all accounts in the system. This endpoint allows administrators to view and manage all user and API accounts.\n\n**Use Cases:**\n- View all accounts in the system\n- Audit account access and management\n- Export account information for reporting\n- Support account administration workflows\n\n**Important Notes:**\n- Results are paginated for performance\n- Returns both user accounts and API accounts\n- Requires superadmin authentication\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "maxPageSize",
          "in" : "query",
          "description" : "How many entries to return per page",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "How many pages to skip",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "Paginated list of accounts",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
                  },
                  "title" : "ArrayList<Account>"
                },
                "examples" : {
                  "List of accounts" : {
                    "value" : [ {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "createdAt" : null,
                      "updatedAt" : null,
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org",
                        "addressCountry" : "AT",
                        "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "phone" : "+43 1 2345678"
                      },
                      "accountPreferences" : {
                        "timeZone" : "Europe/Vienna",
                        "languagePreference" : "DE"
                      },
                      "flags" : [ ],
                      "roles" : {
                        "waltid.organization1" : [ "admin", "user" ]
                      }
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Create a new account",
        "description" : "Creates a new account in the system through the CRUD API. This endpoint allows administrators to create accounts with full control over account properties.\n\n**Use Cases:**\n- Administrative account creation\n- Bulk account provisioning\n- Creating accounts with specific configurations\n- Setting up service or API accounts\n\n**Important Notes:**\n- Requires superadmin authentication\n- Account ID can be specified or will be generated\n- Full account object including profile, preferences, and roles can be set\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Account creation request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
              },
              "examples" : {
                "Account creation" : {
                  "value" : {
                    "_id" : "123e4567-e89b-12d3-a456-426614174000",
                    "type" : "USER",
                    "createdAt" : null,
                    "updatedAt" : null,
                    "profile" : {
                      "name" : "Max Mustermann",
                      "email" : "max.mustermann@example.org",
                      "addressCountry" : "AT",
                      "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                      "phone" : "+43 1 2345678"
                    },
                    "accountPreferences" : {
                      "timeZone" : "Europe/Vienna",
                      "languagePreference" : "DE"
                    },
                    "flags" : [ ],
                    "roles" : {
                      "waltid.organization1" : [ "admin", "user" ]
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Account created successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid account data or validation errors",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          },
          "409" : {
            "description" : "Account with provided ID already exists",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/{id}" : {
      "get" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Get account by ID",
        "description" : "Retrieves a specific account by its ID. This endpoint allows administrators to view detailed information about a particular account.\n\n**Use Cases:**\n- View account details for administration\n- Retrieve account information for auditing\n- Access account profile and preferences\n- Review account roles and permissions\n\n**Important Notes:**\n- Requires superadmin authentication\n- Returns complete account object including all profile and preference data\n- Account ID must be a valid UUID\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID)",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        } ],
        "responses" : {
          "200" : {
            "description" : "Account information",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
                },
                "examples" : {
                  "Account details" : {
                    "value" : {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "createdAt" : null,
                      "updatedAt" : null,
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org",
                        "addressCountry" : "AT",
                        "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "phone" : "+43 1 2345678"
                      },
                      "accountPreferences" : {
                        "timeZone" : "Europe/Vienna",
                        "languagePreference" : "DE"
                      },
                      "flags" : [ ],
                      "roles" : {
                        "waltid.organization1" : [ "admin", "user" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Account not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Update an account",
        "description" : "Updates an existing account in the system. This endpoint allows administrators to modify account properties including profile, preferences, and roles.\n\n**Use Cases:**\n- Update account profile information\n- Modify account preferences\n- Change account roles and permissions\n- Update account flags or settings\n\n**Important Notes:**\n- Requires superadmin authentication\n- Account ID in the path must match the ID in the request body\n- All account properties can be updated\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID)",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        } ],
        "requestBody" : {
          "description" : "Updated account data",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
              },
              "examples" : {
                "Updated account" : {
                  "value" : {
                    "_id" : "123e4567-e89b-12d3-a456-426614174000",
                    "type" : "USER",
                    "createdAt" : null,
                    "updatedAt" : null,
                    "profile" : {
                      "name" : "Max Mustermann",
                      "email" : "max.mustermann@example.org",
                      "addressCountry" : "AT",
                      "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                      "phone" : "+43 1 2345678"
                    },
                    "accountPreferences" : {
                      "timeZone" : "Europe/Vienna",
                      "languagePreference" : "DE"
                    },
                    "flags" : [ ],
                    "roles" : {
                      "waltid.organization1" : [ "admin", "user" ]
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Account updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid account data or ID mismatch",
            "headers" : { }
          },
          "404" : {
            "description" : "Account not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Administration (Global) / Accounts" ],
        "summary" : "Delete an account",
        "description" : "Deletes an account from the system. This endpoint permanently removes an account and all associated data.\n\n**Use Cases:**\n- Remove accounts that are no longer needed\n- Clean up test or temporary accounts\n- Support account lifecycle management\n- Comply with data deletion requests\n\n**Important Notes:**\n- Requires superadmin authentication\n- This operation is permanent and cannot be undone\n- All account data including roles and preferences will be deleted\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID) to delete",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        } ],
        "responses" : {
          "202" : {
            "description" : "Account deleted successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Account not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/organizations" : {
      "get" : {
        "tags" : [ "Administration (Global) / Organizations" ],
        "summary" : "List all organizations",
        "description" : "Retrieves a paginated list of all organizations in the system. This endpoint allows administrators to view and manage all organizations.\n\n**Use Cases:**\n- View all organizations in the system\n- Audit organization configurations\n- Export organization information for reporting\n- Support organization administration workflows\n\n**Important Notes:**\n- Results are paginated for performance\n- Returns complete organization objects including profile, billing, and configuration\n- Requires superadmin authentication\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "maxPageSize",
          "in" : "query",
          "description" : "How many entries to return per page",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "page",
          "in" : "query",
          "description" : "How many pages to skip",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "Paginated list of organizations",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization"
                  },
                  "title" : "ArrayList<Organization>"
                },
                "examples" : {
                  "List of organizations" : {
                    "value" : [ {
                      "_id" : "waltid.organization1",
                      "profile" : {
                        "name" : "Example Organization"
                      },
                      "billing" : {
                        "billingCountry" : "AT",
                        "billingAddress" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "vatNr" : "ATU12345678",
                        "iban" : "AT611904300234573201",
                        "swift" : "BAWAATWW"
                      },
                      "configuration" : { }
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Administration (Global) / Organizations" ],
        "summary" : "Create a new organization",
        "description" : "Creates a new organization in the system through the CRUD API. This endpoint allows administrators to create organizations with full control over organization properties.\n\n**Use Cases:**\n- Administrative organization creation\n- Setting up new organizations for customers\n- Creating organizations with specific configurations\n- Bulk organization provisioning\n\n**Important Notes:**\n- Requires superadmin authentication\n- Organization ID must be valid (lowercase letters, digits, and hyphens)\n- Full organization object including profile, billing, and configuration can be set\n- Organization validation is performed before creation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Organization creation request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization"
              },
              "examples" : {
                "Organization creation" : {
                  "value" : {
                    "_id" : "waltid.organization1",
                    "profile" : {
                      "name" : "Example Organization"
                    },
                    "billing" : {
                      "billingCountry" : "AT",
                      "billingAddress" : "Liechtensteinstraße 111/115, 1090 Vienna",
                      "vatNr" : "ATU12345678",
                      "iban" : "AT611904300234573201",
                      "swift" : "BAWAATWW"
                    },
                    "configuration" : { }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Organization created successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid organization data, validation errors, or invalid organization ID format",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          },
          "409" : {
            "description" : "Organization with provided ID already exists",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/organizations/{id}" : {
      "get" : {
        "tags" : [ "Administration (Global) / Organizations" ],
        "summary" : "Get organization by ID",
        "description" : "Retrieves a specific organization by its ID. This endpoint allows administrators to view detailed information about a particular organization.\n\n**Use Cases:**\n- View organization details for administration\n- Retrieve organization information for auditing\n- Access organization profile, billing, and configuration\n- Review organization settings\n\n**Important Notes:**\n- Requires superadmin authentication\n- Returns complete organization object including all profile, billing, and configuration data\n- Organization ID must be a valid organization identifier\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The organization ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.organization1"
        } ],
        "responses" : {
          "200" : {
            "description" : "Organization information",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization"
                },
                "examples" : {
                  "Organization details" : {
                    "value" : {
                      "_id" : "waltid.organization1",
                      "profile" : {
                        "name" : "Example Organization"
                      },
                      "billing" : {
                        "billingCountry" : "AT",
                        "billingAddress" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "vatNr" : "ATU12345678",
                        "iban" : "AT611904300234573201",
                        "swift" : "BAWAATWW"
                      },
                      "configuration" : { }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Organization not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Administration (Global) / Organizations" ],
        "summary" : "Update an organization",
        "description" : "Updates an existing organization in the system. This endpoint allows administrators to modify organization properties including profile, billing, and configuration.\n\n**Use Cases:**\n- Update organization profile information\n- Modify billing information\n- Update organization settings\n\n**Important Notes:**\n- Requires superadmin authentication\n- Organization ID in the path must match the ID in the request body\n- All organization properties can be updated\n- Organization validation is performed before update\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The organization ID",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.organization1"
        } ],
        "requestBody" : {
          "description" : "Updated organization data",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization"
              },
              "examples" : {
                "Updated organization" : {
                  "value" : {
                    "_id" : "waltid.organization1",
                    "profile" : {
                      "name" : "Example Organization"
                    },
                    "billing" : {
                      "billingCountry" : "AT",
                      "billingAddress" : "Liechtensteinstraße 111/115, 1090 Vienna",
                      "vatNr" : "ATU12345678",
                      "iban" : "AT611904300234573201",
                      "swift" : "BAWAATWW"
                    },
                    "configuration" : { }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Organization updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid organization data, validation errors, or ID mismatch",
            "headers" : { }
          },
          "404" : {
            "description" : "Organization not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Administration (Global) / Organizations" ],
        "summary" : "Delete an organization",
        "description" : "Deletes an organization from the system. This endpoint permanently removes an organization and all associated data.\n\n**Use Cases:**\n- Remove organizations that are no longer needed\n- Clean up test or temporary organizations\n- Support organization lifecycle management\n- Comply with data deletion requests\n\n**Important Notes:**\n- Requires superadmin authentication\n- This operation is permanent and cannot be undone\n- All organization data including configuration and associated resources will be deleted\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The organization ID to delete",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.organization1"
        } ],
        "responses" : {
          "202" : {
            "description" : "Organization deleted successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Organization not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/auth/{id}/add-initial" : {
      "post" : {
        "tags" : [ "Administration (Global) / Authentication" ],
        "summary" : "Add initial authentication to account",
        "description" : "Adds an initial authentication method to an existing account. This allows administrators to configure how accounts authenticate to the system, such as email/password or other authentication methods.\n\n**Use Cases:**\n- Configure authentication methods for existing accounts\n- Add additional authentication methods to accounts\n- Set up initial authentication for accounts created through other means\n- Enable password reset or authentication method changes\n\n**Important Notes:**\n- Requires superadmin privileges\n- The account must already exist\n- Authentication data (e.g., passwords) are securely stored and hashed\n- Multiple authentication methods can be associated with a single account\n\n**Behavior:**\n- Creates a mapping between the account identifier and account ID\n- Stores authentication data securely if provided\n- Authentication methods can be added incrementally\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID) to add authentication to",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        } ],
        "requestBody" : {
          "description" : "The authentication method registration including type, identifier, and optional stored data",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.initalauth.AuthMethodRegistration"
              },
              "examples" : {
                "Email/password authentication" : {
                  "value" : {
                    "type" : "email",
                    "identifier" : {
                      "type" : "email",
                      "email" : "user@example.org"
                    },
                    "data" : {
                      "type" : "email",
                      "password" : "securePassword123"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Initial authentication method added successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - invalid authentication method, invalid identifier, or account not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/auth/{id}/map-identifier" : {
      "post" : {
        "tags" : [ "Administration (Global) / Authentication" ],
        "summary" : "Add account identifier",
        "description" : "Maps an account identifier (such as an email address) to an existing account ID. This creates a link between an authentication identifier and an account, allowing the identifier to be used for authentication.\n\n**Use Cases:**\n- Link additional identifiers to existing accounts\n- Support multiple authentication identifiers per account\n- Enable account recovery through alternative identifiers\n- Map external authentication identifiers to accounts\n\n**Important Notes:**\n- Requires superadmin privileges\n- The account must already exist\n- Identifiers must be unique across the system\n- Multiple identifiers can map to the same account\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The account ID (UUID) to map the identifier to",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "123e4567-e89b-12d3-a456-426614174000"
        } ],
        "requestBody" : {
          "description" : "The account identifier to map to the account",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.ktorauthnz.accounts.identifiers.methods.AccountIdentifier"
              },
              "examples" : {
                "Email identifier" : {
                  "value" : {
                    "type" : "email",
                    "email" : "user@example.org"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Account identifier mapped successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - invalid identifier format or account not found",
            "headers" : { }
          },
          "409" : {
            "description" : "Identifier already mapped to another account",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/auth/unmap-identifier" : {
      "post" : {
        "tags" : [ "Administration (Global) / Authentication" ],
        "summary" : "Remove account identifier",
        "description" : "Removes the mapping between an account identifier and an account ID. This unlinks the identifier from the account, preventing it from being used for authentication.\n\n**Use Cases:**\n- Remove obsolete or compromised identifiers from accounts\n- Unlink identifiers when accounts are deactivated\n- Clean up identifier mappings during account management\n- Support identifier rotation and replacement workflows\n\n**Important Notes:**\n- Requires superadmin privileges\n- Removing an identifier may prevent authentication if it's the only identifier\n- Stored authentication data associated with the identifier may remain\n- Operation is idempotent if identifier is already unmapped\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The account identifier to unmap",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.ktorauthnz.accounts.identifiers.methods.AccountIdentifier"
              },
              "examples" : {
                "Email identifier" : {
                  "value" : {
                    "type" : "email",
                    "email" : "user@example.org"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Account identifier unmapped successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Identifier mapping not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/auth/stored-data/add" : {
      "post" : {
        "tags" : [ "Administration (Global) / Authentication" ],
        "summary" : "Add stored data to account identifier",
        "description" : "Adds or updates stored authentication data for an account identifier. This allows administrators to set or update authentication credentials such as passwords, tokens, or other authentication secrets.\n\n**Use Cases:**\n- Set initial passwords for accounts\n- Update authentication credentials for account identifiers\n- Configure authentication data for various authentication methods\n- Support password reset and credential management\n\n**Important Notes:**\n- Requires superadmin privileges\n- Authentication data is securely stored and hashed\n- Data format depends on the authentication method type\n- Stored data is associated with both identifier and method\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The stored authentication data including identifier and data",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.storeddata.IdentifiedStoredData"
              },
              "examples" : {
                "Email/password stored data" : {
                  "value" : {
                    "identifier" : {
                      "type" : "email",
                      "email" : "user@example.org"
                    },
                    "data" : {
                      "type" : "email",
                      "password" : "newPassword123"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Stored authentication data added successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - invalid identifier, invalid data format, or validation errors",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/account/auth/stored-data/remove" : {
      "post" : {
        "tags" : [ "Administration (Global) / Authentication" ],
        "summary" : "Remove stored data from account identifier",
        "description" : "Removes stored authentication data for a specific account identifier and authentication method combination. This allows administrators to delete authentication credentials such as passwords or tokens.\n\n**Use Cases:**\n- Remove compromised authentication credentials\n- Delete obsolete authentication data\n- Clean up stored data during account deactivation\n- Support credential rotation and replacement\n\n**Important Notes:**\n- Requires superadmin privileges\n- Removes data for a specific identifier and method combination\n- Does not remove the identifier mapping itself\n- Operation is idempotent if data doesn't exist\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The identifier and method combination to remove stored data from",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.authnz.AuthenticationService.IdentifiedMethod"
              },
              "examples" : {
                "Email method" : {
                  "value" : {
                    "identifier" : {
                      "type" : "email",
                      "email" : "user@example.org"
                    },
                    "method" : "email"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Stored authentication data removed successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Stored data not found for the specified identifier and method",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/admin/migrations" : {
      "get" : {
        "tags" : [ "Administration (Global) / DB Migrations" ],
        "summary" : "Get migration status",
        "description" : "Returns current migration status including pending migrations and history",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.persistence.interfaces.DataStoreMigrationService.MigrationRunInformation"
                  },
                  "title" : "ArrayList<DataStoreMigrationService.MigrationRunInformation>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/admin/migrations/{dbVersion}" : {
      "post" : {
        "tags" : [ "Administration (Global) / DB Migrations" ],
        "summary" : "Perform migration action",
        "description" : "Schedules a migration action (run, dry-run, validate, rollback) for the specified database version. The action will be executed after the node acquires a DB migration lock",
        "parameters" : [ {
          "name" : "dbVersion",
          "in" : "path",
          "description" : "DB version of the migration which should be executed.",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.persistence.migration.DataStoreMigrationController.MigrationActionRequest"
              },
              "examples" : {
                "Dry-Run" : {
                  "value" : {
                    "action" : "DRY_RUN",
                    "remark" : "Example Dry Run"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/admin/admin/cluster-status" : {
      "get" : {
        "tags" : [ "Administration (Global) / Cluster" ],
        "summary" : "Get cluster status",
        "description" : "Returns the status of all running cluster nodes",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.clusterstatus.EnterpriseClusterNodeStatus"
                  },
                  "title" : "ArrayList<EnterpriseClusterNodeStatus>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/superadmin/create-by-token" : {
      "post" : {
        "tags" : [ "Administration / Superadmin" ],
        "summary" : "Create superadmin with configured token",
        "description" : "Creates a new superadmin account using a pre-configured registration token. This endpoint allows initial superadmin setup during system deployment or when adding new superadmin accounts using tokens configured in the system configuration.\n\n**Use Cases:**\n- Initial superadmin account creation during system setup\n- Create superadmin accounts using pre-configured tokens\n- Bootstrap superadmin access for new deployments\n- Add additional superadmin accounts using configured tokens\n\n**Important Notes:**\n- This endpoint is feature-flagged and may not be available in all deployments\n- Tokens must be pre-configured in the system configuration\n- Each token can only be used once - tokens are single-use\n- Tokens may have expiration dates that must be checked\n- The superadmin account ID is deterministically generated from the token\n- Authentication credentials are configured as part of the token configuration\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "The superadmin registration token configured in the system",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Superadmin registration token" : {
                  "value" : "superadmin-registration-token-12345"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Superadmin account created successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - token not found, token already used, token expired, or superadmin registration feature not enabled",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication may be required depending on configuration",
            "headers" : { }
          },
          "403" : {
            "description" : "Superadmin registration is disabled or not permitted",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/superadmin/list" : {
      "get" : {
        "tags" : [ "Administration / Superadmin" ],
        "summary" : "List superadmin IDs",
        "description" : "Retrieves a list of all account IDs that have superadmin privileges. Superadmin accounts are identified by having the \"superadmin\" flag set on their account.\n\n**Use Cases:**\n- Audit superadmin accounts in the system\n- List all accounts with superadmin privileges\n- Verify superadmin account existence\n- Support superadmin account management workflows\n\n**Important Notes:**\n- Requires superadmin authentication\n- Returns only account IDs, not full account information\n- Superadmin status is determined by the presence of the \"superadmin\" flag\n- Account IDs are returned as UUID strings\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "List of superadmin account IDs",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "List of superadmin IDs" : {
                    "value" : [ "123e4567-e89b-12d3-a456-426614174000", "223e4567-e89b-12d3-a456-426614174001", "323e4567-e89b-12d3-a456-426614174002" ]
                  },
                  "Empty list" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required - superadmin access required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions - superadmin access required",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/account/info" : {
      "get" : {
        "tags" : [ "Account" ],
        "summary" : "View account information",
        "description" : "Retrieves detailed information about the currently authenticated account. This includes profile data, preferences, roles, and flags associated with the account.\n\n**Use Cases:**\n- Display account information in user interfaces\n- Retrieve account details for profile management\n- Access account roles and permissions information\n- View account preferences and settings\n\n**Important Notes:**\n- Requires authentication - returns information for the currently logged-in account\n- Returns complete account data including roles across all organizations\n- Account roles are organized by organization/tenant paths\n- Flags can indicate special account states or features\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/accounts/overview'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Account information for the currently authenticated user",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account"
                },
                "examples" : {
                  "Account with full profile and roles" : {
                    "value" : {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "createdAt" : null,
                      "updatedAt" : null,
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org",
                        "addressCountry" : "AT",
                        "address" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "phone" : "+43 1 2345678",
                        "profileImage" : "https://example.com/avatars/max-mustermann.jpg"
                      },
                      "accountPreferences" : {
                        "timeZone" : "Europe/Vienna",
                        "languagePreference" : "DE"
                      },
                      "flags" : [ ],
                      "roles" : {
                        "waltid.organization1" : [ "admin", "user" ],
                        "waltid.organization1.tenant1" : [ "editor" ]
                      }
                    }
                  },
                  "Account with minimal information" : {
                    "value" : {
                      "_id" : "123e4567-e89b-12d3-a456-426614174001",
                      "type" : "USER",
                      "createdAt" : null,
                      "updatedAt" : null,
                      "profile" : {
                        "name" : "Jane Doe",
                        "email" : "jane.doe@example.org",
                        "addressCountry" : "US",
                        "address" : "123 Main Street, New York, NY 10001"
                      },
                      "accountPreferences" : {
                        "timeZone" : "UTC",
                        "languagePreference" : "EN"
                      },
                      "flags" : [ ],
                      "roles" : { }
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "404" : {
            "description" : "Account not found",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/account/preferences" : {
      "put" : {
        "tags" : [ "Account" ],
        "summary" : "Update account preferences",
        "description" : "Updates the preferences for the currently authenticated account. Preferences include timezone, language, and other user-specific settings that affect how the account interacts with the system.\n\n**Use Cases:**\n- Update timezone settings for accurate time display\n- Change language preferences for localized content\n- Modify user-specific application settings\n- Configure account notification preferences\n\n**Important Notes:**\n- Requires authentication - updates preferences for the currently logged-in account\n- Only preference fields are updated, not profile information\n- Preference validation ensures valid timezone and language codes\n- Changes take effect immediately after update\n\n**Behavior:**\n- Invalid preference values result in validation errors\n- Timezone must be a valid IANA timezone identifier\n- Language preference should follow ISO 639-1 language codes\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/accounts/overview'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Updated account preferences",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account.AccountPreferences"
              },
              "examples" : {
                "Preferences with custom timezone and language" : {
                  "value" : {
                    "timeZone" : "America/New_York",
                    "languagePreference" : "EN"
                  }
                },
                "Preferences with default values" : {
                  "value" : {
                    "timeZone" : "UTC",
                    "languagePreference" : "EN"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Account preferences updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - invalid timezone, invalid language code, or validation errors",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "404" : {
            "description" : "Account not found",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/organization/info" : {
      "get" : {
        "tags" : [ "Organization" ],
        "summary" : "View selected organization information",
        "description" : "Permissions: ANY OF: [ADMIN_ORGANIZATION_GET]  \nOperation: 'view-info'  \nRequires authentication.  \n\n---\nRetrieves detailed information about the currently selected organization. This includes the organization profile, billing information, and configuration settings.\n\n**Use Cases:**\n- Display organization information in user interfaces\n- Retrieve organization details for management purposes\n- Access organization configuration and settings\n- Review billing information and organization profile\n\n**Important Notes:**\n- Returns information for the organization in the current request context\n- Organization is determined from the authenticated account's context\n- Includes complete organization data including configuration\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/organizations/overview'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Organization information for the selected organization",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization"
                },
                "examples" : {
                  "Organization with full configuration" : {
                    "value" : {
                      "_id" : "waltid",
                      "profile" : {
                        "name" : "walt.id GmbH"
                      },
                      "billing" : {
                        "billingCountry" : "AT",
                        "billingAddress" : "Liechtensteinstraße 111/115, 1090 Vienna",
                        "vatNr" : "ATU75569617",
                        "iban" : "AT611904300234573201",
                        "swift" : "BAWAATWW"
                      },
                      "configuration" : {
                        "rootDidRegistry" : "waltid.didregistry"
                      }
                    }
                  },
                  "Organization with minimal configuration" : {
                    "value" : {
                      "_id" : "example-org",
                      "profile" : {
                        "name" : "Example Organization"
                      },
                      "billing" : {
                        "billingCountry" : "US",
                        "billingAddress" : "123 Main Street, New York, NY 10001"
                      },
                      "configuration" : { }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Organization not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view organization information",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/organization/update-config" : {
      "post" : {
        "tags" : [ "Organization" ],
        "summary" : "Update organization configuration",
        "description" : "Permissions: ANY OF: [ADMIN_ORGANIZATION_UPDATE_CONFIGURATION]  \nOperation: 'update-organization-config'  \nRequires authentication.  \n\n---\nUpdates the configuration settings for the currently selected organization. Organization configuration includes settings such as root DID registry references that affect how the organization operates.\n\n**Use Cases:**\n- Update organization-level service configurations\n- Modify root DID registry settings\n- Change organization configuration after initial setup\n- Adjust organization settings for operational changes\n\n**Important Notes:**\n- Only configuration settings are updated, not profile or billing information\n- Root DID registry must be within the organization's scope if specified\n- Configuration validation ensures settings are valid for the organization\n- Changes take effect immediately after update\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/organizations/overview'>the docs</a>",
        "parameters" : [ ],
        "requestBody" : {
          "description" : "Updated organization configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.OrganizationConfiguration"
              },
              "examples" : {
                "Configuration with root DID registry" : {
                  "value" : {
                    "rootDidRegistry" : "waltid.tenant1.didregistry.main"
                  }
                },
                "Configuration without root DID registry" : {
                  "value" : { }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Organization configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - invalid configuration, root DID registry out of scope, or validation errors",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update organization configuration",
            "headers" : { }
          },
          "404" : {
            "description" : "Organization not found",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/organization/permissions/organization" : {
      "get" : {
        "tags" : [ "Organization" ],
        "summary" : "List accounts that have some permission on organization",
        "description" : "Permissions: ANY OF: [ADMIN_ORGANIZATION_GET_ACCOUNTS]  \nOperation: 'list-organization-accounts'  \nRequires authentication.  \n\n---\nRetrieves a list of all accounts (both user and API accounts) that have any permission assigned within the organization. This provides an overview of all accounts with access to the organization.\n\n**Use Cases:**\n- Audit accounts with access to an organization\n- Review all accounts that have permissions in the organization\n- List organization members and API keys\n- Support access control and permission management workflows\n\n**Important Notes:**\n- Returns minimal account information (ID, type, name, email)\n- Includes both user accounts and API accounts\n- Only accounts with at least one permission in the organization are returned\n- Account information is minimal and does not include full profile or preferences\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/organizations/overview'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "List of accounts with permissions in the organization",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.global.account.MinimalAccount"
                  },
                  "title" : "ArrayList<MinimalAccount>"
                },
                "examples" : {
                  "List of accounts with permissions" : {
                    "value" : [ {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org"
                      }
                    }, {
                      "_id" : "223e4567-e89b-12d3-a456-426614174001",
                      "type" : "API",
                      "profile" : {
                        "name" : "API Key",
                        "email" : "api-key@example.org"
                      }
                    } ]
                  },
                  "Empty list" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list organization accounts",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/organization/permissions/tenant/{tenant}" : {
      "get" : {
        "tags" : [ "Organization" ],
        "summary" : "List accounts that have some permission on tenant",
        "description" : "Permissions: ANY OF: [ADMIN_ORGANIZATION_GET_TENANTS_OF_ACCOUNT]  \nOperation: 'list-tenant-accounts'  \nRequires authentication.  \n\n---\nRetrieves a list of all accounts that have any permission assigned within a specific tenant. This provides an overview of accounts with access to a particular tenant within the organization.\n\n**Use Cases:**\n- Audit accounts with access to a specific tenant\n- Review all accounts that have permissions in a tenant\n- List tenant members and their access\n- Support tenant-level access control management\n\n**Important Notes:**\n- Returns minimal account information (ID, type, name, email)\n- Includes both user accounts and API accounts\n- Only accounts with at least one permission on the tenant are returned\n- Tenant must exist and be within the organization's scope\n- Accounts are filtered to only those with actual permissions on the tenant\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/organizations/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "tenant",
          "in" : "path",
          "description" : "The tenant identifier or path",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.tenant1"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of accounts with permissions on the tenant",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.global.account.MinimalAccount"
                  },
                  "title" : "ArrayList<MinimalAccount>"
                },
                "examples" : {
                  "List of accounts with tenant permissions" : {
                    "value" : [ {
                      "_id" : "123e4567-e89b-12d3-a456-426614174000",
                      "type" : "USER",
                      "profile" : {
                        "name" : "Max Mustermann",
                        "email" : "max.mustermann@example.org"
                      }
                    } ]
                  },
                  "Empty list" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - tenant not found or tenant is not within the organization scope",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list tenant accounts",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/events/query" : {
      "post" : {
        "tags" : [ "Events" ],
        "summary" : "Query events",
        "description" : "Permissions: ANY OF: [VIEW_EVENTS]  \nOperation: 'view-events'  \nRequires authentication.  \n\n---\nQueries events from the event store based on specified filters. This endpoint allows you to retrieve and aggregate events for monitoring, auditing, and analytics purposes. Events can be filtered by type, status, action, target, timestamp range, and event-specific properties.\n\n**Use Cases:**\n- Monitor issuance and verification sessions\n- Audit system activity and user actions\n- Generate analytics and reports on event data\n\n**Important Notes:**\n- Requires authentication and read permission on the organization\n- Supports simple queries (returns event list)\n- Filter supports both minimal and comprehensive filtering options\n- Can filter by event type (IssuanceEvent, VerificationEvent), status, action, target, timestamp range, and event-specific properties\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/events-and-metrics/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "organization",
          "in" : "query",
          "description" : "Organization ID to query events for",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.organization1"
        } ],
        "requestBody" : {
          "description" : "Event filter specifying criteria for querying events",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.commons.events.filter.EventFilter"
              },
              "examples" : {
                "Verification event, minimal filter" : {
                  "value" : {
                    "eventType" : [ "VerificationEvent" ],
                    "status" : [ "Open", "Success", "Failure" ],
                    "action" : [ "init_session", "process_request" ],
                    "verificationEventFilter" : {
                      "format" : [ "vc+sd-jwt", "dc+sd-jwt", "jwt_vc_json", "mso_mdoc" ]
                    }
                  }
                },
                "Verification event, full filter" : {
                  "value" : {
                    "eventType" : [ "VerificationEvent" ],
                    "status" : [ "Open", "Success", "Failure" ],
                    "action" : [ "init_session", "process_request" ],
                    "fromTimestamp" : 0,
                    "toTimestamp" : 1783450557079,
                    "callId" : "<callId>",
                    "target" : [ "waltid.tenant1.verifier1", "waltid.tenant1.verifier2" ],
                    "verificationEventFilter" : {
                      "format" : [ "vc+sd-jwt", "dc+sd-jwt", "jwt_vc_json", "mso_mdoc" ],
                      "signatureAlgorithm" : [ "<signatureAlgorithm>" ],
                      "sessionId" : "<sessionId>",
                      "holder" : [ "<holder>" ],
                      "ecosystem" : [ "<ecosystem>" ],
                      "walletId" : [ "<walletId>" ],
                      "protocol" : [ "<protocol>" ],
                      "deviceFlow" : [ "Single", "Multi" ],
                      "asyncFlow" : [ true, false ]
                    }
                  }
                },
                "Issuance event, minimal filter" : {
                  "value" : {
                    "eventType" : [ "IssuanceEvent" ],
                    "status" : [ "Open", "Success", "Failure" ],
                    "action" : [ "init_session", "process_request" ],
                    "issuanceEventFilter" : {
                      "format" : [ "vc+sd-jwt", "dc+sd-jwt", "jwt_vc_json", "mso_mdoc" ]
                    }
                  }
                },
                "Issuance event, full filter" : {
                  "value" : {
                    "eventType" : [ "IssuanceEvent" ],
                    "status" : [ "Open", "Success", "Failure" ],
                    "action" : [ "init_session", "process_request" ],
                    "fromTimestamp" : 0,
                    "toTimestamp" : 1783450557082,
                    "callId" : "<callId>",
                    "target" : [ "waltid.tenant1.issuer1", "waltid.tenant1.issuer2" ],
                    "issuanceEventFilter" : {
                      "credentialConfigurationId" : [ "<credentialConfigurationId>" ],
                      "format" : [ "vc+sd-jwt", "dc+sd-jwt", "jwt_vc_json", "mso_mdoc" ],
                      "sessionId" : "<sessionId>"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Query results. Returns a list of events when groupBy is not provided, or a list of EventCount objects when groupBy is specified.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "title" : "*"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - invalid filter, invalid organization ID, or malformed groupBy parameter",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to query events for the specified organization",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/resources-api/tree" : {
      "get" : {
        "tags" : [ "Organization Resources" ],
        "description" : "Permissions: ANY OF: [VIEW_RESOURCE_TREE]  \nOperation: 'view-resource-tree'  \nRequires authentication.  \n",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Returns the resource tree for the organization",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/permissions/list-roles" : {
      "get" : {
        "tags" : [ "Permissions" ],
        "summary" : "List roles of the current account",
        "description" : "Permissions: None required  \nOperation: 'list-own-roles'  \nRequires authentication.  \n\n---\nReturns all role identifiers assigned to the currently authenticated account within the selected organization.\n\n**Use Cases:**\n- Show current user's roles in an account settings UI\n- Determine access level for client-side feature toggles\n- Debug authorization issues by inspecting assigned roles\n\n**Important Notes:**\n- Requires authentication and appropriate permissions for the organization\n- Only roles for the current account and organization are returned\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/overview'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "List of roles retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Example roles" : {
                    "value" : [ "org.myfirstrole", "org.editor", "org.viewer" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/permissions/list-role-and-permissions" : {
      "get" : {
        "tags" : [ "Permissions" ],
        "summary" : "List roles with permissions of the current account",
        "description" : "Permissions: None required  \nOperation: 'list-own-roles'  \nRequires authentication.  \n\n---\nReturns all roles of the current account together with their associated permissions in structured form.\n\n**Use Cases:**\n- Inspect which permissions are granted by each role\n- Build role/permission overview pages for administrators or users\n- Debug complex authorization setups by examining effective permissions\n\n**Important Notes:**\n- Requires authentication and appropriate permissions for the organization\n- Permissions are returned as structured permission objects\n- Only roles and permissions for the current account and organization are returned\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/overview'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Roles with permissions retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/id.walt.permissions.Permission"
                    },
                    "title" : "ArrayList<Permission>"
                  },
                  "title" : "LinkedHashMap<String,ArrayList<Permission>>"
                },
                "examples" : {
                  "Example roles with permissions" : {
                    "value" : {
                      "org.myfirstrole" : [ {
                        "target" : "example.kms",
                        "action" : "generate-key"
                      }, {
                        "target" : "example.kms",
                        "action" : "store-key"
                      }, {
                        "target" : "example.kms",
                        "action" : "import-key-jwk"
                      } ]
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list roles and permissions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/permissions/list-role-and-permissions-serialized" : {
      "get" : {
        "tags" : [ "Permissions" ],
        "summary" : "List roles with permissions of the current account (serialized)",
        "description" : "Permissions: None required  \nOperation: 'list-own-roles'  \nRequires authentication.  \n\n---\nReturns all roles of the current account together with their associated permissions as serialized string values.\n\n**Use Cases:**\n- Integrate with systems that expect permissions as simple string identifiers\n- Log or audit effective permissions in a human-readable format\n- Export role/permission information for external analysis tools\n\n**Important Notes:**\n- Requires authentication and appropriate permissions for the organization\n- Permissions are returned as string representations (e.g. enum names or IDs)\n- Only roles and permissions for the current account and organization are returned\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/overview'>the docs</a>",
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Serialized roles with permissions retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "title" : "String"
                    },
                    "title" : "ArrayList<String>"
                  },
                  "title" : "LinkedHashMap<String,ArrayList<String>>"
                },
                "examples" : {
                  "Example serialized roles with permissions" : {
                    "value" : {
                      "org.myfirstrole" : [ "example.kms:+generate-key", "example.kms:+store-key", "example.kms:+import-key-jwk" ]
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list roles and permissions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/permissions/auth-debug" : {
      "get" : {
        "tags" : [ "Permissions" ],
        "description" : "Permissions: None required  \nOperation: 'auth-debug'  \nRequires authentication.  \n",
        "parameters" : [ ],
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/resource-api/resources/list" : {
      "get" : {
        "tags" : [ "Service | Resource" ],
        "summary" : "List sub-entries of a resource (this endpoint will be replaced in the future)",
        "description" : "Permissions: ANY OF: [LIST_SUBENTRIES]  \nOperation: 'list-subentries'  \nAccepts targets: [TraversableEntry]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "The IDs of the sub-entries of this resource.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/resource-api/resources/delete" : {
      "delete" : {
        "tags" : [ "Service | Resource" ],
        "summary" : "Delete a resource (this endpoint will be replaced in the future)",
        "description" : "Permissions: ANY OF: [DELETE_RESOURCE]  \nOperation: 'delete-resource'  \nAccepts targets: [TreeEntry]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "The resource was deleted.",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/resource-api/resources/delete-recursive" : {
      "delete" : {
        "tags" : [ "Service | Resource" ],
        "summary" : "Recursively delete a resource (this endpoint will be replaced in the future)",
        "description" : "Permissions: ANY OF: [DELETE_RESOURCE_RECURSIVE, ES_DID_STORE_DELETE, ES_KMS_DELETE, ES_DID_SERVICE_DELETE, ES_DID_REGISTRY_DELETE, ES_POLICY_STORE_DELETE, ES_CREDENTIAL_STORE_DELETE, ES_X509_STORE_DELETE, ES_X509_SERVICE_DELETE, ES_TRUST_REGISTRY_DELETE, ES_VICAL_DELETE, ES_CREDENTIAL_STATUS_DELETE, ES_ISSUER_DELETE, ES_VERIFIER_DELETE, ES_WALLET_DELETE, ES_OIDC_BRIDGE_DELETE]  \nOperation: 'delete-resource-recursive'  \nAccepts targets: [TreeEntry]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "The resource was deleted.",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/resource-api/tenants/create" : {
      "post" : {
        "tags" : [ "Service | Resource" ],
        "summary" : "Create new tenant entry in the organization",
        "description" : "Permissions: ANY OF: [ADMIN_TENANT_CREATE]  \nOperation: 'create-tenant'  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.NewTenantRequest"
              },
              "examples" : {
                "Create tenant (no friendly name)" : {
                  "value" : { }
                },
                "Create tenant, with name" : {
                  "value" : {
                    "name" : "New Tenant"
                  }
                },
                "Create tenant, with Tenant Configuration" : {
                  "value" : {
                    "configuration" : {
                      "didRegistry" : "didregistry"
                    }
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "201" : {
            "description" : "Created new tenant.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tenant"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/resource-api/services/create" : {
      "post" : {
        "tags" : [ "Service | Resource" ],
        "summary" : "Create new service entry in the organization",
        "description" : "Permissions: ANY OF: [RM_CREATE_SERVICE, ES_KMS_CREATE, ES_DID_STORE_CREATE, ES_DID_SERVICE_CREATE, ES_DID_REGISTRY_CREATE, ES_POLICY_STORE_CREATE, ES_CLIENT_ATTESTER_CREATE, ES_CREDENTIAL_STORE_CREATE, ES_X509_STORE_CREATE, ES_X509_SERVICE_CREATE, ES_TRUST_REGISTRY_CREATE, ES_VICAL_CREATE, ES_CREDENTIAL_STATUS_CREATE, ES_ISSUER_CREATE, ES_VERIFIER_CREATE, ES_WALLET_CREATE, ES_OIDC_BRIDGE_CREATE]  \nOperation: 'create-service'  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Service creation examples.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ServiceReference"
              },
              "examples" : {
                "Create KMS Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "kms"
                  }
                },
                "Create KMS Service - AWS" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "kms",
                    "defaultKeyGenerationRequests" : {
                      "aws" : {
                        "auth" : {
                          "region" : "eu-central-1"
                        }
                      }
                    }
                  }
                },
                "Create KMS Service - AWS (AccessKeys)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "kms",
                    "defaultKeyGenerationRequests" : {
                      "aws-rest-api" : {
                        "auth" : {
                          "accessKeyId" : "accessKey",
                          "secretAccessKey" : "secretKey",
                          "region" : "eu-central-1"
                        }
                      }
                    }
                  }
                },
                "Create KMS Service - AWS (RoleName)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "kms",
                    "defaultKeyGenerationRequests" : {
                      "aws-rest-api" : {
                        "auth" : {
                          "roleName" : "roleName",
                          "region" : "eu-central-1"
                        }
                      }
                    }
                  }
                },
                "Create KMS Service - AWS (config-ref)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "kms",
                    "configRef" : "aws-kms"
                  }
                },
                "Create KMS Service - Azure" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "kms",
                    "defaultKeyGenerationRequests" : {
                      "azure" : {
                        "auth" : {
                          "keyVaultUrl" : "https://your-key-vault-name.vault.azure.net/"
                        }
                      }
                    }
                  }
                },
                "Create Credential Status - AWS registry (regular setup)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "aws",
                        "bucketName" : "bucket-name",
                        "region" : "region",
                        "accessKeyId" : "s3-access-key-id",
                        "secretKey" : "s3-secret-key"
                      }
                    }
                  }
                },
                "Create Credential Status - AWS registry (CDN setup)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "aws",
                        "bucketName" : "bucket-name",
                        "region" : "region",
                        "accessKeyId" : "s3-access-key-id",
                        "secretKey" : "s3-secret-key"
                      },
                      "bucketUrl" : "https://example.com"
                    }
                  }
                },
                "Create Credential Status - AWS registry (S3 compatible)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "aws",
                        "bucketName" : "bucket-name",
                        "region" : "region",
                        "accessKeyId" : "s3-access-key-id",
                        "secretKey" : "s3-secret-key",
                        "endpointUrl" : "https://s3-compatible.com"
                      }
                    }
                  }
                },
                "Create Credential Status - Azure registry" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "azure",
                        "bucketName" : "bucket-name",
                        "connectionString" : "connection-string"
                      },
                      "bucketUrl" : "https://storage-name.blob.core.windows.net/bucket-name"
                    }
                  }
                },
                "Create Credential Status - Azure registry (Managed Identity)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "azure",
                        "bucketName" : "bucket-name",
                        "accountUrl" : "https://storage-name.blob.core.windows.net"
                      },
                      "bucketUrl" : "https://storage-name.blob.core.windows.net/bucket-name"
                    }
                  }
                },
                "Create Credential Status - GCP registry" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "gcp",
                        "bucketName" : "bucket-name",
                        "projectId" : "project-id",
                        "serviceAccountKeyJson" : {
                          "note" : "Provide your GCP service account JSON ",
                          "project_id" : "YOUR_PROJECT_ID"
                        }
                      },
                      "bucketUrl" : "https://storage.cloud.google.com/bucket-name"
                    }
                  }
                },
                "Create Credential Status - in-memory registry" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "registry" : {
                        "type" : "in-memory"
                      }
                    }
                  }
                },
                "Create Credential Status - via config-ref-aws" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "configRef" : "aws-s3-eu-north-2"
                    }
                  }
                },
                "Create Credential Status - via config-ref-azure" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-status",
                    "config" : {
                      "configRef" : "azure-storage-example"
                    }
                  }
                },
                "Create Credential Store" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "credential-store"
                  }
                },
                "Create DID Registry" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "did-registry"
                  }
                },
                "Create DID Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "did"
                  }
                },
                "Create DID Store" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "did-store"
                  }
                },
                "Create Id Cache Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "idcacheservice",
                    "issuerUrl" : "https://issuer.walt.id"
                  }
                },
                "Create Issuer" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "identity_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "sdJwtVcTypeMetadata" : {
                          "name" : "Identity Credential",
                          "description" : "The Identity Verifiable Credential"
                        }
                      },
                      "OpenBadgeCredential_jwt_vc_json" : {
                        "format" : "jwt_vc_json",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        }
                      },
                      "NaturalPersonVerifiableID_jwt_vc" : {
                        "format" : "jwt_vc",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256", "ES256K", "RSA", "EdDSA" ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                        }
                      },
                      "VerifiablePortableDocumentA1_jwt_vc" : {
                        "format" : "jwt_vc",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256", "ES256K", "RSA", "EdDSA" ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "VerifiableAttestation", "VerifiablePortableDocumentA1" ]
                        }
                      },
                      "org.iso.18013.5.1.mDL" : {
                        "format" : "mso_mdoc",
                        "cryptographic_binding_methods_supported" : [ "cose_key" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "credential_definition" : {
                          "type" : [ "org.iso.18013.5.1.mDL" ]
                        },
                        "doctype" : "org.iso.18013.5.1.mDL"
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1"
                  }
                },
                "Create Issuer with single display information configuration (en-US localization)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "identity_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "sdJwtVcTypeMetadata" : {
                          "vct" : "{vctBaseURL}/identity_credential",
                          "name" : "Identity Credential",
                          "description" : "The Identity Verifiable Credential"
                        }
                      },
                      "OpenBadgeCredential_jwt_vc_json" : {
                        "format" : "jwt_vc_json",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        }
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "displayConfigurations" : [ {
                      "name" : "walt.id Enterprise Issuer Service",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "http://cdn.walt.id/issuer/logo.png",
                        "alt_text" : "logo specific text goes here"
                      }
                    } ]
                  }
                },
                "Create Issuer with credential branding information" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "identity_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "display" : [ {
                          "name" : "Identity Credential",
                          "locale" : "en-US",
                          "logo" : {
                            "url" : "https://example.com/identity_logo.png",
                            "alt_text" : "Identity Credential Logo"
                          },
                          "description" : "A credential representing identity verification.",
                          "background_color" : "#FFFFFF",
                          "background_image" : {
                            "url" : "https://example.com/background.png",
                            "alt_text" : "Background"
                          },
                          "text_color" : "#000000"
                        } ],
                        "sdJwtVcTypeMetadata" : {
                          "name" : "Identity Credential",
                          "description" : "The Identity Verifiable Credential"
                        }
                      },
                      "OpenBadgeCredential_jwt_vc_json" : {
                        "format" : "jwt_vc_json",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "display" : [ {
                          "name" : "Open BadgeCredential",
                          "locale" : "en-US",
                          "logo" : {
                            "url" : "https://example.com/identity_logo.png",
                            "alt_text" : "Open BadgeCredential Logo"
                          },
                          "description" : "OpenBadge credential description",
                          "background_color" : "#FFFFFF",
                          "background_image" : {
                            "url" : "https://example.com/background.png",
                            "alt_text" : "Background"
                          },
                          "text_color" : "#000000"
                        } ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        }
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1"
                  }
                },
                "Create Issuer with External Authorization Server" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "NaturalPersonVerifiableID_jwt_vc" : {
                        "format" : "jwt_vc",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256", "ES256K", "RSA", "EdDSA" ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                        }
                      },
                      "VerifiablePortableDocumentA1_jwt_vc" : {
                        "format" : "jwt_vc",
                        "cryptographic_binding_methods_supported" : [ "did" ],
                        "credential_signing_alg_values_supported" : [ "ES256", "ES256K", "RSA", "EdDSA" ],
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "VerifiableAttestation", "VerifiablePortableDocumentA1" ]
                        }
                      },
                      "org.iso.18013.5.1.mDL" : {
                        "format" : "mso_mdoc",
                        "cryptographic_binding_methods_supported" : [ "cose_key" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "credential_definition" : {
                          "type" : [ "org.iso.18013.5.1.mDL" ]
                        },
                        "doctype" : "org.iso.18013.5.1.mDL"
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "<your-client-secret>",
                      "defaultScopes" : [ "openid", "profile" ]
                    }
                  }
                },
                "Create Issuer with externally hosted sd-jwt vc type metadata document" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "betelgeuse_educational_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "https://betelgeuse.example.com/education_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ]
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1"
                  }
                },
                "Create Issuer with self-hosted sd-jwt vct metadata document referencing externally hosted JSON schema" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "betelgeuse_educational_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "{vctBaseURL}/education_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "sdJwtVcTypeMetadata" : {
                          "name" : "Betelgeuse Education Credential - Preliminary Version",
                          "description" : "This is our development version of the education credential. Don't panic.",
                          "schema_uri" : "https://schema.betelgeuse.example.com/education_credential"
                        }
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1"
                  }
                },
                "Create Issuer with self-hosted sd-jwt vct metadata document with all optional properties" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "betelgeuse_educational_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "{vctBaseURL}/education_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "sdJwtVcTypeMetadata" : {
                          "vct" : "{vctBaseURL}/education_credential",
                          "name" : "Betelgeuse Education Credential - Preliminary Version",
                          "description" : "This is our development version of the education credential. Don't panic.",
                          "extends" : "https://galaxy.example.com/galactic-education-credential-0.9",
                          "extends#integrity" : "sha256-9cLlJNXN-TsMk-PmKjZ5t0WRL5ca_xGgX3c1VLmXfh-WRL5",
                          "schema_uri" : "https://exampleuniversity.com/public/credential-schema-0.9",
                          "schema_uri#integrity" : "sha256-o984vn819a48ui1llkwPmKjZ5t0WRL5ca_xGgX3c1VLmXfh"
                        }
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1"
                  }
                },
                "Create Issuer with self-hosted sd-jwt vct metadata document directly encoding JSON schema" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer",
                    "supportedCredentialTypes" : {
                      "identity_credential_vc+sd-jwt" : {
                        "format" : "vc+sd-jwt",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "sdJwtVcTypeMetadata" : {
                          "vct" : "{vctBaseURL}/identity_credential",
                          "name" : "Identity Credential",
                          "description" : "The Identity Verifiable Credential",
                          "schema" : {
                            "$schema" : "https://json-schema.org/draft/2020-12/schema",
                            "type" : "object",
                            "properties" : {
                              "vct" : {
                                "type" : "string"
                              },
                              "iss" : {
                                "type" : "string"
                              },
                              "nbf" : {
                                "type" : "number"
                              },
                              "exp" : {
                                "type" : "number"
                              },
                              "cnf" : {
                                "type" : "object"
                              },
                              "status" : {
                                "type" : "object"
                              },
                              "given_name" : {
                                "type" : "string"
                              },
                              "family_name" : {
                                "type" : "string"
                              },
                              "email" : {
                                "type" : "string"
                              },
                              "phone_number" : {
                                "type" : "string"
                              },
                              "address" : {
                                "type" : "object",
                                "properties" : {
                                  "street_address" : {
                                    "type" : "string"
                                  },
                                  "locality" : {
                                    "type" : "string"
                                  },
                                  "region" : {
                                    "type" : "string"
                                  },
                                  "country" : {
                                    "type" : "string"
                                  }
                                }
                              },
                              "birthdate" : {
                                "type" : "string"
                              },
                              "is_over_18" : {
                                "type" : "boolean"
                              },
                              "is_over_21" : {
                                "type" : "boolean"
                              },
                              "is_over_65" : {
                                "type" : "boolean"
                              }
                            },
                            "required" : [ "family_name", "is_over_18" ]
                          }
                        }
                      }
                    },
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1"
                  }
                },
                "Create Verifier Service (minimal)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "verifier",
                    "baseUrl" : "http://localhost:3000"
                  }
                },
                "Create Verifier Service with human-readable name included in OpenID metadata document" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "verifier",
                    "baseUrl" : "http://localhost:3000",
                    "metadataConfig" : {
                      "name" : "walt.id Enterprise Verifier"
                    }
                  }
                },
                "Create Verifier Service with resolvable logo URI included in OpenID metadata document" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "verifier",
                    "baseUrl" : "http://localhost:3000",
                    "metadataConfig" : {
                      "logoUri" : "https://cdn.walt.id/verifier/logo.png"
                    }
                  }
                },
                "Create Verifier Service with all supported data points included in OpenID metadata document" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "verifier",
                    "baseUrl" : "http://localhost:3000",
                    "metadataConfig" : {
                      "name" : "walt.id Enterprise Verifier",
                      "logoUri" : "https://cdn.walt.id/verifier/logo.png"
                    }
                  }
                },
                "Create Verifier2" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "verifier2",
                    "baseUrl" : "http://waltid.enterprise.localhost:3000",
                    "clientId" : "decentralized_identifier:did:key:abc123"
                  }
                },
                "Create Verifier2 with internationalized metadata" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "verifier2",
                    "baseUrl" : "http://waltid.enterprise.localhost:3000",
                    "clientId" : "decentralized_identifier:did:key:abc123",
                    "clientMetadata" : {
                      "client_name" : "Age Verification Service",
                      "logo_uri" : "https://verifier.example.com/logo.png",
                      "tos_uri" : "https://verifier.example.com/terms",
                      "policy_uri" : "https://verifier.example.com/privacy",
                      "client_uri" : "https://verifier.example.com",
                      "client_name#fr-FR" : "Service de Vérification d'Âge",
                      "client_name#de" : "Altersverifizierungsdienst",
                      "client_name#es-ES" : "Servicio de Verificación de Edad",
                      "logo_uri#fr-FR" : "https://verifier.example.com/logo-fr.png",
                      "logo_uri#de" : "https://verifier.example.com/logo-de.png",
                      "tos_uri#fr-FR" : "https://verifier.example.com/terms-fr",
                      "tos_uri#de" : "https://verifier.example.com/terms-de",
                      "policy_uri#fr-FR" : "https://verifier.example.com/privacy-fr",
                      "client_uri#fr-FR" : "https://verifier.example.com/fr",
                      "client_uri#de" : "https://verifier.example.com/de"
                    }
                  }
                },
                "Create Wallet" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "wallet"
                  }
                },
                "Create PolicyStore" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "policy-store"
                  }
                },
                "Create X.509 Certificate Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "x509-service"
                  }
                },
                "Create X.509 Certificate Store" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "x509-store"
                  }
                },
                "Create VICAL Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "vical-service",
                    "signingKeyId" : "waltid.kms.key",
                    "signerCertificateId" : "waltid.x509-store.signer-cert",
                    "signerCertificateChainIds" : [ "waltid.x509-store.signer-chain-root" ]
                  }
                },
                "Create Trust Registry Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "trust-registry"
                  }
                },
                "Create Client Attester Service" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "client-attester",
                    "signingKeyId" : "waltid.kms.key"
                  }
                },
                "Create OIDC Bridge - Keycloak (mDL)" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "oidc-bridge",
                    "issuerUrl" : "http://waltid.enterprise.localhost:3000",
                    "clients" : {
                      "keycloak" : {
                        "clientId" : "keycloak",
                        "clientSecret" : "keycloak-client-secret",
                        "redirectUris" : [ "http://keycloak.localhost:8080/realms/waltid-vc/broker/waltid-vc/endpoint" ]
                      }
                    },
                    "defaultClaimMappings" : [ {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"document_number\"]",
                      "oidcClaim" : "sub"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"given_name\"]",
                      "oidcClaim" : "given_name"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"family_name\"]",
                      "oidcClaim" : "family_name"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"birth_date\"]",
                      "oidcClaim" : "birthdate"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"document_number\"]",
                      "oidcClaim" : "document_number"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"issue_date\"]",
                      "oidcClaim" : "issue_date"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"expiry_date\"]",
                      "oidcClaim" : "expiry_date"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"issuing_country\"]",
                      "oidcClaim" : "issuing_country"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"issuing_authority\"]",
                      "oidcClaim" : "issuing_authority"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"un_distinguishing_sign\"]",
                      "oidcClaim" : "un_distinguishing_sign"
                    } ],
                    "flows" : {
                      "qr" : {
                        "enabled" : true,
                        "buttonLabel" : "Scan QR Code"
                      },
                      "dc_api" : {
                        "enabled" : true,
                        "buttonLabel" : "Browser Wallet (DC API)"
                      },
                      "deep_link" : {
                        "enabled" : true,
                        "buttonLabel" : "Open Mobile Wallet"
                      },
                      "web_wallet" : {
                        "enabled" : true,
                        "buttonLabel" : "Open Web Wallet",
                        "targetUrl" : "https://waltid.enterprise.localhost"
                      }
                    },
                    "uiConfig" : {
                      "brandName" : "walt.id Enterprise",
                      "primaryColor" : "#3B82F6",
                      "webWalletBaseUrl" : "https://waltid.enterprise.localhost"
                    }
                  }
                },
                "Create OIDC Bridge - Minimal" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "oidc-bridge",
                    "issuerUrl" : "https://enterprise.example.com",
                    "clients" : {
                      "demo-client" : {
                        "clientId" : "demo-client",
                        "clientSecret" : "demo-secret",
                        "redirectUris" : [ "https://app.example.com/callback" ]
                      }
                    }
                  }
                },
                "Create Issuer2 - Default" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "org.iso.23220.photoid.1" : {
                        "format" : "mso_mdoc",
                        "scope" : "org.iso.23220.photoid.1",
                        "doctype" : "org.iso.23220.photoid.1",
                        "credential_signing_alg_values_supported" : [ -7, -9 ],
                        "cryptographic_binding_methods_supported" : [ "cose_key" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "open_badge_credential" : {
                        "format" : "jwt_vc_json",
                        "scope" : "open_badge_credential",
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        },
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "did:key", "did:web", "did:jwk", "did:ebsi" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "sdJwtVcTypeMetadataConfiguration" : {
                      "identity_credential" : {
                        "name" : "The Identity Credential",
                        "description" : "This is our development version of the identity credential. Be safe."
                      }
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "preauth-anonymous"
                      } ]
                    }
                  }
                },
                "Create Issuer2 - Self-Hosted SD-JWT VCT" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "sdJwtVcTypeMetadataConfiguration" : {
                      "identity_credential" : {
                        "name" : "The Identity Credential",
                        "description" : "This is our development version of the identity credential. Be safe."
                      }
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "preauth-anonymous"
                      } ]
                    }
                  }
                },
                "Create Issuer2 - External SD-JWT VCT" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "https://issuer.example.com/vct/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "preauth-anonymous"
                      } ]
                    }
                  }
                },
                "Create Issuer2 - Credential Metadata Display" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        },
                        "credential_metadata" : {
                          "display" : [ {
                            "name" : "Identity Credential",
                            "locale" : "en-US",
                            "logo" : {
                              "uri" : "https://issuer.example.com/assets/identity-logo.png",
                              "alt_text" : "Identity credential logo"
                            },
                            "description" : "Government-issued identity credential",
                            "background_color" : "#12107c",
                            "background_image" : {
                              "uri" : "https://issuer.example.com/assets/identity-bg.png"
                            },
                            "text_color" : "#FFFFFF"
                          } ],
                          "claims" : [ {
                            "path" : [ "given_name" ],
                            "display" : [ {
                              "name" : "Given Name",
                              "locale" : "en-US"
                            }, {
                              "name" : "Vorname",
                              "locale" : "de-DE"
                            } ]
                          }, {
                            "path" : [ "family_name" ],
                            "display" : [ {
                              "name" : "Family Name",
                              "locale" : "en-US"
                            } ]
                          } ]
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "sdJwtVcTypeMetadataConfiguration" : {
                      "identity_credential" : {
                        "name" : "The Identity Credential",
                        "description" : "This is our development version of the identity credential. Be safe."
                      }
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "preauth-anonymous"
                      } ]
                    }
                  }
                },
                "Create Issuer2 - Client Attestation and Anonymous Pre-Auth" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "org.iso.23220.photoid.1" : {
                        "format" : "mso_mdoc",
                        "scope" : "org.iso.23220.photoid.1",
                        "doctype" : "org.iso.23220.photoid.1",
                        "credential_signing_alg_values_supported" : [ -7, -9 ],
                        "cryptographic_binding_methods_supported" : [ "cose_key" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "open_badge_credential" : {
                        "format" : "jwt_vc_json",
                        "scope" : "open_badge_credential",
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        },
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "did:key", "did:web", "did:jwk", "did:ebsi" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "sdJwtVcTypeMetadataConfiguration" : {
                      "identity_credential" : {
                        "name" : "The Identity Credential",
                        "description" : "This is our development version of the identity credential. Be safe."
                      }
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "preauth-anonymous"
                      }, {
                        "type" : "client-attestation",
                        "config" : {
                          "verificationMethod" : {
                            "type" : "static-jwk",
                            "jwk" : {
                              "kty" : "EC",
                              "crv" : "P-256",
                              "x" : "f83OJ3D2xF4mNqA6x0Y6qf9jR9sM8f2Q1gW0m2yPj9k",
                              "y" : "x_FEzRu9k5D4Q0h9sVQXK2fAq8rLz4jN0wQ1Xy2aP5M"
                            }
                          }
                        }
                      } ]
                    }
                  }
                },
                "Create Issuer2 - EUDI Client Attestation Static Key" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "org.iso.23220.photoid.1" : {
                        "format" : "mso_mdoc",
                        "scope" : "org.iso.23220.photoid.1",
                        "doctype" : "org.iso.23220.photoid.1",
                        "credential_signing_alg_values_supported" : [ -7, -9 ],
                        "cryptographic_binding_methods_supported" : [ "cose_key" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "open_badge_credential" : {
                        "format" : "jwt_vc_json",
                        "scope" : "open_badge_credential",
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        },
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "did:key", "did:web", "did:jwk", "did:ebsi" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "sdJwtVcTypeMetadataConfiguration" : {
                      "identity_credential" : {
                        "name" : "The Identity Credential",
                        "description" : "This is our development version of the identity credential. Be safe."
                      }
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "client-attestation",
                        "config" : {
                          "verificationMethod" : {
                            "type" : "static-jwk",
                            "jwk" : {
                              "kty" : "EC",
                              "crv" : "P-256",
                              "x" : "6Q3MnD31BdNCccRgEE28qJCqa0F0TDrXL2G01XcpTio",
                              "y" : "pa7oQfTTHQDclBzDdrbTxkJMZBhruj86OWIP6JdUKS0"
                            }
                          }
                        }
                      } ]
                    }
                  }
                },
                "Create Issuer2 - EUDI Client Attestation X509 Chain" : {
                  "description" : "**Ignore** all autogenerated placeholders for `_id` and `parent` in the above example; You can **safely remove them** from the example request payload.`_id` and `parent` are server-managed and therefore omitted from the example payload.",
                  "value" : {
                    "type" : "issuer2",
                    "baseUrl" : "https://dentinal-aggradational-dorris.ngrok-free.dev",
                    "tokenKeyId" : "waltid.tenant1.kms1.key1",
                    "kms" : "waltid.tenant1.kms1",
                    "credentialConfigurations" : {
                      "org.iso.23220.photoid.1" : {
                        "format" : "mso_mdoc",
                        "scope" : "org.iso.23220.photoid.1",
                        "doctype" : "org.iso.23220.photoid.1",
                        "credential_signing_alg_values_supported" : [ -7, -9 ],
                        "cryptographic_binding_methods_supported" : [ "cose_key" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "identity_credential" : {
                        "format" : "dc+sd-jwt",
                        "scope" : "identity_credential",
                        "vct" : "{vctBaseURL}/identity_credential",
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "jwk" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      },
                      "open_badge_credential" : {
                        "format" : "jwt_vc_json",
                        "scope" : "open_badge_credential",
                        "credential_definition" : {
                          "type" : [ "VerifiableCredential", "OpenBadgeCredential" ]
                        },
                        "credential_signing_alg_values_supported" : [ "ES256" ],
                        "cryptographic_binding_methods_supported" : [ "did:key", "did:web", "did:jwk", "did:ebsi" ],
                        "proof_types_supported" : {
                          "jwt" : {
                            "proof_signing_alg_values_supported" : [ "ES256" ]
                          }
                        }
                      }
                    },
                    "issuerDisplayConfiguration" : [ {
                      "name" : "walt.id Issuer",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo.png",
                        "alt_text" : "walt.id Issuer logo"
                      }
                    }, {
                      "name" : "walt.id Issuer",
                      "locale" : "de-DE",
                      "logo" : {
                        "uri" : "https://issuer.example.com/logo-de.png",
                        "alt_text" : "walt.id Issuer DE Logo"
                      }
                    } ],
                    "authProviderConfiguration" : {
                      "name" : "Keycloak",
                      "authorizeUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/auth",
                      "accessTokenUrl" : "https://keycloak.demo.walt.id/realms/mynewrealm/protocol/openid-connect/token",
                      "clientId" : "issuer_api",
                      "clientSecret" : "Y0DyNhF4NgpOS6VMRUtl0JtvxrRYQD4s",
                      "defaultScopes" : [ "openid", "profile" ],
                      "forwardIssuerStateToAuthorizationServer" : true
                    },
                    "sdJwtVcTypeMetadataConfiguration" : {
                      "identity_credential" : {
                        "name" : "The Identity Credential",
                        "description" : "This is our development version of the identity credential. Be safe."
                      }
                    },
                    "clientAuthenticationConfig" : {
                      "supportedMethods" : [ {
                        "type" : "client-attestation",
                        "config" : {
                          "verificationMethod" : {
                            "type" : "x509-chain",
                            "trustedRootCertificatesPem" : [ "-----BEGIN CERTIFICATE-----\nMIIC3TCCAoOgAwIBAgIUEwybFc9Jw+az3r188OiHDaxCfHEwCgYIKoZIzj0EAwMw\nXDEeMBwGA1UEAwwVUElEIElzc3VlciBDQSAtIFVUIDAyMS0wKwYDVQQKDCRFVURJ\nIFdhbGxldCBSZWZlcmVuY2UgSW1wbGVtZW50YXRpb24xCzAJBgNVBAYTAlVUMB4X\nDTI1MDMyNDIwMjYxNFoXDTM0MDYyMDIwMjYxM1owXDEeMBwGA1UEAwwVUElEIElz\nc3VlciBDQSAtIFVUIDAyMS0wKwYDVQQKDCRFVURJIFdhbGxldCBSZWZlcmVuY2Ug\nSW1wbGVtZW50YXRpb24xCzAJBgNVBAYTAlVUMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEesDKj9rCIcrGj0wbSXYvCV953bOPSYLZH5TNmhTz2xa7VdlvQgQeGZRg\n1PrF5AFwt070wvL9qr1DUDdvLp6a1qOCASEwggEdMBIGA1UdEwEB/wQIMAYBAf8C\nAQAwHwYDVR0jBBgwFoAUYseURyi9D6IWIKeawkmURPEB08cwEwYDVR0lBAwwCgYI\nK4ECAgAAAQcwQwYDVR0fBDwwOjA4oDagNIYyaHR0cHM6Ly9wcmVwcm9kLnBraS5l\ndWRpdy5kZXYvY3JsL3BpZF9DQV9VVF8wMi5jcmwwHQYDVR0OBBYEFGLHlEcovQ+i\nFiCnmsJJlETxAdPHMA4GA1UdDwEB/wQEAwIBBjBdBgNVHRIEVjBUhlJodHRwczov\nL2dpdGh1Yi5jb20vZXUtZGlnaXRhbC1pZGVudGl0eS13YWxsZXQvYXJjaGl0ZWN0\ndXJlLWFuZC1yZWZlcmVuY2UtZnJhbWV3b3JrMAoGCCqGSM49BAMDA0gAMEUCIQCe\n4R9rO4JhFp821kO8Gkb8rXm4qGG/e5/Oi2XmnTQqOQIgfFs+LDbnP2/j1MB4rwZ1\nFgGdpr4oyrFB9daZyRIcP90=\n-----END CERTIFICATE-----" ]
                          }
                        }
                      } ]
                    }
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "201" : {
            "description" : "Created new service. The new service reference will in the response",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "title" : "*"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/resource-api/services/init" : {
      "post" : {
        "tags" : [ "Service | Resource" ],
        "summary" : "Composable resource & service initialization",
        "description" : "Permissions: None required  \nOperation: 'batch-create'  \nRequires authentication.  \n\n---\nInitialize a full service hierarchy (wallet, issuer) with fine-grained, composable control.\n\nEach resource block declares `createIfNotFound`, `target`, `config`, and optional children.\nResources are created in dependency order; children are always created after their parent.\n\n**Wallet creation order:** wallet → kms → key → didStore → didService → did → credentialStore\n**Issuer creation order:** kms → key → issuer → didStore → didService → did → profile\n\nBoth `wallet` and `issuer` blocks can be submitted in a single request for atomic tenant\nbootstrap. All blocks are **idempotent** when `createIfNotFound = true`; safe to re-post.\n\n**Permissions:** Required roles are derived from the request body. For each block with\n`createIfNotFound = true`, the caller must hold the corresponding create permission on that\nblock's `target` (e.g. `ES_KMS_CREATE` for a KMS block). Blocks with `createIfNotFound = false`\ndo not require create permissions. `RM_CREATE_SERVICE` satisfies any service-create check.\n\n> **Scope:** This endpoint targets the Issuer2 / Wallet2 ecosystem only.\n> External Authorization Server (Keycloak) configuration is set on the `IssuerServiceReference2`\n> via `POST /services` and is not repeated here.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ComposableInitRequest"
              },
              "examples" : {
                "Wallet – minimal (KMS + ES256 key only)" : {
                  "description" : "Creates a wallet service with a single JWK-backed ES256 key.\nSuitable when DID management and credential storage are handled externally.",
                  "value" : {
                    "wallet" : {
                      "target" : "waltid.tenant.wallet",
                      "kms" : {
                        "target" : "waltid.tenant.wallet.kms",
                        "key" : {
                          "target" : "waltid.tenant.wallet.kms.wallet_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      }
                    }
                  }
                },
                "Wallet – full stack (Ed25519 key + did:key + credential store)" : {
                  "description" : "Creates a complete wallet stack: KMS with Ed25519 key, DID store, DID service\nwith a `did:key` identity, and a credential store. Typical starting point for\na Wallet2 tenant that will receive credentials via OID4VCI.",
                  "value" : {
                    "wallet" : {
                      "target" : "waltid.tenant.wallet",
                      "kms" : {
                        "target" : "waltid.tenant.wallet.kms",
                        "key" : {
                          "target" : "waltid.tenant.wallet.kms.wallet_key",
                          "config" : { }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.wallet.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.wallet.didservice",
                        "dependencies" : [ "waltid.tenant.wallet.kms", "waltid.tenant.wallet.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.wallet.didstore.wallet_did"
                        }
                      },
                      "credentialStore" : {
                        "target" : "waltid.tenant.wallet.credentialstore"
                      }
                    }
                  }
                },
                "Wallet – ES256 key + did:jwk + credential store" : {
                  "description" : "Same as the full wallet stack but uses a `did:jwk` identifier instead of\n`did:key`. Prefer this when the verifier requires JWK-based binding methods.",
                  "value" : {
                    "wallet" : {
                      "target" : "waltid.tenant.wallet",
                      "kms" : {
                        "target" : "waltid.tenant.wallet.kms",
                        "key" : {
                          "target" : "waltid.tenant.wallet.kms.wallet_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.wallet.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.wallet.didservice",
                        "dependencies" : [ "waltid.tenant.wallet.kms", "waltid.tenant.wallet.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.wallet.didstore.did",
                          "type" : "jwk"
                        }
                      },
                      "credentialStore" : {
                        "target" : "waltid.tenant.wallet.credentialstore"
                      }
                    }
                  }
                },
                "Wallet – AWS KMS + did:key + credential store" : {
                  "description" : "Full wallet stack backed by AWS KMS (IAM role-based auth, eu-central-1).\nReplace `region` with your target AWS region. Credentials are resolved from\nthe instance profile / environment automatically.",
                  "value" : {
                    "wallet" : {
                      "target" : "waltid.tenant.wallet",
                      "kms" : {
                        "target" : "waltid.tenant.wallet.kms",
                        "config" : {
                          "backend" : "aws",
                          "auth" : {
                            "region" : "us-east-1"
                          }
                        },
                        "key" : {
                          "target" : "waltid.tenant.wallet.kms.wallet_key",
                          "config" : {
                            "backend" : "aws",
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.wallet.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.wallet.didservice",
                        "dependencies" : [ "waltid.tenant.wallet.kms", "waltid.tenant.wallet.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.wallet.didstore.did"
                        }
                      },
                      "credentialStore" : {
                        "target" : "waltid.tenant.wallet.credentialstore"
                      }
                    }
                  }
                },
                "Issuer – minimal (KMS + ES256 key only)" : {
                  "description" : "Creates an Issuer2 service with a JWK-backed ES256 signing key.\nNo DID or profile is created. Useful when you need to configure the issuer\nmanually or add a DID and profile in subsequent calls.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      }
                    }
                  }
                },
                "Issuer – full stack (ES256 key + did:key + OpenBadge profile)" : {
                  "description" : "Creates a complete Issuer2 stack: KMS, ES256 signing key, DID store,\nDID service with a `did:key` identity, and a default OpenBadgeCredential\nprofile. Ready to issue credentials immediately after this call.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.issuer_did"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Default Issuer Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – full stack with did:jwk" : {
                  "description" : "Identical to the full issuer stack but registers a `did:jwk` identifier.\nUseful for issuers targeting wallets that prefer JWK-encoded DIDs.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.did",
                          "type" : "jwk"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Default Issuer Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – full stack with did:web" : {
                  "description" : "Full issuer stack with a `did:web` identifier.  The domain is resolved from\n`DidWebOpenApiDocs.DEFAULT_WEB_DOMAIN`; override it at the DID service level\nif needed.  Suitable for production issuers that need a publicly resolvable DID.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.did",
                          "type" : "web"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Default Issuer Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – AWS KMS backend + did:key + profile" : {
                  "description" : "Full issuer stack with keys stored in AWS KMS (IAM role auth, eu-central-1).\nSwap `region` as needed. The `did:key` identifier is derived from the\nAWS-managed key material.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "config" : {
                          "backend" : "aws",
                          "auth" : {
                            "region" : "eu-central-1"
                          }
                        },
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "backend" : "aws",
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.did"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Default Issuer Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – Azure Key Vault backend + did:key + profile" : {
                  "description" : "Full issuer stack with keys stored in Azure Key Vault.\nReplace `keyVaultUrl` with your vault endpoint. Uses Managed Identity\nby default; supply `clientId`/`clientSecret` in the auth object for\nService Principal auth.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "config" : {
                          "backend" : "azure",
                          "auth" : {
                            "keyVaultUrl" : "https://your-key-vault-name.vault.azure.net/"
                          }
                        },
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "backend" : "azure",
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.did"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Default Issuer Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – pre-authorized flow only (no DID)" : {
                  "description" : "Creates an Issuer2 service configured for anonymous pre-authorized code flow.\nNo DID is registered because holder binding uses `jwk` method directly.\nAdd `didStore` + `didService` blocks later if DID-based binding is needed.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Pre-Authorized Issuance Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – authorized code flow with Keycloak (profile only, AS pre-configured)" : {
                  "description" : "Assumes the Issuer2 service was already created via `POST /services` with\n`authProviderConfiguration` pointing to Keycloak. This call layers the DID\nand the issuance profile on top of that existing service.\n`createIfNotFound = true` on the issuer block means the service itself is\nskipped if already present; only the DID and profile are created.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.did"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Keycloak-Backed Authorized Issuance Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                },
                "Issuer – custom credential data + mapping in profile" : {
                  "description" : "Full issuer stack where the profile carries explicit `credentialData` (an\nOpenBadgeCredential template) and a `mapping` expression that resolves\n`credentialSubject.id` from the wallet's DID at issuance time.\nPlaceholders such as `\"did:key:placeholder\"` are overwritten by the mapping.",
                  "value" : {
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.did"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Identity Credential Profile",
                          "credentialConfigurationId" : "open_badge_credential",
                          "credentialData" : {
                            "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                            "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                            "name" : "Academic Excellence Award",
                            "validFrom" : "2025-01-01T00:00:00Z",
                            "issuer" : {
                              "type" : [ "Profile" ],
                              "name" : "Acme University",
                              "url" : "https://acme.edu/",
                              "id" : "did:key:placeholder",
                              "image" : {
                                "id" : "https://acme.edu/logo.png",
                                "type" : "Image"
                              }
                            },
                            "credentialSubject" : {
                              "id" : "did:key:placeholder",
                              "type" : [ "AchievementSubject" ],
                              "achievement" : {
                                "id" : "urn:uuid:7b408e3a-bc01-49e3-b8e9-4a4a99c5d123",
                                "type" : [ "Achievement" ],
                                "name" : "Academic Excellence Award",
                                "description" : "Awarded for outstanding academic performance",
                                "criteria" : {
                                  "narrative" : "Recipients must maintain a GPA above 3.8"
                                }
                              }
                            }
                          },
                          "mapping" : {
                            "credentialSubject" : {
                              "id" : "<str:subjectDid>"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "Full tenant bootstrap – wallet2 + issuer2 in one call" : {
                  "description" : "Bootstraps an entire tenant in a single atomic request:\n- **Wallet2**: Ed25519/JWK KMS, did:key, credential store\n- **Issuer2**: ES256/JWK KMS, did:key, default OpenBadge profile\n\nBoth stacks are independent (separate KMS paths). Use this as your\ngo-to example for spinning up a new tenant from scratch.",
                  "value" : {
                    "wallet" : {
                      "target" : "waltid.tenant.wallet",
                      "kms" : {
                        "target" : "waltid.tenant.wallet.kms",
                        "key" : {
                          "target" : "waltid.tenant.wallet.kms.wallet_key",
                          "config" : { }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.wallet.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.wallet.didservice",
                        "dependencies" : [ "waltid.tenant.wallet.kms", "waltid.tenant.wallet.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.wallet.didstore.wallet_did"
                        }
                      },
                      "credentialStore" : {
                        "target" : "waltid.tenant.wallet.credentialstore"
                      }
                    },
                    "issuer" : {
                      "target" : "waltid.tenant.issuer",
                      "kms" : {
                        "target" : "waltid.tenant.issuer.kms",
                        "key" : {
                          "target" : "waltid.tenant.issuer.kms.issuer_key",
                          "config" : {
                            "keyType" : "secp256r1"
                          }
                        }
                      },
                      "didStore" : {
                        "target" : "waltid.tenant.issuer.didstore"
                      },
                      "didService" : {
                        "target" : "waltid.tenant.issuer.didservice",
                        "dependencies" : [ "waltid.tenant.issuer.kms", "waltid.tenant.issuer.didstore" ],
                        "did" : {
                          "target" : "waltid.tenant.issuer.didstore.issuer_did"
                        }
                      },
                      "profile" : {
                        "target" : "waltid.tenant.issuer.profile",
                        "config" : {
                          "name" : "Default Issuer Profile",
                          "credentialConfigurationId" : "open_badge_credential"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "201" : {
            "description" : "All requested resources were processed. Check each result's `created` flag.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ComposableInitResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/host-alias-api/host-aliases/create" : {
      "post" : {
        "tags" : [ "Service | Host Alias" ],
        "summary" : "Create host alias at location",
        "description" : "Permissions: ANY OF: [ADMIN_HOST_ALIAS_CREATE]  \nOperation: 'create-host-alias'  \nRequires authentication.  \n\n---\nCreates a host alias entry bound to the given target path within the organization tree.\n\nHost aliases map an external domain (e.g., tenant1.example.com) to an internal organization/tenant path,\nenabling inbound routing and service discovery for multi-tenant setups.\n\nNotes:\n- The target path must not already exist; otherwise the request fails\n- Only organizational roots and tenant nodes may be used as parents\n- Deleting the alias removes both the alias mapping and its resource entry\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/external-did-web-hosting'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Host alias creation payload",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.hostalias.HostAliasService.HostAliasCreationRequest"
              },
              "examples" : {
                "Create alias" : {
                  "value" : {
                    "domain" : "tenant1.example.com"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created host alias",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid target path or alias already exists at the location",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create host aliases",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/host-alias-api/host-aliases/view" : {
      "get" : {
        "tags" : [ "Service | Host Alias" ],
        "summary" : "View host alias information",
        "description" : "Permissions: ANY OF: [ADMIN_HOST_ALIAS_GET]  \nOperation: 'view-host-alias'  \nAccepts targets: [HostAliasResource]  \nRequires authentication.  \n\n---\nReturns the host-alias resource stored at the specified target path.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/external-did-web-hosting'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Host alias resource",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/host-alias"
                },
                "examples" : {
                  "Alias example" : {
                    "value" : {
                      "_id" : "waltid.tenant1.host-aliases.tenant1-example-com",
                      "domain" : "tenant1.example.com",
                      "parent" : "waltid.tenant1.host-aliases"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "No host alias resource found at the target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view host aliases",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/host-alias-api/host-aliases/delete" : {
      "delete" : {
        "tags" : [ "Service | Host Alias" ],
        "summary" : "Delete existing host alias",
        "description" : "Permissions: ANY OF: [ADMIN_HOST_ALIAS_DELETE]  \nOperation: 'delete-host-alias'  \nNo target restriction.  \nRequires authentication.  \n\n---\nDeletes the host alias mapping and removes its resource entry from the organization tree.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/external-did-web-hosting'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Host alias deleted",
            "headers" : { }
          },
          "404" : {
            "description" : "No host alias resource found at the target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete host aliases",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/apikeys-api/api-keys/create" : {
      "post" : {
        "tags" : [ "Service | API Keys" ],
        "summary" : "Create a new API key",
        "description" : "Permissions: ANY OF: [CREATE_API_KEY]  \nOperation: 'create-apikey'  \nRequires authentication.  \n\n---\nCreates a new API key for programmatic access to the Enterprise API. \nAPI keys are used for authentication when making API requests using Bearer token authentication.\n\n**Important Notes:**\n- The API key token is only returned once during creation. Store it securely.\n- API keys can be permanent (no expiration) or temporary (with expiration).\n- Expiration format follows ISO 8601 duration format (e.g., \"30d\", \"1h\", \"90d\").\n- API keys are scoped to the target organization/tenant where they are created.\n- Each API key creates a dedicated API account with its own permissions.\n- This endpoint will fail if an API key already exists at the target path (use PUT for idempotent upsert).\n\n**Security:**\n- Treat API keys as sensitive credentials.\n- Rotate API keys regularly for security best practices.\n- Delete unused or compromised API keys immediately.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/api-keys/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "API key creation request with name and optional expiration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyCreationRequest"
              },
              "examples" : {
                "Permanent API Key (no expiration)" : {
                  "value" : {
                    "name" : "Production API Key"
                  }
                },
                "Temporary API Key (30 days)" : {
                  "value" : {
                    "name" : "Temporary Integration Key",
                    "expiration" : "30d"
                  }
                },
                "Short-lived API Key (1 hour)" : {
                  "value" : {
                    "name" : "Test API Key",
                    "expiration" : "1h"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "API key created successfully. The token is returned only once - store it securely.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyInformation"
                },
                "examples" : {
                  "Permanent API Key Response" : {
                    "value" : {
                      "_id" : "waltid.tenant1.api-key.production-key",
                      "name" : "Production API Key",
                      "token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhcGktMTIzNDU2NzgtYWJjZC1kZWYxLTIzNDUtNTY3ODkwYWJjZGVmIiwic3RhdHVzIjoiU1VDQ0VTUyIsImV4cCI6MTcwMDAwMDAwMCwiaWF0IjoxNjk5OTk5OTk5fQ.example-signature"
                    }
                  },
                  "Temporary API Key Response" : {
                    "value" : {
                      "_id" : "waltid.tenant1.api-key.temp-key",
                      "name" : "Temporary Integration Key",
                      "token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhcGktOTg3NjU0MzItemVkYy14eXotOTg3Ni01NDMyMTB6ZWRjeHl6Iiwic3RhdHVzIjoiU1VDQ0VTUyIsImV4cCI6MTcwMDAwMDAwMCwiaWF0IjoxNjk5OTk5OTk5fQ.example-signature"
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - entry already exists at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create API keys at this target",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/apikeys-api/api-keys" : {
      "put" : {
        "tags" : [ "Service | API Keys" ],
        "summary" : "Create or get existing API key (idempotent)",
        "description" : "Permissions: ANY OF: [CREATE_API_KEY]  \nOperation: 'upsert-apikey'  \nRequires authentication.  \n\n---\nCreates a new API key or returns the existing API key if it already exists. \nThis is an idempotent operation - calling it multiple times with the same target will always succeed.\n\n**Use Cases:**\n- Ensure an API key exists without failing if it already exists\n- Idempotent API key setup in automation scripts\n- Safe API key creation in integration tests\n- Declarative infrastructure-as-code patterns\n\n**Important Notes:**\n- If the API key already exists, it is returned without modification\n- If the API key doesn't exist, it is created with the provided configuration\n- Returns HTTP 200 if API key already existed, HTTP 201 if newly created\n- The response body contains the API key information (existing or newly created)\n- Expiration settings in the request are only applied when creating a new API key\n\n**Security:**\n- The token is included in the response for both new and existing API keys\n- Treat API keys as sensitive credentials\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/api-keys/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "API key creation request with name and optional expiration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyCreationRequest"
              },
              "examples" : {
                "Permanent API Key (no expiration)" : {
                  "value" : {
                    "name" : "Production API Key"
                  }
                },
                "Temporary API Key (30 days)" : {
                  "value" : {
                    "name" : "Temporary Integration Key",
                    "expiration" : "30d"
                  }
                },
                "Short-lived API Key (1 hour)" : {
                  "value" : {
                    "name" : "Test API Key",
                    "expiration" : "1h"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "API key created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyInformation"
                },
                "examples" : {
                  "Newly created API Key" : {
                    "value" : {
                      "_id" : "waltid.tenant1.api-key.production-key",
                      "name" : "Production API Key",
                      "token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhcGktMTIzNDU2NzgtYWJjZC1kZWYxLTIzNDUtNTY3ODkwYWJjZGVmIiwic3RhdHVzIjoiU1VDQ0VTUyIsImV4cCI6MTcwMDAwMDAwMCwiaWF0IjoxNjk5OTk5OTk5fQ.example-signature"
                    }
                  }
                }
              }
            }
          },
          "200" : {
            "description" : "API key already exists - returning existing API key information",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyInformation"
                },
                "examples" : {
                  "Existing API Key" : {
                    "value" : {
                      "_id" : "waltid.tenant1.api-key.temp-key",
                      "name" : "Temporary Integration Key",
                      "token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhcGktOTg3NjU0MzItemVkYy14eXotOTg3Ni01NDMyMTB6ZWRjeHl6Iiwic3RhdHVzIjoiU1VDQ0VTUyIsImV4cCI6MTcwMDAwMDAwMCwiaWF0IjoxNjk5OTk5OTk5fQ.example-signature"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create API keys at this target",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/apikeys-api/api-keys/view" : {
      "get" : {
        "tags" : [ "Service | API Keys" ],
        "summary" : "View API key details",
        "description" : "Permissions: ANY OF: [VIEW_API_KEY]  \nOperation: 'view-apikey'  \nAccepts targets: [ApiKeyResource]  \nRequires authentication.  \n\n---\nRetrieves detailed information about an existing API key, including its metadata, creation timestamp, \naccount ID, and token expiration (if set).\n\n**Note:** The full token is included in this response. Handle it securely as it provides full API access.\nThe token is also available during creation, but this endpoint allows you to retrieve it later.\n\n**Response Fields:**\n- `_id`: The target path of the API key\n- `name`: Human-readable name for the API key\n- `createdAt`: ISO 8601 timestamp when the API key was created\n- `accountId`: The associated API account identifier\n- `token`: The JWT token used for authentication (Bearer token)\n- `tokenExpiration`: Optional expiration timestamp if the key has an expiration date\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/api-keys/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "The target path of the API key resource (e.g., 'waltid.tenant1.api-key.my-key')",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.tenant1.api-key.production-key"
        } ],
        "responses" : {
          "200" : {
            "description" : "API key information retrieved successfully. The response includes the full API key resource with token, metadata, account ID, and expiration information.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/api-key"
                }
              }
            }
          },
          "404" : {
            "description" : "API key not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this API key",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/apikeys-api/api-keys/delete" : {
      "delete" : {
        "tags" : [ "Service | API Keys" ],
        "summary" : "Delete an API key",
        "description" : "Permissions: ANY OF: [DELETE_API_KEY]  \nOperation: 'delete-apikey'  \nAccepts targets: [ApiKeyResource]  \nRequires authentication.  \n\n---\nPermanently deletes an API key and its associated API account. This action cannot be undone.\n\n**Important:**\n- The API key will immediately stop working for authentication.\n- The associated API account will be deleted.\n- Any applications using this API key will lose access.\n- Ensure you have an alternative authentication method before deletion.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/api-keys/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "The target path of the API key resource to delete (e.g., 'waltid.tenant1.api-key.my-key')",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.tenant1.api-key.production-key"
        } ],
        "responses" : {
          "200" : {
            "description" : "API key deleted successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "API key not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete this API key",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/apikeys-api/api-keys/list" : {
      "get" : {
        "tags" : [ "Service | API Keys" ],
        "summary" : "List API keys",
        "description" : "Permissions: ANY OF: [LIST_API_KEY]  \nOperation: 'list-apikey'  \nAccepts targets: [OrganizationTree, Tenant]  \nRequires authentication.  \n\n---\nRecursively lists all API keys within the specified target path (organization or tenant).\nReturns a stream of API key metadata including their paths and creation timestamps.\n\n**Note:** This endpoint returns a Flow (stream) of API keys, not a single array.\nThe response will contain multiple API key entries as they are discovered.\n\n**Use Cases:**\n- Audit existing API keys\n- Identify unused or expired keys\n- Manage API key inventory\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/access-and-permissions/api-keys/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "The target path to search for API keys (organization or tenant path, e.g., 'waltid.tenant1')",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.tenant1"
        } ],
        "responses" : {
          "200" : {
            "description" : "Stream of API keys found within the target path",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.apikeys.ApiKeyDataTransferObject"
                },
                "examples" : {
                  "First API Key" : {
                    "value" : {
                      "path" : "waltid.tenant1.api-key.production-key",
                      "created" : "2024-01-15T10:30:00.000Z"
                    }
                  },
                  "Second API Key" : {
                    "value" : {
                      "path" : "waltid.tenant1.api-key.temp-key",
                      "created" : "2024-01-20T14:45:00.000Z"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list API keys at this target",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/create" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Create a new role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_CREATE]  \nOperation: 'create-role'  \nAccepts parent targets: [OrganizationTree, Tenant]  \nRequires authentication.  \n\n---\nCreates a new role within an organization or tenant. Roles are used to group permissions and can be assigned to users or API keys to control access to resources. You can find the required permissions for the various API endpoints within this documentation. In the description of each endpoint, look for a field labeled \"Operation.\" This field indicates the specific permission needed to access that endpoint.\n\n**Use Cases:**\n- Define custom access control roles for your organization\n- Create role templates with predefined permissions\n- Set up hierarchical permission structures\n- Organize permissions by function or department\n\n**Important Notes:**\n- Roles can be created at the organization level or tenant level\n- The role ID is automatically generated from the target path\n- Permissions can be included during creation or added later\n- Permissions must reference resources within the role's parent path\n- Role names are optional but recommended for clarity\n- This endpoint will fail if the role already exists (use PUT for idempotent upsert)\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.RoleCreationRequest"
              },
              "examples" : {
                "Simple role" : {
                  "value" : {
                    "name" : "My simple role"
                  }
                },
                "Role with permissions" : {
                  "value" : {
                    "name" : "KMS Key Creator",
                    "permissions" : [ {
                      "target" : "example.kms",
                      "action" : "generate-key"
                    }, {
                      "target" : "example.kms",
                      "action" : "store-key"
                    }, {
                      "target" : "example.kms",
                      "action" : "import-key-jwk"
                    } ]
                  }
                },
                "Admin role" : {
                  "value" : {
                    "name" : "My Admin",
                    "permissions" : [ {
                      "target" : "root_of_my_organization",
                      "action" : "all"
                    } ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Role created successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid role creation request - invalid permissions, target path, or role already exists",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles" : {
      "put" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Create or get existing role (idempotent)",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_CREATE]  \nOperation: 'upsert-role'  \nAccepts parent targets: [OrganizationTree, Tenant]  \nRequires authentication.  \n\n---\nCreates a new role or returns the existing role if it already exists. This is an idempotent operation - calling it multiple times with the same target will always succeed.\n\n**Use Cases:**\n- Ensure a role exists without failing if it already exists\n- Idempotent role setup in automation scripts\n- Safe role creation in integration tests\n- Declarative infrastructure-as-code patterns\n\n**Important Notes:**\n- If the role already exists, it is returned without modification\n- If the role doesn't exist, it is created with the provided configuration\n- Returns HTTP 200 if role already existed, HTTP 201 if newly created\n- The response body contains the role (existing or newly created)\n- Permissions in the request are only applied when creating a new role\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.RoleCreationRequest"
              },
              "examples" : {
                "Simple role" : {
                  "value" : {
                    "name" : "My simple role"
                  }
                },
                "Role with permissions" : {
                  "value" : {
                    "name" : "KMS Key Creator",
                    "permissions" : [ {
                      "target" : "example.kms",
                      "action" : "generate-key"
                    }, {
                      "target" : "example.kms",
                      "action" : "store-key"
                    }, {
                      "target" : "example.kms",
                      "action" : "import-key-jwk"
                    } ]
                  }
                },
                "Admin role" : {
                  "value" : {
                    "name" : "My Admin",
                    "permissions" : [ {
                      "target" : "root_of_my_organization",
                      "action" : "all"
                    } ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Role created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/role"
                },
                "examples" : {
                  "Newly created role" : {
                    "value" : {
                      "_id" : "example.role1",
                      "name" : "Example role 1",
                      "permissions" : [ ],
                      "parent" : "example"
                    }
                  }
                }
              }
            }
          },
          "200" : {
            "description" : "Role already exists - returning existing role",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/role"
                },
                "examples" : {
                  "Existing role" : {
                    "value" : {
                      "_id" : "example.role2",
                      "name" : "Admin Role",
                      "permissions" : [ {
                        "target" : "example.test",
                        "action" : "all"
                      } ],
                      "parent" : "example"
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid role creation request - invalid permissions or target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/list" : {
      "get" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Recursively list roles",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_LIST]  \nOperation: 'list-roles'  \nAccepts targets: [OrganizationTree, Tenant]  \nRequires authentication.  \n\n---\nRetrieves all roles within an organization or tenant, including roles in nested structures. The search is recursive, meaning it will find roles at all levels within the specified path.\n\n**Use Cases:**\n- Audit all roles in an organization or tenant\n- Discover available roles for assignment\n- Review role structure and hierarchy\n- Export role configurations for documentation\n\n**Important Notes:**\n- The search is recursive and includes all child paths\n- Results include roles at the specified level and all nested levels\n- Roles are identified by their type prefix in the path\n- The response format is a list of JSON objects representing each role\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of roles found recursively within the specified path",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                  },
                  "title" : "ArrayList<JsonObject>"
                },
                "examples" : {
                  "Role response" : {
                    "value" : [ {
                      "_id" : "example.role1",
                      "name" : "Example role 1",
                      "permissions" : [ {
                        "target" : "example.test",
                        "action" : "all"
                      } ],
                      "parent" : "example"
                    }, {
                      "_id" : "example.tenant1.roleAbc",
                      "name" : "Example role 2",
                      "permissions" : [ ],
                      "parent" : "example.tenant1"
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/view" : {
      "get" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "View existing role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_GET]  \nOperation: 'view-role'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRetrieves detailed information about a specific role, including its name, identifier, and all associated permissions.\n\n**Use Cases:**\n- Review role permissions before assignment\n- Audit role configuration\n- Understand what access a role provides\n- Verify role settings\n\n**Important Notes:**\n- Returns the complete role definition including all permissions\n- The role must exist at the specified target path\n- Permissions are returned as a list with full details\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Role details including name, identifier, and permissions",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/role"
                },
                "examples" : {
                  "Example role 1" : {
                    "value" : {
                      "_id" : "example.role1",
                      "name" : "Example role 1",
                      "permissions" : [ {
                        "target" : "example.test",
                        "action" : "all"
                      } ],
                      "parent" : "example"
                    }
                  },
                  "Example role 2" : {
                    "value" : {
                      "_id" : "example.tenant1.roleAbc",
                      "name" : "Example role 2",
                      "permissions" : [ ],
                      "parent" : "example.tenant1"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Role not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/delete" : {
      "delete" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Delete role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_DELETE]  \nOperation: 'delete-role'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nPermanently deletes a role from the organization or tenant. This operation removes the role definition and all its permissions.\n\n**Use Cases:**\n- Remove obsolete or unused roles\n- Clean up test roles\n- Reorganize role structure\n- Remove deprecated access patterns\n\n**Important Notes:**\n- This operation is irreversible\n- Deleting a role does not automatically unassign it from users or API keys\n- Users and API keys with this role assigned will lose access once the role is deleted\n- Consider unassigning the role from all accounts before deletion\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Role deleted successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Role not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/account/assign" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Assign role to a user",
        "description" : "Permissions: ANY OF: [ADMIN_USER_ROLES_ASSIGN]  \nOperation: 'user-assign-role'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nAssigns a role to a user account identified by email address. The user will immediately gain all permissions associated with the role.\n\n**Use Cases:**\n- Grant access to new team members\n- Promote users to higher privilege levels\n- Assign role-based access to specific resources\n- Implement role-based access control (RBAC) workflows\n\n**Important Notes:**\n- The user must exist in the system and be identified by their email\n- The role is assigned within the context of the organization\n- Users can have multiple roles assigned simultaneously\n- Permission changes take effect immediately\n- The assigner must have appropriate permissions to assign roles\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.UserRoleAssigningRequest"
              },
              "examples" : {
                "Assign role to user" : {
                  "value" : {
                    "assigneeEmail" : "user@example.com"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Role assigned to user successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - user not found or invalid email address",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to assign roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/account/unassign" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Unassign a role from a user",
        "description" : "Permissions: ANY OF: [ADMIN_USER_ROLES_UNASSIGN]  \nOperation: 'user-unassign-role'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRemoves a role assignment from a user account. The user will immediately lose all permissions associated with the role.\n\n**Use Cases:**\n- Revoke access when users change roles\n- Remove temporary access grants\n- Downgrade user privileges\n- Clean up role assignments for departed team members\n\n**Important Notes:**\n- The user is identified by their email address\n- Removing a role assignment takes effect immediately\n- Users may still have access through other assigned roles\n- The unassigner must have appropriate permissions\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.UserRoleAssigningRequest"
              },
              "examples" : {
                "Unassign role from user" : {
                  "value" : {
                    "assigneeEmail" : "user@example.com"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Role unassigned from user successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - user not found, role not assigned, or invalid email address",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to unassign roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/apikey/assign" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Assign role to an API Key",
        "description" : "Permissions: ANY OF: [ASSIGN_APIKEY_ROLE]  \nOperation: 'apikey-assign-role'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nAssigns a role to an API key, granting the API key all permissions associated with the role. This enables programmatic access with role-based permissions.\n\n**Use Cases:**\n- Grant API keys access to specific resources\n- Implement service-to-service authentication with fine-grained permissions\n- Create API keys with predefined role-based access\n- Enable automated systems to access resources based on roles\n\n**Important Notes:**\n- The API key is identified by its target path\n- The API key must exist in the system\n- API keys can have multiple roles assigned simultaneously\n- Permission changes take effect immediately\n- The assigner must have appropriate permissions to assign roles\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.ApiKeyRoleAssigningRequest"
              },
              "examples" : {
                "Assign role to API key" : {
                  "value" : {
                    "apikey" : "waltid.tenant1.api-key.production-key"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Role assigned to API key successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - API key not found or invalid target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to assign roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/apikey/unassign" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Unassign a role from an API Key",
        "description" : "Permissions: ANY OF: [UNASSIGN_APIKEY_ROLE]  \nOperation: 'apikey-unassign-role'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRemoves a role assignment from an API key. The API key will immediately lose all permissions associated with the role.\n\n**Use Cases:**\n- Revoke API key access when changing service permissions\n- Remove temporary access grants for API keys\n- Downgrade API key privileges\n- Clean up role assignments for deprecated API keys\n\n**Important Notes:**\n- The API key is identified by its target path\n- Removing a role assignment takes effect immediately\n- API keys may still have access through other assigned roles\n- The unassigner must have appropriate permissions\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.ApiKeyRoleAssigningRequest"
              },
              "examples" : {
                "Unassign role from API key" : {
                  "value" : {
                    "apikey" : "waltid.tenant1.api-key.production-key"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Role unassigned from API key successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - API key not found, role not assigned, or invalid target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to unassign roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/external-mappings" : {
      "get" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Get all external mappings for a role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_GET]  \nOperation: 'get-role-external-mappings'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRetrieves all external role mappings configured for a specific Enterprise role.\n\n**Use Cases:**\n- View which IdP roles map to this Enterprise role\n- Review mapping configuration before updates\n- Debug authentication issues\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of external mappings for this role",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ExternalMapping"
                  },
                  "title" : "ArrayList<ExternalMapping>"
                },
                "examples" : {
                  "Mappings list" : {
                    "value" : [ {
                      "externalRole" : "tenant-admin"
                    }, {
                      "externalRole" : "department-lead",
                      "providerId" : "keycloak-prod",
                      "conditions" : {
                        "emailDomains" : [ "company.com", "subsidiary.com" ],
                        "requiredClaims" : {
                          "department" : "engineering"
                        }
                      }
                    } ]
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Update external role mappings",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_UPDATE]  \nOperation: 'update-external-mappings'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nReplaces all external role mappings for a role. External mappings define which IdP roles (from OIDC providers like Keycloak or Azure AD) map to this Enterprise role.\n\n**Use Cases:**\n- Configure SSO role mapping from external identity providers\n- Update mappings when IdP role names change\n- Bulk update all mappings for a role\n\n**Important Notes:**\n- This operation replaces ALL existing mappings\n- To add/remove individual mappings, use the add/remove endpoints\n- Mappings take effect immediately for new authentications\n- Existing sessions are not affected until re-authentication\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.UpdateExternalMappingsRequest"
              },
              "examples" : {
                "Update mappings" : {
                  "value" : {
                    "externalMappings" : [ {
                      "externalRole" : "tenant-admin"
                    }, {
                      "externalRole" : "department-lead",
                      "providerId" : "keycloak-prod",
                      "conditions" : {
                        "emailDomains" : [ "company.com", "subsidiary.com" ],
                        "requiredClaims" : {
                          "department" : "engineering"
                        }
                      }
                    } ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Mappings updated successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/role"
                },
                "examples" : {
                  "Updated role" : {
                    "value" : {
                      "_id" : "waltid.tenant1.BW_ADMIN",
                      "name" : "Business Wallet Admin",
                      "permissions" : [ {
                        "target" : "waltid.tenant1",
                        "action" : "all"
                      } ],
                      "externalMappings" : [ {
                        "externalRole" : "tenant-admin"
                      }, {
                        "externalRole" : "super-admin",
                        "providerId" : "keycloak-prod"
                      } ],
                      "parent" : "waltid.tenant1"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Clear all external mappings from a role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_UPDATE]  \nOperation: 'clear-external-mappings'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRemoves all external role mappings from an Enterprise role. This is an idempotent operation - calling it on a role with no mappings succeeds without error.\n\n**Use Cases:**\n- Reset role to have no external mappings\n- Prepare role for fresh mapping configuration\n- Remove all SSO access to a role\n\n**Important Notes:**\n- This operation is irreversible\n- Users with mapped external roles will lose access on next authentication\n- Existing sessions are not affected until re-authentication\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "All mappings cleared successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/roles/external-mappings/{externalRole}" : {
      "get" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Get a single external mapping",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_GET]  \nOperation: 'get-single-external-mapping'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRetrieves a specific external role mapping by its external role name.\n\n**Path Parameters:**\n- `externalRole`: The name of the external IdP role (URL-encoded if it contains special characters)\n\n**Query Parameters:**\n- `providerId` (optional): If the mapping was created with a specific provider ID, include it to get that specific mapping\n\n**Use Cases:**\n- Check if a specific mapping exists\n- Review mapping conditions before update\n- Debug specific authentication scenarios\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The external mapping",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ExternalMapping"
                },
                "examples" : {
                  "Simple mapping" : {
                    "value" : {
                      "externalRole" : "tenant-admin"
                    }
                  },
                  "Mapping with conditions" : {
                    "value" : {
                      "externalRole" : "department-lead",
                      "providerId" : "keycloak-prod",
                      "conditions" : {
                        "emailDomains" : [ "company.com", "subsidiary.com" ],
                        "requiredClaims" : {
                          "department" : "engineering"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Role or mapping not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Create or update a single external mapping (idempotent)",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_UPDATE]  \nOperation: 'upsert-single-external-mapping'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nCreates a new external role mapping or updates an existing one. This is an **idempotent** operation - calling it multiple times with the same parameters produces the same result.\n\n**Path Parameters:**\n- `externalRole`: The name of the external IdP role to map (URL-encoded if it contains special characters)\n\n**Request Body:**\n- `providerId` (optional): Scope mapping to a specific OIDC provider\n- `conditions` (optional): Conditions that must be met for the mapping to apply\n- `enabled`: Whether the mapping is active (default: true)\n\n**Idempotency:**\n- If the mapping doesn't exist, it is created (returns HTTP 201)\n- If the mapping already exists, it is updated with the new values (returns HTTP 200)\n- The external role name comes from the URL path, not the request body\n\n**Use Cases:**\n- Add a new IdP role mapping to an Enterprise role\n- Update conditions or enabled status on an existing mapping\n- Declarative configuration in automation scripts\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.UpsertSingleMappingRequest"
              },
              "examples" : {
                "Simple mapping" : {
                  "value" : { }
                },
                "Mapping with provider" : {
                  "value" : {
                    "providerId" : "keycloak-prod"
                  }
                },
                "Mapping with conditions" : {
                  "value" : {
                    "providerId" : "keycloak-prod",
                    "conditions" : {
                      "emailDomains" : [ "company.com" ]
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Mapping created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/role"
                },
                "examples" : {
                  "Role with new mapping" : {
                    "value" : {
                      "_id" : "waltid.tenant1.BW_ADMIN",
                      "name" : "Business Wallet Admin",
                      "permissions" : [ {
                        "target" : "waltid.tenant1",
                        "action" : "all"
                      } ],
                      "externalMappings" : [ {
                        "externalRole" : "tenant-admin"
                      }, {
                        "externalRole" : "super-admin",
                        "providerId" : "keycloak-prod"
                      } ],
                      "parent" : "waltid.tenant1"
                    }
                  }
                }
              }
            }
          },
          "200" : {
            "description" : "Mapping updated successfully (already existed)",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/role"
                },
                "examples" : {
                  "Role with updated mapping" : {
                    "value" : {
                      "_id" : "waltid.tenant1.BW_ADMIN",
                      "name" : "Business Wallet Admin",
                      "permissions" : [ {
                        "target" : "waltid.tenant1",
                        "action" : "all"
                      } ],
                      "externalMappings" : [ {
                        "externalRole" : "tenant-admin"
                      }, {
                        "externalRole" : "super-admin",
                        "providerId" : "keycloak-prod"
                      } ],
                      "parent" : "waltid.tenant1"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Delete a single external mapping (idempotent)",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_UPDATE]  \nOperation: 'delete-single-external-mapping'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRemoves a specific external role mapping from an Enterprise role. This is an **idempotent** operation - calling it on a non-existent mapping succeeds without error.\n\n**Path Parameters:**\n- `externalRole`: The name of the external IdP role to unmap (URL-encoded if it contains special characters)\n\n**Query Parameters:**\n- `providerId` (optional): If the mapping was created with a specific provider ID, include it to delete that specific mapping\n\n**Idempotency:**\n- Always returns HTTP 204 (No Content) whether the mapping existed or not\n- Safe to call multiple times without side effects\n\n**Use Cases:**\n- Remove a specific IdP role mapping\n- Clean up obsolete mappings\n- Revoke SSO access for a specific external role\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Mapping deleted (or didn't exist)",
            "headers" : { }
          },
          "404" : {
            "description" : "Role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update role",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/permissions/permissions/add-to-role" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Add permission to existing role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_ADD_PERMISSION]  \nOperation: 'add-role-permission'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nAdds a new permission to an existing role. The permission is immediately available to all users and API keys assigned to the role.\n\n**Use Cases:**\n- Extend role capabilities incrementally\n- Grant additional resource access to existing roles\n- Update role permissions without recreating the role\n- Implement fine-grained access control adjustments\n\n**Important Notes:**\n- Permissions must reference resources within the role's parent path\n- Permission changes invalidate the organization's permission cache\n- All users and API keys with this role will immediately gain the new permission\n- Duplicate permissions are handled gracefully\n- The permission target must be within the role's organizational scope\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.permissions.Permission"
              },
              "examples" : {
                "Add permission" : {
                  "value" : {
                    "target" : "example.test",
                    "action" : "all"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Permission added to role successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - permission target outside role scope, invalid permission format, or role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to modify role permissions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/permissions/permissions/remove-from-role" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Remove permission from existing role",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_REMOVE_PERMISSION]  \nOperation: 'remove-role-permission'  \nAccepts targets: [Role]  \nRequires authentication.  \n\n---\nRemoves a permission from an existing role. All users and API keys assigned to the role will immediately lose access granted by this permission.\n\n**Use Cases:**\n- Restrict role capabilities\n- Remove access to specific resources\n- Implement least-privilege access control\n- Revoke permissions without removing the entire role\n\n**Important Notes:**\n- Permission removal takes effect immediately\n- Permission changes invalidate the organization's permission cache\n- All users and API keys with this role will immediately lose the permission\n- Users may still have access through other roles or permissions\n- The permission must exactly match to be removed\n\n**Available permissions**\nALL_PERMISSIONS;ADMIN_ORGANIZATION_GET;ADMIN_ORGANIZATION_UPDATE_CONFIGURATION;ADMIN_ORGANIZATION_GET_ACCOUNTS;ADMIN_ORGANIZATION_GET_TENANTS_OF_ACCOUNT;ADMIN_TENANT_GET;ADMIN_TENANT_UPDATE;ADMIN_TENANT_CREATE;ADMIN_TENANT_INIT_WALLET;ADMIN_USER_ROLES_GET;ADMIN_USER_ROLES_ASSIGN;ADMIN_USER_ROLES_UNASSIGN;ADMIN_ROLE_CREATE;ADMIN_ROLE_LIST;ADMIN_ROLE_GET;ADMIN_ROLE_DELETE;ADMIN_ROLE_UPDATE;ADMIN_ROLE_ADD_PERMISSION;ADMIN_ROLE_REMOVE_PERMISSION;ADMIN_HOST_ALIAS_CREATE;ADMIN_HOST_ALIAS_GET;ADMIN_HOST_ALIAS_DELETE;LIST_SERVICE_DEPENDENCIES;ADD_SERVICE_DEPENDENCY;REMOVE_SERVICE_DEPENDENCY;DELEGATE_SERVICE;VIEW_METADATA;SET_METADATA;PURGE_METADATA;UPDATE_METADATA;QUERY_BY_METADATA;VIEW_RESOURCE_TREE;VIEW_EVENTS;RM_CREATE_SERVICE;LIST_SUBENTRIES;DELETE_RESOURCE;DELETE_RESOURCE_RECURSIVE;UPDATE_SERVICE_CONFIGURATION;VIEW_SERVICE_CONFIGURATION;CREATE_API_KEY;VIEW_API_KEY;DELETE_API_KEY;LIST_API_KEY;ASSIGN_APIKEY_ROLE;UNASSIGN_APIKEY_ROLE;ES_X509_SERVICE_CREATE;ES_X509_SERVICE_DELETE;ES_X509_SERVICE_CREATE_CSR;ES_X509_SERVICE_CREATE_GENERIC_CERTIFICATE;ES_X509_SERVICE_CREATE_IACA_CERTIFICATE;ES_X509_SERVICE_CREATE_DS_CERTIFICATE;ES_X509_STORE_CREATE;ES_X509_STORE_DELETE;ES_X509_STORE_GET_CERTIFICATES;ES_X509_STORE_GET_CERTIFICATES_IDS;ES_X509_STORE_ADD_CERTIFICATE;ES_X509_STORE_UPDATE_CERTIFICATE;ES_X509_STORE_DELETE_CERTIFICATE;ES_CREDENTIAL_STORE_CREATE;ES_CREDENTIAL_STORE_DELETE;ES_CREDENTIAL_STORE_LIST_CREDENTIALS;ES_CREDENTIAL_STORE_LIST_CREDENTIAL_IDS;ES_CREDENTIAL_STORE_QUERY_CREDENTIAL_DOCUMENT;ES_CREDENTIAL_STORE_QUERY_CREDENTIAL_METADATA;ES_CREDENTIAL_STORE_ADD_CREDENTIAL;ES_CREDENTIAL_STORE_UPDATE_CREDENTIAL;ES_CREDENTIAL_STORE_GET_CREDENTIAL;ES_CREDENTIAL_STORE_DELETE_CREDENTIAL;ES_CREDENTIAL_STORE_DELETE_ALL_CREDENTIALS;ES_DID_STORE_CREATE;ES_DID_STORE_DELETE;ES_DID_STORE_LIST_DIDS;ES_DID_STORE_ADD_DID;ES_DID_STORE_GET_DID;ES_DID_STORE_UPDATE_DID;ES_DID_STORE_DELETE_DID;ES_DID_SERVICE_CREATE;ES_DID_SERVICE_DELETE;ES_DID_SERVICE_LIST_DIDS;ES_DID_SERVICE_CREATE_DID_KEY;ES_DID_SERVICE_CREATE_DID_JWK;ES_DID_SERVICE_CREATE_DID_WEB;ES_DID_SERVICE_RESOLVE_DID;ES_DID_REGISTRY_CREATE;ES_DID_REGISTRY_DELETE;ES_DID_REGISTRY_LIST_DIDS;ES_KMS_CREATE;ES_KMS_DELETE;ES_KMS_LIST_KEYS;ES_KMS_GET_KEY;ES_KMS_REMOVE_KEY;ES_KMS_DELETE_KEY;ES_KMS_GENERATE_KEY;ES_KMS_STORE_KEY;ES_KMS_IMPORT_KEY_JWK;ES_KMS_IMPORT_KEY_PEM;ES_KMS_SIGN;ES_POLICY_STORE_CREATE;ES_POLICY_STORE_DELETE;ES_POLICY_STORE_LIST_POLICIES;ES_POLICY_STORE_LIST_POLICY_IDS;ES_POLICY_STORE_GET_POLICY;ES_POLICY_STORE_ADD_POLICY;ES_POLICY_STORE_UPDATE_POLICY;ES_POLICY_STORE_DELETE_POLICY;ES_ISSUER_CREATE;ES_ISSUER_DELETE;ES_ISSUER_GET_CONFIGURATION;ES_ISSUER_GET_SESSION;ES_ISSUER_UPDATE_SESSION;ES_ISSUER_ISSUE_CREDENTIAL;ES_ISSUER_UPDATE_CREDENTIAL_STATUS;ES_ISSUER_GET_DISPLAY_CONFIGURATION;ES_ISSUER_UPDATE_DISPLAY_CONFIGURATION;ES_ISSUER_DELETE_DISPLAY_CONFIGURATION;ES_ISSUER_GET_CREDENTIAL_PROFILE;ES_ISSUER_ADD_CREDENTIAL_PROFILE;ES_ISSUER_UPDATE_CREDENTIAL_PROFILE;ES_ISSUER_DELETE_CREDENTIAL_PROFILE;ES_WALLET_CREATE;ES_WALLET_DELETE;ES_WALLET_RECEIVE_CREDENTIALS_FULL;ES_WALLET_PRESENT_CREDENTIALS_FULL;ES_WALLET_OBTAIN_CLIENT_ATTESTATION;ES_WALLET_GET_CURRENT_CLIENT_ATTESTATION;ES_WALLET_ISOLATED_PRESENT_CREDENTIALS;ES_WALLET_ISOLATED_RESOLVE_OFFER;ES_WALLET_ISOLATED_PROVIDER_METADATA;ES_WALLET_ISOLATED_OFFER_CREDENTIALS;ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST;ES_WALLET_ISOLATED_PROOF_OF_POSSESSION;ES_WALLET_ISOLATED_RECEIVE_CREDENTIAL;ES_VERIFIER_CREATE;ES_VERIFIER_DELETE;ES_VERIFIER_GET_OPENID_METADATA;ES_VERIFIER_UPDATE_OPENID_METADATA;ES_VERIFIER_DELETE_OPENID_METADATA;ES_VERIFIER_VERIFY_CREDENTIAL;ES_VERIFIER_GET_VERIFIER_SESSION;ES_VERIFIER_UPDATE_VERIFIER_SESSION;ES_VERIFIER_GET_VERIFIER_PRESENTATION_REQUEST_URL;ES_VERIFIER_GET_VERIFIER_PRESENTED_CREDENTIALS;ES_VERIFIER_GET_VERIFIER_POLICIES_LIST;ES_OIDC_BRIDGE_CREATE;ES_OIDC_BRIDGE_DELETE;ES_OIDC_BRIDGE_READ;ES_OIDC_BRIDGE_OIDC_PUBLIC;ES_VERIFIER_CREATE_VERIFIER_SESSION;ES_VERIFIER_SEND_VERIFICATION_SSE_EVENTS;ES_VICAL_CREATE;ES_VICAL_DELETE;ES_VICAL_PUBLISH;ES_VICAL_LIST;ES_CLIENT_ATTESTER_CREATE;ES_CLIENT_ATTESTER_ATTEST;ES_TRUST_REGISTRY_CREATE;ES_TRUST_REGISTRY_DELETE;ES_TRUST_REGISTRY_RESOLVE;ES_TRUST_REGISTRY_MANAGE;ES_TRUST_REGISTRY_READ;ES_CREDENTIAL_STATUS_CREATE;ES_CREDENTIAL_STATUS_DELETE;ES_CREDENTIAL_STATUS_CREATE_LIST;ES_CREDENTIAL_STATUS_DELETE_LIST;ES_CREDENTIAL_STATUS_GET_LIST;ES_CREDENTIAL_STATUS_GET_LIST_URL;ES_CREDENTIAL_STATUS_GET_CAPACITY;ES_CREDENTIAL_STATUS_GET_STATUS_ENTRY;ES_CREDENTIAL_STATUS_CREATE_STATUS_ENTRY;ES_CREDENTIAL_STATUS_UPDATE_STATUS_ENTRY;ID_CACHE_LIST;ID_CACHE_UPLOAD;ID_CACHE_MAPPING;ID_CACHE_DOCUMENT_LIST;ID_CACHE_DOCUMENT;ID_CACHE_DOCUMENT_COLLECT_ID;ID_CACHE_DOCUMENT_STATUS\n            \nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.permissions.Permission"
              },
              "examples" : {
                "Remove permission" : {
                  "value" : {
                    "target" : "example.test",
                    "action" : "all"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Permission removed from role successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - permission not found in role, invalid permission format, or role not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to modify role permissions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/external-mappings" : {
      "get" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "List all external role mappings",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_LIST]  \nOperation: 'list-all-external-mappings'  \nAccepts targets: [OrganizationTree, Tenant]  \nRequires authentication.  \n\n---\nLists all external role mappings across all roles within an organization or tenant scope. This provides a complete view of how external IdP roles map to Enterprise roles.\n\n**Use Cases:**\n- Audit all SSO role mappings\n- Review external access configuration\n- Debug authentication issues\n- Generate documentation of role mappings\n\n**Response Format:**\nEach item contains the Enterprise role ID, role name, and the external mapping details.\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of all external mappings",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.ExternalMappingListItem"
                  },
                  "title" : "ArrayList<RoleService.ExternalMappingListItem>"
                },
                "examples" : {
                  "Mapping list" : {
                    "value" : [ {
                      "roleId" : "waltid.tenant1.BW_ADMIN",
                      "roleName" : "Business Wallet Admin",
                      "mapping" : {
                        "externalRole" : "tenant-admin"
                      }
                    }, {
                      "roleId" : "waltid.tenant1.BW_OPERATOR",
                      "roleName" : "Business Wallet Operator",
                      "mapping" : {
                        "externalRole" : "wallet-operator"
                      }
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/roles-api/external-mappings/resolve" : {
      "post" : {
        "tags" : [ "Service | Roles" ],
        "summary" : "Resolve external roles to Enterprise roles",
        "description" : "Permissions: ANY OF: [ADMIN_ROLE_LIST]  \nOperation: 'resolve-external-roles'  \nAccepts targets: [OrganizationTree, Tenant]  \nRequires authentication.  \n\n---\nTests external role resolution without performing actual authentication. Given a set of external roles (as would appear in an IdP token), returns which Enterprise roles would be assigned.\n\n**Use Cases:**\n- Debug role mapping configuration\n- Test new mappings before deployment\n- Verify expected role assignments\n- Troubleshoot authentication issues\n\n**Request Parameters:**\n- `externalRoles`: Set of role names as they would appear in the IdP token\n- `providerId`: Optional - filter to mappings for a specific provider\n- `userEmail`: Optional - for testing email domain conditions\n- `userClaims`: Optional - for testing required claims conditions\n\nFor more information, see: <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://docs.walt.id/enterprise-stack/administration/access-and-permissions/roles/overview\">the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.ResolveExternalRolesRequest"
              },
              "examples" : {
                "Simple resolution" : {
                  "value" : {
                    "externalRoles" : [ "tenant-admin", "user" ]
                  }
                },
                "Resolution with conditions" : {
                  "value" : {
                    "externalRoles" : [ "department-lead" ],
                    "providerId" : "keycloak-prod",
                    "userEmail" : "user@company.com",
                    "userClaims" : {
                      "department" : "engineering"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Resolution result",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.ResolveExternalRolesResponse"
                },
                "examples" : {
                  "Resolution result" : {
                    "value" : {
                      "resolvedRoles" : [ {
                        "roleId" : "waltid.tenant1.BW_ADMIN",
                        "name" : "Business Wallet Admin",
                        "matchedExternalRole" : "tenant-admin"
                      } ]
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list roles",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/tenant-api/tenants/config/view" : {
      "get" : {
        "tags" : [ "Tenant Management" ],
        "summary" : "View tenant configuration",
        "description" : "Permissions: ANY OF: [ADMIN_TENANT_GET]  \nOperation: 'view-tenant-config'  \nAccepts targets: [Tenant]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for a tenant. Tenant configuration includes service references and settings that define how the tenant operates within the system.\n\n**Use Cases:**\n- Review tenant service configurations\n- Audit tenant setup and dependencies\n- Verify service references are correctly configured\n- Export tenant configuration for backup or migration\n\n**Important Notes:**\n- Configuration is tenant-specific and scoped to the tenant context\n- Service references in the configuration are relative to the tenant\n- Empty or null values indicate that a service is not configured\n- Configuration changes may affect tenant functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/tenants/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The tenant configuration including all service references and settings",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.tenants.TenantConfiguration"
                },
                "examples" : {
                  "Tenant with DID registry" : {
                    "value" : {
                      "didRegistry" : "waltid.tenant1.did-registry.main"
                    }
                  },
                  "Tenant without DID registry" : {
                    "value" : { }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Tenant not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view tenant configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/tenant-api/tenants/config/update" : {
      "post" : {
        "tags" : [ "Tenant Management" ],
        "summary" : "Update tenant configuration",
        "description" : "Permissions: ANY OF: [ADMIN_TENANT_UPDATE]  \nOperation: 'update-tenant-config'  \nAccepts targets: [Tenant]  \nRequires authentication.  \n\n---\nUpdates the configuration for a tenant. This allows you to modify service references and settings that control how the tenant operates.\n\n**Use Cases:**\n- Configure tenant service dependencies\n- Update service references when services are moved or renamed\n- Enable or disable tenant features through configuration\n- Migrate tenant configurations between environments\n\n**Important Notes:**\n- Configuration updates take effect immediately\n- Service references must be valid and accessible within the tenant context\n- Setting a service reference to null removes that service dependency\n- Invalid service references may cause tenant operations to fail\n- Configuration changes may require tenant restart or service reinitialization\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/tenants/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.tenants.TenantConfiguration"
              },
              "examples" : {
                "Update with DID registry" : {
                  "value" : {
                    "didRegistry" : "waltid.tenant1.did-registry.main"
                  }
                },
                "Update without DID registry" : {
                  "value" : { }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Tenant configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - invalid service references, malformed configuration, or tenant not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update tenant configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [CredentialStatusServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [CredentialStatusServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [CredentialStatusServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/create" : {
      "post" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Create new credential status configuration",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_CREATE_LIST]  \nOperation: 'credential-status.config.create'  \nRequires authentication.  \n\n---\nCreates a new credential status configuration that defines how credential status information is managed and stored. \nThe configuration specifies the status list type, purpose, signing material, and other parameters required for status management.\n\n**Use Cases:**\n- Set up revocation status lists for verifiable credentials\n- Configure suspension status lists for temporary credential suspension\n- Create custom status lists with multiple status values\n- Initialize status credential infrastructure for credential lifecycle management\n\n**Custom Configuration ID:**\nYou can specify a custom configuration ID by including it in the URL path: {org}.{tenant}.{status-service}.{my-custom-id}\n\n**Important Notes:**\n- If no custom ID is provided, the ID is generated from a SHA-256 hash of the configuration\n- This means identical configurations (same type, purpose, format) will return the same ID\n- To create multiple status lists with the same configuration, provide unique custom IDs\n- Different status list types (BitstringStatusList, StatusList2021, RevocationList2020, TokenStatusList) have different capabilities\n- The signing material (key ID and DID or X.509 certificate) must be valid and accessible\n- Custom status lists can define multiple status values beyond simple revocation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The status list credential configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.StatusCredentialConfig"
              },
              "examples" : {
                "BitstringStatusList with revocation purpose" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "did" : "did:jwk:eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiMW1rQnBEYWZqVk9ONm9XVmlIZGREZXNEYXpKaXk1R0NTYko3VDU4QkJ3cyIsIngiOiJzZ1BiZWRPQjl1WEMtVG54LUVhV1IxRmg1Y25JLUxRLU43NUV1UE8wV2VFIn0",
                    "config" : {
                      "type" : "BitstringStatusList"
                    }
                  }
                },
                "BitstringStatusList with custom purpose having 4 statuses" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "did" : "did:jwk:eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiMW1rQnBEYWZqVk9ONm9XVmlIZGREZXNEYXpKaXk1R0NTYko3VDU4QkJ3cyIsIngiOiJzZ1BiZWRPQjl1WEMtVG54LUVhV1IxRmg1Y25JLUxRLU43NUV1UE8wV2VFIn0",
                    "config" : {
                      "type" : "BitstringStatusList",
                      "statusSize" : 2,
                      "statuses" : [ {
                        "status" : "0x0",
                        "message" : "unset"
                      }, {
                        "status" : "0x1",
                        "message" : "temporary"
                      }, {
                        "status" : "0x2",
                        "message" : "conditional"
                      }, {
                        "status" : "0x3",
                        "message" : "indefinite"
                      } ],
                      "purpose" : "suspension"
                    }
                  }
                },
                "StatusList2021 with revocation purpose" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "did" : "did:jwk:eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiMW1rQnBEYWZqVk9ONm9XVmlIZGREZXNEYXpKaXk1R0NTYko3VDU4QkJ3cyIsIngiOiJzZ1BiZWRPQjl1WEMtVG54LUVhV1IxRmg1Y25JLUxRLU43NUV1UE8wV2VFIn0",
                    "config" : {
                      "type" : "StatusList2021"
                    }
                  }
                },
                "RevocationList2020 with revocation purpose" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "did" : "did:jwk:eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiMW1rQnBEYWZqVk9ONm9XVmlIZGREZXNEYXpKaXk1R0NTYko3VDU4QkJ3cyIsIngiOiJzZ1BiZWRPQjl1WEMtVG54LUVhV1IxRmg1Y25JLUxRLU43NUV1UE8wV2VFIn0",
                    "config" : {
                      "type" : "RevocationList2020"
                    }
                  }
                },
                "TokenStatusList JWT formatted" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "did" : "did:jwk:eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiMW1rQnBEYWZqVk9ONm9XVmlIZGREZXNEYXpKaXk1R0NTYko3VDU4QkJ3cyIsIngiOiJzZ1BiZWRPQjl1WEMtVG54LUVhV1IxRmg1Y25JLUxRLU43NUV1UE8wV2VFIn0",
                    "config" : {
                      "type" : "TokenStatusList"
                    }
                  }
                },
                "TokenStatusList CWT formatted" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "did" : "did:jwk:eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiMW1rQnBEYWZqVk9ONm9XVmlIZGREZXNEYXpKaXk1R0NTYko3VDU4QkJ3cyIsIngiOiJzZ1BiZWRPQjl1WEMtVG54LUVhV1IxRmg1Y25JLUxRLU43NUV1UE8wV2VFIn0",
                    "config" : {
                      "type" : "TokenStatusList",
                      "format" : "CWT"
                    }
                  }
                },
                "TokenStatusList with X.509 certificate" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.key1",
                    "x5Chain" : [ "MIIBljCCAT2gAwIBAgIUP/xM+biohoGvcYdfgGxd0CQBT28wCgYIKoZIzj0EAwIwFTETMBEGA1UEAwwKQ3VzdG9tUm9vdDAeFw0yNjAxMjYxMDAxMTFaFw0yNzAxMjYxMDAxMTFaMB0xGzAZBgNVBAMMEkN1c3RvbUludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOQMWbqm+DvDO1RRPsVYzbNc2vgdVOw9zZhu+n+8NZqqMbW+qJuXQZ2rxiUzIvzqtQHITjSozNGHmyNbN9b1JxOjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRHt/+svL7jM/XYPvNMjwWM3JlYSjAfBgNVHSMEGDAWgBRHCT92dpAI1vlPm7tTUfYYjgkfwDAKBggqhkjOPQQDAgNHADBEAiALQcUEt5xjuTdYRZ+flY2dXXr7lW961XTJbxQsSDSJxQIgHK8ZyQrwkMjfze81axgISEmb+AZBUY8LCPtJ8MpNcWI=" ],
                    "config" : {
                      "type" : "TokenStatusList"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The status list credential configuration resource identifier",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                },
                "examples" : {
                  "Configuration ID" : {
                    "value" : "revocation"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - invalid configuration, missing required fields, or invalid signing material",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create status configurations",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/delete" : {
      "delete" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Delete a status credential configuration",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_DELETE_LIST]  \nOperation: 'credential-status.config.delete'  \nAccepts targets: [CredentialStatusConfigStore]  \nRequires authentication.  \n\n---\nDeletes a status credential configuration and removes it from the system. This is mainly used for development and testing purposes.\n\n**Use Cases:**\n- Remove unused or obsolete status list configurations\n- Clean up test configurations\n- Delete configurations that are no longer needed\n\n**Important Notes:**\n- This operation is irreversible\n- Credentials that reference this status list will no longer be able to have their status verified\n- The status list data in external storage (S3, Azure, GCP) is NOT automatically deleted\n- Consider the impact on existing credentials before deleting\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The status credential configuration was successfully deleted",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "LinkedHashMap<String,String>"
                },
                "examples" : {
                  "Deletion confirmation" : {
                    "value" : {
                      "deleted" : "organization.tenant.status-service.config-id"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Status credential configuration not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete status credential configurations",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/list" : {
      "get" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "List status credential configurations",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_GET_LIST]  \nOperation: 'credential-status.credential.list'  \nAccepts targets: [CredentialStatusServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all status credential configuration identifiers within the service.\nThis provides an overview of all configured status lists and their purposes.\n\n**Use Cases:**\n- Audit all status credential configurations\n- Discover available status lists for credential issuance\n- Review status list purposes and types\n- Export configuration identifiers for documentation\n\n**Important Notes:**\n- Returns only the configuration identifiers, not the full configurations\n- Configuration IDs are unique within the service scope\n- Empty list indicates no status configurations have been created\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of status credential configuration identifiers",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "List of configuration IDs" : {
                    "value" : [ "waltid.tenant1.credential-status.revocation", "waltid.tenant1.credential-status.suspension", "waltid.tenant1.credential-status.custom" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list status credential configurations",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/url" : {
      "get" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Get the status credential URL",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_GET_LIST_URL]  \nOperation: 'credential-status.credential.url'  \nAccepts targets: [CredentialStatusConfigStore]  \nRequires authentication.  \n\n---\nRetrieves the URL where the status credential is hosted. This URL can be used by verifiers to fetch and validate credential status information.\n\n**Use Cases:**\n- Obtain status credential URLs for credential embedding\n- Provide status credential locations to verifiers\n- Configure credential status endpoints in credential definitions\n- Access status credentials via HTTP/HTTPS\n\n**Important Notes:**\n- The URL format depends on the configured registry and storage backend\n- URLs are generated based on the service configuration (AWS S3, Azure Blob, GCP, or local)\n- The URL points to the location where the status credential can be fetched\n- URLs are stable and can be embedded in credentials\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The URL where the status credential is hosted and can be fetched",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                },
                "examples" : {
                  "Status credential URL" : {
                    "value" : "https://example.com/credentials/1234567890"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Status credential configuration not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to access status credential URLs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/capacity" : {
      "get" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Get status list capacity information",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_GET_CAPACITY]  \nOperation: 'credential-status.credential.capacity'  \nAccepts targets: [CredentialStatusConfigStore]  \nRequires authentication.  \n\n---\nRetrieves capacity information for a status list, including current usage, maximum capacity, and status indicators.\nThis endpoint is essential for monitoring status list utilization and planning for rollover.\n\n**Use Cases:**\n- Monitor status list utilization to prevent capacity exhaustion\n- Set up alerts when status lists approach capacity thresholds\n- Plan proactive rollover to new status lists before reaching capacity\n- Audit status list usage across the organization\n\n**Response Fields:**\n- `statusListId`: The identifier of the status list\n- `usedEntries`: Number of entries currently allocated\n- `maxEntries`: Maximum capacity of the status list\n- `availableEntries`: Remaining capacity\n- `usagePercent`: Current utilization as a percentage\n- `status`: Capacity status indicator (HEALTHY, WARNING, CRITICAL, FULL)\n\n**Status Thresholds (configurable via service configuration):**\n- `HEALTHY`: Usage below warning threshold (default: < 80%)\n- `WARNING`: Usage at or above warning threshold (default: >= 80%)\n- `CRITICAL`: Usage at or above critical threshold (default: >= 95%)\n- `FULL`: Status list has reached maximum capacity\n\n**Important Notes:**\n- When status is WARNING or CRITICAL, consider creating a new status list\n- When status is FULL, no new status entries can be created\n- Thresholds can be configured per service via the capacity configuration\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The capacity information for the status list",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "title" : "*"
                },
                "examples" : {
                  "Healthy status list" : {
                    "value" : {
                      "statusListId" : "organization.tenant.status-service.config-id",
                      "usedEntries" : 1500,
                      "maxEntries" : 32000,
                      "availableEntries" : 30500,
                      "usagePercent" : 4.69,
                      "status" : "HEALTHY"
                    }
                  },
                  "Warning status list" : {
                    "value" : {
                      "statusListId" : "organization.tenant.status-service.config-id",
                      "usedEntries" : 26000,
                      "maxEntries" : 32000,
                      "availableEntries" : 6000,
                      "usagePercent" : 81.25,
                      "status" : "WARNING"
                    }
                  },
                  "Critical status list" : {
                    "value" : {
                      "statusListId" : "organization.tenant.status-service.config-id",
                      "usedEntries" : 31000,
                      "maxEntries" : 32000,
                      "availableEntries" : 1000,
                      "usagePercent" : 96.88,
                      "status" : "CRITICAL"
                    }
                  },
                  "Full status list" : {
                    "value" : {
                      "statusListId" : "organization.tenant.status-service.config-id",
                      "usedEntries" : 32000,
                      "maxEntries" : 32000,
                      "availableEntries" : 0,
                      "usagePercent" : 100.0,
                      "status" : "FULL"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Status credential configuration not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to access status list capacity",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/status/create" : {
      "post" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Create new credential status",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_CREATE_STATUS_ENTRY]  \nOperation: 'credential-status.create'  \nAccepts targets: [CredentialStatusConfigStore]  \nRequires authentication.  \n\n---\nAllocates a new index within the status credential and returns the corresponding status entry that can be embedded in a verifiable credential. \nThis operation reserves a position in the status list for tracking the credential's status.\n\n**Use Cases:**\n- Initialize status tracking for newly issued credentials\n- Reserve status list indices during credential issuance\n- Generate status entries for embedding in verifiable credentials\n- Set up credential status infrastructure before credential distribution\n\n**Important Notes:**\n- Each status entry corresponds to a unique index in the status list\n- The initial status value determines the starting state of the credential\n- Status entries are format-specific (W3C vs IETF) based on the configuration\n- The returned status entry must be added to the credential's credentialStatus property\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The initial status value for the credential",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.CredentialStatusCreateRequest"
              },
              "examples" : {
                "Initialize with unrevoked status" : {
                  "value" : {
                    "initialStatus" : "0x0"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The status entry object that can be added to the credentialStatus property of the holder credential",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.status.domain.entry.StatusEntry"
                },
                "examples" : {
                  "BitstringStatusListEntry revocation status" : {
                    "value" : {
                      "id" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b#11597",
                      "type" : "BitstringStatusListEntry",
                      "statusPurpose" : "revocation",
                      "statusListIndex" : "11597",
                      "statusSize" : 1,
                      "statusListCredential" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b",
                      "statusMessage" : [ {
                        "status" : "0x0",
                        "message" : "unset"
                      }, {
                        "status" : "0x1",
                        "message" : "set"
                      } ]
                    }
                  },
                  "BitstringStatusListEntry custom status" : {
                    "value" : {
                      "id" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b#11597",
                      "type" : "BitstringStatusListEntry",
                      "statusPurpose" : "suspension",
                      "statusListIndex" : "11597",
                      "statusSize" : 2,
                      "statusListCredential" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b",
                      "statusMessage" : [ {
                        "status" : "0x0",
                        "message" : "unset"
                      }, {
                        "status" : "0x1",
                        "message" : "temporary"
                      }, {
                        "status" : "0x2",
                        "message" : "conditional"
                      }, {
                        "status" : "0x3",
                        "message" : "indefinite"
                      } ]
                    }
                  },
                  "StatusList2021 entry" : {
                    "value" : {
                      "id" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b#11597",
                      "type" : "StatusList2021Entry",
                      "statusPurpose" : "revocation",
                      "statusListIndex" : "11597",
                      "statusSize" : 1,
                      "statusListCredential" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b",
                      "statusMessage" : [ {
                        "status" : "0x0",
                        "message" : "unset"
                      }, {
                        "status" : "0x1",
                        "message" : "set"
                      } ]
                    }
                  },
                  "RevocationList2020 entry" : {
                    "value" : {
                      "id" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b#11597",
                      "type" : "RevocationList2020Status",
                      "statusPurpose" : "revocation",
                      "statusListIndex" : "11597",
                      "statusSize" : 1,
                      "statusListCredential" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b",
                      "statusMessage" : [ {
                        "status" : "0x0",
                        "message" : "unset"
                      }, {
                        "status" : "0x1",
                        "message" : "set"
                      } ]
                    }
                  },
                  "TokenStatusList entry" : {
                    "value" : {
                      "status_list" : {
                        "idx" : 11597,
                        "uri" : "http://localhost:3000/credentials/99914b932bd37a50b983c5e7c90ae93b"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - invalid status value, configuration not found, or status list exhausted",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create status entries",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-status-service-api/status-credential/status/update" : {
      "put" : {
        "tags" : [ "Service | Credential Status Service" ],
        "summary" : "Update credential status",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STATUS_UPDATE_STATUS_ENTRY]  \nOperation: 'credential-status.update'  \nAccepts targets: [CredentialStatusConfigStore]  \nRequires authentication.  \n\n---\nUpdates the status of a credential by modifying its status value at the specified index within the status list. \nThis operation is used to revoke, suspend, or change the status of a credential after issuance.\n\n**Use Cases:**\n- Revoke credentials that are no longer valid\n- Suspend credentials temporarily\n- Update credential status based on lifecycle events\n- Change custom status values for specialized use cases\n\n**Important Notes:**\n- The session parameter is used to locate the credential's status index\n- Status updates are asynchronous and may take time to propagate\n- The update operation requires the credential to have been created with a status entry\n- Status changes are permanent and reflected in the status credential\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-status-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The session identifier, status index, and new status value",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.CredentialStatusUpdateRequest"
              },
              "examples" : {
                "Revoke credential" : {
                  "value" : {
                    "session" : "{organization}.{tenant}.{issuer-service}.{session-id}",
                    "status" : "0x1"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "An object indicating the result of the status update operation",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.CredentialStatusUpdateResponse"
                },
                "examples" : {
                  "Success result" : {
                    "value" : {
                      "successful" : true
                    }
                  },
                  "Failure result" : {
                    "value" : {
                      "successful" : false
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - session not found, invalid status value, or index not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update credential status",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/list" : {
      "get" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "List all stored credentials",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_LIST_CREDENTIALS]  \nOperation: 'list-credentials'  \nAccepts targets: [CredentialStoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all credentials stored in the Credential Store. \nEach credential includes its full document, metadata, and associated information.\n\n**Use Cases:**\n- Audit stored credentials\n- Retrieve all credentials for a specific store\n- Export credentials for backup or migration\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort selector. Supported values: 'createdDateTime', 'createdDateTime+', 'createdDateTime-', 'updatedDateTime', 'updatedDateTime+', 'updatedDateTime-'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "createdDateTime"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of all stored credentials in the Credential Store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/credential"
                  },
                  "title" : "ArrayList<>"
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/list-ids" : {
      "get" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "List credential IDs",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_LIST_CREDENTIAL_IDS]  \nOperation: 'list-credential-ids'  \nAccepts targets: [CredentialStoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all credential IDs (paths) stored in the Credential Store.\nThis endpoint returns only the identifiers, not the full credential data, making it more efficient for large stores.\n\n**Use Cases:**\n- Check if a credential exists\n- Get a quick overview of stored credentials\n- Iterate through credentials without loading full data\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "List of credential IDs (paths) stored in the Credential Store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Credential IDs" : {
                    "value" : [ "waltid.tenant1.credential-store.credential1", "waltid.tenant1.credential-store.credential2" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list credential IDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/query/document/schema" : {
      "post" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Query credentials by document schema",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_QUERY_CREDENTIAL_DOCUMENT]  \nOperation: 'query-credential-documents-schema'  \nAccepts targets: [CredentialStoreServiceReference]  \nRequires authentication.  \n\n---\nQueries credentials by applying filters to the credential document data using PresentationDefinition InputDescriptor Constraint Fields.\n\n**How it works:**\n- Provide a list of constraint fields that define the query criteria\n- The filters are applied to the credential document (the actual credential data)\n- Returns all credentials that match the specified constraints\n\n**Use Cases:**\n- Find credentials by specific attributes (e.g., issuer, type, subject)\n- Filter credentials based on credential data values\n- Search for credentials matching specific criteria\n\n**Filter Format:**\nEach field in the request should follow the PresentationDefinition InputDescriptor Constraints format with:\n- `path`: JSONPath expression to the field in the credential document\n- `filter`: JSON Schema filter to match against the field value\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "List of PresentationDefinition InputDescriptor Constraint Fields to use as filters",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.definitionparser.PresentationDefinition.InputDescriptor.Constraints.Field"
                },
                "title" : "ArrayList<PresentationDefinition.InputDescriptor.Constraints.Field>"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "List of credential documents matching the filter criteria",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/credential"
                  },
                  "title" : "ArrayList<>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid filter format or query syntax",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to query credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/query/metadata/schema" : {
      "post" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Query credentials by metadata schema",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_QUERY_CREDENTIAL_METADATA]  \nOperation: 'query-credential-metadata-schema'  \nAccepts targets: [CredentialStoreServiceReference]  \nRequires authentication.  \n\n---\nQueries credentials by applying filters to the credential metadata using PresentationDefinition InputDescriptor Constraint Fields.\n\n**How it works:**\n- Provide a list of constraint fields that define the query criteria\n- The filters are applied to the credential metadata (not the credential document)\n- Returns all credentials whose metadata matches the specified constraints\n\n**Use Cases:**\n- Find credentials by metadata tags or labels\n- Filter credentials based on custom metadata fields\n- Search for credentials with specific metadata attributes\n\n**Filter Format:**\nEach field in the request should follow the PresentationDefinition InputDescriptor Constraints format with:\n- `path`: JSONPath expression to the field in the credential metadata\n- `filter`: JSON Schema filter to match against the field value\n\n**Note:** This queries metadata, not the credential document itself. Use the document schema query endpoint to filter by credential data.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "List of PresentationDefinition InputDescriptor Constraint Fields to use as filters on metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.definitionparser.PresentationDefinition.InputDescriptor.Constraints.Field"
                },
                "title" : "ArrayList<PresentationDefinition.InputDescriptor.Constraints.Field>"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "List of credential metadata matching the filter criteria",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/credential"
                  },
                  "title" : "ArrayList<>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid filter format or query syntax",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to query credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/store" : {
      "put" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Store a credential",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_ADD_CREDENTIAL]  \nOperation: 'store-credential'  \nAccepts parent targets: [CredentialStoreServiceReference, CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nStores a new credential in the Credential Store. The credential will be persisted with its document and optional metadata.\n\n**Important:**\n- The credential path is determined by the target path in the request\n- If a credential already exists at the target path, the request will fail\n- Use the update endpoint to modify existing credentials\n- Credentials can include optional metadata for additional organization\n\n**Credential Format:**\nThe credential must be a valid DigitalCredential (W3C Verifiable Credential format).\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The credential to store, including its document and optional metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/credential"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Credential stored successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/credential"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid credential format or credential already exists at target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to store credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/update" : {
      "put" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Update a stored credential",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_UPDATE_CREDENTIAL]  \nOperation: 'update-credential'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nUpdates an existing credential in the Credential Store. This replaces the entire credential at the target path.\n\n**Important:**\n- The credential must already exist at the target path\n- This operation replaces the entire credential (document and metadata)\n- To update only metadata, use the metadata update endpoint with JSON Patch\n\n**Use Cases:**\n- Replace a credential with a new version\n- Update credential data while maintaining the same path\n- Refresh expired or revoked credentials\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The updated credential to replace the existing one",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/credential"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credential updated successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Credential not found at the specified target path",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid credential format",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/view" : {
      "get" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "View a stored credential",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_GET_CREDENTIAL]  \nOperation: 'view-credential'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nRetrieves a specific credential from the Credential Store by its target path.\nReturns the full credential including its document and metadata.\n\n**Response includes:**\n- Full credential document (W3C Verifiable Credential)\n- Associated metadata (if any)\n- Credential path/ID\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The requested credential with its full document and metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/credential"
                }
              }
            }
          },
          "404" : {
            "description" : "Credential not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this credential",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/delete" : {
      "delete" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Delete a stored credential",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_DELETE_CREDENTIAL]  \nOperation: 'delete-credential'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nPermanently deletes a credential from the Credential Store. This action cannot be undone.\n\n**Important:**\n- The credential will be immediately removed from the store\n- This operation is irreversible\n- Ensure you have backups if the credential data is important\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Credential deleted successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Credential not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/delete-all" : {
      "delete" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Delete all credentials from store",
        "description" : "Permissions: ANY OF: [ES_CREDENTIAL_STORE_DELETE_ALL_CREDENTIALS]  \nOperation: 'delete-all-credentials'  \nAccepts targets: [CredentialStoreServiceReference]  \nRequires authentication.  \n\n---\nPermanently deletes all credentials stored in the Credential Store. This is a destructive operation that cannot be undone.\n\n**Warning:**\n- All credentials in the store will be deleted\n- This operation is irreversible\n- Use with extreme caution\n- Consider backing up credentials before executing this operation\n\n**Response:**\nReturns the count of deleted credentials.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/credential-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "All credentials deleted successfully. Response includes count of deleted items.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                },
                "examples" : {
                  "Delete result" : {
                    "value" : {
                      "deleted" : 42
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete all credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/metadata/view" : {
      "get" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "View metadata",
        "description" : "Permissions: ANY OF: [VIEW_METADATA]  \nOperation: 'view-metadata'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nRetrieves the metadata associated with this resource. Metadata provides additional information, tags, descriptions, or custom attributes that can be used for organization, search, and filtering.\n\n**Use Cases:**\n- Retrieve custom attributes and tags\n- Access resource descriptions and annotations\n- Review metadata for organization and categorization\n- Export metadata for documentation or reporting\n\n**Important Notes:**\n- Metadata is optional and may not exist for all resources\n- Returns 404 if no metadata has been set\n- Metadata is stored as a JSON object allowing flexible structure\n- Metadata does not affect core resource functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The metadata stored for this resource",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                },
                "examples" : {
                  "Metadata with data" : {
                    "value" : {
                      "description" : "Example metadata",
                      "tags" : [ "tag1", "tag2" ]
                    }
                  },
                  "Empty metadata" : {
                    "value" : { }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "No metadata stored for this resource",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/metadata/set" : {
      "put" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Set metadata",
        "description" : "Permissions: ANY OF: [SET_METADATA]  \nOperation: 'set-metadata'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nSets or replaces the complete metadata for this resource. This operation replaces any existing metadata with the provided metadata object.\n\n**Use Cases:**\n- Initialize metadata for a new resource\n- Replace existing metadata completely\n- Set custom attributes and tags\n- Add resource descriptions and annotations\n\n**Important Notes:**\n- This operation completely replaces existing metadata\n- To update specific fields, use the update endpoint with JSON Patch\n- Metadata is stored as a JSON object\n- Setting metadata to an empty object is valid\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Metadata to set for this resource",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
              },
              "examples" : {
                "Metadata with description and tags" : {
                  "value" : {
                    "description" : "Example metadata",
                    "tags" : [ "tag1", "tag2" ]
                  }
                },
                "Empty metadata" : {
                  "value" : { }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Metadata was set for this resource",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed JSON object",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to set metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/metadata/purge" : {
      "delete" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Purge metadata",
        "description" : "Permissions: ANY OF: [PURGE_METADATA]  \nOperation: 'purge-metadata'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nPermanently removes all metadata associated with this resource. After this operation, the resource will have no metadata until new metadata is set.\n\n**Use Cases:**\n- Remove metadata that is no longer needed\n- Clean up test or temporary metadata\n- Reset metadata to a clean state\n- Remove sensitive information from metadata\n\n**Important Notes:**\n- This operation is irreversible\n- The resource itself is not affected, only its metadata\n- After purging, the view endpoint will return 404 until new metadata is set\n- Purging metadata does not affect resource functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The metadata stored for this resource was deleted",
            "headers" : { }
          },
          "404" : {
            "description" : "Resource not found or no metadata exists to purge",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to purge metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/metadata/update" : {
      "post" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "Update metadata (with JSON Patch)",
        "description" : "Permissions: ANY OF: [UPDATE_METADATA]  \nOperation: 'update-metadata'  \nAccepts targets: [CredentialStoreStoredCredential]  \nRequires authentication.  \n\n---\nUpdates the metadata for this resource using JSON Patch format (RFC 6902). This allows partial updates to specific fields without replacing the entire metadata object.\n\n**Use Cases:**\n- Update specific metadata fields without replacing the entire object\n- Add new fields to existing metadata\n- Remove specific fields from metadata\n- Modify nested metadata structures\n\n**Important Notes:**\n- Uses RFC 6902 JSON Patch format for updates\n- If no metadata exists, an empty object is used as the base\n- Supports add, remove, replace, move, copy, and test operations\n- Partial updates preserve other metadata fields\n- Invalid patch operations will result in an error\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "JSON Patch document following RFC 6902 format - array of patch operations. Each operation must have 'op', 'path', and optionally 'value' fields.",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "title" : "JsonArray"
              },
              "examples" : {
                "Single replace operation" : {
                  "value" : [ {
                    "op" : "replace",
                    "path" : "/description",
                    "value" : "Updated description"
                  } ]
                },
                "Multiple operations (replace, add, remove)" : {
                  "value" : [ {
                    "op" : "replace",
                    "path" : "/description",
                    "value" : "Updated description"
                  }, {
                    "op" : "add",
                    "path" : "/tags/-",
                    "value" : "new-tag"
                  }, {
                    "op" : "remove",
                    "path" : "/oldField"
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Metadata updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed JSON Patch, invalid patch operation, or patch cannot be applied",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/credential-store-service-api/credentials/metadata/query" : {
      "post" : {
        "tags" : [ "Service | Credential Store Service" ],
        "summary" : "List by metadata matching query",
        "description" : "Permissions: ANY OF: [QUERY_BY_METADATA]  \nOperation: 'query-by-metadata'  \nAccepts targets: [TraversableServiceReference]  \nRequires authentication.  \n\n---\nQueries and returns resources that match the specified metadata constraints. This allows you to find resources based on their metadata attributes using field-based filtering.\n\n**Use Cases:**\n- Find resources by tags or custom attributes\n- Filter resources based on metadata values\n- Search for resources with specific metadata fields\n- Implement metadata-based resource discovery\n\n**Important Notes:**\n- Query uses field constraints to match metadata\n- Returns a map of matching resource targets to their metadata\n- Resources without metadata are not included in results\n- Query constraints follow the Presentation Definition Input Descriptor format\n- Empty query returns all resources with metadata\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "List of field constraints to match against metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.definitionparser.PresentationDefinition.InputDescriptor.Constraints.Field"
                },
                "title" : "ArrayList<PresentationDefinition.InputDescriptor.Constraints.Field>"
              },
              "examples" : {
                "Query by tags field" : {
                  "value" : [ {
                    "path" : [ "tags" ]
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Map of matching resource targets to their metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                  },
                  "title" : "LinkedHashMap<Target,JsonObject>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed query constraints",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to query metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/client-attester-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Client Attester Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [ClientAttesterServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/client-attester-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Client Attester Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [ClientAttesterServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/client-attester-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Client Attester Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [ClientAttesterServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/client-attester-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Client Attester Service" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [ClientAttesterServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/client-attester-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Client Attester Service" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [ClientAttesterServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Client Attester Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/client-attester"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/client-attester-api/attest" : {
      "post" : {
        "tags" : [ "Service | Client Attester Service" ],
        "summary" : "Issue a client attestation JWT",
        "description" : "Permissions: ANY OF: [ES_CLIENT_ATTESTER_ATTEST]  \nOperation: 'ES_CLIENT_ATTESTER_ATTEST'  \nAccepts targets: [ClientAttesterServiceReference]  \nRequires authentication.  \n\n---\nIssues a signed OAuth 2.0 client attestation JWT that binds a client identifier\nto an instance-specific public key.\n\nThis endpoint is called by wallet services (or other OAuth clients) to obtain\nan attestation that proves their identity and binds their instance key.\n\n**Specification**: draft-ietf-oauth-attestation-based-client-auth §4\n\n**Authentication**: The wallet must authenticate to the attester service.\n\n**Use Case**: \nThe returned attestation JWT is used with the OAuth-Client-Attestation HTTP header\nwhen requesting access tokens from issuers. Combined with a PoP (Proof-of-Possession)\nJWT, it provides strong client authentication without shared secrets.\n\n**JWT Structure**:\n- Header: {\"typ\": \"oauth-client-attestation+jwt\", \"alg\": \"ES256\"}\n- Payload: {\"sub\": \"<clientId>\", \"iat\": <timestamp>, \"exp\": <timestamp>, \"cnf\": {\"jwk\": {...}}}\n- Signature: Signed by the attester's private key\n\n**Security Notes**:\n- The cnf.jwk must be a public key only (no private key material)\n- The attestation lifetime should be limited (default 24 hours)\n- Wallets should refresh attestations before expiry\n- The attester's signing key must be trusted by the issuer",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.clientattestation.models.ClientAttestationRequest"
              },
              "examples" : {
                "Default (24h)" : {
                  "value" : {
                    "clientId" : "org.example.tenant.wallet-service",
                    "instancePublicKeyJwk" : {
                      "kty" : "EC",
                      "crv" : "P-256",
                      "x" : "WKn-ZIGevcwGIyyrzFoZNBdaq9_TsqzGl96oc0CWuis",
                      "y" : "y77t-RvAHRKTsSGdIYUfweuOvwrvDD-Q3Hv5J0fSKbE"
                    }
                  }
                },
                "Short-lived (1h)" : {
                  "value" : {
                    "clientId" : "org.example.tenant.wallet-service",
                    "instancePublicKeyJwk" : {
                      "kty" : "EC",
                      "crv" : "P-256",
                      "x" : "WKn-ZIGevcwGIyyrzFoZNBdaq9_TsqzGl96oc0CWuis",
                      "y" : "y77t-RvAHRKTsSGdIYUfweuOvwrvDD-Q3Hv5J0fSKbE"
                    },
                    "expirationSeconds" : 3600
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successfully issued client attestation JWT.\n\nThe response contains:\n- clientAttestationJwt: The signed attestation JWT (use with OAuth-Client-Attestation header)\n- expiresAt: Unix timestamp when the attestation expires\n\n**Next Steps**:\n1. Store the attestation JWT securely\n2. When requesting tokens, build a PoP JWT signed by the instance key\n3. Send both as HTTP headers:\n   - OAuth-Client-Attestation: <attestation JWT>\n   - OAuth-Client-Attestation-PoP: <PoP JWT>",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.clientattestation.models.ClientAttestationResponse"
                },
                "examples" : {
                  "Attestation Issued" : {
                    "value" : {
                      "clientAttestationJwt" : "eyJ0eXAiOiJvYXV0aC1jbGllbnQtYXR0ZXN0YXRpb24rand0IiwiYWxnIjoiRVMyNTYifQ.eyJzdWIiOiJvcmcuZXhhbXBsZS50ZW5hbnQud2FsbGV0LXNlcnZpY2UiLCJpYXQiOjE3MTM0NTA2MDAsImV4cCI6MTcxMzUzNzAwMCwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IldLbi1aSUdldmN3R0l5eXJ6Rm9aTkJkYXE5X1RzcXpHbDk2b2MwQ1d1aXMiLCJ5IjoieTc3dC1SdkFIUktUc1NHZElZVWZ3ZXVPdndydkRELVEzSHY1SjBmU0tiRSJ9fX0.MEUCIQDx-vZ9Z0H9YqYW4jK3F_4rP8wJ0xH5TQc9y8vQ1Qq5XwIgJ8oPc7j2R4mN1sQ6w7xZ3y5fTbE0pL9uN2vQ8xR3y4E",
                      "expiresAt" : 1713537000
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request: malformed JWK, missing required fields, or invalid clientId",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required or insufficient permissions",
            "headers" : { }
          },
          "403" : {
            "description" : "Caller does not have ES_CLIENT_ATTESTER_ATTEST permission",
            "headers" : { }
          },
          "404" : {
            "description" : "Client Attester Service not found at the specified target",
            "headers" : { }
          },
          "500" : {
            "description" : "Server error during attestation signing (e.g., KMS failure)",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-registry-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | DID Registry Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [DidRegistryServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-registry-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | DID Registry Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [DidRegistryServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-registry-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | DID Registry Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [DidRegistryServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-registry-service-api/registry/list" : {
      "get" : {
        "tags" : [ "Service | DID Registry Service" ],
        "summary" : "List registered DIDs",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_LIST_DIDS, ES_DID_REGISTRY_LIST_DIDS]  \nOperation: 'list'  \nAccepts targets: [DidRegistryServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all DIDs registered in the DID Registry. \nThese are DIDs that have been linked to the registry and are available for resolution.\n\n**Response Format:**\nReturns a list of DID identifiers (strings) that are registered in the registry.\n\n**Use Cases:**\n- Discover all DIDs available in the registry\n- Audit registered DIDs\n- Check if a specific DID is registered\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of registered DID identifiers in the registry",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Registered DIDs" : {
                    "value" : [ "did:web:did-registry-api:registry:alice", "did:web:did-registry-api:registry:bob" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list registered DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-registry-service-api/registry/{id}/did.json" : {
      "get" : {
        "tags" : [ "Service | DID Registry Service" ],
        "summary" : "Resolve a DID and retrieve its document",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nResolves a decentralized identifier (DID) and retrieves its associated DID document.\nThis endpoint is publicly accessible (no authentication required) and follows the W3C DID resolution specification.\n\n**DID Resolution:**\n- Takes a DID identifier as input\n- Returns the corresponding DID document (JSON-LD format)\n- Follows the W3C DID Core specification for resolution\n\n**Public Access:**\nThis endpoint is unauthenticated, allowing public DID resolution as required by the DID specification.\nThis enables wallets, verifiers, and other systems to resolve DIDs without authentication.\n\n**Use Cases:**\n- Resolve DIDs for verification\n- Retrieve public keys for encryption/signing\n- Access service endpoints associated with DIDs\n- Enable DID-based authentication flows\n\n**Path Parameters:**\n- `id`: The unique identifier of the DID to resolve\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Unique identifier of the DID to resolve",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "alice"
        } ],
        "responses" : {
          "200" : {
            "description" : "DID document resolved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                },
                "examples" : {
                  "Resolved did:web" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                        "verificationMethod" : [ {
                          "id" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                          "publicKeyJwk" : {
                            "kty" : "OKP",
                            "crv" : "Ed25519",
                            "x" : "sTgvlFxftGMKOpengFu-N9AwgiSKwzdzmH75rxJh1ZE"
                          }
                        } ],
                        "assertionMethod" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "authentication" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "capabilityInvocation" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "capabilityDelegation" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "keyAgreement" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "DID not found with the specified identifier",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/{target}/{id}/did.json" : {
      "get" : {
        "tags" : [ ],
        "summary" : "Resolve a DID from tenant's configured DID Registry",
        "description" : "Permissions: None required  \n\n---\nResolves a DID from a tenant's configured DID Registry. \nThis endpoint allows resolving DIDs that are registered in a specific tenant's registry.\n\n**How it works:**\n- The target parameter specifies the tenant path\n- The DID is resolved from that tenant's configured DID Registry\n- If the tenant doesn't have a DID Registry configured, a 404 error is returned\n\n**Public Access:**\nThis endpoint is unauthenticated, allowing public DID resolution as required by the DID specification.\n\n**Path Structure:**\nThe path follows the pattern: `{target}/{id}/did.json`\n- `target`: The tenant path (e.g., `waltid.tenant1`)\n- `id`: The DID identifier within that tenant's registry\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Tenant path where the DID is registered",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "waltid.tenant1"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Unique identifier of the DID to resolve",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "alice"
        } ],
        "responses" : {
          "200" : {
            "description" : "DID document resolved successfully from tenant's registry",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                }
              }
            }
          },
          "404" : {
            "description" : "DID not found, tenant has no DID Registry configured, or DID Registry not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/{id}/did.json" : {
      "get" : {
        "tags" : [ ],
        "summary" : "Resolve a DID from organization's root DID Registry",
        "description" : "Permissions: None required  \n\n---\nResolves a DID from the organization's root DID Registry.\nThis endpoint allows resolving DIDs that are registered at the organization level.\n\n**How it works:**\n- The DID is resolved from the organization's root DID Registry\n- No target parameter is needed as it uses the organization's root registry\n- If the organization doesn't have a root DID Registry configured, a 404 error is returned\n\n**Public Access:**\nThis endpoint is unauthenticated, allowing public DID resolution as required by the DID specification.\n\n**Path Structure:**\nThe path follows the pattern: `{id}/did.json`\n- `id`: The DID identifier in the organization's root registry\n\n**Use Cases:**\n- Resolve organization-level DIDs\n- Access DIDs registered at the root level\n- Enable DID resolution for organization-wide identifiers\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-registry/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Unique identifier of the DID to resolve from the organization's root registry",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "org-root-did"
        } ],
        "responses" : {
          "200" : {
            "description" : "DID document resolved successfully from organization's root registry",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                }
              }
            }
          },
          "404" : {
            "description" : "DID not found, organization has no root DID Registry configured, or DID Registry not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/did-store-service-api/dids" : {
      "get" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "List all stored DIDs",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_LIST_DIDS]  \nOperation: 'list-dids'  \nAccepts targets: [DidStoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all DIDs (Decentralized Identifiers) stored in the DID Store, including their corresponding DID documents.\n\n**Response includes:**\n- DID identifier (e.g., `did:key:...`, `did:web:...`)\n- Full DID document (JSON-LD format)\n- Associated metadata (if any)\n\n**Use Cases:**\n- Audit all DIDs in a store\n- Export DIDs for backup or migration\n- Retrieve DID documents for verification\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort selector. Supported values: 'createdDateTime', 'createdDateTime+', 'createdDateTime-', 'updatedDateTime', 'updatedDateTime+', 'updatedDateTime-'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "createdDateTime"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of all DIDs with their corresponding DID documents stored in the DID Store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/did-entry"
                  },
                  "title" : "ArrayList<>"
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/list-did-ids" : {
      "get" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "List all DID IDs",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_LIST_DIDS]  \nOperation: 'list-did-ids'  \nAccepts targets: [DidStoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all DID identifiers stored in the DID Store.\nThis endpoint returns only the DID strings (identifiers), not the full DID documents, making it more efficient for large stores.\n\n**Use Cases:**\n- Check if a specific DID exists in the store\n- Get a quick overview of stored DIDs\n- Iterate through DIDs without loading full documents\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "List of DID identifiers stored in the DID Store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "DID IDs" : {
                    "value" : [ "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK", "did:web:example.com:user:alice" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list DID IDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/view" : {
      "get" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "View a stored DID",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_GET_DID]  \nOperation: 'view-did'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nRetrieves a specific DID from the DID Store by its target path.\nReturns the full DID entry including the DID identifier, DID document, and metadata.\n\n**Response includes:**\n- DID identifier\n- Full DID document (JSON-LD format following W3C DID specification)\n- Associated metadata (if any)\n\n**Use Cases:**\n- Retrieve a specific DID document for verification\n- Access DID metadata\n- Verify DID existence and content\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The requested DID with its full document and metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/did-entry"
                }
              }
            }
          },
          "404" : {
            "description" : "DID not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this DID",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/add" : {
      "post" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "Add a new DID to the store",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_ADD_DID]  \nOperation: 'add-did'  \nAccepts parent targets: [DidStoreServiceReference]  \nRequires authentication.  \n\n---\nAdds a new DID to the DID Store. The DID will be persisted with its identifier and DID document.\n\n**Important:**\n- The DID path is determined by the target path in the request\n- If a DID already exists at the target path, the request will fail\n- Use the update endpoint to modify existing DIDs\n- The DID document must be valid JSON-LD following W3C DID specification\n\n**Request Format:**\n- `did`: The DID identifier (e.g., `did:key:...`, `did:web:...`)\n- `document`: The DID document as a JSON object\n\n**Use Cases:**\n- Store DIDs created externally\n- Import DIDs from other systems\n- Add DIDs to the store for later use\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The DID to store, including its identifier and document",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.DidToStore"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "DID added successfully to the store",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid DID format, invalid DID document, or DID already exists at target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/update" : {
      "put" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "Update a stored DID",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_UPDATE_DID]  \nOperation: 'update-did'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nUpdates an existing DID in the DID Store. This replaces the entire DID entry at the target path.\n\n**Important:**\n- The DID must already exist at the target path\n- This operation replaces the entire DID entry (identifier, document, and metadata)\n- Renaming is supported: if the DID identifier changes, the old entry is removed and a new one is created\n- When renaming, the parent DID Store must remain the same\n\n**Use Cases:**\n- Update a DID document with new keys or services\n- Rename a DID entry\n- Refresh DID information\n\n**Renaming Behavior:**\nIf the DID identifier in the update request differs from the current one, the system will:\n1. Remove the old DID entry\n2. Create a new entry with the updated identifier\nThe parent DID Store must remain the same for this operation to succeed.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The updated DID entry to replace the existing one",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/did-entry"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "DID updated successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "DID not found at the specified target path",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid DID format or invalid rename operation (parent changed)",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/delete" : {
      "delete" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "Delete a stored DID",
        "description" : "Permissions: ANY OF: [ES_DID_STORE_DELETE_DID]  \nOperation: 'delete-did'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nPermanently deletes a DID from the DID Store. This action cannot be undone.\n\n**Important:**\n- The DID will be immediately removed from the store\n- This operation is irreversible\n- Ensure you have backups if the DID data is important\n- Deleting a DID does not invalidate it on the blockchain or other networks\n\n**Use Cases:**\n- Remove obsolete or unused DIDs\n- Clean up test DIDs\n- Comply with data retention policies\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "DID deleted successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "DID not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/metadata/view" : {
      "get" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "View metadata",
        "description" : "Permissions: ANY OF: [VIEW_METADATA]  \nOperation: 'view-metadata'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nRetrieves the metadata associated with this resource. Metadata provides additional information, tags, descriptions, or custom attributes that can be used for organization, search, and filtering.\n\n**Use Cases:**\n- Retrieve custom attributes and tags\n- Access resource descriptions and annotations\n- Review metadata for organization and categorization\n- Export metadata for documentation or reporting\n\n**Important Notes:**\n- Metadata is optional and may not exist for all resources\n- Returns 404 if no metadata has been set\n- Metadata is stored as a JSON object allowing flexible structure\n- Metadata does not affect core resource functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The metadata stored for this resource",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                },
                "examples" : {
                  "Metadata with data" : {
                    "value" : {
                      "description" : "Example metadata",
                      "tags" : [ "tag1", "tag2" ]
                    }
                  },
                  "Empty metadata" : {
                    "value" : { }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "No metadata stored for this resource",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/metadata/set" : {
      "put" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "Set metadata",
        "description" : "Permissions: ANY OF: [SET_METADATA]  \nOperation: 'set-metadata'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nSets or replaces the complete metadata for this resource. This operation replaces any existing metadata with the provided metadata object.\n\n**Use Cases:**\n- Initialize metadata for a new resource\n- Replace existing metadata completely\n- Set custom attributes and tags\n- Add resource descriptions and annotations\n\n**Important Notes:**\n- This operation completely replaces existing metadata\n- To update specific fields, use the update endpoint with JSON Patch\n- Metadata is stored as a JSON object\n- Setting metadata to an empty object is valid\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Metadata to set for this resource",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
              },
              "examples" : {
                "Metadata with description and tags" : {
                  "value" : {
                    "description" : "Example metadata",
                    "tags" : [ "tag1", "tag2" ]
                  }
                },
                "Empty metadata" : {
                  "value" : { }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Metadata was set for this resource",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed JSON object",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to set metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/metadata/purge" : {
      "delete" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "Purge metadata",
        "description" : "Permissions: ANY OF: [PURGE_METADATA]  \nOperation: 'purge-metadata'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nPermanently removes all metadata associated with this resource. After this operation, the resource will have no metadata until new metadata is set.\n\n**Use Cases:**\n- Remove metadata that is no longer needed\n- Clean up test or temporary metadata\n- Reset metadata to a clean state\n- Remove sensitive information from metadata\n\n**Important Notes:**\n- This operation is irreversible\n- The resource itself is not affected, only its metadata\n- After purging, the view endpoint will return 404 until new metadata is set\n- Purging metadata does not affect resource functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The metadata stored for this resource was deleted",
            "headers" : { }
          },
          "404" : {
            "description" : "Resource not found or no metadata exists to purge",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to purge metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/metadata/update" : {
      "post" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "Update metadata (with JSON Patch)",
        "description" : "Permissions: ANY OF: [UPDATE_METADATA]  \nOperation: 'update-metadata'  \nAccepts targets: [DidStoreStoredDid]  \nRequires authentication.  \n\n---\nUpdates the metadata for this resource using JSON Patch format (RFC 6902). This allows partial updates to specific fields without replacing the entire metadata object.\n\n**Use Cases:**\n- Update specific metadata fields without replacing the entire object\n- Add new fields to existing metadata\n- Remove specific fields from metadata\n- Modify nested metadata structures\n\n**Important Notes:**\n- Uses RFC 6902 JSON Patch format for updates\n- If no metadata exists, an empty object is used as the base\n- Supports add, remove, replace, move, copy, and test operations\n- Partial updates preserve other metadata fields\n- Invalid patch operations will result in an error\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "JSON Patch document following RFC 6902 format - array of patch operations. Each operation must have 'op', 'path', and optionally 'value' fields.",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "title" : "JsonArray"
              },
              "examples" : {
                "Single replace operation" : {
                  "value" : [ {
                    "op" : "replace",
                    "path" : "/description",
                    "value" : "Updated description"
                  } ]
                },
                "Multiple operations (replace, add, remove)" : {
                  "value" : [ {
                    "op" : "replace",
                    "path" : "/description",
                    "value" : "Updated description"
                  }, {
                    "op" : "add",
                    "path" : "/tags/-",
                    "value" : "new-tag"
                  }, {
                    "op" : "remove",
                    "path" : "/oldField"
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Metadata updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed JSON Patch, invalid patch operation, or patch cannot be applied",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-store-service-api/dids/metadata/query" : {
      "post" : {
        "tags" : [ "Service | DID Store Service" ],
        "summary" : "List by metadata matching query",
        "description" : "Permissions: ANY OF: [QUERY_BY_METADATA]  \nOperation: 'query-by-metadata'  \nAccepts targets: [TraversableServiceReference]  \nRequires authentication.  \n\n---\nQueries and returns resources that match the specified metadata constraints. This allows you to find resources based on their metadata attributes using field-based filtering.\n\n**Use Cases:**\n- Find resources by tags or custom attributes\n- Filter resources based on metadata values\n- Search for resources with specific metadata fields\n- Implement metadata-based resource discovery\n\n**Important Notes:**\n- Query uses field constraints to match metadata\n- Returns a map of matching resource targets to their metadata\n- Resources without metadata are not included in results\n- Query constraints follow the Presentation Definition Input Descriptor format\n- Empty query returns all resources with metadata\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "List of field constraints to match against metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.definitionparser.PresentationDefinition.InputDescriptor.Constraints.Field"
                },
                "title" : "ArrayList<PresentationDefinition.InputDescriptor.Constraints.Field>"
              },
              "examples" : {
                "Query by tags field" : {
                  "value" : [ {
                    "path" : [ "tags" ]
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Map of matching resource targets to their metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                  },
                  "title" : "LinkedHashMap<Target,JsonObject>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed query constraints",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to query metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/dependencies/list" : {
      "get" : {
        "tags" : [ "DID Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/dependencies/add" : {
      "post" : {
        "tags" : [ "DID Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/dependencies/remove" : {
      "post" : {
        "tags" : [ "DID Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/create/key" : {
      "post" : {
        "tags" : [ "DID Service" ],
        "summary" : "Create a did:key",
        "description" : "Permissions: ANY OF: [ES_DID_SERVICE_CREATE_DID_KEY]  \nOperation: 'create-did-key'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nCreate a decentralized identifier (DID) according to the did:key method specification.\n\nThe did:key method is a simple, self-contained DID method that encodes a public key directly in the DID identifier.\n\nWe also support the creation of EBSI compliant DID:key via the `useJwkJcsPub` flag.\n\nThe DID contains all necessary information, has no external dependencies, and provides immediate DID generation.\n\n\n\nThe created DID will also be stored in all linked DID Stores (`DidStoreServiceReference`). \n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.models.CreateDidKeyRequest"
              },
              "examples" : {
                "Create request with default values" : {
                  "value" : {
                    "keyId" : "waltid.tenant1.kms1.key1",
                    "didId" : "did"
                  }
                },
                "Create request without Jwk Jcs Public Key encoding" : {
                  "value" : {
                    "keyId" : "waltid.tenant1.kms1.key1",
                    "useJwkJcsPub" : false,
                    "didId" : "did"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "DID created successfully. Returns the DID identifier and its document.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                },
                "examples" : {
                  "Result based on Secp256r1 key and with Jwk Jcs Public Key encoding" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ",
                        "verificationMethod" : [ {
                          "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "YRCxjscyFRmd0fW3VDlFxndI6600D5wNC4v66l_WIEk",
                            "x" : "LaUzyhPtvuUVDU11dv1JAKS4jOcs2dKh41N3g5x8r6Q",
                            "y" : "QXgfwvK8qCH0rawqb8hpz9u9GplawcX4GnVmyCOzPhk"
                          }
                        } ],
                        "assertionMethod" : [ "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ" ],
                        "authentication" : [ "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ" ],
                        "capabilityInvocation" : [ "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ" ],
                        "capabilityDelegation" : [ "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ" ],
                        "keyAgreement" : [ "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ#z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbpaY9KKxATriPQDjx7KmJDNbFDCSv1Vx9krY91dqqBB1Yfymif25KK5Lf5G62mXjQuAv714NJ6gKuHxgJ4jgGeCAECZNDjky3HL58sW7r93boKeEdwAAdBNuWoyDyLCTMPJ" ]
                      }
                    }
                  },
                  "Result based on Secp256r1 key and without Jwk Jcs Public Key encoding" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr",
                        "verificationMethod" : [ {
                          "id" : "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr#zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "0rFu6z2J-aGhb0tzxorb6jVjnvjJPEn2Ef0_akW7_OY",
                            "x" : "TlXwxHy_WjzRG0ae5o2HNYo8hL9JR3fcexNJeBao7is",
                            "y" : "0owZIPuH_daBLsQARfb6lXZXS7e6rS-aMAoINllwqD8"
                          }
                        } ],
                        "assertionMethod" : [ "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr#zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr" ],
                        "authentication" : [ "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr#zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr" ],
                        "capabilityInvocation" : [ "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr#zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr" ],
                        "capabilityDelegation" : [ "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr#zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr" ],
                        "keyAgreement" : [ "did:key:zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr#zDnaenw5Duvko46us1sd6UCenQeEMn77tesdAUqMRhrBK8QYr" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - key not found or invalid key identifier",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/create/jwk" : {
      "post" : {
        "tags" : [ "DID Service" ],
        "summary" : "Create a did:jwk",
        "description" : "Permissions: ANY OF: [ES_DID_SERVICE_CREATE_DID_JWK]  \nOperation: 'create-did-jwk'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nCreate a decentralized identifier (DID) according to the did:jwk method specification.\n\nThe did:jwk method is a simple DID method that encodes a JSON Web Key (JWK) directly in the DID identifier.\n\nIt's designed for scenarios where you want to use standard JWK format for key representation.\n\nThe DID uses standard JSON Web Key format, is self-contained, has no external dependencies, and follows W3C DID and JWK specifications.\n\n\n\nThe created DID will also be stored in all linked DID Stores (`DidStoreServiceReference`). \n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.models.CreateDidJwkRequest"
              },
              "examples" : {
                "Create sample request" : {
                  "value" : {
                    "keyId" : "waltid.tenant1.kms1.key1",
                    "didId" : "did"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "DID created successfully. Returns the DID identifier and its document.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                },
                "examples" : {
                  "Result based on Secp256r1 key" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ",
                        "verificationMethod" : [ {
                          "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ#0",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "zTAuLimJoUKN8p-U4boKSC3PQrp98g1shJvjkemE4uU",
                            "x" : "BTBcv4JHzwWUV2WBpafChRLNAGUfIfX56odiGzoJqwM",
                            "y" : "smf7Jy7yKUIYKL3ihhYn3nC40hKQTayhX-RRmWKkP6c"
                          }
                        } ],
                        "assertionMethod" : [ "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ#0" ],
                        "authentication" : [ "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ#0" ],
                        "capabilityInvocation" : [ "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ#0" ],
                        "capabilityDelegation" : [ "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ#0" ],
                        "keyAgreement" : [ "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoielRBdUxpbUpvVUtOOHAtVTRib0tTQzNQUXJwOThnMXNoSnZqa2VtRTR1VSIsIngiOiJCVEJjdjRKSHp3V1VWMldCcGFmQ2hSTE5BR1VmSWZYNTZvZGlHem9KcXdNIiwieSI6InNtZjdKeTd5S1VJWUtMM2loaFluM25DNDBoS1FUYXloWC1SUm1XS2tQNmMifQ#0" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - key not found or invalid key identifier",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/create/web" : {
      "post" : {
        "tags" : [ "DID Service" ],
        "summary" : "Create a did:web",
        "description" : "Permissions: ANY OF: [ES_DID_SERVICE_CREATE_DID_WEB]  \nOperation: 'create-did-web'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nCreate a decentralized identifier (DID) according to the did:web method specification.\n\nThe did:web method allows DIDs to be resolved via HTTPS from a well-known location on a web domain.\n\nThe DID document is hosted at a standard path on the domain, making it discoverable and resolvable.\n\nImportant: This endpoint creates the DID and its document, but does not provide registry functionality.\n\nThe DID will not be automatically resolvable until you host the DID document at the appropriate location on your web server following the did:web specification.\n\nKey features include web-based resolution via HTTPS from your domain, flexible configuration supporting custom paths and domains, service endpoint configurations (DIDComm, credential registries, etc.), and support for custom JSON-LD properties.\n\n\n\nThe created DID will also be stored in all linked DID Stores (`DidStoreServiceReference`). \n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.models.CreateDidWebBaseRequest"
              },
              "examples" : {
                "Create with single key (e.g., secp256r1) for all verification relationships and default values" : {
                  "value" : {
                    "type" : "single_key_id",
                    "keyId" : "waltid.tenant1.kms1.secp256r1key",
                    "domain" : "walt.id"
                  }
                },
                "Create with single key (e.g., RSA) for all verification relationships and web path" : {
                  "value" : {
                    "type" : "single_key_id",
                    "keyId" : "waltid.tenant1.kms1.rsakey",
                    "domain" : "walt.id",
                    "path" : "user/alice"
                  }
                },
                "Create with single key (e.g., secp256k1) for all verification relationships, web path and service configurations" : {
                  "value" : {
                    "type" : "single_key_id",
                    "keyId" : "waltid.tenant1.kms1.secp256k1",
                    "domain" : "walt.id",
                    "path" : "user/alice",
                    "serviceConfigurationSet" : [ {
                      "type" : "DIDCommMessaging",
                      "serviceEndpoint" : [ {
                        "uri" : "http://example.com/path",
                        "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                        "routingKeys" : [ "did:example:somemediator#somekey" ]
                      } ]
                    }, {
                      "type" : "CredentialRegistry",
                      "serviceEndpoint" : [ "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id" ]
                    } ]
                  }
                },
                "Create with single key (e.g., secp256k1) for all verification relationships, web path, service configurations and custom properties" : {
                  "value" : {
                    "type" : "single_key_id",
                    "keyId" : "waltid.tenant1.kms1.rsakey",
                    "domain" : "walt.id",
                    "path" : "user/alice",
                    "serviceConfigurationSet" : [ {
                      "type" : "DIDCommMessaging",
                      "serviceEndpoint" : [ {
                        "uri" : "http://example.com/path",
                        "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                        "routingKeys" : [ "did:example:somemediator#somekey" ]
                      } ]
                    }, {
                      "type" : "CredentialRegistry",
                      "serviceEndpoint" : [ "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id" ]
                    } ],
                    "rootCustomProperties" : {
                      "some-key1" : "some-string-value1",
                      "some-key2" : {
                        "some-nested-key1" : "some-nested-value1"
                      },
                      "some-key3" : [ "some-array-value1" ]
                    }
                  }
                },
                "Create with two keys (e.g., secp256r1 and RSA) for all verification relationships and default values" : {
                  "value" : {
                    "type" : "key_id_set",
                    "keyIdSet" : [ "waltid.tenant1.kms1.secp256r1key", "waltid.tenant1.kms1.rsakey" ],
                    "domain" : "walt.id",
                    "didId" : "did"
                  }
                },
                "Create with two keys (e.g., secp256r1 and RSA) for all verification relationships and web path" : {
                  "value" : {
                    "type" : "key_id_set",
                    "keyIdSet" : [ "waltid.tenant1.kms1.secp256r1key", "waltid.tenant1.kms1.rsakey" ],
                    "domain" : "walt.id",
                    "path" : "user/alice"
                  }
                },
                "Create with two keys (e.g., secp256r1 and RSA) for all verification relationships, web path and service configurations" : {
                  "value" : {
                    "type" : "key_id_set",
                    "keyIdSet" : [ "waltid.tenant1.kms1.secp256r1key", "waltid.tenant1.kms1.rsakey" ],
                    "domain" : "walt.id",
                    "path" : "user/alice",
                    "serviceConfigurationSet" : [ {
                      "type" : "DIDCommMessaging",
                      "serviceEndpoint" : [ {
                        "uri" : "http://example.com/path",
                        "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                        "routingKeys" : [ "did:example:somemediator#somekey" ]
                      } ]
                    }, {
                      "type" : "CredentialRegistry",
                      "serviceEndpoint" : [ "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id" ]
                    } ]
                  }
                },
                "Create with two keys (e.g., secp256r1 and RSA) for all verification relationships, web path, service configurations and custom properties" : {
                  "value" : {
                    "type" : "key_id_set",
                    "keyIdSet" : [ "waltid.tenant1.kms1.secp256r1key", "waltid.tenant1.kms1.rsakey" ],
                    "domain" : "walt.id",
                    "path" : "user/alice",
                    "serviceConfigurationSet" : [ {
                      "type" : "DIDCommMessaging",
                      "serviceEndpoint" : [ {
                        "uri" : "http://example.com/path",
                        "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                        "routingKeys" : [ "did:example:somemediator#somekey" ]
                      } ]
                    }, {
                      "type" : "CredentialRegistry",
                      "serviceEndpoint" : [ "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id" ]
                    } ],
                    "rootCustomProperties" : {
                      "some-key1" : "some-string-value1",
                      "some-key2" : {
                        "some-nested-key1" : "some-nested-value1"
                      },
                      "some-key3" : [ "some-array-value1" ]
                    }
                  }
                },
                "Create with two unique keys for each verification relationship and default values" : {
                  "value" : {
                    "type" : "verification_key_id_set_config",
                    "verificationKeyIdSetConfiguration" : {
                      "authentication" : [ "waltid.tenant1.kms1.ed25519-authentication-key", "waltid.tenant1.kms1.rsa-authentication-key" ],
                      "assertionMethod" : [ "waltid.tenant1.kms1.secp256r1-assertion-key", "waltid.tenant1.kms1.secp256k1-assertion-key" ],
                      "capabilityInvocation" : [ "waltid.tenant1.kms1.ed25519-capability-invocation-key", "waltid.tenant1.kms1.secp256r1-capability-invocation-key" ],
                      "capabilityDelegation" : [ "waltid.tenant1.kms1.ed25519-capability-delegation-key", "waltid.tenant1.kms1.secp256k1-capability-delegation-key" ],
                      "keyAgreement" : [ "waltid.tenant1.kms1.secp256r1-key-agreement-key", "waltid.tenant1.kms1.secp256k1-key-agreement-key" ]
                    },
                    "domain" : "walt.id"
                  }
                },
                "Create with two unique keys for each verification relationship and web path" : {
                  "value" : {
                    "type" : "verification_key_id_set_config",
                    "verificationKeyIdSetConfiguration" : {
                      "authentication" : [ "waltid.tenant1.kms1.ed25519-authentication-key", "waltid.tenant1.kms1.rsa-authentication-key" ],
                      "assertionMethod" : [ "waltid.tenant1.kms1.secp256r1-assertion-key", "waltid.tenant1.kms1.secp256k1-assertion-key" ],
                      "capabilityInvocation" : [ "waltid.tenant1.kms1.ed25519-capability-invocation-key", "waltid.tenant1.kms1.secp256r1-capability-invocation-key" ],
                      "capabilityDelegation" : [ "waltid.tenant1.kms1.ed25519-capability-delegation-key", "waltid.tenant1.kms1.secp256k1-capability-delegation-key" ],
                      "keyAgreement" : [ "waltid.tenant1.kms1.secp256r1-key-agreement-key", "waltid.tenant1.kms1.secp256k1-key-agreement-key" ]
                    },
                    "domain" : "walt.id",
                    "path" : "user/alice"
                  }
                },
                "Create with two unique keys for each verification relationship, web path and service configurations" : {
                  "value" : {
                    "type" : "verification_key_id_set_config",
                    "verificationKeyIdSetConfiguration" : {
                      "authentication" : [ "waltid.tenant1.kms1.ed25519-authentication-key", "waltid.tenant1.kms1.rsa-authentication-key" ],
                      "assertionMethod" : [ "waltid.tenant1.kms1.secp256r1-assertion-key", "waltid.tenant1.kms1.secp256k1-assertion-key" ],
                      "capabilityInvocation" : [ "waltid.tenant1.kms1.ed25519-capability-invocation-key", "waltid.tenant1.kms1.secp256r1-capability-invocation-key" ],
                      "capabilityDelegation" : [ "waltid.tenant1.kms1.ed25519-capability-delegation-key", "waltid.tenant1.kms1.secp256k1-capability-delegation-key" ],
                      "keyAgreement" : [ "waltid.tenant1.kms1.secp256r1-key-agreement-key", "waltid.tenant1.kms1.secp256k1-key-agreement-key" ]
                    },
                    "domain" : "walt.id",
                    "path" : "user/alice",
                    "serviceConfigurationSet" : [ {
                      "type" : "DIDCommMessaging",
                      "serviceEndpoint" : [ {
                        "uri" : "http://example.com/path",
                        "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                        "routingKeys" : [ "did:example:somemediator#somekey" ]
                      } ]
                    }, {
                      "type" : "CredentialRegistry",
                      "serviceEndpoint" : [ "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id" ]
                    } ]
                  }
                },
                "Create with two unique keys for each verification relationship, web path, service configurations and custom properties" : {
                  "value" : {
                    "type" : "verification_key_id_set_config",
                    "verificationKeyIdSetConfiguration" : {
                      "authentication" : [ "waltid.tenant1.kms1.ed25519-authentication-key", "waltid.tenant1.kms1.rsa-authentication-key" ],
                      "assertionMethod" : [ "waltid.tenant1.kms1.secp256r1-assertion-key", "waltid.tenant1.kms1.secp256k1-assertion-key" ],
                      "capabilityInvocation" : [ "waltid.tenant1.kms1.ed25519-capability-invocation-key", "waltid.tenant1.kms1.secp256r1-capability-invocation-key" ],
                      "capabilityDelegation" : [ "waltid.tenant1.kms1.ed25519-capability-delegation-key", "waltid.tenant1.kms1.secp256k1-capability-delegation-key" ],
                      "keyAgreement" : [ "waltid.tenant1.kms1.secp256r1-key-agreement-key", "waltid.tenant1.kms1.secp256k1-key-agreement-key" ]
                    },
                    "domain" : "walt.id",
                    "path" : "user/alice",
                    "serviceConfigurationSet" : [ {
                      "type" : "DIDCommMessaging",
                      "serviceEndpoint" : [ {
                        "uri" : "http://example.com/path",
                        "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                        "routingKeys" : [ "did:example:somemediator#somekey" ]
                      } ]
                    }, {
                      "type" : "CredentialRegistry",
                      "serviceEndpoint" : [ "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id" ]
                    } ],
                    "rootCustomProperties" : {
                      "some-key1" : "some-string-value1",
                      "some-key2" : {
                        "some-nested-key1" : "some-nested-value1"
                      },
                      "some-key3" : [ "some-array-value1" ]
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "DID created successfully. Returns the DID identifier and its document.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                },
                "examples" : {
                  "Result with single key (e.g., secp256r1) for all verification relationships and default values" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id#rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY",
                            "x" : "rVrFm_2iqIDq8Ob6iOIjXxfrYsj1D7p0EGhqa1IAYxM",
                            "y" : "7uintwxH5jQ-bRASDe_vE57iaQdVqOIYgNj852Tjv78"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id#rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY" ],
                        "authentication" : [ "did:web:walt.id#rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY" ],
                        "capabilityInvocation" : [ "did:web:walt.id#rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY" ],
                        "capabilityDelegation" : [ "did:web:walt.id#rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY" ],
                        "keyAgreement" : [ "did:web:walt.id#rehbnyTEW3DcmUO484fAqzQNr3gZ0M-s9fcwcKCfkzY" ]
                      }
                    }
                  },
                  "Result with single key (e.g., RSA) for all verification relationships and web path" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA",
                            "n" : "iFWQMyRgoW3jeRyLBiVyvNHVghQzKhUyXzAXdKFmW58uR8T2f-lsQYWwub8beB38J2I5viljj-ALpFQqHmh2WvXfcr5-OPRB6IRPktsxHyzS1aB5cLXltyB6hnXZo1kV54y09rOqS_erkOV69wKl0Hg5oZALBABzMcD1id_oJ5eB8GThG4cO9n5fHa8HFKiuwG2gObXQdiwb6tM4on81_pTQCLi2bo1U3prlzwVfbTpaObo6Pq4hGQFjYm9f2ZWpVEfNBqnUS71NV2sM1XaukpRaFuKgP8OqKh66yhor1huroalgDmD0z2Jb6zWU0eGpyr2M5i5VNzjphsPfTRVubw"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA" ],
                        "authentication" : [ "did:web:walt.id:user:alice#3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#3C7FQWaqxXm8TC_2MqKStyakbKFh9uuS_cMfJ6-psFA" ]
                      }
                    }
                  },
                  "Result with single key (e.g., secp256k1) for all verification relationships, web path and service configurations" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "secp256k1",
                            "kid" : "cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                            "x" : "lwGTFdA4m3qeEXUu-H1OgowMJHEdCby7wT5Fb56GMOQ",
                            "y" : "NDsPQvf8WBDJKXYrYKjsdooraVPyJtr_0jZMKuTyhhg"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "authentication" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "service" : [ {
                          "id" : "did:web:walt.id:user:alice#aaa51666-a3b1-4765-818c-2b088769d17d",
                          "type" : "DIDCommMessaging",
                          "serviceEndpoint" : {
                            "uri" : "http://example.com/path",
                            "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                            "routingKeys" : [ "did:example:somemediator#somekey" ]
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#5c8ced25-7c6b-4ca7-ba65-675d764adc61",
                          "type" : "CredentialRegistry",
                          "serviceEndpoint" : "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id"
                        } ]
                      }
                    }
                  },
                  "Result with single key (e.g., secp256k1) for all verification relationships, web path, service configurations and custom properties" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "secp256k1",
                            "kid" : "cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                            "x" : "lwGTFdA4m3qeEXUu-H1OgowMJHEdCby7wT5Fb56GMOQ",
                            "y" : "NDsPQvf8WBDJKXYrYKjsdooraVPyJtr_0jZMKuTyhhg"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "authentication" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "service" : [ {
                          "id" : "did:web:walt.id:user:alice#5f1a6ccf-4c49-4c94-92f9-2ca0bfee68b6",
                          "type" : "DIDCommMessaging",
                          "serviceEndpoint" : {
                            "uri" : "http://example.com/path",
                            "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                            "routingKeys" : [ "did:example:somemediator#somekey" ]
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#a907a9de-658c-4d3f-b33c-a41648254674",
                          "type" : "CredentialRegistry",
                          "serviceEndpoint" : "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id"
                        } ],
                        "some-key1" : "some-string-value1",
                        "some-key2" : {
                          "some-nested-key1" : "some-nested-value1"
                        },
                        "some-key3" : [ "some-array-value1" ]
                      }
                    }
                  },
                  "Result with two keys (e.g., secp256r1 and RSA) for all verification relationships and default values" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "authentication" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityDelegation" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityInvocation" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "keyAgreement" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ]
                      }
                    }
                  },
                  "Result with two keys (e.g., secp256r1 and RSA) for all verification relationships and web path" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "authentication" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ]
                      }
                    }
                  },
                  "Result with two keys (e.g., secp256r1 and RSA) for all verification relationships, web path and service configurations" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "authentication" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "service" : [ {
                          "id" : "did:web:walt.id:user:alice#ef2d72ab-a12c-43c3-aec2-2c41e7893382",
                          "type" : "DIDCommMessaging",
                          "serviceEndpoint" : {
                            "uri" : "http://example.com/path",
                            "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                            "routingKeys" : [ "did:example:somemediator#somekey" ]
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#83c897b3-e7b8-44f4-81e6-00314a9e634a",
                          "type" : "CredentialRegistry",
                          "serviceEndpoint" : "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id"
                        } ]
                      }
                    }
                  },
                  "Result with two keys (e.g., secp256r1 and RSA) for all verification relationships, web path, service configurations and custom properties" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        } ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "authentication" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "service" : [ {
                          "id" : "did:web:walt.id:user:alice#d3ee4bf5-3991-4947-ae8f-93976588ce92",
                          "type" : "DIDCommMessaging",
                          "serviceEndpoint" : {
                            "uri" : "http://example.com/path",
                            "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                            "routingKeys" : [ "did:example:somemediator#somekey" ]
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#a0321b69-afe4-4477-b0da-bc2a8bf5a0c4",
                          "type" : "CredentialRegistry",
                          "serviceEndpoint" : "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id"
                        } ],
                        "some-key1" : "some-string-value1",
                        "some-key2" : {
                          "some-nested-key1" : "some-nested-value1"
                        },
                        "some-key3" : [ "some-array-value1" ]
                      }
                    }
                  },
                  "Result with two unique keys for each verification relationship and default values" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "OKP",
                            "crv" : "Ed25519",
                            "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                            "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                          }
                        }, {
                          "id" : "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        }, {
                          "id" : "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "secp256k1",
                            "kid" : "cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                            "x" : "lwGTFdA4m3qeEXUu-H1OgowMJHEdCby7wT5Fb56GMOQ",
                            "y" : "NDsPQvf8WBDJKXYrYKjsdooraVPyJtr_0jZMKuTyhhg"
                          }
                        } ],
                        "authentication" : [ "did:web:walt.id#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "assertionMethod" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityInvocation" : [ "did:web:walt.id#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ" ],
                        "capabilityDelegation" : [ "did:web:walt.id#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "keyAgreement" : [ "did:web:walt.id#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ]
                      }
                    }
                  },
                  "Result with two unique keys for each verification relationship and web path" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "OKP",
                            "crv" : "Ed25519",
                            "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                            "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "secp256k1",
                            "kid" : "cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                            "x" : "lwGTFdA4m3qeEXUu-H1OgowMJHEdCby7wT5Fb56GMOQ",
                            "y" : "NDsPQvf8WBDJKXYrYKjsdooraVPyJtr_0jZMKuTyhhg"
                          }
                        } ],
                        "authentication" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ]
                      }
                    }
                  },
                  "Result with two unique keys for each verification relationship, web path and service configurations" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "OKP",
                            "crv" : "Ed25519",
                            "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                            "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "secp256k1",
                            "kid" : "cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                            "x" : "lwGTFdA4m3qeEXUu-H1OgowMJHEdCby7wT5Fb56GMOQ",
                            "y" : "NDsPQvf8WBDJKXYrYKjsdooraVPyJtr_0jZMKuTyhhg"
                          }
                        } ],
                        "authentication" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "service" : [ {
                          "id" : "did:web:walt.id:user:alice#a455e4a2-7fbd-4499-8bd3-0fac798aaffd",
                          "type" : "DIDCommMessaging",
                          "serviceEndpoint" : {
                            "uri" : "http://example.com/path",
                            "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                            "routingKeys" : [ "did:example:somemediator#somekey" ]
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#e68c3ad9-0bae-4411-b67d-45d83150f18b",
                          "type" : "CredentialRegistry",
                          "serviceEndpoint" : "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id"
                        } ]
                      }
                    }
                  },
                  "Result with two unique keys for each verification relationship, web path, service configurations and custom properties" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:web:walt.id:user:alice",
                      "document" : {
                        "context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:web:walt.id:user:alice",
                        "verificationMethod" : [ {
                          "id" : "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "OKP",
                            "crv" : "Ed25519",
                            "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                            "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "RSA",
                            "e" : "AQAB",
                            "kid" : "ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4",
                            "n" : "uCSgFKMp7hSBEavMe8nkHW_IUUvOw3mDlRjh0pwFgHeHVJd72K5XHL3CDWfgSxPs2vKKxAvN6SseBujEA7ExprVkcyRiD-fdJK4ougB7oChbkiyOYZ24tFDunQwDHxY8UOW1pewyLiVS6uzdt1UyJyQuIC8bxq_46ITL9hB3rWiuh6EVO28JHElUrYvdlFMTkl1OL8JgWAhrWaCnedddSvKAJ2o9wph_1VfjemHiL8O3fc2IVFR3r2rAWDkrMomUZDt-as56em9O76rTXtOoKiqjDKgGcYa14rcVFrYB4IP5-2N9MZOVx9rb7vrD3_0W8nY7UuHkx0InsUPNclcVOw"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "P-256",
                            "kid" : "9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ",
                            "x" : "yzfoYvMBd8wgdaDgTh40hGrPSTHh0IooU13RM27gQDg",
                            "y" : "j8cuG9HmrSFnTUKzHPjbPYhMuAWzGz6tuVivczZf95c"
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:web:walt.id:user:alice",
                          "publicKeyJwk" : {
                            "kty" : "EC",
                            "crv" : "secp256k1",
                            "kid" : "cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ",
                            "x" : "lwGTFdA4m3qeEXUu-H1OgowMJHEdCby7wT5Fb56GMOQ",
                            "y" : "NDsPQvf8WBDJKXYrYKjsdooraVPyJtr_0jZMKuTyhhg"
                          }
                        } ],
                        "authentication" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#ja1HNg4t6ge8KDROIVk2PH2iVRMtidAXJuHGOXzZdg4" ],
                        "assertionMethod" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "capabilityInvocation" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ" ],
                        "capabilityDelegation" : [ "did:web:walt.id:user:alice#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "keyAgreement" : [ "did:web:walt.id:user:alice#9pfGPMRgKwqrGP_ClGdZq-ytzHxXdREyQ2kES6hZxQQ", "did:web:walt.id:user:alice#cfZ5uMdxsAlGTehHLV-NG1D6LyVxpMtb-Q4g8CKs8KQ" ],
                        "service" : [ {
                          "id" : "did:web:walt.id:user:alice#248267b2-51b2-4445-b20b-69bfc24e5187",
                          "type" : "DIDCommMessaging",
                          "serviceEndpoint" : {
                            "uri" : "http://example.com/path",
                            "accept" : [ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
                            "routingKeys" : [ "did:example:somemediator#somekey" ]
                          }
                        }, {
                          "id" : "did:web:walt.id:user:alice#ebb295a5-3971-4759-916f-c3dee592ba32",
                          "type" : "CredentialRegistry",
                          "serviceEndpoint" : "https://ssi.eecc.de/api/registry/vcs/some-credential-subject-id"
                        } ],
                        "some-key1" : "some-string-value1",
                        "some-key2" : {
                          "some-nested-key1" : "some-nested-value1"
                        },
                        "some-key3" : [ "some-array-value1" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - key not found, invalid configuration, or malformed request",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/did-service-api/dids/resolve/{did}" : {
      "get" : {
        "tags" : [ "DID Service" ],
        "summary" : "Resolve a DID",
        "description" : "Permissions: ANY OF: [ES_DID_SERVICE_RESOLVE_DID]  \nOperation: 'resolve-did'  \nAccepts targets: [DidServiceReference]  \nRequires authentication.  \n\n---\nResolve a decentralized identifier (DID) and retrieve its associated DID document.\n\nThis endpoint resolves a DID according to the W3C DID Core specification.\n\nIt retrieves the DID document associated with the given DID identifier, which contains public keys, service endpoints, and other metadata needed to interact with the DID.\n\nTakes a DID identifier as input (e.g., did:key, did:web, did:jwk), resolves the DID using the appropriate method-specific resolver, and returns the complete DID document in JSON-LD format.\n\nUse cases include retrieving public keys for verification or encryption, accessing service endpoints associated with a DID, verifying DID ownership, and enabling DID-based authentication flows.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/did-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "did",
          "in" : "path",
          "description" : "The did to be resolved",
          "required" : true,
          "deprecated" : false,
          "allowEmptyValue" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg"
        } ],
        "responses" : {
          "200" : {
            "description" : "DID resolved successfully. Returns the DID identifier and its complete document.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult"
                },
                "examples" : {
                  "Resolved did:key" : {
                    "value" : {
                      "id" : "org.tenant.did-store.did",
                      "did" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                      "document" : {
                        "@context" : [ "https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1" ],
                        "id" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                        "verificationMethod" : [ {
                          "id" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                          "type" : "JsonWebKey2020",
                          "controller" : "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg",
                          "publicKeyJwk" : {
                            "kty" : "OKP",
                            "crv" : "Ed25519",
                            "x" : "sTgvlFxftGMKOpengFu-N9AwgiSKwzdzmH75rxJh1ZE"
                          }
                        } ],
                        "assertionMethod" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "authentication" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "capabilityInvocation" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "capabilityDelegation" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ],
                        "keyAgreement" : [ "did:key:z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg#z6MkrP3u6dEz2gpWq89J7DMWtPCYW8dGrpPBzkfkDt9FXrQg" ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid DID format or malformed DID identifier",
            "headers" : { }
          },
          "404" : {
            "description" : "DID not found or could not be resolved",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to resolve DIDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Issuer Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/issuer"
              },
              "examples" : {
                "Issuer Service configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "supportedCredentialTypes" : {
                      "NaturalPersonVerifiableID_jwt_vc" : {
                        "format" : "jwt_vc"
                      }
                    },
                    "tokenKeyId" : "key1",
                    "kms" : "kms1",
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/configuration/openid-metadata/display/view" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "View display metadata configuration for this Issuer Service instance",
        "description" : "Permissions: ANY OF: [ES_ISSUER_GET_DISPLAY_CONFIGURATION]  \nOperation: 'issuer-configuration-display-view'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the display metadata configuration (name, logo, locale) associated with this issuer service instance. This metadata is displayed to wallet users during credential issuance flows.\n\n**Use Cases:**\n- View current display metadata configuration\n- Check if metadata is configured for the issuer service\n- Retrieve localized display information\n\n**Important Notes:**\n- Returns empty list if no metadata is configured\n- Supports multiple locale-specific configurations\n- Metadata is used by wallets to display issuer information to users\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Display metadata configuration retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
                  },
                  "title" : "ArrayList<IssuerDisplayConfiguration>"
                },
                "examples" : {
                  "Example response with configured display information" : {
                    "value" : [ {
                      "name" : "walt.id Enterprise Issuer Service",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "http://cdn.walt.id/issuer/logo.png",
                        "alt_text" : "walt.id Enterprise Issuer logo"
                      }
                    } ]
                  },
                  "Example response with no metadata configuration" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view display metadata configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/configuration/openid-metadata/display/update" : {
      "put" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Update display metadata configuration for this Issuer Service instance",
        "description" : "Permissions: ANY OF: [ES_ISSUER_UPDATE_DISPLAY_CONFIGURATION]  \nOperation: 'issuer-configuration-display-update'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nUpdates the display metadata configuration (name, logo, locale) for this issuer service instance. The updated configuration is displayed to wallet users during credential issuance flows.\n\n**Use Cases:**\n- Configure issuer display name for wallet users\n- Set issuer logo URI for branding\n- Configure locale-specific display information\n- Update existing metadata configuration\n\n**Important Notes:**\n- Response body echoes the updated configuration\n- Supports multiple locale-specific configurations\n- Both name and logo are optional\n- Validation ensures at least one configuration entry exists\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
                },
                "title" : "ArrayList<IssuerDisplayConfiguration>"
              },
              "examples" : {
                "Single-entry example with human-readable name" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service"
                  } ]
                },
                "Single-entry example with human-readable name and logo URI" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  } ]
                },
                "Single-entry example with human-readable name, logo URI and alternative text" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png",
                      "alt_text" : "walt.id Enterprise Issuer logo"
                    }
                  } ]
                },
                "Single-entry example with human-readable name, logo URI and en-US specific localization" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "locale" : "en-US",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  } ]
                },
                "Multi-entry example for different localizations" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "locale" : "en-US",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  }, {
                    "name" : "walt.id Enterprise Issuer Service",
                    "locale" : "en-GB",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Display metadata configuration updated successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
                  },
                  "title" : "ArrayList<IssuerDisplayConfiguration>"
                },
                "examples" : {
                  "Example response body" : {
                    "value" : [ {
                      "name" : "walt.id Enterprise Issuer Service",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "http://cdn.walt.id/issuer/logo.png",
                        "alt_text" : "walt.id Enterprise Issuer logo"
                      }
                    } ]
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - validation failed for display metadata configuration",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update display metadata configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/configuration/openid-metadata/display/delete" : {
      "delete" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Delete display metadata configuration for this Issuer Service instance",
        "description" : "Permissions: ANY OF: [ES_ISSUER_DELETE_DISPLAY_CONFIGURATION]  \nOperation: 'issuer-configuration-display-delete'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nDeletes the display metadata configuration associated with this issuer service instance.\n\n**Use Cases:**\n- Remove display metadata configuration\n- Reset issuer service to default metadata state\n\n**Important Notes:**\n- Only deletes if metadata configuration exists\n- Returns 404 if no metadata is configured\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Display metadata configuration successfully deleted",
            "headers" : { }
          },
          "404" : {
            "description" : "No display metadata configuration was found to be deleted",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete display metadata configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/credentials/issue" : {
      "post" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Issue a credential",
        "description" : "Permissions: ANY OF: [ES_ISSUER_ISSUE_CREDENTIAL]  \nOperation: 'issuer-credential-issue'  \nAccepts targets: [IssuerServiceReference]  \nRequires authentication.  \n\n---\nCreates a new credential issuance session and returns a credential offer URL. The URL can be rendered as a QR code for wallets to scan or called directly. Supports multiple credential formats including W3C VC, SD-JWT VC, and ISO mDoc.\n\n**Use Cases:**\n- Issue verifiable credentials to wallet holders\n- Support multiple credential formats (JWT VC, SD-JWT VC, ISO mDoc)\n- Configure credential status and revocation\n- Apply selective disclosure for SD-JWT credentials\n- Support different authentication methods (pre-authorized, ID token, VP token)\n\n**Important Notes:**\n- Returns a credential offer URL for wallet interaction\n- Supports status callbacks for real-time session updates\n- Credential configuration ID must match a configured credential type\n- Target can be an issuer service or specific issuer configuration\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "statusCallbackUri",
          "in" : "header",
          "description" : "Callback to push state changes of the issuance process to",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "https://example.com/status_callback/$id"
        }, {
          "name" : "statusCallbackApiKey",
          "in" : "header",
          "description" : "Optional Bearer value that will be added to the Authorization HTTP header on status callback requests",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "649b925d-ac5b-4054-ab27-3ee630f069a5"
        }, {
          "name" : "X-Request-ID",
          "in" : "header",
          "description" : "Call-ID for request tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "83ccc6e1-d7ef-4c7e-a099-d6091d0ffd85"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer.models.IssuanceRequest"
              },
              "examples" : {
                "W3C SD-JWT sample" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json", "https://purl.imsglobal.org/spec/ob/v3p0/extensions.json" ],
                      "id" : "http://example.edu/credentials/3732",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "issuer" : {
                        "id" : "https://example.edu/issuers/565049",
                        "type" : "Profile",
                        "name" : "Example University"
                      },
                      "validFrom" : "2010-01-01T00:00:00Z",
                      "name" : "Example University Degree",
                      "credentialSubject" : {
                        "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "https://example.com/achievements/21st-century-skills/teamwork",
                          "type" : [ "Achievement" ],
                          "description" : "This badge recognizes the development of the capacity to collaborate within a group environment.",
                          "name" : "Teamwork",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Team members are nominated for this badge by their peers and recognized upon review by Example Corp management."
                          }
                        }
                      },
                      "credentialSchema" : [ {
                        "id" : "https://raw.githubusercontent.com/walt-id/waltid-identity/refs/heads/main/waltid-libraries/credentials/waltid-verification-policies2/src/commonTest/resources/ob_v3p0_achievementcredential_schema.json",
                        "type" : "1EdTechJsonSchemaValidator2019"
                      } ]
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "name" : {
                          "sd" : true
                        },
                        "credentialSubject" : {
                          "sd" : false,
                          "children" : {
                            "fields" : {
                              "achievement" : {
                                "sd" : false,
                                "children" : {
                                  "fields" : {
                                    "name" : {
                                      "sd" : true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>"
                  }
                },
                "W3C SD-JWT sample with single status" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json", "https://purl.imsglobal.org/spec/ob/v3p0/extensions.json" ],
                      "id" : "http://example.edu/credentials/3732",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "issuer" : {
                        "id" : "https://example.edu/issuers/565049",
                        "type" : "Profile",
                        "name" : "Example University"
                      },
                      "validFrom" : "2010-01-01T00:00:00Z",
                      "name" : "Example University Degree",
                      "credentialSubject" : {
                        "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "https://example.com/achievements/21st-century-skills/teamwork",
                          "type" : [ "Achievement" ],
                          "description" : "This badge recognizes the development of the capacity to collaborate within a group environment.",
                          "name" : "Teamwork",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Team members are nominated for this badge by their peers and recognized upon review by Example Corp management."
                          }
                        }
                      },
                      "credentialSchema" : [ {
                        "id" : "https://raw.githubusercontent.com/walt-id/waltid-identity/refs/heads/main/waltid-libraries/credentials/waltid-verification-policies2/src/commonTest/resources/ob_v3p0_achievementcredential_schema.json",
                        "type" : "1EdTechJsonSchemaValidator2019"
                      } ]
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "name" : {
                          "sd" : true
                        },
                        "credentialSubject" : {
                          "sd" : false,
                          "children" : {
                            "fields" : {
                              "achievement" : {
                                "sd" : false,
                                "children" : {
                                  "fields" : {
                                    "name" : {
                                      "sd" : true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "status" : {
                      "statusCredentialConfig" : "waltid.tenant1.credential-status.revocation",
                      "initialStatus" : "0x0"
                    }
                  }
                },
                "W3C SD-JWT sample with multiple statuses" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json", "https://purl.imsglobal.org/spec/ob/v3p0/extensions.json" ],
                      "id" : "http://example.edu/credentials/3732",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "issuer" : {
                        "id" : "https://example.edu/issuers/565049",
                        "type" : "Profile",
                        "name" : "Example University"
                      },
                      "validFrom" : "2010-01-01T00:00:00Z",
                      "name" : "Example University Degree",
                      "credentialSubject" : {
                        "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "https://example.com/achievements/21st-century-skills/teamwork",
                          "type" : [ "Achievement" ],
                          "description" : "This badge recognizes the development of the capacity to collaborate within a group environment.",
                          "name" : "Teamwork",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Team members are nominated for this badge by their peers and recognized upon review by Example Corp management."
                          }
                        }
                      },
                      "credentialSchema" : [ {
                        "id" : "https://raw.githubusercontent.com/walt-id/waltid-identity/refs/heads/main/waltid-libraries/credentials/waltid-verification-policies2/src/commonTest/resources/ob_v3p0_achievementcredential_schema.json",
                        "type" : "1EdTechJsonSchemaValidator2019"
                      } ]
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "name" : {
                          "sd" : true
                        },
                        "credentialSubject" : {
                          "sd" : false,
                          "children" : {
                            "fields" : {
                              "achievement" : {
                                "sd" : false,
                                "children" : {
                                  "fields" : {
                                    "name" : {
                                      "sd" : true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "status" : [ {
                      "statusCredentialConfig" : "waltid.tenant1.credential-status.suspension",
                      "initialStatus" : "0x0"
                    } ]
                  }
                },
                "W3C SD-JWT sample with credential display" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json", "https://purl.imsglobal.org/spec/ob/v3p0/extensions.json" ],
                      "id" : "http://example.edu/credentials/3732",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "issuer" : {
                        "id" : "https://example.edu/issuers/565049",
                        "type" : "Profile",
                        "name" : "Example University"
                      },
                      "validFrom" : "2010-01-01T00:00:00Z",
                      "name" : "Example University Degree",
                      "credentialSubject" : {
                        "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "https://example.com/achievements/21st-century-skills/teamwork",
                          "type" : [ "Achievement" ],
                          "description" : "This badge recognizes the development of the capacity to collaborate within a group environment.",
                          "name" : "Teamwork",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Team members are nominated for this badge by their peers and recognized upon review by Example Corp management."
                          }
                        }
                      },
                      "credentialSchema" : [ {
                        "id" : "https://raw.githubusercontent.com/walt-id/waltid-identity/refs/heads/main/waltid-libraries/credentials/waltid-verification-policies2/src/commonTest/resources/ob_v3p0_achievementcredential_schema.json",
                        "type" : "1EdTechJsonSchemaValidator2019"
                      } ]
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "display" : "<display>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "name" : {
                          "sd" : true
                        },
                        "credentialSubject" : {
                          "sd" : false,
                          "children" : {
                            "fields" : {
                              "achievement" : {
                                "sd" : false,
                                "children" : {
                                  "fields" : {
                                    "name" : {
                                      "sd" : true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>"
                  }
                },
                "SD-JWT-VC sample" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "identity_credential_vc+sd-jwt",
                    "credentialData" : {
                      "given_name" : "John",
                      "family_name" : "Doe",
                      "email" : "johndoe@example.com",
                      "phone_number" : "+1-202-555-0101",
                      "address" : {
                        "street_address" : "123 Main St",
                        "locality" : "Anytown",
                        "region" : "Anystate",
                        "country" : "US"
                      },
                      "birthdate" : "1940-01-01",
                      "is_over_18" : true,
                      "is_over_21" : true,
                      "is_over_65" : true
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "iat" : "<timestamp-seconds>",
                      "nbf" : "<timestamp-seconds>",
                      "exp" : "<timestamp-in-seconds:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "birthdate" : {
                          "sd" : true
                        },
                        "family_name" : {
                          "sd" : false
                        }
                      }
                    }
                  }
                },
                "SD-JWT-VC sample with credential display" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "identity_credential_vc+sd-jwt",
                    "credentialData" : {
                      "given_name" : "John",
                      "family_name" : "Doe",
                      "email" : "johndoe@example.com",
                      "phone_number" : "+1-202-555-0101",
                      "address" : {
                        "street_address" : "123 Main St",
                        "locality" : "Anytown",
                        "region" : "Anystate",
                        "country" : "US"
                      },
                      "birthdate" : "1940-01-01",
                      "is_over_18" : true,
                      "is_over_21" : true,
                      "is_over_65" : true
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "display" : "<display>",
                      "iat" : "<timestamp-seconds>",
                      "nbf" : "<timestamp-seconds>",
                      "exp" : "<timestamp-in-seconds:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "birthdate" : {
                          "sd" : true
                        },
                        "family_name" : {
                          "sd" : false
                        }
                      }
                    }
                  }
                },
                "W3C Sample with valid json schema" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                      "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                      "issuer" : {
                        "type" : [ "Profile" ],
                        "name" : "Jobs for the Future (JFF)",
                        "url" : "https://www.jff.org/",
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "image" : {
                          "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                          "type" : "Image"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                          "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                            "image" : {
                              "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                              "type" : "Image"
                            }
                          }
                        }
                      },
                      "credentialSchema" : [ {
                        "id" : "https://raw.githubusercontent.com/walt-id/waltid-identity/refs/heads/main/waltid-libraries/credentials/waltid-verification-policies2/src/commonTest/resources/ob_v3p0_anyachievementcredential_schema.json",
                        "type" : "1EdTechJsonSchemaValidator2019"
                      } ]
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "validFrom" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>"
                  }
                },
                "W3C Natural Person Id - Authorization code flow with password authentication method and configuration mapping ID token claims to credential data" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "NaturalPersonVerifiableID_jwt_vc",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                      "id" : "https://www.w3.org/2018/credentials/v1",
                      "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ],
                      "issuer" : "did:ebsi:zf39qHTXaLrr6iy3tQhT3UZ",
                      "issuanceDate" : "2024-05-10T04:24:12Z",
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrvQgsKodq2xnfBMYGk99qtunHHQuvvi35kRvbH9SDnue2ZNJqcnaU7yAxeKqEqDX4qFzeKYCj6rdbFnTsf4c8QjFXcgGYS21Db9d2FhHxw9ZEnqt9KPgLsLbQHVAmNNZoz",
                        "familyName" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "firstName" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "dateOfBirth" : "1985-08-15",
                        "personalIdentifier" : "c02654b4-814e-46dd-ba17-0bd81a45057c",
                        "nameAndFamilyNameAtBirth" : "Jane Doe",
                        "placeOfBirth" : "Lille, France",
                        "currentAddress" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "gender" : "Female"
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : "<issuerDid>",
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp-ebsi>",
                      "issued" : "<timestamp-ebsi>",
                      "validFrom" : "<timestamp-ebsi>",
                      "expirationDate" : "<timestamp-ebsi-in:365d>",
                      "credentialSchema" : {
                        "id" : "https://api-conformance.ebsi.eu/trusted-schemas-registry/v3/schemas/z22ZAMdQtNLwi51T2vdZXGGZaYyjrsuP1yzWyXZirCAHv",
                        "type" : "FullJsonSchemaValidator2021"
                      }
                    },
                    "authenticationMethod" : "PWD",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "idTokenClaimsToCredentialDataJsonPathMappingConfig" : {
                      "$.family_name" : "$.credentialSubject.familyName",
                      "$.given_name" : "$.credentialSubject.firstName",
                      "$.address" : "$.credentialSubject.currentAddress"
                    }
                  }
                },
                "W3C PDA1 with VP_TOKEN authentication method" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialConfigurationId" : "VerifiablePortableDocumentA1_jwt_vc",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                      "id" : "https://www.w3.org/2018/credentials/v1",
                      "type" : [ "VerifiableCredential", "VerifiableAttestation", "VerifiablePortableDocumentA1" ],
                      "issuer" : "did:ebsi:zf39qHTXaLrr6iy3tQhT3UZ",
                      "issuanceDate" : "2024-05-10T04:24:12Z",
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbrvQgsKodq2xnfBMYGk99qtunHHQuvvi35kRvbH9SDnue2ZNJqcnaU7yAxeKqEqDX4qFzeKYCj6rdbFnTsf4c8QjFXcgGYS21Db9d2FhHxw9ZEnqt9KPgLsLbQHVAmNNZoz",
                        "section1" : {
                          "personalIdentificationNumber" : "1",
                          "sex" : "01",
                          "surname" : "Savvaidis",
                          "forenames" : "Charalampos",
                          "dateBirth" : "1985-08-15",
                          "nationalities" : [ "BE" ],
                          "stateOfResidenceAddress" : {
                            "streetNo" : "sss, nnn ",
                            "postCode" : "ppp",
                            "town" : "ccc",
                            "countryCode" : "BE"
                          },
                          "stateOfStayAddress" : {
                            "streetNo" : "sss, nnn ",
                            "postCode" : "ppp",
                            "town" : "ccc",
                            "countryCode" : "BE"
                          }
                        },
                        "section2" : {
                          "memberStateWhichLegislationApplies" : "DE",
                          "startingDate" : "2022-10-09",
                          "endingDate" : "2022-10-29",
                          "certificateForDurationActivity" : true,
                          "determinationProvisional" : false,
                          "transitionRulesApplyAsEC8832004" : false
                        },
                        "section3" : {
                          "postedEmployedPerson" : false,
                          "employedTwoOrMoreStates" : false,
                          "postedSelfEmployedPerson" : true,
                          "selfEmployedTwoOrMoreStates" : true,
                          "civilServant" : true,
                          "contractStaff" : false,
                          "mariner" : false,
                          "employedAndSelfEmployed" : false,
                          "civilAndEmployedSelfEmployed" : true,
                          "flightCrewMember" : false,
                          "exception" : false,
                          "exceptionDescription" : "",
                          "workingInStateUnder21" : false
                        },
                        "section4" : {
                          "employee" : false,
                          "selfEmployedActivity" : true,
                          "nameBusinessName" : "1",
                          "registeredAddress" : {
                            "streetNo" : "1, 1 1",
                            "postCode" : "1",
                            "town" : "1",
                            "countryCode" : "DE"
                          }
                        },
                        "section5" : {
                          "noFixedAddress" : true
                        },
                        "section6" : {
                          "name" : "National Institute for the Social Security of the Self-employed (NISSE)",
                          "address" : {
                            "streetNo" : "Quai de Willebroeck 35",
                            "postCode" : "1000",
                            "town" : "Bruxelles",
                            "countryCode" : "BE"
                          },
                          "institutionID" : "NSSIE/INASTI/RSVZ",
                          "officeFaxNo" : "",
                          "officePhoneNo" : "0800 12 018",
                          "email" : "info@rsvz-inasti.fgov.be",
                          "date" : "2022-10-28",
                          "signature" : "Official signature"
                        }
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : "<issuerDid>",
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp-ebsi>",
                      "issued" : "<timestamp-ebsi>",
                      "validFrom" : "<timestamp-ebsi>",
                      "expirationDate" : "<timestamp-ebsi-in:365d>",
                      "credentialSchema" : {
                        "id" : "https://api-conformance.ebsi.eu/trusted-schemas-registry/v3/schemas/z22ZAMdQtNLwi51T2vdZXGGZaYyjrsuP1yzWyXZirCAHv",
                        "type" : "FullJsonSchemaValidator2021"
                      }
                    },
                    "authenticationMethod" : "VP_TOKEN",
                    "vpRequestValue" : "NaturalPersonVerifiableID",
                    "vpProfile" : "EBSIV3",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>"
                  }
                },
                "mDL example - Mandatory fields only" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "org.iso.18013.5.1.mDL",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "Doe",
                        "given_name" : "John",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT"
                      }
                    },
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                },
                "mDL example - Mandatory fields & Age attestation (single)" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "org.iso.18013.5.1.mDL",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "Doe",
                        "given_name" : "John",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT",
                        "age_over_18" : true
                      }
                    },
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                },
                "mDL example - Mandatory fields & credential status" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "org.iso.18013.5.1.mDL",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "Doe",
                        "given_name" : "John",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT"
                      }
                    },
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "status" : {
                      "statusCredentialConfig" : "waltid.tenant1.credential-status.revocation",
                      "initialStatus" : "0x0"
                    },
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                },
                "mDL example - Mandatory fields & Age attestations (multiple)" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "org.iso.18013.5.1.mDL",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "Doe",
                        "given_name" : "John",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT",
                        "age_over_18" : true,
                        "age_over_24" : true,
                        "age_over_60" : false
                      }
                    },
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                },
                "mDL example - All fields (mandatory & optional) & Age attestations (multiple)" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "org.iso.18013.5.1.mDL",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "Doe",
                        "given_name" : "John",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT",
                        "age_over_18" : true,
                        "age_over_24" : true,
                        "age_over_60" : false,
                        "administrative_number" : "123456789",
                        "sex" : 9,
                        "height" : 180,
                        "weight" : 100,
                        "eye_colour" : "black",
                        "hair_colour" : "black",
                        "birth_place" : "Vienna",
                        "resident_address" : "Some Street 4",
                        "portrait_capture_date" : "2018-08-09",
                        "age_in_years" : 33,
                        "age_birth_year" : 1986,
                        "issuing_jurisdiction" : "AT-9",
                        "nationality" : "AT",
                        "resident_city" : "Vienna",
                        "resident_state" : "Vienna",
                        "resident_postal_code" : "07008",
                        "biometric_template_face" : "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAGIAYoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACitHSdC1PXZmi060abZ99ywSNOCRudiFXO04yRkjAya6q1+Grm3Zr7V4opiiMkdtCZcEj5ldiVAI4Hy7geeeBnelhqtb+HFsznVhD4nY4SivX7Twn4esdpi03z3SXzUlvJTIwxjClRtjZeOhQ5yc5HFbUMrWtu9tahba3dy7QW6iKMsQATtXAzgAZx2FelTyWtL42l+Jyzx9NfCrnkMXg/wARSXiWraNeW8r5x9qjMC8AnlpMAdO59q0rP4d6xced9pnsbFo8bRPMX8zOc7TErjjHfHUYzzj0miu2GSUl8Um/w/zOeWYT6JHn9t8OLo3iJealbJbHO+W3RpGHHGFYJnnHcf0q8/w1sh9zXbg/WwUf+1a7Kit1lGFW6b+Zm8bWfU4g/DaDtrMn/gGP/jlOHw2tv4tblH0sgf8A2pXa0VX9lYT+X8WL65W7nE3Xw2gS0drTWpJbkY2Ry2YjQ8jOWEjEcZ/hP9aqQ/DTUZSN+raVD/vtMcf98xmvQaKiWT4Z7XXzKWOqo8ol8E+IYbR7lrAMiYysc8buckDhFYsevYe9Zt9pGp6WkT6hp13aLNnymuIGjD4xnbkDOMjp6ivaakinlgffDK8b/wB5GIP6VzTyOD+Cb+f9I1jmEvtRPBaK9pl0bR7i3S3n0eweJXD4SARMSARy6bXI56Zx09BXO3fw7057dfsV7dQzKjE+cFlWRsfKOApQZzk/N16cc8FXKMRDWNn6f8E6IY6lLfQ84oro77wPrtpJiG1+3KXVFazzIWJXPCYD4HIJ24yOvIzzledOnOm7TVmdUZRkrxdwoooqCgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK6DQfCGo608Ezxvaaa7DdeSJwVyQSikgyEFSOOAcAlc5r0LSPDmk6GUktLcy3a4P2u4wzhhtOUHRPmXIIywyRuIrtwuArYjWKsu7OetiYUtHucJongfU9VEc91jT7JsN5s6ne6nacpH1bKtkE7VOCNwrs9G8I6Ro58xoF1C5GR5t3GGQfeHERyvII+9uwQCCK3SSxJJJJ5JNJX0GHyqhS1kuZ+f+R5tXGVJ6LRDi7MkaEnZGgRF7IoGAoHYAcACm0UV6SSSsjkvcKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUGoWNlq/lf2paRXoiwE80sGCjOF3qQwX5idoOMnPWp6KidOFRcs1dDjKUXeLscNqPw53SF9JvVCbCfJvDhiQowodRgljnqFA4yeprjtS0q+0i7NtqFrJby8kBhw4yRuUjhlyDhgSDjg17VTZo4rq1e1uoY7i2fJaKVdy5wRuHo2CQGGCM8EV4+JyanLWi7Pt0O6lj5LSep4XRXoOu+AEnlE2gYjLZ32k8wA3FuPLdsAKAejnI253MTgcDLFJBM8M0bRyxsVdHGCpHBBB6GvBr4erQly1FY9KnVhUV4sZRRRWBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFauheHr3xBcSR2vlxxxLuknmJCJ1wCQCckjAABPU9ASKjGU2oxV2JtJXZQtbS5vrhbe0t5biZgSscSF2IAJPA54AJ+gr0fRPAllp32a71GX7XeLiRrfaDBG3Pyt183+E9lyCPnU5O7pOlWWiaelpZwpuAPm3JQCWYnBO5uoXKjCA4GB1OWNyvosFlEYWnX1fbp/wAE8uvjXL3ae3cBgKqgAKqhVUDAVQMAAdgBwBRRRXuJW0R54UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVPU9JsNatxBqEG8ArtljwsyAEnCuQcDluCCOc4zgi5RUVKcKkeWauioylF3izynXfCGoaIDOo+12QBY3EKHEY3bR5g/gJyvcj5sAkg45+vduzAgFWUqysMhgRggg9QQSCO9cTr/gITbrrQkVNkWWsi7MzsMD92TnJIydpPUHbnIUfN43KpUvfo6x7dUerh8Yp+7PRnn9FFFeMdwUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFb/hnwzNr1wZJC0VhE2JZR1Y9di+/v0AOT1AN06cqslCCu2TOaguaWw/wt4Xk165M1wXi02JsSyLwznrsTPG7pk8hQcnJIVvUo4be3jENpaw2sC42xQptUcAZPcnAGWJJOOSaSGGK2t47e3iWKCJdsca9FH+cnPUkknk0+vrcDgIYaN3rLv/keLiMTKq7dAooor0DmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwfE/he3161821iht9UjyVkUBFuckkrIem7JOHPrhjjBTyqWKSCZ4Zo2jljYq6OMMpHBBB6Gvc653xR4XTXYvtNsFTUUXAYnAmA6Kx7HsG/A8YK+HmOWKV6tFa9V39D0MLi7e5U27nldFPlikgleKVGjkRiro4wVI4II7GmV82eqFFFFABRRRQAUUUUAFFFFABRRRQAUUVo6HpE2t6rDZxBwhIM0qpu8qPIDOQSBxnpkZOB1Ipxi5NJbibSV2afhbwnPrztdT74dMifbJMOsjdfLTPVsEEnooIJySqt6fDDDbQR29vEkMES7Y406KP885PJJJOSajsrG0020S0sYfKt06AnLMe7Me7HufwAAAAnr6/L8CsNC7+J7/5HiYnEOrLTYKKKK9A5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwfEnhSLxFH5ttsi1RFxG7EKs4HRHJ4B7Kx6dDxgr5XPBNa3EtvcRSQzxOUkjkUqyMDggg8gg8Yr3KuO8beGori0k1ixhf7YjbrqONQVkTBJlxnIYYG7AOQdxxtYt4Ga4DevTXqv1/zPSweJ/5dz+R51RRRXzx6YUUUUAFFFFABRRRQAUUUUAPhhluZ44II3lmkYIkaKWZmJwAAOpJ7V7F4f0ldC0OOxU5lkYTXLFVyZCoG3K5yq8gcnksRjdgct4D8PqU/tq7jRgSUtY3RsggjMo7HHKjrzuPBUGu6r6LKMHZe3n8v8zy8dXu/Zx+YUUUV7x5wUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTo5HikWSNirqQysDggjoabRQB5j4x8NLo1yl3Yxy/wBnT8ZbkQyc/u85yRgZBODjI+baTXL17bqFhb6pYTWd0itHIpAZl3GNsfK45HIPPUZ5B4Jrx3U9Pm0rUrixuMeZA5UsAQHHZlyAdpGCDjkEV8jmWD+r1OaPwv8Aqx7WEr+1jZ7oqUUUV5p1hRRRQAUUUUAFavh7Q5vEGrJZRyeVGFaSaYoWESAck47k4UZwCzKMjOayq9S8EaR/Zuh/a5o9t1fYf5lwyQj7g5UEbuWOCQw8s9q6sFhniKyh06+hjXq+yg5HS/KFRI12RRoscabidiKAqrk5JAAA59KSiivtUlFWR4Dd3dhRRRTAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5bx5o82p6bBfW8Tyz2KMrhQSfI5YnGeAhLHgdHYk4WuppVIB+ZEdejI6hlYdwQeCCOCD1rnxWHWIpOm/l6mlGq6U1JHhFFa3iTRzoetz2ihzbn95bu+SWjPTnABI5UkDG5WA6Vk18TKLjJxluj6BNNXQUUUVIwooooA1/DOitr2uQ2jBxbL+9uXTI2RL97nBAJ4VSRjcyg9a9gOM/KiRqOFRFCqo7AAcADoBXIfD7TFt9Jn1N1cT3TmKPcrKPKXBJBzhgz8dODF15Irrq+pyfD+zo+0e8vyPHx1XmnyroFFFFeucQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHM+O9MivPDxvsolxYsCCcAyRuwUr0ySGKkDIAHmdzXl9e7bY3Vo5k8yGRSkke4rvRhhlyORkEjj1rxfWdObSNZvLAs7iCUqkjxmMyJ/C+09Ay4Ycngjk18xnOH5KqqraX5nr4GrzQ5H0KNFFFeMdwVJBBLczxwQRPLNKwSOONSzOxOAAByST2qOuo8A2C3niZZ5AhSxia5Ks7KSwIVCuOpDujYPGFPXobpU3UmoLqTOSjFyfQ9MitorK3hsoGRoraNYVdIxGH2jG/aOhYgsevLHk9adRRX3cIKEVFbI+dk3JtsKKKKoQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXD/Eiw3DT9UROCptZikOACDuRncdWYMygHnEXcDjuKyfFNp9u8K6hCIPNkjQXEfz7dhQ5ZuoBxH5gwc9eBnFcGZUfa4aXda/d/wAA6MJU5Kq89Dx+iiivjj3Qr0X4dWfl6Ve3rLA3nTLCjY/eJsXLDOOFbzF6HkpyOBXnVey+H7H+zvDemQMsHmNbrOzwj7/mfvF3HAJYK6qf93AJAFenlFPnxKfZX/Q5MbPlpW7mjRRRX1p4oUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVci0nUZ4lkisbh0YZDLGSDSclHdgk3sU6KuS6VqEETSzWNxHGvVmjIAqnQpKWzBprcKKKKYBRRRQAUUUUAFFFWLGyn1G9itLdN0sjYUUm0ldgld2RXor0q3+GNv8AZh9ovpfOI52AbQa4zxD4fufD98IJiHjcZjkHRhXLRx1CtPkhLU2qYepTjzSWhkUUUV1mIUUUUAFFFXI9I1GaNZIrG5dGGQyxkg0pSUd2CTexToq5NpWoW8TSzWVxHGvVmjIAqnQpKWzBprcKKKKYBTkKCRTJEksefmjkUMrjupB4IPQim0Umk1ZgnY8S1CyfTdTurGV43ktpnhZ4ySrFSQSMgHHHpVaum8e2rweKJJjbxwRXMMcsQTaA4C7GbA6Eujk55Jye+a5mvhKsPZ1JQ7Ox9HCXNFS7hXu32aGyAtLd3eC3AhiaQgsUUbVyQAM4A7V474bEJ8U6QLiJJYTew+ZHIoZXXeMgg8EEdq9ir3Mjh8cvQ8/MZfCgooor6A8wKKKKACiiigAooooAKKKKACiiigAooooAKKKKACigAnoKCCOtABRRRQAV7d4RH/FLWH/XMV4jXt3hH/kVrD/rmK8XO/4MfU78v/iP0GeMh/xSd/8A7o/9CFeKV7Z4y/5FO/8A9wf+hCvE6eSfwJev6IWYfxF6GpoGjNrupiySUREoW3EZ6V1f/CsLj/oIRf8AfJrM+Hf/ACNK/wDXF/6V67WOZY6vQrclN2Vi8Jh6dSnzSR4RruktomrSWDyiQoFO4DGcjP8AWs2un8f/API33X+5H/6CK5ivZw03OjCct2kcNWKjNpdwooorYgK6XwJcw23im3MxADhkVj2JHFc1SglSCCQR0IrOtTVWnKD6oqEuSSl2PoivPPidcwmOytgQZgWcjuB/n+Vc3b+ONdt7YQrdBgBgM65YfjWHdXc97cNPcytJK3VmNeNgsqqUayqTasux3YjGRqU+WK3IaKKK9088KKKUgjqKAEr3HwsP+KY0/wD65f1rw6vcvC3/ACLGn/8AXL+prxM7/hR9f0O/L/jfoV/GY/4pS+/3P614rXtfjP8A5FS+/wBz+teKVWSfwJev6IWYfxF6BRRRXsnCFFFFAHC/Ei2hH9l3YeQzuJYWUkbQiFWXAxnOZHzz6fjwden/ABAEP/CKoWiQzC+j2SFRuVdkm4A9QCduR32j0rzCvjs0hy4qXn/ke5hJXoo6XwAkL+MrQTxRyp5VwQrqGAYQSFTz3BwQexANeo15T4IbZ4usz/syj84nFerV6+SL9zJ+f6I4swf7xLyCiiivaOAKdGwWVGZdyggkHvTaKAPZrLwx4fvLGC5XToiJUDdT3H1rF8aeF9OtNAe6sLRYpInBYrnle9aPw+1D7X4cWBmy9s5T8Oo/mfyrotTtFvtMubVuksZX9K+Rderh8VaUnZPv0PbVOFWjdJao8Aq1ptm2oanbWijmWQKfYZ5/Sq8kbRSNG4wykgj3rsvhxp32jWpL1lylunB/2jx/LNfT4msqVGVTsjyKUOeaidwvg/QggB0+MkDk5PP61ynjzw1ZafpsF5YW6xBX2yBc856fyP516RWdrtgNS0S7tSOXjO36jkV8phsZVhWjKUm1fuezVoQlBpLU8HrV8N6eNU1+0tXXdGzguPVRyf0rLZSrFWGCDgiu7+Gdj5moXV6w4iTYp9z/APWr6nGVfZUJTXY8ehDnqKJ2P/CH6D/0Do/zP+NcJ4+stM0y5tbSwtUicqXkK56dv616vXiHiu//ALR8R3cwbKK2xPoK8PKZVate8pNpLuehjVCFOySuxuheG7/XpsW6bYVOHlboP8a9G0zwBpFkim4VrqXuX4H4CuZ+Hmui0vH0ydwIZzujJ7N/9f8ApXS63480/S5Ggt1+1TrwdpwoP1rbHVMZOu6NPby/zIw8aEafPPc6CLSdPhXbHZQKP9wUk2j6bOpWWygYH/YFecSfErVWfKW9sq+mCf61u+H/AIgRajdJaX8KwSyHCOh+Un09q4amX4ynHnf5nRHE0JPl/QXW/h7ZXMTS6aTbzgZCE5Vv8K8xubaazuZLedCksZwymvoSvNfiZpqR3FrqEagGUGOTHcjof1/SuvK8fUlU9jUd77GGMw0VHnirHAV7d4R/5Faw/wCuQrxGvbvCP/IrWH/XIV0Z3/Bj6meX/wAR+g3xl/yKd/8A7g/9CFebeCLC11LxB5F3CJYvKZtp9civSfGX/Ip3/wDuD/0IV5d4W1mHQ9Y+2Txs6eWVwvXnH+FY5cpvBVFDe7t9yLxTiq8XLY9bsfD+labcfaLSzSKXBXcM9K065rRPGlnrmoizgglRyhbLYxxXS142IhVhO1a9/M76coON4bGXe+HdJ1C5a5urNJZmABYk844rgviBo9hpS2X2K2WHeW3bc811Ws+N7LRdTksZreV3QAkrjHIzXD+MPE9t4hFqLeGSPys539816uW0sUqsJSvyeumxx4qdHkklbmOVooor6Q8oK0/D1vFd+ILGCdA8UkqqynuM1mVseFv+Ro07/ruv86yrtqlJrsyqfxo9V/4RDQf+gdF+Z/xrgPH2l2Wl6jbR2UCwo0ZLBe5zXrdeX/E3/kK2f/XI/wA6+byutUniUpSbWvU9XGU4RpNpHDV0Phnwpc+IJt5JitEOGkx19hWPp9m+oahBaRj55XCivd9PsYdNsIbSBQscagfX3r1czxrw8VGHxP8AA48Jh1Vd5bIztP8ACmj6cgEVmjsOryfMTV+TSrCVCj2cBU9tgp19fW2nWj3N1II4kHJNcRdfE6JZitrYM6A/ed8Z/DFeBSpYrEvmjd+dz0pzo0lZ2RY8QfD+1uIXn0seTOBnys/K3+FdJ4chkg8PWUUqlZEj2sp7HJrF0j4gadqMqw3CNayNwCxyp/GutBBAIOQarFTxMYKjXW2quKjGk5OdMwvGf/IqX3+5/WvFK9r8Z/8AIqX3+5/WvFK9jJP4EvX9EcOYfxF6BRRRXsnCFFFFAGN4utrefwhqck0e6SBI5IDuI2v5qKTx1+VmHPr9K8ir1zxe23whqQ/vLGP/ACKh/pXkdfK5yrYlei/U9jAP918zd8G/8jZZf9tP/QGr1mvKfBC7/F1kP9mU/lExr1avSyT/AHeXr+iOXMP4i9P8wooor2DhCiiigDs/hxqH2fW5bRmwlwnA/wBodP5mvVq8C0m8bT9VtbpescgP4V73G6yxrIhyrAMD7GvmM6pctZVF1X5HrYCd4OPY8W8ZWP2DxPdqBhJG81f+Bc16F4B077F4bjlZcSXJ8w/TtWX4/wBGe+1HS5Ih80zi3JHueDXcW8CW1tHBGMJGoUD2FGMxfPg6cOr3+QUKPLXlLt+pi+Jtd/sUWOCN01wFbP8Ac7/zFbwIdQRyCM15L8Q9Q+1eIRbq3yWybfox5P8ASvQvC1//AGl4ctJicuE2N9Rx/hXPiMJ7PC06vV7/AD2NaVbmrSgeWeL9O/s3xLdRgYjkbzU+jc/zzXongGx+x+GYpCMPcMZD9O36Vm/ETSGuzYXUKZfeIW/E8frmu0tLZbOzhtk+5EgQfQDFdGMxftMHTj1e/wAjKhR5a8n/AFqVNdvhpuh3l1nBSM7f948D9SK8IZi7Fj1Jya9O+JeoeVptvYqfmmfe3+6P/r4rzADJwOpr0Mmo8lBzf2n+RzY+fNU5exb06wvNRu1hsoneX/Z7e+e1djafDO7kQNd3qRMeqqNx/Ouv8J6JFo+iw4QefMoeV8cnPQfhWvd3cFjavc3MgjiQZZjXFis2qyqOFDRfizejgoKPNUPP5vhg4X9zqILejJXNan4Y1TQpkkni3RBxiWPkdf0rsrj4m2SSlYLOWRAfvEgZrQ0zxro+tt9knUwvJ8uyYfK3tmtYYjMKS5qsbx/rsTKlhp6QdmdNASbeInqUH8q434l/8gO3/wCu39K7VQAoA6AcVxfxL/5AVv8A9d/6V5eX/wC9Q9TrxP8ABkeV17d4R/5Faw/65CvEa9u8I/8AIrWH/XIV7Od/wY+pw5f/ABH6DfGX/Ip3/wDuD/0IV4nXtnjL/kU7/wD3B/6EK8Tp5J/Al6/ohZh/EXodZ8O/+RpX/ri/9K9dryL4d/8AI0r/ANcX/pXrtednP+8/JHVgP4XzPHfH/wDyN91/uR/+giuYrp/H/wDyN91/uR/+giuYr6HB/wC7w9F+R5lf+LL1YUUUV0mQVseFv+Ro07/ruv8AOsetjwt/yNGnf9d1/nWWI/hS9GXT+Nep7jXl/wATf+QrZ/8AXI/zr1CvL/ib/wAhWz/65H+dfL5R/vS9Gevjf4LKPw8tln8Tq7DIiiZx9eBXr1eU/DVgPEMq9zAcfmK9Wqs4beJt5IWBX7r5nl3xI1N5tVj05WIjhUMy+rHn+VcPXUfECF4/Fc7sPlkRGU+vygVy9fQYCMY4aCj2PMxDbqyuFe5+GXaTw1YM7FmMQ5JrwyvcvC3/ACLGn/8AXL+prz88/hR9f0OnL/jfoQeM/wDkVL7/AHP614pXtfjP/kVL7/c/rXilVkn8CXr+iFmH8RegUUUV7JwhRRRQBheMv+RTvv8Atn/6MWvJq9b8YLu8I6if7qxn/wAioP615JXy+d/7wvT9Wevl/wDCfr/kdL4BeJPGVoZpUjTyrgBnYKCxhcKOe5OAB3JAr1GvHPDhiHifSTPKkUP22HzJJGCqq7xkkngADvXsddmRy/dzj5mGYL3osKKKK9w88KKKKACvafBmof2h4ZtWJy8Q8pvw6fpivFq7/wCGWobLm7sGbhwJEHuOD/SvLzej7TDuXWOp14KfLVt3PRpIY5WjZ1DGNty57Gi4mS2tpZ3OEjQux9gM1JXM+O9R+w+GpUU4kuCIl/mf0Br5ijTdWpGn3Z69SShFyPJL+6a91Ce5c5aRyxrvvhlqOVu9OY9CJUH6H+QrzmtvwlqH9neJLWUthHby3+hr6/G0FUw0oLotPkeJh6nLVUme1SwRzhRIoYKwcZ7EdKkoqvfXSWNhPdP92KMufwFfGJOTUUe67LU8k8d6h9u8TTIrZSAeUPqOv61zsBAuIi3QOM/nRcTPcXEkznLuxYn3NR191RpKnSVNdEfPTnzTcj6FtyGtoivQoCPyrkviPHO/h9DECY1lBkx6dqk8E+JIdS0yOymkC3cA24J++vYiuqlijniaKVA6MMFWGQa+QXNhMTea+Fnt6V6Wj3PnmpLdHe5jWNSzlgAFHJNet3Hw/wBDnlLrHLFn+FH4qzb6JoPhmE3flohX/lpIct+Fe5LOKLVoJt9jzlgZp+80kbsAIt4weu0Z/KuO+Jf/ACArf/rv/Su0Vg6Kw6EZFcX8S/8AkBW//Xf+leJl/wDvUPU9DE/wZHlde3eEf+RWsP8ArkK8Rr27wj/yK1h/1zFeznf8GPqcOX/xH6DfGX/Ip3/+4P8A0IV4nXtnjL/kU7//AHB/6EK8Tp5J/Al6/ohZh/EXodX8O/8AkaV/64v/AEr16vDvC2pLpXiG2uZDiPO1z6A17gjrIgdGDKwyCOhrgzqDVdS6NHTgJJ02vM8o+IenXCeIWu/KZoZkXDAZGQAMfpXJS280AQyxPGHGV3KRkV9BsiuMMoYe4zXDfEvTw+mWt4igGF9hwOx/+viunL8zu4UJLyv+RlicJbmqJnEeH9AufEF95EOFjUZkkPRR/jXbyfDKzNviO9lE2PvFeM1H8MZofsl9CCBPvViO5Xn/AD+Nd/WWYY+vCu4Qdki8LhqcqalJXueB6rpdxo+oSWdyuHToR0YdiKt+Fv8AkaNO/wCu6/zre+Jc0L61bxoQZEhw+O3JIFYPhb/kaNO/67r/ADr14VZVcJzy3aZwygoVuVdz3GvL/ib/AMhWz/65H+deoV5f8Tf+QrZ/9cj/ADr5/KP96Xoz08b/AAWYPhLUF07xJazO22Nj5bn2Ne3V87gkEEcEV6z4N8VxanZx2V1IFvIhtG4/6wdj9a785wspWrRW2jObA1kr02TeM/DDa7aJPbY+1wj5QeN49K8ouLC7tJTFPbSxuDjDIRX0BTWijc5ZFY+4zXDg80nh4cjV0dFfBxqy5k7M8R0jwxqesTqsVu6RZ+aWQYUD+tezabZLp2nW9mrFhEgXJ7066u7bTrV57h0iiQZJPFJYXiahYxXcQISUZXPXFZ43GVcUk2rRX5lUKEKLsndmV4z/AORUvv8Ac/rXile1+M/+RUvv9z+teKV6+SfwJev6I4sw/iL0CiiivZOEKKKKAMnxW8K+DdXEkqI7RRiJWYAu3nRnC+pwGOB2BPavH69O+IBi/wCEYjBlQTfbY9sZYbmXZJuIHUgHbk9sj1rzGvk83lfFNdkj2cCrUQr3iSW3nlaa0fzLWQ74X2ldyHlTg8jIIPNeD17NoE8134Y0m5mSNC9sEUICBtjYxA8k8ny8n3z0rfJJ2qyh3X5f8OZ5hG8FLsaFFFFfSnlBRRRQAVa0/UbnS7xbq0fZKoIBxnrVWilKKkrPYE2ndHS/8J5r/wDz9L/3wKzdV1/UdaEYvpg4jyVAGKzKKyhhqMHzRik/QuVWclZthSqxRgynBByDSUVsQdIPHevqoAul4GPuCoL7xfrOo2clrcXAaKQYYBQM1hUVgsLQTuoK/oaOtUas5MKKKK3Mx8U0kEqyROyOpyGU4IrqrH4haxaRhJfKuAO7jB/MVyVFY1aFKqrVI3LhUnD4XY7Wf4lapIhEVvbxn1wT/WuZ1DWdQ1SYSXly8hByB2H4VQoqaWFo0neEUhzrVJ/EzpF8da8iBRdLgDA+QVS1TxLqes26wXsweNW3ABcc1kUU44ajF80YpP0B1ZtWbYVvWfjDWbC0jtbe4VYoxhRsBwKwaK0qUoVFaauTGco6xdjdvvF+sahZyWtzcK0MgwwCAZ71hUUUU6UKatBWCU5Sd5O4Vv6R4x1bR4xDFKssI6JKM4+lYFFKpShUXLNXQRnKDvF2O4b4m6gVwLO3DevNc/rHibU9bGy6mAizkRoMLWPRWVPB0KT5oRSZc69SatJlrT9RutLu1ubSUxyL37EehrqJPiRqz23lrDbpIRjzAD/LNcbRVVcNRqtSnFNihVnBWi7EtxcS3dw888hklc5Zj1NLaXUtjdxXMDbZY2DKcZwahorblVuXoZ3d7nS/8J5r/wDz9L/3wKydV1m91mZJb2QO6DapAxxVCisoYelB80IpP0LlVnJWbCnI7RuHRirDkEHBFNorYg6jT/HutWKCN5EuEHTzRz+Yq/L8TNSZMR2tujepya4iiuSWAw0nzOCNliKqVlI0dU1zUNYk3XlwzgdEHCj8KvWnjLWrK1jtoLhVijG1RsHArAorZ0KTiouKsvIhVJp3T1N2+8X6xqNnJa3NwrRSDDAIBWFRRVU6UKatBWFKcpO8ncKKKKskKKKKAOH+JMtuYtKhV/8ASlMzum08IdgU56HJVx+H0rga6z4iTzP4oFrMiKLW2iRCoILK6+aC3PX96RxjgCuTr4rHT58TOXn+Wh7+Hjy0ooK9H+Hl7E+jXVhtRZobjztxkG6RXUDheuFMfJ5++Onfziul8Cagtl4kSKTYEvI2tyzIzEEkMoXHcuqrk5GGP1DwFX2WIjL5ffoLEw56TR6jRRRX2h4IUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVLbwPdXMVvGMySuEUepJwKirJ8Tagum+Gr6U7N8sZt41kRiGMg2kcdCELsCeMr36HKvUVKnKb6IunDnmo9zyrVb1NS1i9vkh8hLm4kmWLdu2BmJ25wM4zjOBVSiivhW7u7Potgp8M0tvPHPBI8UsbB0kRirKwOQQR0INMopAe4211HfWkF5CEWO4jWVUSQSBNwzt3DqV+6fcHpUtct4B1N73Q5LCRk3WDfuhuUMY3LNwoGSFfdliT/rFHHFdTX22Dr+3oRn16+p8/Xp+zqOIUUUV1GQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXB/EXUMyWWmo/CqbiUJNkFj8qhk7MAGIJ5xJ2HXvkUM4DSJGv8UkjBVQd2YngADknsK8X1vVZNb1m51CRdnmsNicHYigKi5AGcKAM45xk8mvGzqvy0lSW7/JHdgKd5ufYz6KKK+YPXCiiigDV8O6w2h61Dd5fyD+7uEXJ3xnrxkZI4YAnG5VPavYAysoZHR0IyrIwZWHqCOCPevCq9W8I6+msaRDayDbeWMSQuSVHmoMhGVRg8KFU8HkAkktx7eTYnkm6Mtnt6nn4+leKmuh0FFFFfSnlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUEqoLO6ooGWZ2Cqo7kk8Ae9DdtWBzvjjU5tM8PrHEJEfUGeASjIARQpkAII5IZFxggqzA9q8rrf8AGOsx614hlkt3D2duot7ZgMbkUn5+VB+Ziz4YZG7b2rAr4rHYj6xWc+my9D3sPS9nTUeoUUUVyG4UUUUAFa3hvWP7D1yC7cubcny7hEyS0R+9xkAkcMATjcq56Vk0VUZOMlKO6E0mrM91R1kjjljbdHIiyI2CNysMqcEA8gg8+tLXGeAtd+0QDQ5z+8iDNabYuq/M8isR6csCR03ZPCiuzr7TB4lYikprfr6ngV6TpTcWFFFFdRkFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcz431tdN0htPiZ1vL1R0VgFgyQxDAjliu3HII35xxnobm6t7CzmvbsyLawKHlaNNzAZAGB6kkAZwMkZIHNeNarqdxrOpzX915YllxkRrtVQAFUAewAGTknGSScmvHzfF+zp+yjvL8v8AgndgqPPLneyKdFFFfLnrhRRRQAUUUUAFFFFAD4pZIJkmhkaOWNgyOhwVI5BBHQ17Lo2rw67pUd/F5KSk7bi3jYnyHyeOecEDcOvBIySrV4vWr4e12bw/qf2qKJJo3QxTRP8AxoSCQD1U5AII7jnIyD3YDGPDVLv4Xuc+JoKrC3VHsNFMglS5tLe6hO6G4iWWNsg5B7HBIyDkEZ4II7U+vsIyUkpR2Z4bTTswoooqhBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUqqWYKoJYnAA6mkrl/GviJ9It20q3jQ3V3b/vXba3lROCMbezsvr0VgRywK8+JxMMPTc5f8OaUqTqy5Uc/wCOteS/vV020ljktLVstNFISs0hAz7ELyoIznLEEhhjkaKK+LrVZVpuc92e9CChFRiFFFFZlhRRRQAUUUUAFFFFABRRRQB0fhPxJLo96lrPKBps8o84PkiEnAMgwCcgdQAdwGOoUj1V0MbYJVgQGVkYMrKRkMCOCCCCCOCDXg9df4R8X/2YE0zU3ZtOJPlS4LG2JOTwOShJyVHIJLLzkN6+W5h7B+zqfC/w/wCAcWLw3tFzx3/M9HopWUrjlSCAyspBDAjIII4IIIII4INJX1Caaujx9gooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVma9r1t4dsVmmVZbqUE21sSRv7b2xyEBB92IIHRmXKtWhRg5zdkioQlOXLEi8Va2fD2kxyxPCb64OIIn5ITnMu3GCARgZwCf7wVhXkk00txNJNNI8ksjF3d2JZmJySSepNTX9/danfS3t7M01xKcs547YAAHAAAAAHAAAHAqtXx+Mxc8TU5nt0R7tChGlGy3CiiiuQ2CiiigAooooAKKKKACiiigAooooAKKKKAOs8M+NZNGtDp19A13Y5zCVfD2xLZbbn7ykEnYcfNyCuW3ekRSRz28VxBIssEy745E+669Mj8QQR1BBBwQRXhdbvh/xXqGgfuEbztPeUSS2r4wxxglWwSjYxyOu1chgAK9XAZlLD+5PWP5HHicIqnvR3PWaKqaXqdnrVm95p7u8KPscSKFeM843KCcZAyOSDzzkEC3X1FOpGpFSg7pnjyi4u0twoooqxBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRTo43lkWONGd2OFVRkk+wrj9e8dxaext9FdZb2OXDXLIkkSgYPyA5D5ORkjbgHG7II5sTiqeHjzTfy7mtKjKq7RNXXvFVp4blSJ7YXl4y7xblyqoCuVaQjnBODtGCV5yuVJ8r1DULrVL+a9vZmmuJTl3OB7AADgAAAADgAADgVFPPLczyTzyvLNKxeSSRizOxOSSTyST3qOvk8XjKmJnzS26I9qjQjSjZBRRRXIbBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAWLG9udNvYry0lMU8TbkYAH8CDwQRwQeCCQa9M0Lxpp+s4hvPJ06+O9iGbZbsByAruxKtjPDHnbwxLBa8rorpw2Lq4eV4P5dDKrRhVVpHvDo8bskisrqcFWGCDTa8r0LxjqGiwx2hVLqxViRDIMMmSC2xxyOhwDlQWJ25NekaZrGl64caXd+bJz/o0q+XOB838GSG4UsdhYAYyR0r6bC5nRr6P3Zdn+h5NbCTp6rVFyiiivROUKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKXAEbyu6RxJjfLK4REycDcxwByQOT3pNqKuwSbdkJUF9eWumWT3l9OkMKqSoZhvlIxlUXqxyy9OmcnA5rmNd8eWVrEIdEYXdwc77iWIiJAV4KA4ZmBP8QABXo4OR5/f31zqd9Ne3kpluJm3OxAH4ADgADgAcAAAcV4uLziEPdo6vv0/4J30cDKWtTRHQ+J/GUuspJYWcfkab5mQSMSzgYx5nJAGQW2jgEjJYqDXLUUV89Uqzqy55u7PUhCMFaK0CiiisygooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOv0n4g6laHy9UT+04efnkfbOD8x/wBZg7skjO8McKANtdfpXinR9VgLC8itZkXdJDduI8YC52sTtYZOAM7jgnaBXkNFd+HzGvQ0TuuzOarhadTVqzPeJI3ikaORGR1OCrDBH4U2vIdP8U65pcCwWuozC3RGRIZcSxxgtuO1HBCnOTkAHk+prqrD4j20sm3VNNMIZ2JksW3BV28ARuck7up3jg9OOfZo5zRnpUXK/vRw1MBUXw6naUVl6b4j0XVEzDqVvDIEZ2iu3EDKA2OS2EJOQcKxOD7HGw0EqQxTNG4ilUPHJj5XUjIKnoQRyCK9KniKVX4JJnJOnOHxKxHRRRWxAUUUUAFFFFABRRRQAUUUoBYgAEk9AKAEopLx4tNyNQuILNhEZwlzKsTsgzyqsQzfdIG0EkjAya5y88eaHa+csH2m9kTb5ZiTy4pM4z8zfMuAT/AeR6HNctXG4el8c0awoVJ/CjpKZcTwWcImvLiG2iKuytPIE3hRltueWIyOFyeRxyK851D4harc70sY4LGI+YoKL5khRumWbOGA6MgQ5OfTHM3l7d6jdPdXtzNc3DgBpZ5C7tgADJPPAAH0FeXXzuK0pRv5s7KeXvebPQNQ+IllayyR6dZG9K8JNOxSIkNz8gwzKVHB3IcnkcYPEaprepa1Ir6hdvNs+4mAqJwAdqDCrnaM4HOMnJrPorxa+LrV3+8l/kd9OjCn8KCiiiuc1CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACp7S8utPukurK5mtrhM7ZYZCjrkEHBHIyCR+NFFAGxbeNPENrbvCuomRXcuWniSZ8kAffdS2OOmcdfU1pf8LH1P7PHH/Z+nb0QK0u2Xc5A+8fnxk9eAB6AUUVvDFV4fDN/eZyo05bxRqS/EuwJPk6BcoP8Ab1BW/lCKS0+ItlJeIt7YXFvanO+SF1mccHGFOwHnA6j156UUV0LM8Wvt/gv8jJ4Si/smmfHvhXtJrP8A4Axf/HqhvPH/AIeS0kayXU5rkY2RzW0cSNyM5YSMRxk/dPpx1BRVf2ri/wCb8F/kL6nR7fmZ0fxJgH+s0WRv928A/wDaZqvefEiZrhWsNKhihCAMl1K0xLZPIK7MDGOMevPoUVEsyxUt5/kUsLRX2SldfELW5rhJbZbOyCoFMcUAkVjk/MfN3nPOODjgcdax7zxFrN/HcRXOqXTwXDb5YBKViY7t3+rGFABwQAMDAx0oormnXq1Pjk38zWNOEfhVjMooorIsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k=",
                        "family_name_national_character" : "Doe",
                        "given_name_national_character" : "John",
                        "signature_usual_mark" : "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"
                      }
                    },
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          },
                          "portrait_capture_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "biometric_template_face" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "signature_usual_mark" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          }
                        }
                      }
                    }
                  }
                },
                "mDL example - Authorization code flow with password authentication method and configuration mapping ID token claims to credential data" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "org.iso.18013.5.1.mDL",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "given_name" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT",
                        "resident_address" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE"
                      }
                    },
                    "authenticationMethod" : "PWD",
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "idTokenClaimsToCredentialDataJsonPathMappingConfig" : {
                      "$.family_name" : "$.['org.iso.18013.5.1'].family_name",
                      "$.given_name" : "$.['org.iso.18013.5.1'].given_name",
                      "$.address" : "$.['org.iso.18013.5.1'].resident_address"
                    },
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                },
                "Multiple namespace example - mDL + PhotoId" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "com.example.multi-namespace.mDoc",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "Doe",
                        "given_name" : "John",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT"
                      },
                      "org.iso.23220.photoid.1" : {
                        "person_id" : "123456",
                        "birth_country" : "US",
                        "birth_state" : "NEVADA",
                        "birth_city" : "Austin",
                        "administrative_number" : "654321",
                        "resident_street" : "Some Street",
                        "resident_house_number" : "House #1",
                        "travel_document_number" : "123456789",
                        "resident_state" : "Some State"
                      }
                    },
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                },
                "Multiple namespace example - mDL + PhotoId - Authorization code flow with password authentication method and configuration mapping ID token claims to credential data" : {
                  "value" : {
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "credentialConfigurationId" : "com.example.multi-namespace.mDoc",
                    "credentialData" : {
                      "org.iso.18013.5.1" : {
                        "family_name" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "given_name" : "REQUIRED PLACEHOLDER VALUE - WILL BE REPLACED BY ID TOKEN CLAIM VALUE",
                        "birth_date" : "1986-03-22",
                        "issue_date" : "2019-10-20",
                        "expiry_date" : "2024-10-20",
                        "issuing_country" : "AT",
                        "issuing_authority" : "AT DMV",
                        "document_number" : "123456789",
                        "portrait" : "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",
                        "driving_privileges" : [ {
                          "vehicle_category_code" : "A",
                          "issue_date" : "2018-08-09",
                          "expiry_date" : "2024-10-20"
                        }, {
                          "vehicle_category_code" : "B",
                          "issue_date" : "2017-02-23",
                          "expiry_date" : "2024-10-20"
                        } ],
                        "un_distinguishing_sign" : "AT"
                      },
                      "org.iso.23220.photoid.1" : {
                        "person_id" : "123456",
                        "birth_country" : "US",
                        "birth_state" : "NEVADA",
                        "birth_city" : "Austin",
                        "administrative_number" : "654321",
                        "resident_street" : "Some Street",
                        "resident_house_number" : "House #1",
                        "travel_document_number" : "123456789",
                        "resident_state" : "Some State"
                      }
                    },
                    "authenticationMethod" : "PWD",
                    "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n" ],
                    "idTokenClaimsToCredentialDataJsonPathMappingConfig" : {
                      "$.family_name" : "$.['org.iso.18013.5.1'].family_name",
                      "$.given_name" : "$.['org.iso.18013.5.1'].given_name",
                      "$.email" : "$.['org.iso.23220.photoid.1'].person_id",
                      "$.sub" : "$.['org.iso.23220.photoid.1'].administrative_number",
                      "$.address" : "$.['org.iso.23220.photoid.1'].resident_street"
                    },
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.18013.5.1" : {
                        "entriesConfigMap" : {
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "issue_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          },
                          "driving_privileges" : {
                            "type" : "array",
                            "arrayConfig" : [ {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            }, {
                              "type" : "object",
                              "entriesConfigMap" : {
                                "issue_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                },
                                "expiry_date" : {
                                  "type" : "string",
                                  "conversionType" : "stringToFullDate"
                                }
                              }
                            } ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Credential offer URL created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                },
                "examples" : {
                  "Example credential offer URL" : {
                    "value" : "openid-credential-offer://?credential_offer_uri=https://issuer.example.com/openid4vc/draft13/credential-offer?id=550e8400-e29b-41d4-a716-446655440000"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - credential configuration not found, invalid credential data, or validation failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to issue credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/.well-known/openid-configuration" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get OpenID Provider metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the OpenID Provider metadata for the issuer service. This endpoint provides discovery information for OpenID4VCI flows.\n\n**Use Cases:**\n- Wallets discover issuer capabilities and endpoints\n- Support OpenID4VCI metadata discovery\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns provider metadata including supported features, endpoints, and credential formats\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "responses" : {
          "200" : {
            "description" : "OpenID Provider metadata retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/.well-known/openid-credential-issuer" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get OpenID Credential Issuer metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the OpenID Credential Issuer metadata for the issuer service. This endpoint provides discovery information specific to credential issuance.\n\n**Use Cases:**\n- Wallets discover credential issuer capabilities\n- Support OpenID4VCI credential issuer metadata discovery\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns credential issuer metadata including supported credential formats and issuance endpoints\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "responses" : {
          "200" : {
            "description" : "OpenID Credential Issuer metadata retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/.well-known/oauth-authorization-server" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get OAuth Provider metadata",
        "description" : "Permissions: None required  \nAccepts targets: [IssuerServiceReference]  \n\n---\nRetrieves the OAuth Provider metadata for the issuer service. This endpoint provides OAuth 2.0 discovery information for authorization flows.\n\n**Use Cases:**\n- Wallets discover OAuth authorization server capabilities\n- Support OAuth 2.0 metadata discovery for credential issuance\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns OAuth provider metadata including authorization and token endpoints\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "responses" : {
          "200" : {
            "description" : "OAuth Provider metadata retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/jwks" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get public key jwks",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the JSON Web Key Set (JWKS) for the issuer service. This endpoint provides public keys used for JWT verification.\n\n**Use Cases:**\n- Wallets retrieve issuer public keys for JWT verification\n- Support JWT signature verification in credential issuance flows\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns public keys used for signing credentials and authorization responses\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "responses" : {
          "200" : {
            "description" : "JWKS retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/credential-offer" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get a credential offer based on the session id",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the credential offer object for an issuance session. This endpoint is invoked by wallets to obtain the credential offer details.\n\n**Use Cases:**\n- Wallets fetch credential offers to understand issuance requirements\n- Support OpenID4VCI credential offer retrieval flows\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Session ID is provided as a query parameter\n- Returns credential offer containing credential configurations and authorization details\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "Issuance session identifier",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Credential offer retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuance session not found or expired",
            "headers" : { }
          },
          "500" : {
            "description" : "Internal server error while retrieving credential offer",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/authorize" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Authorization endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nHandles authorization requests for credential issuance flows. Processes authorization request parameters and redirects to the appropriate endpoint based on authentication method.\n\n**Use Cases:**\n- Handle authorization code flows for credential issuance\n- Support ID token and VP token authentication methods\n- Process password-based authentication flows\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Redirects to external authentication server for password-based flows\n- Returns authorization code or redirects with ID/VP token for other flows\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "responses" : {
          "302" : {
            "description" : "Redirect to authorization response or external authentication server",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid authorization request parameters",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/direct_post" : {
      "post" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Direct Post endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nReceives authorization responses via direct POST method. This endpoint processes ID tokens, VP tokens, and presentation submissions from wallets.\n\n**Use Cases:**\n- Receive authorization responses in direct POST mode\n- Process ID token and VP token authentication\n- Handle presentation submissions for VP token flows\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Request body contains state, id_token, vp_token, and presentation_submission in form-encoded format\n- Redirects to authorization response redirect URI after processing\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "requestBody" : {
          "description" : "Direct POST request parameters in form-encoded format",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "title" : "LinkedHashMap<String,ArrayList<String>>"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "302" : {
            "description" : "Redirect to authorization response redirect URI",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - missing state, invalid id_token/vp_token, or validation failure",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/token" : {
      "post" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get access token",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nExchanges an authorization code or pre-authorized code for an access token. This endpoint is part of the OAuth 2.0 token exchange flow in OpenID4VCI.\n\n**Use Cases:**\n- Wallets exchange authorization codes for access tokens\n- Support pre-authorized code flows for credential issuance\n- Complete OAuth 2.0 token exchange in OpenID4VCI\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Request body contains grant type, code, and redirect URI in form-encoded format\n- Returns access token used for credential request endpoint\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "requestBody" : {
          "description" : "Token request parameters in form-encoded format",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string",
                  "title" : "String"
                },
                "title" : "LinkedHashMap<String,String>"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Access token retrieved successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid token request - invalid grant type, code, or parameters",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/credential" : {
      "post" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get credential",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRequests and retrieves a credential from the issuer. This endpoint is called by wallets after obtaining an access token to receive the issued credential.\n\n**Use Cases:**\n- Wallets request credentials after authorization\n- Complete credential issuance flow in OpenID4VCI\n- Receive issued credentials in various formats\n\n**Important Notes:**\n- This endpoint requires authentication via Bearer token (access token)\n- Request body contains credential request with format and type specifications\n- Returns issued credential in the requested format\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        }, {
          "name" : "Authorization",
          "in" : "header",
          "description" : "Bearer token (access token) for authentication",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "X-Request-ID",
          "in" : "header",
          "description" : "Call-ID for request tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "856e4318-98f9-4895-8d47-1f7f92d0c435"
        } ],
        "requestBody" : {
          "description" : "Credential request containing format and type specifications",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "title" : "*"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credential issued successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid credential request - unsupported format, missing parameters, or validation failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid or expired access token",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          },
          "500" : {
            "description" : "Internal server error while issuing credential",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/.well-known/vct/v1/{target}/issuer-service-api/openid4vc/{standardVersion}/{type}" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get VCT type metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the Verifiable Credential Type (VCT) metadata for a specific credential type. This endpoint provides discovery information for SD-JWT VC credential types.\n\n**Use Cases:**\n- Wallets discover VCT metadata for SD-JWT VC credentials\n- Support SD-JWT VC credential type discovery\n- Retrieve credential type-specific metadata\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns VCT metadata including credential format, claims, and issuance details\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n- Type parameter specifies the credential type identifier\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        }, {
          "name" : "type",
          "in" : "path",
          "description" : "Credential type identifier",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "VCT type metadata retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Credential type not found or issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/.well-known/jwt-vc-issuer/v1/{target}/issuer-service-api/openid4vc/{standardVersion}" : {
      "get" : {
        "tags" : [ "Service | Issuer Service" ],
        "summary" : "Get JWT-VC issuer metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the JWT-VC issuer metadata for the issuer service. This endpoint provides discovery information for JWT-based verifiable credentials following the SD-JWT VC specification.\n\n**Use Cases:**\n- Wallets discover JWT-VC issuer capabilities\n- Support SD-JWT VC issuer metadata discovery\n- Retrieve issuer metadata for JWT-based credentials\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns JWT-VC issuer metadata including supported credential formats and endpoints\n- Standard version parameter specifies OpenID4VCI draft version (draft13 or draft11)\n- Follows the SD-JWT VC issuer metadata specification\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/issuer-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "standardVersion",
          "in" : "path",
          "description" : "The value of the standard version. Supported values are: draft13 and draft11",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "draft13"
        } ],
        "responses" : {
          "200" : {
            "description" : "JWT-VC issuer metadata retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Issuer service not found",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nUpdates the configuration for Issuer Service instance2. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/issuer2"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/configuration/openid-metadata/display/view" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "View display metadata configuration for this Issuer Service instance",
        "description" : "Permissions: ANY OF: [ES_ISSUER_GET_DISPLAY_CONFIGURATION]  \nOperation: 'issuer-configuration-display-view'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nRetrieve the display metadata configuration that is associated with this issuer service instance.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Display Metadata Configuration",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
                  },
                  "title" : "ArrayList<IssuerDisplayConfiguration>"
                },
                "examples" : {
                  "Example response with configured display information" : {
                    "value" : [ {
                      "name" : "walt.id Enterprise Issuer Service",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "http://cdn.walt.id/issuer/logo.png",
                        "alt_text" : "logo specific text goes here"
                      }
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/configuration/openid-metadata/display/update" : {
      "put" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "Update display metadata configuration for this Issuer Service instance",
        "description" : "Permissions: ANY OF: [ES_ISSUER_UPDATE_DISPLAY_CONFIGURATION]  \nOperation: 'issuer-configuration-display-update'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nUpdate the display metadata configuration that is associated with this issuer service instance.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
                },
                "title" : "ArrayList<IssuerDisplayConfiguration>"
              },
              "examples" : {
                "Single-entry example with human-readable name" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service"
                  } ]
                },
                "Single-entry example with human-readable name and logo URI" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  } ]
                },
                "Single-entry example with human-readable name, logo URI and alternative text" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png",
                      "alt_text" : "alternative logo specific text goes here"
                    }
                  } ]
                },
                "Single-entry example with human-readable name, logo URI and en-US specific localization" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "locale" : "en-US",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  } ]
                },
                "Multi-entry example for different localizations" : {
                  "value" : [ {
                    "name" : "walt.id Enterprise Issuer Service",
                    "locale" : "en-US",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  }, {
                    "name" : "walt.id Enterprise Issuer Service",
                    "locale" : "en-GB",
                    "logo" : {
                      "uri" : "http://cdn.walt.id/issuer/logo.png"
                    }
                  } ]
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Display metadata configuration updated successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
                  },
                  "title" : "ArrayList<IssuerDisplayConfiguration>"
                },
                "examples" : {
                  "Example response body" : {
                    "value" : [ {
                      "name" : "walt.id Enterprise Issuer Service",
                      "locale" : "en-US",
                      "logo" : {
                        "uri" : "http://cdn.walt.id/issuer/logo.png",
                        "alt_text" : "logo specific text goes here"
                      }
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/configuration/openid-metadata/display/delete" : {
      "delete" : {
        "tags" : [ "Service | Issuer Service API v2 - Service Management" ],
        "summary" : "Delete display metadata configuration for this Issuer Service instance",
        "description" : "Permissions: ANY OF: [ES_ISSUER_DELETE_DISPLAY_CONFIGURATION]  \nOperation: 'issuer-configuration-display-delete'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nDelete the display metadata configuration that is associated with this issuer service instance.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/credentials/profiles" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "View credential profile",
        "description" : "Permissions: ANY OF: [ES_ISSUER_GET_CREDENTIAL_PROFILE]  \nOperation: 'issuer-credential-profile-view'  \nAccepts targets: [StoredCredentialProfile2]  \nRequires authentication.  \n\n---\nGet one credential profile. The profile ID is taken from the target.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Credential profile",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialProfile"
                },
                "examples" : {
                  "View profile response" : {
                    "value" : {
                      "profileId" : "profile-mdoc-photo-id-default",
                      "name" : "mDoc photo ID profile",
                      "credentialConfigurationId" : "org.iso.23220.photoid.1",
                      "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                      "x5Chain" : [ {
                        "type" : "pem-encoded-x509-certificate-descriptor",
                        "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n"
                      } ],
                      "credentialData" : {
                        "org.iso.23220.photoid.1" : {
                          "age_over_18" : true,
                          "issuing_country" : "AT",
                          "given_name_unicode" : "GnameU",
                          "family_name_unicode" : "FnameU",
                          "birth_date" : "2003-12-21",
                          "issuance_date" : "2025-12-13",
                          "issuing_authority_unicode" : "Walt.id Issuer",
                          "expiry_date" : "2026-12-13",
                          "portrait" : "/9j/4AAQSkZJRgABAQIAJQAlAAD/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAMAAAITAAMAAAABAAEAAAAAAAAAAAAlAAAAAQAAACUAAAAB/9sAQwADAgICAgIDAgICAwMDAwQGBAQEBAQIBgYFBgkICgoJCAkJCgwPDAoLDgsJCQ0RDQ4PEBAREAoMEhMSEBMPEBAQ/8AACwgBsQFoAQERAP/EAB4AAQABBAMBAQAAAAAAAAAAAAABAgcICQMEBgoF/8QASRAAAQMDAwMCBQAHBAYGCwAAAQACAwQFEQYHEgghMQlBEyJRYXEUIzJCUoGRFWJyshgzOHWCwhZDobHR8CQlJjQ1REaFs8PU/9oACAEBAAA/ANqL/ZSPClERERERERERERERERERERERERERERUv9vypHhSiIiIiIiIi4Q93/k5I/Psvy7/qiw6Vtk961LfaG1W+mbzmqq2pZTwsbj9oveQGjse5IH3Vir16hnRpYq6S31u/thfNE7DjSRVNXFn7SQxPa4fgrqD1J+iR/wCxvxbj/wDa7gP/ANC/E1f6pPRhpaifUUu51VqCpa3Io7RZqt8z/wAOljZEP+J4Vuz60HS04fq9GbnfztND/wD2LyJ9bDa4ainp27M6pdYW5+BXfp8H6U/s0/NT44M7kj/Wu8L8mq9bvTUdZPHQ9Pd1nphK4QSS6jjje6MeHOYKd3B31bycB7OXYqfW30T+kUYpNi72ad7miqfLeImvYD5MYbE4Px93NVwZ/WQ6WYqlsAse4UzBHHI+aC1Uvw2lzWuMeX1IcXMyWO+XBcxxa4tw53vtLeqP0YanjgbNunPY6mVveC6WesiLHfwue2N0Y/Iesk9F670luLYabVWhtTW++WirGYauhnbLE7/ibnv9shejRERERERERERUv9vypHhSiIiIiIijIX5V6vtu07bKq9Xy501voKCB9TU1NRK2KGGJgy973uOGtaO5JIA8Ela5t5vWY0pp7UE9j2W0B/0opaaV0ZutxqX00VRxdjMUQHMtJ/ZLi0keWrEDfD1N+pzeCpMNs1M3RVoc3j+gWF5j5fd8zsyH+RasbNS7n7k6ypP7P1buHqS90jZPitguN1nqYw/+INkcRnv5XmCSexPhEySMEnAQEjwSnJx8uP8AVTyd/Ef6pyd3+Y9/Pfyge8Yw89vHfwo5O+pVydpuoPenZKsM+1m4d3sTXSfEkpoJS6CQ/V0Tg5hP5C2JdNnrERzPp9MdS1mFO48YxqK0U5c0Euxymp25+UDuXMz/AIXLZbpTWGntb2Ci1TpC/Ul5s9yiZNSV1FM2aCVjs9w9p748HuDkY/aBC/fyFKIiIiIiIiKl/t+VI8KURERERRkfVdK43KitlHLcLhcKekpIGfFlmnlDGMZ/E5xIDR9z2WIPUJ6oPTxs02W1aSvTNf6gAcBTWWpa+lheOwEtSAYwM+zC4/XitPu8PUzvPvdqC63vWuvr1LT3Ob4ptcddIyiiZz5RxthDuBDfqRlWlyfGShJPknsiIiIiIiZP1VTXuJ7uJ8nz9fKvv0zdXe7/AEwaghuGjL1UVFikmDq6xVUhdSVLB+3huPkecftNwR75W7jpv6v9nOp2xCs0BqNkd7hjY64WKsIiraJ3FvLLCf1rORAD4+QPIAlrsht9GOLhnPnwqh4UoiIiIiIipf7flSPClERERFB8K12/m/m33Ttt/Xbg7hXcU9NSjFNSxvBqK6Y/sxRM8kl2AfZoBJ+UFaZOsT1B9fdVdJT6Uo7QNK6UpZnSuoYKovfWOPYGd/ytOG/ugYysRnPz4Kjk7OeRz9cqEREREREREU83YI5HBxkZ8r9vSurNS6HvtLqXSN7rbNdaJwkgq6SZ0U0Z98EHJB75Hus/Omz1dtyNJV9Hp7qApRqqxktjddKSJkdxp2+73BoDJh3OR8rhjsVte2z3R0JvFouh17ttqilvlkr2coqmne5pYWn5mPY4B0cjT+0x7Q4HsQAvYZb9VUiIiIiIipf7flSPClERERF4vdXdLR+zWgLzuVr28C32ayUxnne7HKR2QGRRtP7Ukji1jWeSXADHcrQj1k9WN16rtxo9WSWR1ms1ugNLbaAzukw3k4mR/fjzcCMhoAGBhY85I8EoiIiIiIiIiIiZOMZU8nYI5HBOSMq+nS71abldK+sf7b0VXGostdLH/a1kmcTTVjB5IHlkgGeLx3GRnK3v9P3UJt51Jbe0e4e3V1E8M2I62ieQKi3VAALoZmeWuwcg+HN4ubkOBN0g5rhkFVIiIiIiKl/t+VI8KURERF1pKhkeXukwG+SQcAfnOMDySfZaS/U96vnb27iO2m0TdXS6K0hUPY+SneTDX1wy18vbs5rAXNaT7lx+iwU5HOcnP1RERERERERERERE5H6lXn6Yep3X/S3uFHrjRtQailnaIbpapXEQ3CnySQ7HhwJPF3kZOFvq6c+oHRPUttbQboaFndHT1DjTV1HKQZrfWMDTJBJjsDhzHA+C17XeCALroiIiIiKl/t+VI8KURERFrd9UPreOgbTV9O21l1lh1LdIf/aC4U7+JoqRzDmna7yJXjHI+zPl8uHHT2ZHZJ8E+VSiIiIiIiIiIiIiIp5OHhx/qspegrq6uvSzueyS4zSz6K1G+OmvlKCeMBzgVTR/EweR7sJ/hC36W250d2oKa522qZU0tZEyeGVjgQ+N4Ba4Y7EEEH+a7yIiIiIqX+35UjwpRERF1KqshoKeWsq52xQQsdJJI92A1gBJJz2wACST9F81fUHraPcXfLXWuKOsdWU13vlZUU0/f9ZAJSI3j6Dg1uPsrbIiIiIiIiIiIiIiIiqD3e3t2W5n0jepiu3J23r9kNVVj57toWJklrnleC6W2PPFsZ9/1TsN/wALox4C2GoiIiIipf7flSPClEREWIXqi7nXvbDpJv79P1bqWr1VXU2nDO1+HMhna90wb75dFDI37CRx8gLQq4nx7fRQiIiIiIiIiIiIiIiIskugzqEh6dOoexasulVwsN2YbPeXPGGx00zwBIT7CNwZJgecFfQZSVcVZBHVU0okgmjbJG9juTS0jIcD75BBXaRERERUv9vypHhSiIiLU960u7sNZdNE7JUTnl1vEl+uAz8vKRpjhbjxkN59/wC+tXCIiIiIiIiIiIiIiIiKQ5w8OI9/K3++nJv1Qb5dNFha74kd60bHFpy6xySc3ySQwsMdQCe/GVhae/hwkb4asqkREREVL/b8qR4UoiIi0ber+T/pcTDPjT9v/wArlhAiIiIiIiIiIiIiIiIiLZF6K2sqm3bua60BLWsbRXqwxXFkLnY+JPTzhgLR9fhzSE/YLcKCD4KlERERUv8Ab8qR4UoiIi0besAT/pczdv8A6ft/+VywgRERERERERERERERERFkF0Kbnt2m6p9Bamq68UlBUXFtrrpSwvAgqmmEjiO+fmAz7eV9EDMeGuOCBj8fUELmREREVL/b8qR4UoiIi0besAR/pcz+f/gFv/yuWECIiIiIiIiIiIiIiIiIuSnnnp5o56eZ8UsTg+N7HFrmuB7EEeCPqvpd6fNbU24uymiNb0tQ6Vl4sVJUF7hhxcY2h+e5+bkDkexJHsrjoiIiKl/t+VI8KURERaNvV/8A9rmb/cFD/lcsIERERERERERERERERERS3yt43pBatOoekdljfE9h0xqS4Wscz2c14jqwQP3R/wClHt9QSs4URERFS/2/KkeFKIiItG/rAf7XE3+4Lf8A5XLB9EREREREREREREREREUt8ra56I2pbu+3bqaPkqy61001rucFO5o4x1ErZ45XNI8l7IYgQfHwxj95bS0RERFS/wBvypHhSiIiLRt6wP8Atcz/AO4Lf/lcsIEREREREREREREREREFnr6P+5dZo/qRr9BTOlFHrWzTQFpIDG1FMfixyHIySGiZgwcD4hJBwt17Hl2Sexb7LkRERFS/wBvypHhSiIiLRr6vzg7q7qG/Sw2/wDyuWEKIiIiIiIiIiIiIiIiIivn0WsrH9V21kdDK5lQdSUgif27Hlj7/ugjB8ecr6MYuOMg5JXIiIiKl/t+VI8KURERaPPWAs90o+rJ1yrKb4dJcNP0MlI/OfitZljj9sODv6LBpEREREREREREREREUs7nus7PR/0db9RdU1XfK0P+PprTNXcKZjQCHufJDTkkEfuiY4wQeWM5GVu2jAGcBcqIiIqX+35UjwpRERFqP9aPb7UrtYaI3WdC+SwutxsImAbiOpEks7Wu7/ALzXOI9vkJ+gWsh3lQiIiIiIiIiIiIiIiIiePC2ieiDSRS3/AHZrJG/rIqO0RNz44vdUk/z+Qf1W2PAHgBSiIiKl/t+VI8KURERWL6zNoX759NeundvKWNz7jVW8VttDSGn9LpntnhZyPYB74+DneQyRxHcBfOpU00tLNLS1EL4pYnFj2PbhzXNJBBHsRggj6hdZERERERERERUuUjwpRERERERUPaXsLQ4j7grgp7fS0vzRRAPPfk7uf6rscV0LpaYLpCY5gAR2Y4DuFiP1PbOUWltaaf3qs9DM6RwfY7t+h07nvkE5DYJZQHD5GPBbni7HPPysa4ho+5VX6RDLRu4SR4EQhdwIz57lZH6B1z/AG7Rspbm9jatrMveHDB+xx4K9uD9e2fGCutXUdNXU0tFWRMkhnHGRjh5B8fzz3/K0keqBt1U7cbhWm0Ptc8lNI2eeiujiXNkgJaTEfbmHZJHjzhYPOc/JHJ3bHv9PC2U+jztJqW56s1huNX2uJ2kn28WOYyO5ionJZJwDAD+yOJcTjGQAPPHbpFTwxwtihaAwM4tbjtj6YXKY2kEAYz9F5/VulKHVFtdTTt+HNH88Ew8xSfULq6Mu1wbG/TuocC50AwXAYE8X7rx9Tjz916nLs+FWiIiIiIiIiKl/spHhSiIiIiIiKMBSowfqvxdU6coNVWCv07XtBhuETo3nGcEtwHfkEAg/ZYn26xXDQl+msN2gIkp5CwF2eTmt/ex44kYcD58hfvamrqegsT6p1RiWHlIwDLMOHjBH1X73T/1N2fXlSNKXi6U0lyc+RlJUtfls72OLHxHsAHNeOGM5LwW+V39+t/aPbyGutc1bFQVVG01LpZZOLGRBpPxeZ7YbguJOAOBBI+bOInWXeouqzovuO49rt8kGodt70aW+UrYHu5RxOLDM3IB+E6N7Zg4FzQ1xwTjksC+k3pV1t1Vbix6V09G6js1Fxmvd2czLKSE9+Lc9nSu7ho/Lj2AX0A7cbb6O2p0ZbNCaHssFss9ogEFPDG3j2Hklx7ucTlxd5JJPuvW4HjClUkDzgdvC/MuNmiqqmK5RH4dVB3ZJ9R/Cft9l3YJXyN/WDi8ftN/h/n7rsIiIiIiIiIipf7flSPClEREREREREUcW5zjurC70X+x2/dHQmiX2urqrxreWppqZ8FOHsp2UzPiPmmPJpbGAex75JwvH9RmnnaC25rtUagmdFZ6KJ1RVPow97qYNbycSA3Lm8QQMd8rSnrjdJzt1arXm11TX2FrHOdTSh7mTlzub5HuaXODS573HA+VpwQFslgvtn64emHSu5d6t0N01VpCWGh1FR8S7408JAZUcPl+U8g/95gD3Ak91cTpg6drTSaH3O2baKqm05q23/BdTtbxjpjIz4buBHcuyS8vdl3doPFvEDJjp86e9uOm/Q8eiNu7WYIHETVVTJl0tVNxa1z3P9yeOQB27lXUDGNxxYBjsMDwqkRU8fupwPOApRERERERERFS/wBvypHhSiIiIiIiIijIXE57I2Oke/i1uS4k9gB5OT7LGbYvWOm9+9/debqWuOtmodBudo2gnnje2CSUPL6qWHm0ZLXMYwu9+IPuOX6HVVufbLJpQ6ZLppZq95iayGN0oyGucS4gfKz5S3m75cuxnl2WgnWNqo7Lqm8Wukke9lDcqqlIbFxY1rJS1hB5OzyDc/b2yrrdL3VTrDpgv13r7NRtu1qvVukpqu1TPLKeaXAEUj/lJzGQR2+p+gW+zY+Ww3XazTOptOvMtDqK20t5hlexzC9tREJWkBwBxh3YFvurghjB4aB49voqkRERERERERERERQfClEREREREREXXMxbOIPhvy5vLljsD9FwXO20t3oKi2V8ZdBUxvjkDXFp4Hz3C8PT6Q0ztNo8WDbPRQt9NM88o7ZSPc8y8cCWV2C+RxIAdJIS45ySsO+qay71DQt0u2ituNU3+7syKWlprJU1L+T3NbyDGMJeG5JIA7gLWTF0l9WV7ufw3dO2576qrkc901Xpiuja5zgS4vlkiABPfJc4ZJ+qyzsXp7a10L0xul1FoK7XDcfcu7Wu2QQ0Vtmq3aYoHTtMstV8Np4AYDnjsAAAXHBW2bQGnrLpDR9n0hpygkorVp6jhtFFC9paWwUzBCwDPzEAMADj3d5XqERERERERERERERFB8KURERERERERUDwPypb4/mf+9daf/3ln+GT/KFVL5f/AIz/APjU/wDWf8X/ADKlnhv5b/yLl/6w/wCP/lXKiIiIiIiIiIiIiIv/2Q=="
                        }
                      },
                      "idTokenClaimsMapping" : {
                        "$.family_name" : "$.['org.iso.23220.photoid.1'].family_name_unicode",
                        "$.given_name" : "$.['org.iso.23220.photoid.1'].given_name_unicode"
                      },
                      "mDocNameSpacesDataMappingConfig" : {
                        "org.iso.23220.photoid.1" : {
                          "entriesConfigMap" : {
                            "issuance_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "birth_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "expiry_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "portrait" : {
                              "type" : "string",
                              "conversionType" : "base64StringToByteString"
                            }
                          }
                        }
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "Update credential profile",
        "description" : "Permissions: ANY OF: [ES_ISSUER_UPDATE_CREDENTIAL_PROFILE]  \nOperation: 'issuer-credential-profile-update'  \nAccepts targets: [StoredCredentialProfile2]  \nRequires authentication.  \n\n---\nUpdate an existing credential profile addressed by target. Version is incremented automatically.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialProfileUpdateRequest"
              },
              "examples" : {
                "Update SD-JWT profile request with SD-JWT selective disclosure config (birthdate disclosed, family_name hidden)" : {
                  "value" : {
                    "name" : "SD-JWT VC profile (updated)",
                    "credentialConfigurationId" : "identity_credential",
                    "issuerKeyId" : "waltid.tenant1.kms1.key2",
                    "credentialData" : {
                      "given_name" : "Jane",
                      "family_name" : "Doe",
                      "email" : "johndoe@example.com",
                      "phone_number" : "+1-202-555-0101",
                      "address" : {
                        "street_address" : "123 Main St",
                        "locality" : "Anytown",
                        "region" : "Anystate",
                        "country" : "US"
                      },
                      "birthdate" : "1940-01-01",
                      "is_over_18" : true,
                      "is_over_21" : true,
                      "is_over_65" : true
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "iat" : "<timestamp-seconds>",
                      "nbf" : "<timestamp-seconds>",
                      "exp" : "<timestamp-in-seconds:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "birthdate" : {
                          "sd" : true
                        },
                        "family_name" : {
                          "sd" : false
                        }
                      }
                    },
                    "idTokenClaimsMapping" : {
                      "$.family_name" : "$.family_name"
                    },
                    "credentialStatus" : {
                      "statusCredentialConfig" : "waltid.tenant1.credential-status.revocation",
                      "initialStatus" : "0x0"
                    }
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Updated credential profile",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialProfile"
                },
                "examples" : {
                  "Updated SD-JWT profile response with SD-JWT selective disclosure config (birthdate disclosed, family_name hidden)" : {
                    "value" : {
                      "profileId" : "profile-sd-jwt-vc-default",
                      "name" : "SD-JWT VC profile (updated)",
                      "version" : 2,
                      "credentialConfigurationId" : "identity_credential",
                      "issuerKeyId" : "waltid.tenant1.kms1.key2",
                      "credentialData" : {
                        "given_name" : "Jane",
                        "family_name" : "Doe",
                        "email" : "johndoe@example.com",
                        "phone_number" : "+1-202-555-0101",
                        "address" : {
                          "street_address" : "123 Main St",
                          "locality" : "Anytown",
                          "region" : "Anystate",
                          "country" : "US"
                        },
                        "birthdate" : "1940-01-01",
                        "is_over_18" : true,
                        "is_over_21" : true,
                        "is_over_65" : true
                      },
                      "mapping" : {
                        "id" : "<uuid>",
                        "iat" : "<timestamp-seconds>",
                        "nbf" : "<timestamp-seconds>",
                        "exp" : "<timestamp-in-seconds:365d>"
                      },
                      "selectiveDisclosure" : {
                        "fields" : {
                          "birthdate" : {
                            "sd" : true
                          },
                          "family_name" : {
                            "sd" : false
                          }
                        }
                      },
                      "idTokenClaimsMapping" : {
                        "$.family_name" : "$.family_name"
                      },
                      "credentialStatus" : {
                        "statusCredentialConfig" : "waltid.tenant1.credential-status.revocation",
                        "initialStatus" : "0x0"
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "Create credential profile",
        "description" : "Permissions: ANY OF: [ES_ISSUER_ADD_CREDENTIAL_PROFILE]  \nOperation: 'issuer-credential-profile-create'  \nRequires authentication.  \n\n---\nCreate a credential issuance profile bound 1:1 to a credential_configuration_id. The profile ID is taken from the target. The profile stores the default issuer/key/material and credential data used for profile-derived offers. For SD-JWT based profiles, selective disclosure configuration can be stored on the profile and reused by default. These defaults can later be overridden per offer for supported runtime override fields.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialProfileCreateRequest"
              },
              "examples" : {
                "[sd-jwt-vc] profile" : {
                  "value" : {
                    "name" : "SD-JWT VC profile",
                    "credentialConfigurationId" : "identity_credential",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "given_name" : "Jane",
                      "family_name" : "Doe",
                      "email" : "johndoe@example.com",
                      "phone_number" : "+1-202-555-0101",
                      "address" : {
                        "street_address" : "123 Main St",
                        "locality" : "Anytown",
                        "region" : "Anystate",
                        "country" : "US"
                      },
                      "birthdate" : "1940-01-01",
                      "is_over_18" : true,
                      "is_over_21" : true,
                      "is_over_65" : true
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "iat" : "<timestamp-seconds>",
                      "nbf" : "<timestamp-seconds>",
                      "exp" : "<timestamp-in-seconds:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "birthdate" : {
                          "sd" : true
                        },
                        "family_name" : {
                          "sd" : false
                        }
                      }
                    },
                    "idTokenClaimsMapping" : {
                      "$.family_name" : "$.family_name",
                      "$.given_name" : "$.given_name"
                    }
                  }
                },
                "[sd-jwt-vc] profile with selective disclosures" : {
                  "value" : {
                    "name" : "SD-JWT VC profile with selective disclosure",
                    "credentialConfigurationId" : "identity_credential",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "given_name" : "Jane",
                      "family_name" : "Doe",
                      "email" : "johndoe@example.com",
                      "phone_number" : "+1-202-555-0101",
                      "address" : {
                        "street_address" : "123 Main St",
                        "locality" : "Anytown",
                        "region" : "Anystate",
                        "country" : "US"
                      },
                      "birthdate" : "1940-01-01",
                      "is_over_18" : true,
                      "is_over_21" : true,
                      "is_over_65" : true
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "iat" : "<timestamp-seconds>",
                      "nbf" : "<timestamp-seconds>",
                      "exp" : "<timestamp-in-seconds:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "birthdate" : {
                          "sd" : true
                        },
                        "family_name" : {
                          "sd" : false
                        }
                      }
                    },
                    "idTokenClaimsMapping" : {
                      "$.family_name" : "$.family_name",
                      "$.given_name" : "$.given_name"
                    }
                  }
                },
                "[sd-jwt-vc] profile with credential status" : {
                  "value" : {
                    "name" : "SD-JWT VC profile with credential status",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                      "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                      "issuer" : {
                        "type" : [ "Profile" ],
                        "name" : "Jobs for the Future (JFF)",
                        "url" : "https://www.jff.org/",
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "image" : {
                          "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                          "type" : "Image"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                          "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                            "image" : {
                              "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                              "type" : "Image"
                            }
                          }
                        }
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "selectiveDisclosure" : {
                      "fields" : {
                        "name" : {
                          "sd" : true
                        },
                        "credentialSubject" : {
                          "sd" : false,
                          "children" : {
                            "fields" : {
                              "achievement" : {
                                "sd" : false,
                                "children" : {
                                  "fields" : {
                                    "name" : {
                                      "sd" : true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "credentialStatus" : {
                      "statusCredentialConfig" : "waltid.tenant1.credential-status.revocation",
                      "initialStatus" : "0x0"
                    }
                  }
                },
                "[w3c-vc-dm-1.1] profile" : {
                  "value" : {
                    "name" : "W3C VC DM 1.1 profile",
                    "credentialConfigurationId" : "open_badge_credential",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                      "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                      "issuer" : {
                        "type" : [ "Profile" ],
                        "name" : "Jobs for the Future (JFF)",
                        "url" : "https://www.jff.org/",
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "image" : {
                          "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                          "type" : "Image"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                          "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                            "image" : {
                              "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                              "type" : "Image"
                            }
                          }
                        }
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    }
                  }
                },
                "[w3c-vc-dm-1.1] profile with credential status" : {
                  "value" : {
                    "name" : "W3C VC DM 1.1 profile with credential status",
                    "credentialConfigurationId" : "open_badge_credential",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                      "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                      "issuer" : {
                        "type" : [ "Profile" ],
                        "name" : "Jobs for the Future (JFF)",
                        "url" : "https://www.jff.org/",
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "image" : {
                          "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                          "type" : "Image"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                          "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                            "image" : {
                              "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                              "type" : "Image"
                            }
                          }
                        }
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    },
                    "credentialStatus" : {
                      "statusCredentialConfig" : "waltid.tenant1.credential-status.revocation",
                      "initialStatus" : "0x0"
                    }
                  }
                },
                "[w3c-vc-dm-1.1] profile with credential schema" : {
                  "value" : {
                    "name" : "W3C VC DM 1.1 profile with credential schema",
                    "credentialConfigurationId" : "open_badge_credential",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                      "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                      "issuer" : {
                        "type" : [ "Profile" ],
                        "name" : "Jobs for the Future (JFF)",
                        "url" : "https://www.jff.org/",
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "image" : {
                          "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                          "type" : "Image"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                          "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                            "image" : {
                              "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                              "type" : "Image"
                            }
                          }
                        }
                      },
                      "credentialSchema" : [ {
                        "id" : "https://purl.imsglobal.org/spec/ob/v3p0/schema/json/ob_v3p0_anyachievementcredential_schema.json",
                        "type" : "JsonSchemaValidator2019"
                      } ]
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    }
                  }
                },
                "[w3c-vc-dm-2.0] OpenBadge profile" : {
                  "value" : {
                    "name" : "W3C VC DM 2.0 OpenBadge profile",
                    "credentialConfigurationId" : "open_badge_credential",
                    "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "Certified Machine Learning Engineer — Graduate Level",
                      "description" : "Awarded to graduates who have demonstrated advanced competency in machine learning theory, model engineering, and production deployment as part of the MSc Artificial Intelligence programme.",
                      "validFrom" : "2025-07-22T09:02:24Z",
                      "validUntil" : "2028-07-22T00:00:00Z",
                      "issuer" : {
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "type" : [ "Profile" ],
                        "name" : "Northgate Institute of Technology",
                        "url" : "https://www.northgate-tech.edu/",
                        "email" : "credentials@northgate-tech.edu",
                        "description" : "Northgate Institute of Technology is an accredited research university specialising in engineering, computer science, and applied AI.",
                        "image" : {
                          "id" : "https://www.northgate-tech.edu/assets/logo-official.png",
                          "type" : "Image"
                        },
                        "address" : {
                          "type" : "Address",
                          "addressCountry" : "GB",
                          "addressLocality" : "Manchester"
                        },
                        "otherIdentifier" : [ {
                          "type" : "IdentifierEntry",
                          "identifier" : "0033-UK-NORTHGATE",
                          "identifierType" : "ext:UKPRN"
                        } ],
                        "accreditation" : {
                          "type" : "Profile",
                          "name" : "Quality Assurance Agency for Higher Education (QAA)",
                          "url" : "https://www.qaa.ac.uk/"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "name" : "John Doe",
                        "email" : "j.doe@student.edu",
                        "identifier" : [ {
                          "type" : "IdentifierEntry",
                          "identifier" : "STU-2024-ML-0471",
                          "identifierType" : "ext:studentId"
                        } ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "achievementType" : "Degree",
                          "name" : "Certified Machine Learning Engineer — Graduate Level",
                          "description" : "This badge certifies that the holder has completed the MSc Artificial Intelligence programme with a specialisation in machine learning engineering, covering the full model lifecycle from research to production.",
                          "humanCode" : "NIT-ML-G3",
                          "fieldOfStudy" : "Artificial Intelligence / Machine Learning",
                          "specialization" : "Production ML Systems",
                          "inLanguage" : "en-GB",
                          "image" : {
                            "id" : "https://www.northgate-tech.edu/badges/ml-engineer-graduate.png",
                            "type" : "Image"
                          },
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "To earn this credential the candidate must: (1) complete 180 credits of postgraduate study across core ML modules with a minimum grade of Merit; (2) deliver a capstone research project demonstrating novel application of ML techniques, assessed by an independent panel; (3) pass a practical deployment examination requiring the candidate to train, evaluate, and serve a model via a REST API under examination conditions; and (4) adhere to the university's Academic Integrity and Responsible AI guidelines throughout the programme.",
                            "id" : "https://www.northgate-tech.edu/programmes/msc-ai/criteria"
                          },
                          "alignment" : [ {
                            "type" : "Alignment",
                            "targetType" : "ext:ESCO",
                            "targetName" : "Machine learning engineer",
                            "targetCode" : "http://data.europa.eu/esco/occupation/0f39db14-94b4-4b9e-93f6-027b6c1c1e56",
                            "targetUrl" : "https://esco.ec.europa.eu/en/classification/occupation?uri=http%3A%2F%2Fdata.europa.eu%2Fesco%2Foccupation%2F0f39db14-94b4-4b9e-93f6-027b6c1c1e56",
                            "targetFramework" : "European Skills, Competences, Qualifications and Occupations (ESCO) v1.2"
                          }, {
                            "type" : "Alignment",
                            "targetType" : "ext:ONET",
                            "targetName" : "Computer and Information Research Scientists",
                            "targetCode" : "15-1221.00",
                            "targetUrl" : "https://www.onetonline.org/link/summary/15-1221.00",
                            "targetFramework" : "O*NET 28.0"
                          } ],
                          "tag" : [ "machine-learning", "deep-learning", "mlops", "python", "pytorch", "model-deployment", "graduate" ],
                          "relatedAction" : [ {
                            "id" : "urn:uuid:f1a2b3c4-0001-4d5e-8f6a-7b8c9d0e1f2a",
                            "type" : [ "Achievement" ],
                            "achievementType" : "Badge",
                            "name" : "MLOps Practitioner",
                            "description" : "Intermediate stackable badge: CI/CD pipelines for ML models, experiment tracking, and model registry management.",
                            "image" : {
                              "id" : "https://www.northgate-tech.edu/badges/mlops-practitioner.png",
                              "type" : "Image"
                            }
                          }, {
                            "id" : "urn:uuid:f1a2b3c4-0002-4d5e-8f6a-7b8c9d0e1f2b",
                            "type" : [ "Achievement" ],
                            "achievementType" : "Badge",
                            "name" : "Responsible AI Fundamentals",
                            "description" : "Foundation badge: bias auditing, fairness metrics, and model explainability (SHAP/LIME).",
                            "image" : {
                              "id" : "https://www.northgate-tech.edu/badges/responsible-ai.png",
                              "type" : "Image"
                            }
                          } ]
                        },
                        "result" : [ {
                          "type" : [ "Result" ],
                          "resultDescription" : "urn:uuid:rd-msc-ai-overall-2025",
                          "status" : "Completed",
                          "value" : "Distinction",
                          "achievedLevel" : "https://www.northgate-tech.edu/grading/distinction"
                        }, {
                          "type" : [ "Result" ],
                          "resultDescription" : "urn:uuid:rd-capstone-2025",
                          "status" : "Completed",
                          "value" : "92/100",
                          "achievedLevel" : "https://www.northgate-tech.edu/grading/distinction"
                        } ],
                        "evidence" : [ {
                          "id" : "https://github.com/aisha-yilmaz/msc-capstone-2025",
                          "type" : [ "Evidence" ],
                          "name" : "Capstone Project — Adaptive Fraud Detection with Federated Learning",
                          "description" : "Public repository containing the full implementation, experiment logs, and technical report for the capstone project. The model achieved 97.4% AUC on a hold-out test set drawn from a synthetic financial transaction dataset.",
                          "genre" : "Research Project",
                          "audience" : "Academic Review Panel"
                        }, {
                          "id" : "https://www.northgate-tech.edu/transcripts/verify?ref=STU-2024-ML-0471",
                          "type" : [ "Evidence" ],
                          "name" : "Official Academic Transcript",
                          "description" : "Verifiable link to the official academic transcript issued by Northgate Institute of Technology confirming 180 credits completed with Distinction across all modules.",
                          "genre" : "Transcript",
                          "audience" : "Employers, Academic Institutions"
                        } ]
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerDid>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "validFrom" : "<timestamp>",
                      "validUntil" : "<timestamp-in:365d>"
                    },
                    "w3cVersion" : "W3CV2"
                  }
                },
                "[w3c-vc-dm-1.1] profile with x509" : {
                  "value" : {
                    "name" : "W3C VC DM 1.1 profile with x509 (EIDAS)",
                    "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                    "issuerKeyId" : "waltid.tenant1.kms1.key1",
                    "x5Chain" : [ {
                      "type" : "pem-encoded-x509-certificate-descriptor",
                      "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIICMDCCAdWgAwIBAgIUXl1kSxL8SRSOTmYevI+iDAECdy4wCgYIKoZIzj0EAwIw\nKjELMAkGA1UEBhMCVVMxGzAZBgNVBAMMEldhbHQgQ0xJIFRlc3QgSUFDQTAeFw0y\nNjA1MjIxNDQ2MjBaFw0yNzA4MjIxNDQ2MjBaMEQxCzAJBgNVBAYTAlVTMTUwMwYD\nVQQDDCxGaW5hbmNpYWwgU2VydmljZXMgQXV0aG9yaXR5IERvY3VtZW50IFNpZ25l\ncjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBgwesTZVWtn+Vsu8MnCdkDpsAXu\nUF/bpp1JWF/G9hnIrf1dkSGHFuChnSRRS8+wa5cw6Ai63mamAQrGu4uNuG2jgb4w\ngbswHwYDVR0jBBgwFoAUmK8RITk6hvP5QrEfCFfKSNIVWjgwHQYDVR0OBBYEFI87\nc9FDLPION8e44GjdzLBB6UETMA4GA1UdDwEB/wQEAwIHgDAoBgNVHRIEITAfhh1o\ndHRwczovL3dhbHQtY2xpLmV4YW1wbGUvaWFjYTAVBgNVHSUBAf8ECzAJBgcogYxd\nBQECMCgGA1UdHwQhMB8wHaAboBmGF2h0dHBzOi8vZ292LmV4YW1wbGUvY3JsMAoG\nCCqGSM49BAMCA0kAMEYCIQDtfVmq3LOtThIIu6B+5pjSXVrTOSNN4BWv09CZwrSo\n/QIhAIpN8aSVk30QkraKYS6RwbJq+Ocg3g7LEKqtbtn7+9Nt\n-----END CERTIFICATE-----"
                    }, {
                      "type" : "pem-encoded-x509-certificate-descriptor",
                      "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIIBxTCCAWugAwIBAgIUZyzaVHaCGc8QIgXmChB7FMzcH5YwCgYIKoZIzj0EAwIw\nKjELMAkGA1UEBhMCVVMxGzAZBgNVBAMMEldhbHQgQ0xJIFRlc3QgSUFDQTAeFw0y\nNjA1MjIxNDQ2MTlaFw00NjA1MTcxNDQ2MTlaMCoxCzAJBgNVBAYTAlVTMRswGQYD\nVQQDDBJXYWx0IENMSSBUZXN0IElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\nAASrTGLbW652GQLVAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfI\nOYpnj4CjzzVaWKB5rEy9n+Iqo28wbTAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfK\nSNIVWjgwEgYDVR0TAQH/BAgwBgEB/wIBADAoBgNVHRIEITAfhh1odHRwczovL3dh\nbHQtY2xpLmV4YW1wbGUvaWFjYTAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwID\nSAAwRQIgflBFqPJu3WA0N10GiqtAZ2bb/p/J5XJ0VXzLljV/zoMCIQClWNsoQLkP\nZXjMGWVR+oY+vVSYNoLom14adr3ulFCN1w==\n-----END CERTIFICATE-----"
                    } ],
                    "credentialData" : {
                      "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                      "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                      "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                      "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                      "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                      "issuer" : {
                        "type" : [ "Profile" ],
                        "name" : "Jobs for the Future (JFF)",
                        "url" : "https://www.jff.org/",
                        "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                        "image" : {
                          "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                          "type" : "Image"
                        }
                      },
                      "credentialSubject" : {
                        "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                        "type" : [ "AchievementSubject" ],
                        "achievement" : {
                          "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                          "type" : [ "Achievement" ],
                          "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                          "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                          "criteria" : {
                            "type" : "Criteria",
                            "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                            "image" : {
                              "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                              "type" : "Image"
                            }
                          }
                        }
                      }
                    },
                    "mapping" : {
                      "id" : "<uuid>",
                      "issuer" : {
                        "id" : "<issuerId>"
                      },
                      "credentialSubject" : {
                        "id" : "<subjectDid>"
                      },
                      "issuanceDate" : "<timestamp>",
                      "expirationDate" : "<timestamp-in:365d>"
                    }
                  }
                },
                "[mdoc-photo-id] profile" : {
                  "value" : {
                    "name" : "mDoc photo ID profile",
                    "credentialConfigurationId" : "org.iso.23220.photoid.1",
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "x5Chain" : [ {
                      "type" : "pem-encoded-x509-certificate-descriptor",
                      "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n"
                    } ],
                    "credentialData" : {
                      "org.iso.23220.photoid.1" : {
                        "age_over_18" : true,
                        "issuing_country" : "AT",
                        "given_name_unicode" : "GnameU",
                        "family_name_unicode" : "FnameU",
                        "birth_date" : "2003-12-21",
                        "issuance_date" : "2025-12-13",
                        "issuing_authority_unicode" : "Walt.id Issuer",
                        "expiry_date" : "2026-12-13",
                        "portrait" : "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"
                      }
                    },
                    "idTokenClaimsMapping" : {
                      "$.family_name" : "$.['org.iso.23220.photoid.1'].family_name_unicode",
                      "$.given_name" : "$.['org.iso.23220.photoid.1'].given_name_unicode"
                    },
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.23220.photoid.1" : {
                        "entriesConfigMap" : {
                          "issuance_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          }
                        }
                      }
                    }
                  }
                },
                "[mdoc-photo-id] profile - x509 store hosted x5c" : {
                  "value" : {
                    "name" : "mDoc photo ID profile",
                    "credentialConfigurationId" : "org.iso.23220.photoid.1",
                    "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                    "x5Chain" : [ {
                      "type" : "x509-store-stored-certificate-descriptor",
                      "storedCertificateId" : "org1.tenant1.x509-store1.certificate1"
                    } ],
                    "credentialData" : {
                      "org.iso.23220.photoid.1" : {
                        "age_over_18" : true,
                        "issuing_country" : "AT",
                        "given_name_unicode" : "GnameU",
                        "family_name_unicode" : "FnameU",
                        "birth_date" : "2003-12-21",
                        "issuance_date" : "2025-12-13",
                        "issuing_authority_unicode" : "Walt.id Issuer",
                        "expiry_date" : "2026-12-13",
                        "portrait" : "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"
                      }
                    },
                    "idTokenClaimsMapping" : {
                      "$.family_name" : "$.['org.iso.23220.photoid.1'].family_name_unicode",
                      "$.given_name" : "$.['org.iso.23220.photoid.1'].given_name_unicode"
                    },
                    "mDocNameSpacesDataMappingConfig" : {
                      "org.iso.23220.photoid.1" : {
                        "entriesConfigMap" : {
                          "issuance_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "birth_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "expiry_date" : {
                            "type" : "string",
                            "conversionType" : "stringToFullDate"
                          },
                          "portrait" : {
                            "type" : "string",
                            "conversionType" : "base64StringToByteString"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "201" : {
            "description" : "Credential profile created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialProfile"
                },
                "examples" : {
                  "[sd-jwt-vc] profile response" : {
                    "value" : {
                      "profileId" : "profile-sd-jwt-vc-default",
                      "name" : "SD-JWT VC profile",
                      "credentialConfigurationId" : "identity_credential",
                      "issuerKeyId" : "waltid.tenant1.kms1.key1",
                      "credentialData" : {
                        "given_name" : "Jane",
                        "family_name" : "Doe",
                        "email" : "johndoe@example.com",
                        "phone_number" : "+1-202-555-0101",
                        "address" : {
                          "street_address" : "123 Main St",
                          "locality" : "Anytown",
                          "region" : "Anystate",
                          "country" : "US"
                        },
                        "birthdate" : "1940-01-01",
                        "is_over_18" : true,
                        "is_over_21" : true,
                        "is_over_65" : true
                      },
                      "mapping" : {
                        "id" : "<uuid>",
                        "iat" : "<timestamp-seconds>",
                        "nbf" : "<timestamp-seconds>",
                        "exp" : "<timestamp-in-seconds:365d>"
                      },
                      "selectiveDisclosure" : {
                        "fields" : {
                          "birthdate" : {
                            "sd" : true
                          },
                          "family_name" : {
                            "sd" : false
                          }
                        }
                      },
                      "idTokenClaimsMapping" : {
                        "$.family_name" : "$.family_name",
                        "$.given_name" : "$.given_name"
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  },
                  "[sd-jwt-vc] profile response with selective disclosures" : {
                    "value" : {
                      "profileId" : "profile-sd-jwt-vc-default",
                      "name" : "SD-JWT VC profile with selective disclosure",
                      "credentialConfigurationId" : "identity_credential",
                      "issuerKeyId" : "waltid.tenant1.kms1.key1",
                      "credentialData" : {
                        "given_name" : "Jane",
                        "family_name" : "Doe",
                        "email" : "johndoe@example.com",
                        "phone_number" : "+1-202-555-0101",
                        "address" : {
                          "street_address" : "123 Main St",
                          "locality" : "Anytown",
                          "region" : "Anystate",
                          "country" : "US"
                        },
                        "birthdate" : "1940-01-01",
                        "is_over_18" : true,
                        "is_over_21" : true,
                        "is_over_65" : true
                      },
                      "mapping" : {
                        "id" : "<uuid>",
                        "iat" : "<timestamp-seconds>",
                        "nbf" : "<timestamp-seconds>",
                        "exp" : "<timestamp-in-seconds:365d>"
                      },
                      "selectiveDisclosure" : {
                        "fields" : {
                          "birthdate" : {
                            "sd" : true
                          },
                          "family_name" : {
                            "sd" : false
                          }
                        }
                      },
                      "idTokenClaimsMapping" : {
                        "$.family_name" : "$.family_name",
                        "$.given_name" : "$.given_name"
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  },
                  "[w3c-vc-dm-1.1] profile response" : {
                    "value" : {
                      "profileId" : "profile-w3c-vc-dm-1.1-default",
                      "name" : "W3C VC DM 1.1 profile",
                      "credentialConfigurationId" : "open_badge_credential",
                      "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                      "issuerKeyId" : "waltid.tenant1.kms1.key1",
                      "credentialData" : {
                        "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                        "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                        "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                        "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                        "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                        "issuer" : {
                          "type" : [ "Profile" ],
                          "name" : "Jobs for the Future (JFF)",
                          "url" : "https://www.jff.org/",
                          "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                          "image" : {
                            "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                            "type" : "Image"
                          }
                        },
                        "credentialSubject" : {
                          "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                          "type" : [ "AchievementSubject" ],
                          "achievement" : {
                            "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                            "type" : [ "Achievement" ],
                            "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                            "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                            "criteria" : {
                              "type" : "Criteria",
                              "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                              "image" : {
                                "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                "type" : "Image"
                              }
                            }
                          }
                        }
                      },
                      "mapping" : {
                        "id" : "<uuid>",
                        "issuer" : {
                          "id" : "<issuerDid>"
                        },
                        "credentialSubject" : {
                          "id" : "<subjectDid>"
                        },
                        "issuanceDate" : "<timestamp>",
                        "expirationDate" : "<timestamp-in:365d>"
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  },
                  "[w3c-vc-dm-2.0] OpenBadge profile response" : {
                    "value" : {
                      "profileId" : "profile-w3c-vc-dm-2.0-open-badge",
                      "name" : "W3C VC DM 2.0 OpenBadge profile",
                      "credentialConfigurationId" : "open_badge_credential",
                      "issuerDid" : "<Replace this value with your actual Issuer DID, which corresponds to the issuerKeyId parameter>",
                      "issuerKeyId" : "waltid.tenant1.kms1.key1",
                      "credentialData" : {
                        "@context" : [ "https://www.w3.org/ns/credentials/v2", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                        "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION",
                        "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                        "name" : "Certified Machine Learning Engineer — Graduate Level",
                        "description" : "Awarded to graduates who have demonstrated advanced competency in machine learning theory, model engineering, and production deployment as part of the MSc Artificial Intelligence programme.",
                        "validFrom" : "2025-07-22T09:02:24Z",
                        "validUntil" : "2028-07-22T00:00:00Z",
                        "issuer" : {
                          "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                          "type" : [ "Profile" ],
                          "name" : "Northgate Institute of Technology",
                          "url" : "https://www.northgate-tech.edu/",
                          "email" : "credentials@northgate-tech.edu",
                          "description" : "Northgate Institute of Technology is an accredited research university specialising in engineering, computer science, and applied AI.",
                          "image" : {
                            "id" : "https://www.northgate-tech.edu/assets/logo-official.png",
                            "type" : "Image"
                          },
                          "address" : {
                            "type" : "Address",
                            "addressCountry" : "GB",
                            "addressLocality" : "Manchester"
                          },
                          "otherIdentifier" : [ {
                            "type" : "IdentifierEntry",
                            "identifier" : "0033-UK-NORTHGATE",
                            "identifierType" : "ext:UKPRN"
                          } ],
                          "accreditation" : {
                            "type" : "Profile",
                            "name" : "Quality Assurance Agency for Higher Education (QAA)",
                            "url" : "https://www.qaa.ac.uk/"
                          }
                        },
                        "credentialSubject" : {
                          "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                          "type" : [ "AchievementSubject" ],
                          "name" : "John Doe",
                          "email" : "j.doe@student.edu",
                          "identifier" : [ {
                            "type" : "IdentifierEntry",
                            "identifier" : "STU-2024-ML-0471",
                            "identifierType" : "ext:studentId"
                          } ],
                          "achievement" : {
                            "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                            "type" : [ "Achievement" ],
                            "achievementType" : "Degree",
                            "name" : "Certified Machine Learning Engineer — Graduate Level",
                            "description" : "This badge certifies that the holder has completed the MSc Artificial Intelligence programme with a specialisation in machine learning engineering, covering the full model lifecycle from research to production.",
                            "humanCode" : "NIT-ML-G3",
                            "fieldOfStudy" : "Artificial Intelligence / Machine Learning",
                            "specialization" : "Production ML Systems",
                            "inLanguage" : "en-GB",
                            "image" : {
                              "id" : "https://www.northgate-tech.edu/badges/ml-engineer-graduate.png",
                              "type" : "Image"
                            },
                            "criteria" : {
                              "type" : "Criteria",
                              "narrative" : "To earn this credential the candidate must: (1) complete 180 credits of postgraduate study across core ML modules with a minimum grade of Merit; (2) deliver a capstone research project demonstrating novel application of ML techniques, assessed by an independent panel; (3) pass a practical deployment examination requiring the candidate to train, evaluate, and serve a model via a REST API under examination conditions; and (4) adhere to the university's Academic Integrity and Responsible AI guidelines throughout the programme.",
                              "id" : "https://www.northgate-tech.edu/programmes/msc-ai/criteria"
                            },
                            "alignment" : [ {
                              "type" : "Alignment",
                              "targetType" : "ext:ESCO",
                              "targetName" : "Machine learning engineer",
                              "targetCode" : "http://data.europa.eu/esco/occupation/0f39db14-94b4-4b9e-93f6-027b6c1c1e56",
                              "targetUrl" : "https://esco.ec.europa.eu/en/classification/occupation?uri=http%3A%2F%2Fdata.europa.eu%2Fesco%2Foccupation%2F0f39db14-94b4-4b9e-93f6-027b6c1c1e56",
                              "targetFramework" : "European Skills, Competences, Qualifications and Occupations (ESCO) v1.2"
                            }, {
                              "type" : "Alignment",
                              "targetType" : "ext:ONET",
                              "targetName" : "Computer and Information Research Scientists",
                              "targetCode" : "15-1221.00",
                              "targetUrl" : "https://www.onetonline.org/link/summary/15-1221.00",
                              "targetFramework" : "O*NET 28.0"
                            } ],
                            "tag" : [ "machine-learning", "deep-learning", "mlops", "python", "pytorch", "model-deployment", "graduate" ],
                            "relatedAction" : [ {
                              "id" : "urn:uuid:f1a2b3c4-0001-4d5e-8f6a-7b8c9d0e1f2a",
                              "type" : [ "Achievement" ],
                              "achievementType" : "Badge",
                              "name" : "MLOps Practitioner",
                              "description" : "Intermediate stackable badge: CI/CD pipelines for ML models, experiment tracking, and model registry management.",
                              "image" : {
                                "id" : "https://www.northgate-tech.edu/badges/mlops-practitioner.png",
                                "type" : "Image"
                              }
                            }, {
                              "id" : "urn:uuid:f1a2b3c4-0002-4d5e-8f6a-7b8c9d0e1f2b",
                              "type" : [ "Achievement" ],
                              "achievementType" : "Badge",
                              "name" : "Responsible AI Fundamentals",
                              "description" : "Foundation badge: bias auditing, fairness metrics, and model explainability (SHAP/LIME).",
                              "image" : {
                                "id" : "https://www.northgate-tech.edu/badges/responsible-ai.png",
                                "type" : "Image"
                              }
                            } ]
                          },
                          "result" : [ {
                            "type" : [ "Result" ],
                            "resultDescription" : "urn:uuid:rd-msc-ai-overall-2025",
                            "status" : "Completed",
                            "value" : "Distinction",
                            "achievedLevel" : "https://www.northgate-tech.edu/grading/distinction"
                          }, {
                            "type" : [ "Result" ],
                            "resultDescription" : "urn:uuid:rd-capstone-2025",
                            "status" : "Completed",
                            "value" : "92/100",
                            "achievedLevel" : "https://www.northgate-tech.edu/grading/distinction"
                          } ],
                          "evidence" : [ {
                            "id" : "https://github.com/aisha-yilmaz/msc-capstone-2025",
                            "type" : [ "Evidence" ],
                            "name" : "Capstone Project — Adaptive Fraud Detection with Federated Learning",
                            "description" : "Public repository containing the full implementation, experiment logs, and technical report for the capstone project. The model achieved 97.4% AUC on a hold-out test set drawn from a synthetic financial transaction dataset.",
                            "genre" : "Research Project",
                            "audience" : "Academic Review Panel"
                          }, {
                            "id" : "https://www.northgate-tech.edu/transcripts/verify?ref=STU-2024-ML-0471",
                            "type" : [ "Evidence" ],
                            "name" : "Official Academic Transcript",
                            "description" : "Verifiable link to the official academic transcript issued by Northgate Institute of Technology confirming 180 credits completed with Distinction across all modules.",
                            "genre" : "Transcript",
                            "audience" : "Employers, Academic Institutions"
                          } ]
                        }
                      },
                      "mapping" : {
                        "id" : "<uuid>",
                        "issuer" : {
                          "id" : "<issuerDid>"
                        },
                        "credentialSubject" : {
                          "id" : "<subjectDid>"
                        },
                        "validFrom" : "<timestamp>",
                        "validUntil" : "<timestamp-in:365d>"
                      },
                      "w3cVersion" : "W3CV2",
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  },
                  "[w3c-vc-dm-1.1] profile with x509 response" : {
                    "value" : {
                      "profileId" : "profile-w3c-vc-x509-eidas",
                      "name" : "W3C VC DM 1.1 profile with x509 (EIDAS)",
                      "credentialConfigurationId" : "OpenBadgeCredential_jwt_vc_json",
                      "issuerKeyId" : "waltid.tenant1.kms1.key1",
                      "x5Chain" : [ {
                        "type" : "pem-encoded-x509-certificate-descriptor",
                        "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIICMDCCAdWgAwIBAgIUXl1kSxL8SRSOTmYevI+iDAECdy4wCgYIKoZIzj0EAwIw\nKjELMAkGA1UEBhMCVVMxGzAZBgNVBAMMEldhbHQgQ0xJIFRlc3QgSUFDQTAeFw0y\nNjA1MjIxNDQ2MjBaFw0yNzA4MjIxNDQ2MjBaMEQxCzAJBgNVBAYTAlVTMTUwMwYD\nVQQDDCxGaW5hbmNpYWwgU2VydmljZXMgQXV0aG9yaXR5IERvY3VtZW50IFNpZ25l\ncjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBgwesTZVWtn+Vsu8MnCdkDpsAXu\nUF/bpp1JWF/G9hnIrf1dkSGHFuChnSRRS8+wa5cw6Ai63mamAQrGu4uNuG2jgb4w\ngbswHwYDVR0jBBgwFoAUmK8RITk6hvP5QrEfCFfKSNIVWjgwHQYDVR0OBBYEFI87\nc9FDLPION8e44GjdzLBB6UETMA4GA1UdDwEB/wQEAwIHgDAoBgNVHRIEITAfhh1o\ndHRwczovL3dhbHQtY2xpLmV4YW1wbGUvaWFjYTAVBgNVHSUBAf8ECzAJBgcogYxd\nBQECMCgGA1UdHwQhMB8wHaAboBmGF2h0dHBzOi8vZ292LmV4YW1wbGUvY3JsMAoG\nCCqGSM49BAMCA0kAMEYCIQDtfVmq3LOtThIIu6B+5pjSXVrTOSNN4BWv09CZwrSo\n/QIhAIpN8aSVk30QkraKYS6RwbJq+Ocg3g7LEKqtbtn7+9Nt\n-----END CERTIFICATE-----"
                      }, {
                        "type" : "pem-encoded-x509-certificate-descriptor",
                        "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIIBxTCCAWugAwIBAgIUZyzaVHaCGc8QIgXmChB7FMzcH5YwCgYIKoZIzj0EAwIw\nKjELMAkGA1UEBhMCVVMxGzAZBgNVBAMMEldhbHQgQ0xJIFRlc3QgSUFDQTAeFw0y\nNjA1MjIxNDQ2MTlaFw00NjA1MTcxNDQ2MTlaMCoxCzAJBgNVBAYTAlVTMRswGQYD\nVQQDDBJXYWx0IENMSSBUZXN0IElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\nAASrTGLbW652GQLVAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfI\nOYpnj4CjzzVaWKB5rEy9n+Iqo28wbTAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfK\nSNIVWjgwEgYDVR0TAQH/BAgwBgEB/wIBADAoBgNVHRIEITAfhh1odHRwczovL3dh\nbHQtY2xpLmV4YW1wbGUvaWFjYTAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwID\nSAAwRQIgflBFqPJu3WA0N10GiqtAZ2bb/p/J5XJ0VXzLljV/zoMCIQClWNsoQLkP\nZXjMGWVR+oY+vVSYNoLom14adr3ulFCN1w==\n-----END CERTIFICATE-----"
                      } ],
                      "credentialData" : {
                        "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                        "id" : "urn:uuid:THIS WILL BE REPLACED WITH DYNAMIC DATA FUNCTION (see below)",
                        "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                        "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                        "issuanceDate" : "2025-07-22T09:02:24.362335948Z",
                        "issuer" : {
                          "type" : [ "Profile" ],
                          "name" : "Jobs for the Future (JFF)",
                          "url" : "https://www.jff.org/",
                          "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiM1lOZDlGbng5Smx5UFZZd2dXRkUzN0UzR3dJMGVHbENLOHdGbFd4R2ZwTSIsIngiOiJGb3ZZMjFMQUFPVGxnLW0tTmVLV2haRUw1YUZyblIwdWNKakQ1VEtwR3VnIiwieSI6IkNyRkpmR1RkUDI5SkpjY3BRWHV5TU8zb2h0enJUcVB6QlBCSVRZajBvZ0EifQ",
                          "image" : {
                            "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                            "type" : "Image"
                          }
                        },
                        "credentialSubject" : {
                          "id" : "did:key:z2dmzD81cgPx8Vki7JbuuMmFYrWPgYoytykUZ3eyqht1j9KbqfT52v9YLEfQUPrXyti2rgGK8fz3WUAzLDjruHQFKuWoHpqrdHDSFXcfTG7apCkfgD7mxwdddt8HmcpLkedgymDAeTmy2gaEsCYD5jrzCtZGBT9fVyvzwQSxgBmz45qNtU",
                          "type" : [ "AchievementSubject" ],
                          "achievement" : {
                            "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                            "type" : [ "Achievement" ],
                            "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                            "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                            "criteria" : {
                              "type" : "Criteria",
                              "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials.",
                              "image" : {
                                "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                "type" : "Image"
                              }
                            }
                          }
                        }
                      },
                      "mapping" : {
                        "id" : "<uuid>",
                        "issuer" : {
                          "id" : "<issuerId>"
                        },
                        "credentialSubject" : {
                          "id" : "<subjectDid>"
                        },
                        "issuanceDate" : "<timestamp>",
                        "expirationDate" : "<timestamp-in:365d>"
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  },
                  "[mdoc-photo-id] profile response" : {
                    "value" : {
                      "profileId" : "profile-mdoc-photo-id-default",
                      "name" : "mDoc photo ID profile",
                      "credentialConfigurationId" : "org.iso.23220.photoid.1",
                      "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                      "x5Chain" : [ {
                        "type" : "pem-encoded-x509-certificate-descriptor",
                        "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n"
                      } ],
                      "credentialData" : {
                        "org.iso.23220.photoid.1" : {
                          "age_over_18" : true,
                          "issuing_country" : "AT",
                          "given_name_unicode" : "GnameU",
                          "family_name_unicode" : "FnameU",
                          "birth_date" : "2003-12-21",
                          "issuance_date" : "2025-12-13",
                          "issuing_authority_unicode" : "Walt.id Issuer",
                          "expiry_date" : "2026-12-13",
                          "portrait" : "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"
                        }
                      },
                      "idTokenClaimsMapping" : {
                        "$.family_name" : "$.['org.iso.23220.photoid.1'].family_name_unicode",
                        "$.given_name" : "$.['org.iso.23220.photoid.1'].given_name_unicode"
                      },
                      "mDocNameSpacesDataMappingConfig" : {
                        "org.iso.23220.photoid.1" : {
                          "entriesConfigMap" : {
                            "issuance_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "birth_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "expiry_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "portrait" : {
                              "type" : "string",
                              "conversionType" : "base64StringToByteString"
                            }
                          }
                        }
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "Delete credential profile",
        "description" : "Permissions: ANY OF: [ES_ISSUER_DELETE_CREDENTIAL_PROFILE]  \nOperation: 'issuer-credential-profile-delete'  \nAccepts targets: [StoredCredentialProfile2]  \nRequires authentication.  \n\n---\nPermanently delete a credential profile addressed by target.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Profile successfully deleted. Also returned if the profile is not found.",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/credentials/profiles/list" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "List credential profiles",
        "description" : "Permissions: ANY OF: [ES_ISSUER_GET_CREDENTIAL_PROFILE]  \nOperation: 'issuer-credential-profile-list'  \nAccepts targets: [IssuerServiceReference2]  \nRequires authentication.  \n\n---\nList credential profiles for this issuer service. Use includeInactive=true to include inactive profiles.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Credential profiles",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialProfile"
                  },
                  "title" : "ArrayList<CredentialProfile>"
                },
                "examples" : {
                  "List profiles response" : {
                    "value" : [ {
                      "profileId" : "profile-mdoc-photo-id-default",
                      "name" : "mDoc photo ID profile",
                      "credentialConfigurationId" : "org.iso.23220.photoid.1",
                      "issuerKeyId" : "waltid.tenant1.kms1.ecKey1",
                      "x5Chain" : [ {
                        "type" : "pem-encoded-x509-certificate-descriptor",
                        "pemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjkwNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKgSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xuMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNVHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----\n"
                      } ],
                      "credentialData" : {
                        "org.iso.23220.photoid.1" : {
                          "age_over_18" : true,
                          "issuing_country" : "AT",
                          "given_name_unicode" : "GnameU",
                          "family_name_unicode" : "FnameU",
                          "birth_date" : "2003-12-21",
                          "issuance_date" : "2025-12-13",
                          "issuing_authority_unicode" : "Walt.id Issuer",
                          "expiry_date" : "2026-12-13",
                          "portrait" : "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"
                        }
                      },
                      "idTokenClaimsMapping" : {
                        "$.family_name" : "$.['org.iso.23220.photoid.1'].family_name_unicode",
                        "$.given_name" : "$.['org.iso.23220.photoid.1'].given_name_unicode"
                      },
                      "mDocNameSpacesDataMappingConfig" : {
                        "org.iso.23220.photoid.1" : {
                          "entriesConfigMap" : {
                            "issuance_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "birth_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "expiry_date" : {
                              "type" : "string",
                              "conversionType" : "stringToFullDate"
                            },
                            "portrait" : {
                              "type" : "string",
                              "conversionType" : "base64StringToByteString"
                            }
                          }
                        }
                      },
                      "createdAt" : 1710000000000,
                      "updatedAt" : 1710000000000
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/sessions" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "List issuance sessions",
        "description" : "Permissions: ANY OF: [ES_ISSUER_GET_SESSION]  \nOperation: 'issuer-sessions-list'  \nAccepts targets: [IssuerServiceReference2, StoredCredentialProfile2]  \nRequires authentication.  \n\n---\nList persisted issuer2 issuance sessions. The target may be an issuer service or a credential profile.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort selector. Supported values: 'createdDateTime', 'createdDateTime+', 'createdDateTime-', 'updatedDateTime', 'updatedDateTime+', 'updatedDateTime-'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "createdDateTime"
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Optional issuance session status filter.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "query",
          "description" : "Optional session id filter.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "profileId",
          "in" : "query",
          "description" : "Optional credential profile id filter.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "authMethod",
          "in" : "query",
          "description" : "Optional authentication method filter. Supported values: authorized, preauthorized.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "createdAfter",
          "in" : "query",
          "description" : "Optional lower bound for the session creation timestamp (ISO-8601 instant).",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "createdBefore",
          "in" : "query",
          "description" : "Optional upper bound for the session creation timestamp (ISO-8601 instant).",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Issuance sessions listed successfully.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/stored-issuance-session2"
                  },
                  "title" : "ArrayList<>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid query parameter.",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/credentials/offers" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "Create credential offer from a credential profile",
        "description" : "Permissions: ANY OF: [ES_ISSUER_ISSUE_CREDENTIAL]  \nOperation: 'issuer-credential-offer-create'  \nAccepts targets: [StoredCredentialProfile2]  \nRequires authentication.  \n\n---\nCreate a profile-derived credential offer URL. The credential profile is addressed by target. The profile defines the credential format, credential configuration, key material, and base data. Optional runtime overrides can be applied for this offer only. Supported override fields are: issuerDid, issuerKeyId, x5Chain, credentialData, mapping, selectiveDisclosure, idTokenClaimsMapping, mDocNameSpacesDataMappingConfig, and notifications. Notifications can be configured at the profile level and optionally overridden per offer. Offer/session expiry is configured with expiresInSeconds on this request. The default is 5 minutes. Use -1 for no expiry.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "X-Request-ID",
          "in" : "header",
          "description" : "Call-ID for request tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialOfferCreateRequest"
              },
              "examples" : {
                "[authorized][by-reference]" : {
                  "value" : {
                    "authMethod" : "AUTHORIZED"
                  }
                },
                "[authorized][by-value]" : {
                  "value" : {
                    "authMethod" : "AUTHORIZED",
                    "valueMode" : "BY_VALUE"
                  }
                },
                "[authorized][by-value][issuer_state included]" : {
                  "value" : {
                    "authMethod" : "AUTHORIZED",
                    "issuerStateMode" : "INCLUDE",
                    "valueMode" : "BY_VALUE"
                  }
                },
                "[pre-authorized][by-reference]" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED"
                  }
                },
                "[pre-authorized][by-value]" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "valueMode" : "BY_VALUE"
                  }
                },
                "[pre-authorized][by-reference][provided-tx_code]" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "txCode" : {
                      "input_mode" : "numeric",
                      "length" : 6,
                      "description" : "tx code as input"
                    },
                    "txCodeValue" : "123456"
                  }
                },
                "[pre-authorized][by-reference][generated-tx_code]" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "txCode" : {
                      "input_mode" : "numeric",
                      "length" : 6,
                      "description" : "tx code as generated"
                    }
                  }
                },
                "[pre-authorized][by-reference][expires in 2 minutes]" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "expiresInSeconds" : 120
                  }
                },
                "[pre-authorized][by-reference][no expiry]" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "expiresInSeconds" : -1
                  }
                },
                "[pre-authorized][by-reference] with credential data override" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "runtimeOverrides" : {
                      "credentialData" : {
                        "given_name" : "Alice",
                        "family_name" : "Doe-Override",
                        "email" : "alice.doe@example.com",
                        "phone_number" : "+1-202-555-0199",
                        "address" : {
                          "street_address" : "500 Override St",
                          "locality" : "Override City",
                          "region" : "Override State",
                          "country" : "US"
                        },
                        "birthdate" : "1991-02-03",
                        "is_over_18" : true,
                        "is_over_21" : true,
                        "is_over_65" : false
                      }
                    }
                  }
                },
                "[pre-authorized][by-reference] with credential status override" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "runtimeOverrides" : {
                      "credentialStatus" : {
                        "statusCredentialConfig" : "waltid.tenant1.credential-status.suspension",
                        "initialStatus" : "0x0"
                      }
                    }
                  }
                },
                "[pre-authorized][by-reference] with selective disclosure override" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "runtimeOverrides" : {
                      "selectiveDisclosure" : {
                        "fields" : {
                          "birthdate" : {
                            "sd" : true
                          },
                          "family_name" : {
                            "sd" : false
                          }
                        }
                      }
                    }
                  }
                },
                "[pre-authorized][by-reference] with notifications override" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "runtimeOverrides" : {
                      "notifications" : {
                        "webhook" : {
                          "url" : "https://example.com/webhook/issuance-status",
                          "bearer_token" : "your-api-key-here"
                        }
                      }
                    }
                  }
                },
                "[pre-authorized][by-value] with credential data model version override" : {
                  "value" : {
                    "authMethod" : "PRE_AUTHORIZED",
                    "valueMode" : "BY_VALUE",
                    "runtimeOverrides" : {
                      "w3cVersion" : "W3CV2"
                    }
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "201" : {
            "description" : "Credential offer created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialOfferCreateResponse"
                },
                "examples" : {
                  "Offer response by reference" : {
                    "value" : {
                      "offerId" : "8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb",
                      "profileId" : "profile-mdoc-photo-id-default",
                      "profileVersion" : 1,
                      "authMethod" : "AUTHORIZED",
                      "issuerStateMode" : "OMIT",
                      "expiresAt" : 1710003600000,
                      "credentialOffer" : "openid-credential-offer://?credential_offer_uri=https://issuer.example/openid4vci/credential-offer?id=8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb"
                    }
                  },
                  "Offer response by value" : {
                    "value" : {
                      "offerId" : "8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb",
                      "profileId" : "profile-w3c-vc-dm-1.1-default",
                      "profileVersion" : 1,
                      "authMethod" : "AUTHORIZED",
                      "issuerStateMode" : "OMIT",
                      "expiresAt" : 1710003600000,
                      "credentialOffer" : "openid-credential-offer://?credential_offer=%7B%22credential_issuer%22%3A%22https%3A%2F%2Fissuer.example%2Fv2%2Fissuer-service-api%2Fopenid4vci%22%2C%22credential_configuration_ids%22%3A%5B%22open_badge_credential%22%5D%2C%22grants%22%3A%7B%22authorization_code%22%3A%7B%7D%7D%7D"
                    }
                  },
                  "Offer response by value with issuer_state included" : {
                    "value" : {
                      "offerId" : "8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb",
                      "profileId" : "profile-w3c-vc-dm-1.1-default",
                      "profileVersion" : 1,
                      "authMethod" : "AUTHORIZED",
                      "issuerStateMode" : "INCLUDE",
                      "expiresAt" : 1710003600000,
                      "credentialOffer" : "openid-credential-offer://?credential_offer=%7B%22credential_issuer%22%3A%22https%3A%2F%2Fissuer.example%2Fv2%2Fissuer-service-api%2Fopenid4vci%22%2C%22credential_configuration_ids%22%3A%5B%22open_badge_credential%22%5D%2C%22grants%22%3A%7B%22authorization_code%22%3A%7B%22issuer_state%22%3A%228d951f32-2a14-4d26-8d0c-2f6d10e8bcdb%22%7D%7D%7D"
                    }
                  },
                  "Pre-authorized offer response with generated tx_code" : {
                    "value" : {
                      "offerId" : "8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb",
                      "profileId" : "profile-mdoc-photo-id-default",
                      "profileVersion" : 1,
                      "authMethod" : "PRE_AUTHORIZED",
                      "expiresAt" : 1710003600000,
                      "txCodeValue" : "483921",
                      "credentialOffer" : "openid-credential-offer://?credential_offer_uri=https://issuer.example/openid4vci/credential-offer?id=8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb"
                    }
                  },
                  "Pre-authorized offer response with provided tx_code" : {
                    "value" : {
                      "offerId" : "8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb",
                      "profileId" : "profile-mdoc-photo-id-default",
                      "profileVersion" : 1,
                      "authMethod" : "PRE_AUTHORIZED",
                      "expiresAt" : 1710003600000,
                      "txCodeValue" : "123456",
                      "credentialOffer" : "openid-credential-offer://?credential_offer_uri=https://issuer.example/openid4vci/credential-offer?id=8d951f32-2a14-4d26-8d0c-2f6d10e8bcdb"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/issuance-session/{issuance-session}/events" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - Credential Issuance" ],
        "summary" : "Receive issuance session update events via Server-Sent Events (SSE)",
        "description" : "Establishes an SSE connection to receive real-time updates about an issuance session including credential offer resolution, token requests, and credential issuance events.\n\n**Use Cases:**\n- Monitor issuance session progress in real-time\n- Receive notifications when wallet resolves credential offer\n- Track token requests and credential issuance status\n\n**Events:**\n- `resolved_credential_offer` - Wallet has resolved the credential offer\n- `requested_token` - Wallet has requested an access token\n- `sdjwt_issue` - SD-JWT credential has been issued\n- `jwt_issue` - JWT credential has been issued\n- `generated_mdoc` - mDOC credential has been generated\n- `issuance_status` - Session status has changed\n\n**Important Notes:**\n- Connection remains open until client disconnects or session completes\n- Events are sent as JSON objects in SSE format\n- This endpoint provides the same events as webhook notifications but via SSE\n\nFor more information, see the documentation.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "issuance-session",
          "in" : "path",
          "description" : "Issuance session identifier (the offer ID returned when creating a credential offer)",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        } ],
        "responses" : {
          "200" : {
            "description" : "SSE connection established, events will be streamed. Response content type is text/event-stream.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                }
              }
            }
          },
          "404" : {
            "description" : "Issuance session not found",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid issuance session identifier",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/jwks" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get public key jwks",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Public key jwks",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/credential-offer" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get a credential offer based on the session id",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "id",
          "in" : "query",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Credential offer",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/par" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Pushed Authorization Request (PAR)",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRFC 9126 PAR endpoint: submit authorization parameters and receive a request_uri.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Authorization request parameters (form-encoded)",
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "title" : "LinkedHashMap<String,ArrayList<String>>"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "201" : {
            "description" : "PAR response with request_uri",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.openid4vci.responses.par.PushedAuthorizationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid PAR request",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.openid4vci.errors.OAuthError"
                }
              }
            }
          },
          "500" : {
            "description" : "PAR processing failed",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.openid4vci.errors.OAuthError"
                }
              }
            }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/authorize" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Authorization endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Authorization response",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/token" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get access token",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Requires body of JSON value for Parameters.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.Polymorphic"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Access token",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/nonce" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get a fresh nonce",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Nonce",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/credential" : {
      "post" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get credential",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "X-Request-ID",
          "in" : "header",
          "description" : "Call-ID for request tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "d333d2fb-14f6-4bcd-a877-7e601297fa21"
        } ],
        "requestBody" : {
          "description" : "Requires body of JSON value for Json Object.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credential",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v2/{target}/issuer-service-api/openid4vci/status-list-aggregation" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get status list aggregation",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Status list aggregation",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/.well-known/openid-credential-issuer/v2/{target}/issuer-service-api/openid4vci" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get Credential Issuer metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Credential Issuer metadata",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/.well-known/oauth-authorization-server/v2/{target}/issuer-service-api/openid4vci" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get Authorization Server metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Authorization Server metadata",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/.well-known/vct/v2/{target}/issuer-service-api/openid4vci/{type}" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get VCT type metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "type",
          "in" : "path",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "VCT type metadata",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/.well-known/jwt-vc-issuer/v2/{target}/issuer-service-api/openid4vci" : {
      "get" : {
        "tags" : [ "Service | Issuer Service API v2 - OpenID4VCI" ],
        "summary" : "Get JWT-VC issuer metadata",
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "JWT-VC issuer metadata",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/kms-service-api/keys/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [KeyManagementServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [KeyManagementServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Key Management Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kms"
              },
              "examples" : {
                "Minimal KMS configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "parent" : "example"
                  }
                },
                "KMS with AWS configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "defaultKeyGenerationRequests" : {
                      "aws" : {
                        "region" : "eu-central-1"
                      }
                    },
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/list" : {
      "get" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "List all keys in the Key Management Service",
        "description" : "Permissions: ANY OF: [ES_KMS_LIST_KEYS]  \nOperation: 'list-keys'  \nAccepts targets: [KeyManagementServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all key IDs stored in the Key Management Service.\nThis endpoint returns only the key identifiers (paths), not the full key data, making it efficient for large key stores.\n\n**Use Cases:**\n- Audit all keys in a KMS\n- Check if a specific key exists\n- Get an overview of stored keys\n- Iterate through keys without loading full key data\n\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort selector. Supported values: 'createdDateTime', 'createdDateTime+', 'createdDateTime-', 'updatedDateTime', 'updatedDateTime+', 'updatedDateTime-'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "createdDateTime"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of key IDs stored in the Key Management Service",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Key IDs" : {
                    "value" : [ "waltid.tenant1.kms1.key1", "waltid.tenant1.kms1.key2" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/view" : {
      "get" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "View a stored key",
        "description" : "Permissions: ANY OF: [ES_KMS_GET_KEY]  \nOperation: 'view-key'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nRetrieves detailed information about a specific key stored in the Key Management Service.\nReturns the full key resource including the key data, metadata, and associated information.\n\n\n**Security Note:**\nThe response includes the full key data. Handle this information securely as it provides access to cryptographic operations.\n\n**Use Cases:**\n- Retrieve key information for cryptographic operations\n- Access key metadata\n- Verify key existence and properties\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The requested key with its full data and metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/key"
                }
              }
            }
          },
          "404" : {
            "description" : "Key not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this key",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/remove" : {
      "delete" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Remove a key from local storage",
        "description" : "Permissions: ANY OF: [ES_KMS_REMOVE_KEY]  \nOperation: 'remove-key'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nRemoves a key from the local Key Management Service storage only.\nThis operation does not delete the key from remote KMS backends (e.g., AWS KMS, Azure Key Vault).\n\n**Important:**\n- The key is removed from local storage immediately\n- The key remains in remote KMS backends (if applicable)\n- This operation is useful for cleaning up local references\n- Use the delete endpoint to remove keys from both local and remote storage\n\n**Use Cases:**\n- Remove local key references without affecting remote storage\n- Clean up keys that are no longer needed locally\n- Remove keys that have been migrated to another KMS\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Key removed from local storage successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Key not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/delete" : {
      "delete" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Delete a key from local and remote storage",
        "description" : "Permissions: ANY OF: [ES_KMS_DELETE_KEY]  \nOperation: 'delete-key'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nPermanently deletes a key from both local storage and the remote Key Management Service backend.\nThis operation removes the key from local storage and schedules it for deletion in remote systems (e.g., AWS KMS, Azure Key Vault).\n\n**Important:**\n- The key is removed from local storage immediately\n- The key is scheduled for deletion in remote KMS backends\n- This operation is irreversible once completed\n- Remote deletion may be asynchronous depending on the backend\n- Ensure you have backups if the key data is important\n\n**Multi-Region Keys (AWS KMS):**\n- For AWS multi-region keys, deletion is cascaded to all replica regions\n- All replicas are scheduled for deletion before the primary key\n- AWS enforces a 7-day pending deletion window for recovery\n- The operation may take longer due to cross-region coordination\n\n**Difference from Remove:**\n- Remove: Only removes from local storage\n- Delete: Removes from both local and remote storage\n\n**Use Cases:**\n- Permanently delete keys that are no longer needed\n- Comply with key rotation policies\n- Remove compromised keys from all systems\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Key deleted or scheduled for deletion in remote KMS",
            "headers" : { }
          },
          "404" : {
            "description" : "Key not found at the specified target path",
            "headers" : { }
          },
          "400" : {
            "description" : "Failed to schedule key deletion in remote KMS",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/generate" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Generate and store a new key",
        "description" : "Permissions: ANY OF: [ES_KMS_GENERATE_KEY]  \nOperation: 'generate-key'  \nRequires authentication.  \n\n---\nGenerates a new cryptographic key based on the provided KeyGenerationRequest and stores it in the Key Management Service.\n\n**Supported Backends:**\n- JWK: Local key generation (Ed25519, RSA, EC, etc.)\n- AWS: AWS Key Management Service (KMS)\n- Azure: Azure Key Vault\n- OCI: Oracle Cloud Infrastructure Key Management\n- TSE: HashiCorp Vault Transit Secrets Engine\n\n**Key Generation:**\n- Supports multiple key types (Ed25519, secp256r1, RSA, etc.)\n- Can generate keys locally or in cloud KMS backends\n- Automatically stores the generated key in the KMS\n- Optional key ID can be specified, otherwise uses key fingerprint\n\n**AWS Multi-Region Keys:**\nFor disaster recovery and high availability, AWS KMS supports multi-region keys:\n- Set `multiRegion: true` to create a multi-region primary key\n- Set `replicaRegions: [\"eu-west-1\", \"us-east-1\"]` to create replicas in those regions\n- Replicas share the same key material and key ID (prefixed with `mrk-`)\n- Set `enableFailover: true` to automatically use replicas when primary region is unavailable\n- Optionally set `failoverOrder` to control the order of failover regions\n\n**Default Configurations:**\nThe KMS can have default key generation configurations per backend, which will be merged with the request configuration.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Key generation request specifying backend, key type, and backend-specific configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.crypto.keys.KeyGenerationRequest"
              },
              "examples" : {
                "JWK (direct)" : {
                  "value" : {
                    "backend" : "jwk",
                    "keyType" : "Ed25519"
                  }
                },
                "Generate KMS Key - AWS" : {
                  "value" : {
                    "backend" : "aws",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "region" : "eu-central-1"
                      },
                      "keyName" : "waltid-key",
                      "tags" : {
                        "project" : "waltid",
                        "owner" : "identity-team"
                      }
                    }
                  }
                },
                "Generate KMS Key - AWS Multi-Region" : {
                  "value" : {
                    "backend" : "aws",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "region" : "eu-central-1"
                      },
                      "keyName" : "waltid-multi-region-key",
                      "tags" : {
                        "project" : "waltid",
                        "owner" : "identity-team"
                      },
                      "multiRegion" : true,
                      "replicaRegions" : [ "eu-west-1", "us-east-1" ]
                    }
                  }
                },
                "Generate KMS Key - AWS Multi-Region with Failover" : {
                  "value" : {
                    "backend" : "aws",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "region" : "eu-central-1"
                      },
                      "keyName" : "waltid-multi-region-key-failover",
                      "tags" : {
                        "project" : "waltid",
                        "owner" : "identity-team"
                      },
                      "multiRegion" : true,
                      "replicaRegions" : [ "eu-west-1", "us-east-1" ],
                      "enableFailover" : true,
                      "failoverOrder" : [ "eu-west-1", "us-east-1" ]
                    }
                  }
                },
                "Generate KMS Key - AWS (AccessKeyId)" : {
                  "value" : {
                    "backend" : "aws-rest-api",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "accessKeyId" : "AKIA...",
                        "secretAccessKey" : "6YD...",
                        "region" : "eu-central-1"
                      }
                    }
                  }
                },
                "Generate KMS Key - AWS (RoleName)" : {
                  "value" : {
                    "backend" : "aws",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "region" : "eu-central-1",
                        "roleName" : "roleName"
                      }
                    }
                  }
                },
                "Generate KMS Key - Azure" : {
                  "value" : {
                    "backend" : "azure-rest-api",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "clientId" : "your-client-id",
                        "clientSecret" : "your-client-secret",
                        "tenantId" : "your-tenant-id",
                        "keyVaultUrl" : "https://your-key-vault-name.vault.azure.net/"
                      }
                    }
                  }
                },
                "Generate KMS Key - Azure SDK (RBAC)" : {
                  "value" : {
                    "backend" : "azure",
                    "keyType" : "secp256r1",
                    "config" : {
                      "auth" : {
                        "keyVaultUrl" : "https://your-key-vault-name.vault.azure.net/"
                      },
                      "keyName" : "waltid-key",
                      "tags" : {
                        "project" : "waltid",
                        "owner" : "identity-team"
                      }
                    }
                  }
                },
                "Generate KMS Key - OCI" : {
                  "value" : {
                    "backend" : "oci-rest-api",
                    "keyType" : "secp256r1",
                    "config" : {
                      "tenancyOcid" : "ocid1.tenancy.oc1..XYZ",
                      "compartmentOcid" : "ocid1.tenancy.oc1..XYZ",
                      "userOcid" : "ocid1.user.oc1..XYZ",
                      "fingerprint" : "aa:bb:cc:dd:ee:ff:00:11:22:33:44:55:66:77:88:99",
                      "managementEndpoint" : "xyz-management.kms.eu-frankfurt-1.oraclecloud.com",
                      "cryptoEndpoint" : "xyz-crypto.kms.eu-frankfurt-1.oraclecloud.com",
                      "signingKeyPem" : "-----BEGIN PRIVATE KEY-----\nABCXYZ\n-----END PRIVATE KEY-----\n"
                    }
                  }
                },
                "Generate KMS Key - Vault TSE (AppRole)" : {
                  "value" : {
                    "backend" : "tse",
                    "config" : {
                      "server" : "http://127.0.0.1:8200/v1/transit",
                      "auth" : {
                        "roleId" : "6823b3c7-60f7-db0b-c663-7359f17c0c30",
                        "secretId" : "aba4f28b-524c-db63-bae2-67a0e094f46a"
                      }
                    }
                  }
                },
                "Generate KMS Key - Vault TSE (UserPass)" : {
                  "value" : {
                    "backend" : "tse",
                    "config" : {
                      "server" : "http://127.0.0.1:8200/v1/transit",
                      "auth" : {
                        "username" : "myuser",
                        "password" : "mypassword"
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Key generated and stored successfully in the KMS",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/key"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid key generation request - unsupported backend, invalid key type, or missing required configuration",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to generate keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/store" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Store an existing key",
        "description" : "Permissions: ANY OF: [ES_KMS_STORE_KEY]  \nOperation: 'store-key'  \nRequires authentication.  \n\n---\nStores a pre-existing key object in the Key Management Service.\nThis endpoint allows you to store keys that have already been created or obtained from another source.\n\n**Key Format:**\nThe key must be provided as a serialized Key object (JSON format).\nThe key will be stored with the specified key ID, or a default ID will be generated.\n\n**Use Cases:**\n- Store keys obtained from external sources\n- Migrate keys between KMS instances\n- Store keys that were created outside the system\n\n**Important:**\n- The key must be in a valid serialized format\n- If a key ID is specified in the path, that ID will be used\n- If no key ID is specified, a default ID will be generated\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The key object to be stored in the Key Management Service",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.Polymorphic"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Key stored successfully in the KMS",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/key"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid key format or key already exists at target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to store keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/import/jwk" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Import a key from JWK format",
        "description" : "Permissions: ANY OF: [ES_KMS_IMPORT_KEY_JWK]  \nOperation: 'import-key-jwk'  \nRequires authentication.  \n\n---\nImports a key from JSON Web Key (JWK) format and stores it in the Key Management Service.\nThis allows you to import keys that were created or exported in JWK format.\n\n**JWK Format:**\nThe request body must be a valid JWK object following RFC 7517 specification.\nCommon key types supported include:\n- Ed25519 (OKP curve)\n- EC keys (P-256, P-384, P-521, secp256k1)\n- RSA keys\n- Octet keys\n\n**Key ID:**\n- If a key ID is specified in the path, that ID will be used\n- If no key ID is specified, the key ID from the JWK (kid field) will be used\n- If neither is available, a default ID will be generated\n\n**Use Cases:**\n- Import keys from other systems that export JWK format\n- Migrate keys between different key management systems\n- Store keys that were created using external tools\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "JWK object in JSON format following RFC 7517",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
              },
              "examples" : {
                "JWK" : {
                  "value" : {
                    "kid" : "Example key based on JWK",
                    "kty" : "OKP",
                    "alg" : "EdDSA",
                    "crv" : "Ed25519",
                    "use" : "sig",
                    "d" : "LjxmEnd5oC7hFabwjKQFyeIgMG0OVZ_EBZQ0ZTKBZQs",
                    "x" : "UDiPRbt76NoaAye5AonMirL7jjTKppMSzAXH0ZwuenU"
                  }
                },
                "ECKey-JWK" : {
                  "value" : {
                    "kid" : "waltid.tenant1.kms1.ecKey1",
                    "kty" : "EC",
                    "crv" : "P-256",
                    "use" : "sig",
                    "d" : "KJ4k3Vcl5Sj9Mfq4rrNXBm2MoPoY3_Ak_PIR_EgsFhQ",
                    "x" : "G0RINBiF-oQUD3d5DGnegQuXenI29JDaMGoMvioKRBM",
                    "y" : "ed3eFGs2pEtrp7vAZ7BLcbrUtpKkYWAT2JPUQK4lN4E"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Key imported successfully from JWK format",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/key"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid JWK format, malformed JSON, or unsupported key type",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to import keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/import/pem" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Import a key from PEM format",
        "description" : "Permissions: ANY OF: [ES_KMS_IMPORT_KEY_PEM]  \nOperation: 'import-key-pem'  \nRequires authentication.  \n\n---\nImports a key from PEM (Privacy-Enhanced Mail) format and stores it in the Key Management Service.\nThis allows you to import keys that were created or exported in PEM format.\n\n**PEM Format:**\nThe request body must be a valid PEM-encoded key string.\nCommon PEM formats supported include:\n- Private keys (RSA, EC, Ed25519)\n- Public keys\n- Certificate keys\n\n**Key ID:**\n- If a key ID is specified in the path, that ID will be used\n- If no key ID is specified, a default ID will be generated based on the key\n\n**Use Cases:**\n- Import keys from OpenSSL or other tools that export PEM format\n- Migrate keys from traditional key management systems\n- Store keys that were created using command-line tools\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/key-management-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "PEM-encoded key string",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "PEM Private Key" : {
                  "value" : "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC...\n-----END PRIVATE KEY-----"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Key imported successfully from PEM format",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/key"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid PEM format, malformed key data, or unsupported key type",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to import keys",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/sign" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Sign data with a key",
        "description" : "Permissions: ANY OF: [ES_KMS_SIGN]  \nOperation: 'sign-data'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nTesting endpoint for signing data with a key.\n\nSupports signing with raw and JWS formats.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Sign request containing the plaintext to be signed",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.kms.models.KeyManagementSignRequest"
              },
              "examples" : {
                "Sign Data" : {
                  "value" : {
                    "plaintext" : "Hello, World!"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Data signed successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.kms.models.KeyManagementSignResponse"
                },
                "examples" : {
                  "Signature" : {
                    "value" : {
                      "signature" : "MEUCIQDxF7X8h9..."
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Key cannot sign or invalid request",
            "headers" : { }
          },
          "404" : {
            "description" : "Key not found at the specified path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to sign with this key",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/metadata/view" : {
      "get" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "View metadata",
        "description" : "Permissions: ANY OF: [VIEW_METADATA]  \nOperation: 'view-metadata'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nRetrieves the metadata associated with this resource. Metadata provides additional information, tags, descriptions, or custom attributes that can be used for organization, search, and filtering.\n\n**Use Cases:**\n- Retrieve custom attributes and tags\n- Access resource descriptions and annotations\n- Review metadata for organization and categorization\n- Export metadata for documentation or reporting\n\n**Important Notes:**\n- Metadata is optional and may not exist for all resources\n- Returns 404 if no metadata has been set\n- Metadata is stored as a JSON object allowing flexible structure\n- Metadata does not affect core resource functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The metadata stored for this resource",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                },
                "examples" : {
                  "Metadata with data" : {
                    "value" : {
                      "description" : "Example metadata",
                      "tags" : [ "tag1", "tag2" ]
                    }
                  },
                  "Empty metadata" : {
                    "value" : { }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "No metadata stored for this resource",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/metadata/set" : {
      "put" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Set metadata",
        "description" : "Permissions: ANY OF: [SET_METADATA]  \nOperation: 'set-metadata'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nSets or replaces the complete metadata for this resource. This operation replaces any existing metadata with the provided metadata object.\n\n**Use Cases:**\n- Initialize metadata for a new resource\n- Replace existing metadata completely\n- Set custom attributes and tags\n- Add resource descriptions and annotations\n\n**Important Notes:**\n- This operation completely replaces existing metadata\n- To update specific fields, use the update endpoint with JSON Patch\n- Metadata is stored as a JSON object\n- Setting metadata to an empty object is valid\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Metadata to set for this resource",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
              },
              "examples" : {
                "Metadata with description and tags" : {
                  "value" : {
                    "description" : "Example metadata",
                    "tags" : [ "tag1", "tag2" ]
                  }
                },
                "Empty metadata" : {
                  "value" : { }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Metadata was set for this resource",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed JSON object",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to set metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/metadata/purge" : {
      "delete" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Purge metadata",
        "description" : "Permissions: ANY OF: [PURGE_METADATA]  \nOperation: 'purge-metadata'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nPermanently removes all metadata associated with this resource. After this operation, the resource will have no metadata until new metadata is set.\n\n**Use Cases:**\n- Remove metadata that is no longer needed\n- Clean up test or temporary metadata\n- Reset metadata to a clean state\n- Remove sensitive information from metadata\n\n**Important Notes:**\n- This operation is irreversible\n- The resource itself is not affected, only its metadata\n- After purging, the view endpoint will return 404 until new metadata is set\n- Purging metadata does not affect resource functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The metadata stored for this resource was deleted",
            "headers" : { }
          },
          "404" : {
            "description" : "Resource not found or no metadata exists to purge",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to purge metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/metadata/update" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "Update metadata (with JSON Patch)",
        "description" : "Permissions: ANY OF: [UPDATE_METADATA]  \nOperation: 'update-metadata'  \nAccepts targets: [KeyManagementStoredKey]  \nRequires authentication.  \n\n---\nUpdates the metadata for this resource using JSON Patch format (RFC 6902). This allows partial updates to specific fields without replacing the entire metadata object.\n\n**Use Cases:**\n- Update specific metadata fields without replacing the entire object\n- Add new fields to existing metadata\n- Remove specific fields from metadata\n- Modify nested metadata structures\n\n**Important Notes:**\n- Uses RFC 6902 JSON Patch format for updates\n- If no metadata exists, an empty object is used as the base\n- Supports add, remove, replace, move, copy, and test operations\n- Partial updates preserve other metadata fields\n- Invalid patch operations will result in an error\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "JSON Patch document following RFC 6902 format - array of patch operations. Each operation must have 'op', 'path', and optionally 'value' fields.",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "title" : "JsonArray"
              },
              "examples" : {
                "Single replace operation" : {
                  "value" : [ {
                    "op" : "replace",
                    "path" : "/description",
                    "value" : "Updated description"
                  } ]
                },
                "Multiple operations (replace, add, remove)" : {
                  "value" : [ {
                    "op" : "replace",
                    "path" : "/description",
                    "value" : "Updated description"
                  }, {
                    "op" : "add",
                    "path" : "/tags/-",
                    "value" : "new-tag"
                  }, {
                    "op" : "remove",
                    "path" : "/oldField"
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Metadata updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed JSON Patch, invalid patch operation, or patch cannot be applied",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/kms-service-api/keys/metadata/query" : {
      "post" : {
        "tags" : [ "Service | Key Management" ],
        "summary" : "List by metadata matching query",
        "description" : "Permissions: ANY OF: [QUERY_BY_METADATA]  \nOperation: 'query-by-metadata'  \nAccepts targets: [TraversableServiceReference]  \nRequires authentication.  \n\n---\nQueries and returns resources that match the specified metadata constraints. This allows you to find resources based on their metadata attributes using field-based filtering.\n\n**Use Cases:**\n- Find resources by tags or custom attributes\n- Filter resources based on metadata values\n- Search for resources with specific metadata fields\n- Implement metadata-based resource discovery\n\n**Important Notes:**\n- Query uses field constraints to match metadata\n- Returns a map of matching resource targets to their metadata\n- Resources without metadata are not included in results\n- Query constraints follow the Presentation Definition Input Descriptor format\n- Empty query returns all resources with metadata\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "List of field constraints to match against metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/id.walt.definitionparser.PresentationDefinition.InputDescriptor.Constraints.Field"
                },
                "title" : "ArrayList<PresentationDefinition.InputDescriptor.Constraints.Field>"
              },
              "examples" : {
                "Query by tags field" : {
                  "value" : [ {
                    "path" : [ "tags" ]
                  } ]
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Map of matching resource targets to their metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                  },
                  "title" : "LinkedHashMap<Target,JsonObject>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed query constraints",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to query metadata",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/policy-store-service-api/policies/list" : {
      "get" : {
        "tags" : [ "Service | Policy Store Service" ],
        "summary" : "List all holder policies in the policy store",
        "description" : "Permissions: ANY OF: [ES_POLICY_STORE_LIST_POLICIES]  \nOperation: 'list-policies'  \nAccepts targets: [PolicyStoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all holder policies stored in the Policy Store.\nEach policy includes its full policy definition, identifier, and associated information.\n\n**Use Cases:**\n- Audit stored holder policies\n- Retrieve all holder policies for a specific store\n- Export holder policies for backup or migration\n- Review holder policy configurations\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/holder-policy-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "List of all policies stored in the Policy Store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/policy-entry"
                  },
                  "title" : "ArrayList<>"
                },
                "examples" : {
                  "List of policies" : {
                    "value" : [ {
                      "_id" : "org.policystore.policy1",
                      "policy" : {
                        "priority" : 10,
                        "description" : "Example holder policy",
                        "direction" : "PRESENT",
                        "apply" : {
                          "type" : "basic",
                          "issuer" : "did:web:issuer.example.org"
                        },
                        "check" : {
                          "type" : "basic",
                          "claims_present" : [ "claim1" ]
                        },
                        "action" : "BLOCK"
                      },
                      "parent" : "org.policystore"
                    } ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list policies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/policy-store-service-api/policies/list-ids" : {
      "get" : {
        "tags" : [ "Service | Policy Store Service" ],
        "summary" : "List all holder policy IDs in the policy store",
        "description" : "Permissions: ANY OF: [ES_POLICY_STORE_LIST_POLICY_IDS]  \nOperation: 'list-policy-ids'  \nAccepts targets: [PolicyStoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all holder policy IDs (paths) stored in the Policy Store.\nThis endpoint returns only the identifiers, not the full policy data, making it more efficient for large stores.\n\n**Use Cases:**\n- Check if a holder policy exists\n- Get a quick overview of stored holder policies\n- Iterate through holder policies without loading full data\n- Validate holder policy references\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/holder-policy-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "List of policy IDs (paths) stored in the Policy Store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "List of policy IDs" : {
                    "value" : [ "org.policystore.policy1", "org.policystore.policy2", "org.policystore.policy3" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list policy IDs",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/policy-store-service-api/policies/view" : {
      "get" : {
        "tags" : [ "Service | Policy Store Service" ],
        "summary" : "View a specific holder policy",
        "description" : "Permissions: ANY OF: [ES_POLICY_STORE_GET_POLICY]  \nOperation: 'view-policy'  \nAccepts targets: [PolicyStoreStoredPolicy]  \nRequires authentication.  \n\n---\nRetrieves detailed information about a specific holder policy stored in the Policy Store.\nReturns the full holder policy resource including the holder policy identifier and the complete HolderPolicy definition.\n\n**Use Cases:**\n- Retrieve holder policy details for verification flows\n- Review holder policy configuration\n- Validate holder policy structure\n- Access holder policy for verification\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/holder-policy-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The requested policy with its full definition",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/policy-entry"
                },
                "examples" : {
                  "Policy details" : {
                    "value" : {
                      "_id" : "org.policystore.policy1",
                      "policy" : {
                        "priority" : 10,
                        "description" : "Example holder policy",
                        "direction" : "PRESENT",
                        "apply" : {
                          "type" : "basic",
                          "issuer" : "did:web:issuer.example.org"
                        },
                        "check" : {
                          "type" : "basic",
                          "claims_present" : [ "claim1" ]
                        },
                        "action" : "BLOCK"
                      },
                      "parent" : "org.policystore"
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Policy not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this policy",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/policy-store-service-api/policies/add" : {
      "post" : {
        "tags" : [ "Service | Policy Store Service" ],
        "summary" : "Store a new holder policy",
        "description" : "Permissions: ANY OF: [ES_POLICY_STORE_ADD_POLICY]  \nOperation: 'add-policy'  \nAccepts parent targets: [PolicyStoreServiceReference]  \nRequires authentication.  \n\n---\nStores a new holder policy in the Policy Store. \nHolder policies define rules and constraints for credential presentation and verification flows.\n\n\n**Important Notes:**\n- The holder policy ID in the request body will be overridden by the target path\n- Holder policies are scoped to the Policy Store where they are created\n- Each holder policy must have a unique identifier within its store\n\n**Use Cases:**\n- Create new verification holder policies\n- Define credential presentation holder requirements\n- Set up holder policy templates for reuse\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/holder-policy-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The policy to be stored in the Policy Store",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/policy-entry"
              },
              "examples" : {
                "Policy example" : {
                  "value" : {
                    "_id" : "org.policystore.policy1",
                    "policy" : {
                      "priority" : 10,
                      "description" : "Example holder policy",
                      "direction" : "PRESENT",
                      "apply" : {
                        "type" : "basic",
                        "issuer" : "did:web:issuer.example.org"
                      },
                      "check" : {
                        "type" : "basic",
                        "claims_present" : [ "claim1" ]
                      },
                      "action" : "BLOCK"
                    },
                    "parent" : "org.policystore"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Policy successfully created and stored",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid policy format or policy already exists at target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add policies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/policy-store-service-api/policies/update" : {
      "put" : {
        "tags" : [ "Service | Policy Store Service" ],
        "summary" : "Update an existing policy",
        "description" : "Permissions: ANY OF: [ES_POLICY_STORE_UPDATE_POLICY]  \nOperation: 'update-policy'  \nAccepts targets: [PolicyStoreStoredPolicy]  \nRequires authentication.  \n\n---\nUpdates an existing policy in the Policy Store. \nThis endpoint allows you to modify the holder policy definition while maintaining the same holder policy identifier.\n\n**Update Behavior:**\n- If the policy ID matches the target path, the policy is updated in place\n- If the policy ID differs but the parent Policy Store is the same, the old policy is removed and the new one is added\n- The parent Policy Store must remain the same for all updates\n\n**Important Notes:**\n- Only the policy name (identifier) can change, the parent Policy Store must stay the same\n- Policy updates are atomic operations\n- Updating a policy affects all references to that policy\n\n**Use Cases:**\n- Modify holder policy rules and constraints\n- Update holder policy definitions based on changing requirements\n- Rename holder policies within the same store\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/holder-policy-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The updated policy definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/policy-entry"
              },
              "examples" : {
                "Updated policy" : {
                  "value" : {
                    "_id" : "org.policystore.policy1",
                    "policy" : {
                      "priority" : 10,
                      "description" : "Example holder policy",
                      "direction" : "PRESENT",
                      "apply" : {
                        "type" : "basic",
                        "issuer" : "did:web:issuer.example.org"
                      },
                      "check" : {
                        "type" : "basic",
                        "claims_present" : [ "claim1" ]
                      },
                      "action" : "BLOCK"
                    },
                    "parent" : "org.policystore"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Policy successfully updated",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid policy format, policy not found, or parent Policy Store mismatch",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update policies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/policy-store-service-api/policies/remove" : {
      "delete" : {
        "tags" : [ "Service | Policy Store Service" ],
        "summary" : "Remove a holder policy from the policy store",
        "description" : "Permissions: ANY OF: [ES_POLICY_STORE_DELETE_POLICY]  \nOperation: 'remove-policy'  \nAccepts targets: [PolicyStoreStoredPolicy]  \nRequires authentication.  \n\n---\nRemoves a specific holder policy from the Policy Store.\nThis operation permanently deletes the holder policy from the store.\n\n**Important Notes:**\n- This operation is irreversible\n- Removing a policy may affect verification flows that reference it\n- Ensure no active references exist before removing a policy\n\n**Use Cases:**\n- Remove obsolete or deprecated holder policies\n- Clean up unused holder policies\n- Delete test or temporary holder policies\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/holder-policy-store-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Policy successfully removed from the Policy Store",
            "headers" : { }
          },
          "404" : {
            "description" : "Policy not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove policies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Verifier Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/verifier"
              },
              "examples" : {
                "Verifier with minimal configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "baseUrl" : "http://localhost:3000",
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/configuration/openid-metadata/view" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "View OpenID metadata configuration for this Verifier Service instance",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_OPENID_METADATA]  \nOperation: 'verifier-configuration-openid-metadata-view'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the OpenID metadata configuration (name, logo URI) associated with this verifier service instance.\n\n**Use Cases:**\n- View current OpenID metadata configuration\n- Check if metadata is configured for the verifier service\n\n**Important Notes:**\n- Returns empty object if no metadata is configured\n- Metadata is used by wallets to display verifier information to users\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OpenID metadata configuration for this Verifier Service instance",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.VerifierOpenIdMetadataConfiguration"
                },
                "examples" : {
                  "Example response with configured metadata" : {
                    "value" : {
                      "name" : "walt.id Enterprise Verifier",
                      "logoUri" : "http://cdn.walt.id/verifier/logo.png"
                    }
                  },
                  "Example response with no metadata configuration" : {
                    "value" : { }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view OpenID metadata configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/configuration/openid-metadata/update" : {
      "put" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Update OpenID metadata configuration for this Verifier Service instance",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_UPDATE_OPENID_METADATA]  \nOperation: 'verifier-configuration-openid-metadata-update'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nUpdates the OpenID metadata configuration (name, logo URI) for this verifier service instance.\n\n**Use Cases:**\n- Configure verifier display name for wallet users\n- Set verifier logo URI for branding\n\n**Important Notes:**\n- Response body echoes the updated configuration\n- Both name and logoUri are optional\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.VerifierOpenIdMetadataConfiguration"
              },
              "examples" : {
                "Example request body with human-readable display name only" : {
                  "value" : {
                    "name" : "walt.id Enterprise Verifier"
                  }
                },
                "Example request body with logo uri only" : {
                  "value" : {
                    "logoUri" : "http://cdn.walt.id/verifier/logo.png"
                  }
                },
                "Example request body with all metadata values specified" : {
                  "value" : {
                    "name" : "walt.id Enterprise Verifier",
                    "logoUri" : "http://cdn.walt.id/verifier/logo.png"
                  }
                }
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "description" : "Updated metadata configuration.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.VerifierOpenIdMetadataConfiguration"
                },
                "examples" : {
                  "Example response body" : {
                    "value" : {
                      "name" : "walt.id Enterprise Verifier",
                      "logoUri" : "http://cdn.walt.id/verifier/logo.png"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update OpenID metadata configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/configuration/openid-metadata/delete" : {
      "delete" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Delete OpenID metadata configuration for this Verifier Service instance",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_DELETE_OPENID_METADATA]  \nOperation: 'verifier-configuration-openid-metadata-delete'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nDeletes the OpenID metadata configuration associated with this verifier service instance.\n\n**Use Cases:**\n- Remove OpenID metadata configuration\n- Reset verifier service to default metadata state\n\n**Important Notes:**\n- Only deletes if metadata configuration exists\n- Returns 404 if no metadata is configured\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OpenID metadata configuration successfully deleted",
            "headers" : { }
          },
          "404" : {
            "description" : "No OpenID metadata configuration was found to be deleted",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to delete OpenID metadata configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/credentials/verify" : {
      "post" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Create an OID4VP credential verification (presentation) session",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_VERIFY_CREDENTIAL]  \nOperation: 'verifier-credentials-verify'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nCreates a new OpenID4VP credential verification session (Draft 20) with a presentation definition and optional policies. Returns a URL that can be rendered as a QR code for wallets to scan.\n\n**Use Cases:**\n- Request verifiable credentials from wallet holders\n- Verify specific claims from credentials using presentation definitions\n- Apply verification policies (signature validation, revocation checks, status list validation)\n\n**Important Notes:**\n- Returns an OpenID4VP authorization request URL for wallet interaction\n- Supports multiple response modes (direct_post, redirect)\n- Can configure success and error redirect URIs and status callbacks\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "authorizeBaseUrl",
          "in" : "header",
          "description" : "Base URL of wallet authorize endpoint, defaults to: openid4vp://",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "responseMode",
          "in" : "header",
          "description" : "Response mode, for vp_token response, defaults to direct_post",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.openapi.models.VerifierServiceSwaggerResponseMode"
          },
          "example" : "direct_post"
        }, {
          "name" : "successRedirectUri",
          "in" : "header",
          "description" : "Redirect URI to return when all policies passed. \"$id\" will be replaced with the session id.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "errorRedirectUri",
          "in" : "header",
          "description" : "Redirect URI to return when a policy failed. \"$id\" will be replaced with the session id.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "statusCallbackUri",
          "in" : "header",
          "description" : "Callback to push state changes of the presentation process to",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "statusCallbackApiKey",
          "in" : "header",
          "description" : "Optional Bearer value that will be added to the Authorization HTTP header on status callback requests",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "stateId",
          "in" : "header",
          "description" : "Client-provided presentation session, or state, identifier ",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "openId4VPProfile",
          "in" : "header",
          "description" : "Optional header to set the profile of the VP request, available profiles: DEFAULT, ISO_18013_7_MDOC, EBSIV3, HAIP",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "X-Request-ID",
          "in" : "header",
          "description" : "Call-ID for request tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "0bce4262-818f-4d68-af83-b6cc7a5c0508"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.verify.CredentialsVerifyRequestBody"
              },
              "examples" : {
                "Minimal example" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ]
                  }
                },
                "Minimal example with optional session expiration in seconds from current time" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ],
                    "expires_in_seconds" : 30
                  }
                },
                "Example with VP Policies" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "VerifiableId"
                    } ],
                    "vp_policies" : [ {
                      "policy" : "minimum-credentials",
                      "args" : 2
                    }, {
                      "policy" : "maximum-credentials",
                      "args" : 100
                    } ]
                  }
                },
                "Example with VP & global VC policies" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "VerifiableId"
                    } ],
                    "vp_policies" : [ {
                      "policy" : "minimum-credentials",
                      "args" : 2
                    }, {
                      "policy" : "maximum-credentials",
                      "args" : 100
                    } ],
                    "vc_policies" : [ "signature", "expired", "not-before", "revoked-status-list" ]
                  }
                },
                "Example with VP, VC & specific credential policies" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "ProofOfResidence"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "VerifiableId"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential",
                      "policies" : [ "signature", {
                        "policy" : "schema",
                        "args" : {
                          "type" : "object",
                          "required" : [ "issuer" ],
                          "properties" : {
                            "issuer" : {
                              "type" : "object"
                            }
                          }
                        }
                      } ]
                    } ],
                    "vp_policies" : [ {
                      "policy" : "minimum-credentials",
                      "args" : 2
                    }, {
                      "policy" : "maximum-credentials",
                      "args" : 100
                    } ],
                    "vc_policies" : [ "signature", "expired", "not-before", "revoked-status-list" ]
                  }
                },
                "Example with VP, VC & specific policies, and input descriptors (maximal example)" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "ProofOfResidence"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "VerifiableId"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential",
                      "policies" : [ "signature", {
                        "policy" : "schema",
                        "args" : {
                          "type" : "object",
                          "required" : [ "issuer" ],
                          "properties" : {
                            "issuer" : {
                              "type" : "object"
                            }
                          }
                        }
                      } ]
                    }, {
                      "format" : "jwt_vc_json",
                      "input_descriptor" : {
                        "id" : "VerifiableId",
                        "format" : {
                          "jwt_vc_json" : {
                            "alg" : [ "ES256" ]
                          }
                        },
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$.type" ],
                            "filter" : {
                              "type" : "string",
                              "pattern" : "VerifiableId"
                            }
                          } ]
                        }
                      }
                    } ],
                    "vp_policies" : [ {
                      "policy" : "minimum-credentials",
                      "args" : 2
                    }, {
                      "policy" : "maximum-credentials",
                      "args" : 100
                    } ],
                    "vc_policies" : [ "signature", "expired", "not-before", "revoked-status-list" ]
                  }
                },
                "Example with presentation definition policy" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "ProofOfResidence"
                    }, {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential",
                      "policies" : [ "signature", {
                        "policy" : "schema",
                        "args" : {
                          "type" : "object",
                          "required" : [ "issuer" ],
                          "properties" : {
                            "issuer" : {
                              "type" : "object"
                            }
                          }
                        }
                      } ]
                    } ],
                    "vp_policies" : [ "signature", "expired", "not-before", "presentation-definition" ],
                    "vc_policies" : [ "signature", "expired", "not-before" ]
                  }
                },
                "Example with EBSI PDA1 presentation definition policy" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "input_descriptor" : {
                        "id" : "135f0912-b3e6-4210-b5e7-dd30b2366bb9",
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$.type" ],
                            "filter" : {
                              "type" : "array",
                              "contains" : {
                                "const" : "VerifiablePortableDocumentA1"
                              }
                            }
                          } ]
                        }
                      }
                    } ],
                    "vp_policies" : [ "signature", "expired", "not-before", "presentation-definition" ],
                    "vc_policies" : [ "signature", "expired", "not-before", "revoked-status-list" ]
                  }
                },
                "SD-JWT-VC verification example" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "vc+sd-jwt",
                      "vct" : "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/.well-known/vct/identity_credential"
                    } ]
                  }
                },
                "SD-JWT-VC verification example with mandatory fields" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "vc+sd-jwt",
                      "vct" : "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/.well-known/vct/identity_credential",
                      "input_descriptor" : {
                        "id" : "d834288b-33ef-4205-9816-3d6bd01814d1",
                        "format" : {
                          "vc+sd-jwt" : { }
                        },
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$.vct" ],
                            "filter" : {
                              "type" : "string",
                              "pattern" : "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/.well-known/vct/identity_credential"
                            }
                          }, {
                            "path" : [ "$.birthdate" ],
                            "filter" : {
                              "type" : "string",
                              "pattern" : ".*"
                            }
                          } ],
                          "limit_disclosure" : "required"
                        }
                      }
                    } ],
                    "vp_policies" : [ "signature_sd-jwt-vc", "presentation-definition" ],
                    "vc_policies" : [ "not-before", "expired" ]
                  }
                },
                "mDL Request presentation of all mandatory fields example" : {
                  "value" : {
                    "request_credentials" : [ {
                      "id" : "mDL-request",
                      "input_descriptor" : {
                        "id" : "org.iso.18013.5.1.mDL",
                        "format" : {
                          "mso_mdoc" : {
                            "alg" : [ "ES256" ]
                          }
                        },
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$['org.iso.18013.5.1']['family_name']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['given_name']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['birth_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issue_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['expiry_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issuing_country']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issuing_authority']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['document_number']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['portrait']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['driving_privileges']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['un_distinguishing_sign']" ],
                            "intent_to_retain" : false
                          } ],
                          "limit_disclosure" : "required"
                        }
                      }
                    } ],
                    "openid_profile" : "ISO_18013_7_MDOC",
                    "trusted_root_cas" : [ "-----BEGIN CERTIFICATE-----\nMIIBtTCCAVqgAwIBAgIUNlgkpoam39UxORhMNRkwuFzD9pQwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjgxMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxFeGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASf9vUaZlNISGKgrfPwwapxvufFerKMVotH458o6eynBZxkVb7h07RAGdR44HS2i2Z2Ma5IkVf3uFdls9KlVmvjo2owaDAdBgNVHQ4EFgQUjCMRsfolTeK5Ds6MqOWj5Nx01BQwEgYDVR0TAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5jb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCnUfp3OyxcaPCT34SQ4dTNyNN0qgxKWpWIDeUXkrs7HwIhALFYrMrINeAats4ZWRxZMK6bykb9dcOwkmBCv96MoZVi\n-----END CERTIFICATE-----\n" ],
                    "x509SanDnsConfig" : {
                      "jarSigningKeyId" : "waltid.tenant1.verifier1-kms.iso-mdl-reader-jar-signingkey",
                      "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIIB1jCCAXygAwIBAgIUVWGgqDn/DectsPZgdM+MGZD4rlAwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMB4XDTI1MDkwOTA3MDgyMVoXDTQ1MDkwNDA3MDkyMVowJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4olVtT1WWw/keXg3Bu2cIvQiBTuzuIoSo3OsJXOjQc4SznsMmVFc/b4WTuXu/uBFztn+2Op0k7MNflbAxIyVo6OBhzCBhDAPBgNVHRMBAf8EBTADAQH/MDEGA1UdEQQqMCiCG3dhbHRpZC5lbnRlcnByaXNlLmxvY2FsaG9zdIIJbG9jYWxob3N0MB0GA1UdDgQWBBS9SQQ+meofY5U4e3+nZteQeposUDAfBgNVHSMEGDAWgBS9SQQ+meofY5U4e3+nZteQeposUDAKBggqhkjOPQQDAgNIADBFAiEAp3Mlv8Xoj2aDS3rh7FyzfXRb6Oam3cLwzLznLVMyhxICIFGmhg928AE+wFXZjo+PC7GI/B/nJ3KKRWCkMLSSY3IC+R5eDcG7Zwi9CIFO7O4ihKjc6wlc6NBzhLOewyZUVz9vhZO5e7+4EXO2f7Y6nSTsw1+VsDEjJWjoxMwETAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQCR/jD5iEjY/9jZd8VStys0y4MPOKA4LIyXlePJjKFOGQIhAOrf28yStk8Evz4TOzzKgq41kX3uO8q/X75JdQ86ZvH+\n-----END CERTIFICATE-----\n" ]
                    }
                  }
                },
                "mDL Request presentation of birth date & validity fields only example" : {
                  "value" : {
                    "request_credentials" : [ {
                      "id" : "mDL-request",
                      "input_descriptor" : {
                        "id" : "org.iso.18013.5.1.mDL",
                        "format" : {
                          "mso_mdoc" : {
                            "alg" : [ "ES256" ]
                          }
                        },
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$['org.iso.18013.5.1']['birth_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issue_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['expiry_date']" ],
                            "intent_to_retain" : false
                          } ],
                          "limit_disclosure" : "required"
                        }
                      }
                    } ],
                    "openid_profile" : "ISO_18013_7_MDOC",
                    "trusted_root_cas" : [ "-----BEGIN CERTIFICATE-----\nMIIBtTCCAVqgAwIBAgIUNlgkpoam39UxORhMNRkwuFzD9pQwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjgxMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxFeGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASf9vUaZlNISGKgrfPwwapxvufFerKMVotH458o6eynBZxkVb7h07RAGdR44HS2i2Z2Ma5IkVf3uFdls9KlVmvjo2owaDAdBgNVHQ4EFgQUjCMRsfolTeK5Ds6MqOWj5Nx01BQwEgYDVR0TAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5jb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCnUfp3OyxcaPCT34SQ4dTNyNN0qgxKWpWIDeUXkrs7HwIhALFYrMrINeAats4ZWRxZMK6bykb9dcOwkmBCv96MoZVi\n-----END CERTIFICATE-----\n" ],
                    "x509SanDnsConfig" : {
                      "jarSigningKeyId" : "waltid.tenant1.verifier1-kms.iso-mdl-reader-jar-signingkey",
                      "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIIB1jCCAXygAwIBAgIUVWGgqDn/DectsPZgdM+MGZD4rlAwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMB4XDTI1MDkwOTA3MDgyMVoXDTQ1MDkwNDA3MDkyMVowJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4olVtT1WWw/keXg3Bu2cIvQiBTuzuIoSo3OsJXOjQc4SznsMmVFc/b4WTuXu/uBFztn+2Op0k7MNflbAxIyVo6OBhzCBhDAPBgNVHRMBAf8EBTADAQH/MDEGA1UdEQQqMCiCG3dhbHRpZC5lbnRlcnByaXNlLmxvY2FsaG9zdIIJbG9jYWxob3N0MB0GA1UdDgQWBBS9SQQ+meofY5U4e3+nZteQeposUDAfBgNVHSMEGDAWgBS9SQQ+meofY5U4e3+nZteQeposUDAKBggqhkjOPQQDAgNIADBFAiEAp3Mlv8Xoj2aDS3rh7FyzfXRb6Oam3cLwzLznLVMyhxICIFGmhg928AE+wFXZjo+PC7GI/B/nJ3KKRWCkMLSSY3IC+R5eDcG7Zwi9CIFO7O4ihKjc6wlc6NBzhLOewyZUVz9vhZO5e7+4EXO2f7Y6nSTsw1+VsDEjJWjoxMwETAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQCR/jD5iEjY/9jZd8VStys0y4MPOKA4LIyXlePJjKFOGQIhAOrf28yStk8Evz4TOzzKgq41kX3uO8q/X75JdQ86ZvH+\n-----END CERTIFICATE-----\n" ]
                    }
                  }
                },
                "mDL Request presentation of age over 18 attestation & validity fields only example (assumes `age_over_18` field exists in issued mDL)" : {
                  "value" : {
                    "request_credentials" : [ {
                      "id" : "mDL-request",
                      "input_descriptor" : {
                        "id" : "org.iso.18013.5.1.mDL",
                        "format" : {
                          "mso_mdoc" : {
                            "alg" : [ "ES256" ]
                          }
                        },
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$['org.iso.18013.5.1']['age_over_18']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issue_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['expiry_date']" ],
                            "intent_to_retain" : false
                          } ],
                          "limit_disclosure" : "required"
                        }
                      }
                    } ],
                    "openid_profile" : "ISO_18013_7_MDOC",
                    "trusted_root_cas" : [ "-----BEGIN CERTIFICATE-----\nMIIBtTCCAVqgAwIBAgIUNlgkpoam39UxORhMNRkwuFzD9pQwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjgxMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxFeGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASf9vUaZlNISGKgrfPwwapxvufFerKMVotH458o6eynBZxkVb7h07RAGdR44HS2i2Z2Ma5IkVf3uFdls9KlVmvjo2owaDAdBgNVHQ4EFgQUjCMRsfolTeK5Ds6MqOWj5Nx01BQwEgYDVR0TAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5jb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCnUfp3OyxcaPCT34SQ4dTNyNN0qgxKWpWIDeUXkrs7HwIhALFYrMrINeAats4ZWRxZMK6bykb9dcOwkmBCv96MoZVi\n-----END CERTIFICATE-----\n" ],
                    "x509SanDnsConfig" : {
                      "jarSigningKeyId" : "waltid.tenant1.verifier1-kms.iso-mdl-reader-jar-signingkey",
                      "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIIB1jCCAXygAwIBAgIUVWGgqDn/DectsPZgdM+MGZD4rlAwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMB4XDTI1MDkwOTA3MDgyMVoXDTQ1MDkwNDA3MDkyMVowJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4olVtT1WWw/keXg3Bu2cIvQiBTuzuIoSo3OsJXOjQc4SznsMmVFc/b4WTuXu/uBFztn+2Op0k7MNflbAxIyVo6OBhzCBhDAPBgNVHRMBAf8EBTADAQH/MDEGA1UdEQQqMCiCG3dhbHRpZC5lbnRlcnByaXNlLmxvY2FsaG9zdIIJbG9jYWxob3N0MB0GA1UdDgQWBBS9SQQ+meofY5U4e3+nZteQeposUDAfBgNVHSMEGDAWgBS9SQQ+meofY5U4e3+nZteQeposUDAKBggqhkjOPQQDAgNIADBFAiEAp3Mlv8Xoj2aDS3rh7FyzfXRb6Oam3cLwzLznLVMyhxICIFGmhg928AE+wFXZjo+PC7GI/B/nJ3KKRWCkMLSSY3IC+R5eDcG7Zwi9CIFO7O4ihKjc6wlc6NBzhLOewyZUVz9vhZO5e7+4EXO2f7Y6nSTsw1+VsDEjJWjoxMwETAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQCR/jD5iEjY/9jZd8VStys0y4MPOKA4LIyXlePJjKFOGQIhAOrf28yStk8Evz4TOzzKgq41kX3uO8q/X75JdQ86ZvH+\n-----END CERTIFICATE-----\n" ]
                    }
                  }
                },
                "mDL Request presentation of all mandatory fields and status example" : {
                  "value" : {
                    "request_credentials" : [ {
                      "id" : "mDL-request",
                      "input_descriptor" : {
                        "id" : "org.iso.18013.5.1.mDL",
                        "format" : {
                          "mso_mdoc" : {
                            "alg" : [ "ES256" ]
                          }
                        },
                        "constraints" : {
                          "fields" : [ {
                            "path" : [ "$['org.iso.18013.5.1']['family_name']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['given_name']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['birth_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issue_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['expiry_date']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issuing_country']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['issuing_authority']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['document_number']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['portrait']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['driving_privileges']" ],
                            "intent_to_retain" : false
                          }, {
                            "path" : [ "$['org.iso.18013.5.1']['un_distinguishing_sign']" ],
                            "intent_to_retain" : false
                          } ],
                          "limit_disclosure" : "required"
                        }
                      }
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "ietf",
                        "value" : 0
                      }
                    } ],
                    "openid_profile" : "ISO_18013_7_MDOC",
                    "trusted_root_cas" : [ "-----BEGIN CERTIFICATE-----\nMIIBtTCCAVqgAwIBAgIUNlgkpoam39UxORhMNRkwuFzD9pQwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjgxMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxFeGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASf9vUaZlNISGKgrfPwwapxvufFerKMVotH458o6eynBZxkVb7h07RAGdR44HS2i2Z2Ma5IkVf3uFdls9KlVmvjo2owaDAdBgNVHQ4EFgQUjCMRsfolTeK5Ds6MqOWj5Nx01BQwEgYDVR0TAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5jb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCnUfp3OyxcaPCT34SQ4dTNyNN0qgxKWpWIDeUXkrs7HwIhALFYrMrINeAats4ZWRxZMK6bykb9dcOwkmBCv96MoZVi\n-----END CERTIFICATE-----\n" ],
                    "x509SanDnsConfig" : {
                      "jarSigningKeyId" : "waltid.tenant1.verifier1-kms.iso-mdl-reader-jar-signingkey",
                      "x5Chain" : [ "-----BEGIN CERTIFICATE-----\nMIIB1jCCAXygAwIBAgIUVWGgqDn/DectsPZgdM+MGZD4rlAwCgYIKoZIzj0EAwIwJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMB4XDTI1MDkwOTA3MDgyMVoXDTQ1MDkwNDA3MDkyMVowJjEkMCIGA1UEAwwbVGVzdCBTZWxmLVNpZ25lZCBtREwgUmVhZGVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE4olVtT1WWw/keXg3Bu2cIvQiBTuzuIoSo3OsJXOjQc4SznsMmVFc/b4WTuXu/uBFztn+2Op0k7MNflbAxIyVo6OBhzCBhDAPBgNVHRMBAf8EBTADAQH/MDEGA1UdEQQqMCiCG3dhbHRpZC5lbnRlcnByaXNlLmxvY2FsaG9zdIIJbG9jYWxob3N0MB0GA1UdDgQWBBS9SQQ+meofY5U4e3+nZteQeposUDAfBgNVHSMEGDAWgBS9SQQ+meofY5U4e3+nZteQeposUDAKBggqhkjOPQQDAgNIADBFAiEAp3Mlv8Xoj2aDS3rh7FyzfXRb6Oam3cLwzLznLVMyhxICIFGmhg928AE+wFXZjo+PC7GI/B/nJ3KKRWCkMLSSY3IC+R5eDcG7Zwi9CIFO7O4ihKjc6wlc6NBzhLOewyZUVz9vhZO5e7+4EXO2f7Y6nSTsw1+VsDEjJWjoxMwETAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQCR/jD5iEjY/9jZd8VStys0y4MPOKA4LIyXlePJjKFOGQIhAOrf28yStk8Evz4TOzzKgq41kX3uO8q/X75JdQ86ZvH+\n-----END CERTIFICATE-----\n" ]
                    }
                  }
                },
                "Credential status - BitstringStatusList" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "w3c",
                        "value" : 0,
                        "purpose" : "revocation",
                        "type" : "BitstringStatusList"
                      }
                    } ]
                  }
                },
                "Credential status - BitstringStatusList custom valid value" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "w3c",
                        "value" : 2,
                        "purpose" : "custom",
                        "type" : "BitstringStatusList"
                      }
                    } ]
                  }
                },
                "Credential status - StatusList2021" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "w3c",
                        "value" : 0,
                        "purpose" : "revocation",
                        "type" : "StatusList2021"
                      }
                    } ]
                  }
                },
                "Credential status - RevocationList2020" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "w3c",
                        "value" : 0,
                        "purpose" : "revocation",
                        "type" : "RevocationList2020"
                      }
                    } ]
                  }
                },
                "Credential status - multiple statuses" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "jwt_vc_json",
                      "type" : "OpenBadgeCredential"
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "w3c-list",
                        "list" : [ {
                          "value" : 0,
                          "purpose" : "revocation",
                          "type" : "BitstringStatusList"
                        }, {
                          "value" : 0,
                          "purpose" : "suspension",
                          "type" : "BitstringStatusList"
                        } ]
                      }
                    } ]
                  }
                },
                "Credential status - TokenStatusList" : {
                  "value" : {
                    "request_credentials" : [ {
                      "format" : "vc+sd-jwt",
                      "vct" : "{vctBaseURL}/identity_credential"
                    } ],
                    "vc_policies" : [ {
                      "policy" : "credential-status",
                      "args" : {
                        "discriminator" : "ietf",
                        "value" : 0
                      }
                    } ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Credentials verify URL",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                },
                "examples" : {
                  "Example response" : {
                    "value" : "openid4vp://?response_type=vp_token&client_id=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier%2Fverifier-service-api%2Fopenid4vc&response_mode=direct_post&state=waltid.verifier.17085242-a6af-4ad6-99d7-cb37789191f5&presentation_definition_uri=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier.17085242-a6af-4ad6-99d7-cb37789191f5%2Fverifier-service-api%2Fopenid4vc%2Fpd&client_id_scheme=redirect_uri&client_metadata_uri=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier%2Fverifier-service-api%2Fopenid4vc%2F.well-known%2Fopenid-configuration&nonce=984f60b1-a2c4-44f9-a5a9-532d3195224c&response_uri=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier.17085242-a6af-4ad6-99d7-cb37789191f5%2Fverifier-service-api%2Fopenid4vc%2Fverify"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed presentation definition or invalid policy configuration",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create verification sessions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/credentials/sessions/view" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Retrieve information related to a stored credential verification (presentation) session",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_VERIFIER_SESSION]  \nOperation: 'verifier-credentials-sessions-view'  \nAccepts targets: [StoredPresentationSession]  \nRequires authentication.  \n\n---\nRetrieves information about a verification session including presentation definition, token response, verification results, and policy evaluation outcomes.\n\n**Use Cases:**\n- Check session status and verification results\n- View presentation definition and policy evaluation results\n- Debug verification session issues\n\n**Important Notes:**\n- Policy results are only available after wallet has submitted credentials\n- Verification result indicates overall session success or failure\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Verification session information retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                },
                "examples" : {
                  "Example response" : {
                    "value" : {
                      "id" : "4abfbcb3-0dd2-41c9-92d6-9be5e194ba5b",
                      "presentationDefinition" : {
                        "id" : "kA1mUVtxa3To",
                        "input_descriptors" : [ {
                          "id" : "OpenBadgeCredential",
                          "format" : {
                            "jwt_vc_json" : {
                              "alg" : [ "EdDSA" ]
                            }
                          },
                          "constraints" : {
                            "fields" : [ {
                              "path" : [ "$.type" ],
                              "filter" : {
                                "type" : "string",
                                "pattern" : "OpenBadgeCredential"
                              }
                            } ]
                          }
                        } ],
                        "customParameters" : { }
                      },
                      "tokenResponse" : {
                        "vp_token" : "eyJraWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pU1hFM1pqaEdjRTVmYUVkaGNUVm5RVmxzYXpKSllteDNaaTEzYkVwemJsRlBNbkJ6WDBOTFZXRTBRU0lzSW5naU9pSkVZV3BXZG1sMWJrVmpNRmxRVmpKbVZYcHJaMkpyWkhsR2FERk5ORTB3YnpSZmNsRmhkMVZQVDFwVklpd2llU0k2SWtObmRXUnFiamxmT0ZKcWFqZGtVMVZaWnpCeFQyazRWSEUwZVdKWE4wY3pWWHBVT0daRFRHaElNa2tpZlEjMCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pU1hFM1pqaEdjRTVmYUVkaGNUVm5RVmxzYXpKSllteDNaaTEzYkVwemJsRlBNbkJ6WDBOTFZXRTBRU0lzSW5naU9pSkVZV3BXZG1sMWJrVmpNRmxRVmpKbVZYcHJaMkpyWkhsR2FERk5ORTB3YnpSZmNsRmhkMVZQVDFwVklpd2llU0k2SWtObmRXUnFiamxmT0ZKcWFqZGtVMVZaWnpCeFQyazRWSEUwZVdKWE4wY3pWWHBVT0daRFRHaElNa2tpZlEiLCJuYmYiOjE3MzAxMTgwMjksImlhdCI6MTczMDExODA4OSwianRpIjoia0ExbVVWdHhhM1RvIiwiaXNzIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVNYRTNaamhHY0U1ZmFFZGhjVFZuUVZsc2F6SkpZbXgzWmkxM2JFcHpibEZQTW5CelgwTkxWV0UwUVNJc0luZ2lPaUpFWVdwV2RtbDFia1ZqTUZsUVZqSm1WWHByWjJKclpIbEdhREZOTkUwd2J6UmZjbEZoZDFWUFQxcFZJaXdpZVNJNklrTm5kV1JxYmpsZk9GSnFhamRrVTFWWlp6QnhUMms0VkhFMGVXSlhOMGN6VlhwVU9HWkRUR2hJTWtraWZRIiwibm9uY2UiOiIzZTVlNzNiMC01N2Y3LTQwMjItOWJiNS05NDY5YzBiZjJkNzkiLCJhdWQiOiJodHRwOi8vd2FsdGlkLmVudGVycHJpc2UubG9jYWxob3N0OjIyMjIyL3YxL3dhbHRpZC52ZXJpZmllci92ZXJpZmllci1zZXJ2aWNlLWFwaS9vcGVuaWQ0dmMiLCJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaWQiOiJrQTFtVVZ0eGEzVG8iLCJob2xkZXIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pU1hFM1pqaEdjRTVmYUVkaGNUVm5RVmxzYXpKSllteDNaaTEzYkVwemJsRlBNbkJ6WDBOTFZXRTBRU0lzSW5naU9pSkVZV3BXZG1sMWJrVmpNRmxRVmpKbVZYcHJaMkpyWkhsR2FERk5ORTB3YnpSZmNsRmhkMVZQVDFwVklpd2llU0k2SWtObmRXUnFiamxmT0ZKcWFqZGtVMVZaWnpCeFQyazRWSEUwZVdKWE4wY3pWWHBVT0daRFRHaElNa2tpZlEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ubzJUV3RxYjFKb2NURnFVMDVLWkV4cGNuVlRXSEpHUm5oaFozRnllblJhWVZoSWNVaEhWVlJMU21KalRubDNjQ0lzSW5SNWNDSTZJa3BYVkNJc0ltRnNaeUk2SWtWa1JGTkJJbjAuZXlKcGMzTWlPaUprYVdRNmEyVjVPbm8yVFd0cWIxSm9jVEZxVTA1S1pFeHBjblZUV0hKR1JuaGhaM0Z5ZW5SYVlWaEljVWhIVlZSTFNtSmpUbmwzY0NJc0luTjFZaUk2SW1ScFpEcHFkMnM2WlhsS2NtUklhMmxQYVVwR1VYbEpjMGx0VG5sa2FVazJTV3hCZEUxcVZUSkphWGRwWVRKc2EwbHFiMmxUV0VVeldtcG9SMk5GTldaaFJXUm9ZMVJXYmxGV2JITmhla3BLV1cxNE0xcHBNVE5pUlhCNllteEdVRTF1UW5wWU1FNU1WbGRGTUZGVFNYTkpibWRwVDJsS1JWbFhjRmRrYld3eFltdFdhazFHYkZGV2FrcHRWbGh3Y2xveVNuSmFTR3hIWVVSR1RrNUZNSGRpZWxKbVkyeEdhR1F4VmxCVU1YQldTV2wzYVdWVFNUWkphMDV1WkZkU2NXSnFiR1pQUmtweFlXcGthMVV4VmxwYWVrSjRWREpyTkZaSVJUQmxWMHBZVGpCamVsWlljRlZQUjFwRVZFZG9TVTFyYTJsbVVTSXNJblpqSWpwN0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTh5TURFNEwyTnlaV1JsYm5ScFlXeHpMM1l4SWl3aWFIUjBjSE02THk5d2RYSnNMbWx0YzJkc2IySmhiQzV2Y21jdmMzQmxZeTl2WWk5Mk0zQXdMMk52Ym5SbGVIUXVhbk52YmlKZExDSnBaQ0k2SW5WeWJqcDFkV2xrT2pka1l6VTNPRE13TFdFek1Ea3ROR1V4WlMwNFpXTXdMVE16TWpnMU1tWTJZakZpWkNJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pQY0dWdVFtRmtaMlZEY21Wa1pXNTBhV0ZzSWwwc0ltNWhiV1VpT2lKS1JrWWdlQ0IyWXkxbFpIVWdVR3gxWjBabGMzUWdNeUJKYm5SbGNtOXdaWEpoWW1sc2FYUjVJaXdpYVhOemRXVnlJanA3SW5SNWNHVWlPbHNpVUhKdlptbHNaU0pkTENKdVlXMWxJam9pU205aWN5Qm1iM0lnZEdobElFWjFkSFZ5WlNBb1NrWkdLU0lzSW5WeWJDSTZJbWgwZEhCek9pOHZkM2QzTG1wbVppNXZjbWN2SWl3aWFXMWhaMlVpT2lKb2RIUndjem92TDNjell5MWpZMmN1WjJsMGFIVmlMbWx2TDNaakxXVmtMM0JzZFdkbVpYTjBMVEV0TWpBeU1pOXBiV0ZuWlhNdlNrWkdYMHh2WjI5TWIyTnJkWEF1Y0c1bklpd2lhV1FpT2lKa2FXUTZhMlY1T25vMlRXdHFiMUpvY1RGcVUwNUtaRXhwY25WVFdISkdSbmhoWjNGeWVuUmFZVmhJY1VoSFZWUkxTbUpqVG5sM2NDSjlMQ0pqY21Wa1pXNTBhV0ZzVTNWaWFtVmpkQ0k2ZXlKMGVYQmxJanBiSWtGamFHbGxkbVZ0Wlc1MFUzVmlhbVZqZENKZExDSmhZMmhwWlhabGJXVnVkQ0k2ZXlKcFpDSTZJblZ5YmpwMWRXbGtPbUZqTWpVMFltUTFMVGhtWVdRdE5HSmlNUzA1WkRJNUxXVm1aRGt6T0RVek5qa3lOaUlzSW5SNWNHVWlPbHNpUVdOb2FXVjJaVzFsYm5RaVhTd2libUZ0WlNJNklrcEdSaUI0SUhaakxXVmtkU0JRYkhWblJtVnpkQ0F6SUVsdWRHVnliM0JsY21GaWFXeHBkSGtpTENKa1pYTmpjbWx3ZEdsdmJpSTZJbFJvYVhNZ2QyRnNiR1YwSUhOMWNIQnZjblJ6SUhSb1pTQjFjMlVnYjJZZ1Z6TkRJRlpsY21sbWFXRmliR1VnUTNKbFpHVnVkR2xoYkhNZ1lXNWtJR2hoY3lCa1pXMXZibk4wY21GMFpXUWdhVzUwWlhKdmNHVnlZV0pwYkdsMGVTQmtkWEpwYm1jZ2RHaGxJSEJ5WlhObGJuUmhkR2x2YmlCeVpYRjFaWE4wSUhkdmNtdG1iRzkzSUdSMWNtbHVaeUJLUmtZZ2VDQldReTFGUkZVZ1VHeDFaMFpsYzNRZ015NGlMQ0pqY21sMFpYSnBZU0k2ZXlKMGVYQmxJam9pUTNKcGRHVnlhV0VpTENKdVlYSnlZWFJwZG1VaU9pSlhZV3hzWlhRZ2MyOXNkWFJwYjI1eklIQnliM1pwWkdWeWN5QmxZWEp1WldRZ2RHaHBjeUJpWVdSblpTQmllU0JrWlcxdmJuTjBjbUYwYVc1bklHbHVkR1Z5YjNCbGNtRmlhV3hwZEhrZ1pIVnlhVzVuSUhSb1pTQndjbVZ6Wlc1MFlYUnBiMjRnY21WeGRXVnpkQ0IzYjNKclpteHZkeTRnVkdocGN5QnBibU5zZFdSbGN5QnpkV05qWlhOelpuVnNiSGtnY21WalpXbDJhVzVuSUdFZ2NISmxjMlZ1ZEdGMGFXOXVJSEpsY1hWbGMzUXNJR0ZzYkc5M2FXNW5JSFJvWlNCb2IyeGtaWElnZEc4Z2MyVnNaV04wSUdGMElHeGxZWE4wSUhSM2J5QjBlWEJsY3lCdlppQjJaWEpwWm1saFlteGxJR055WldSbGJuUnBZV3h6SUhSdklHTnlaV0YwWlNCaElIWmxjbWxtYVdGaWJHVWdjSEpsYzJWdWRHRjBhVzl1TENCeVpYUjFjbTVwYm1jZ2RHaGxJSEJ5WlhObGJuUmhkR2x2YmlCMGJ5QjBhR1VnY21WeGRXVnpkRzl5TENCaGJtUWdjR0Z6YzJsdVp5QjJaWEpwWm1sallYUnBiMjRnYjJZZ2RHaGxJSEJ5WlhObGJuUmhkR2x2YmlCaGJtUWdkR2hsSUdsdVkyeDFaR1ZrSUdOeVpXUmxiblJwWVd4ekxpSjlMQ0pwYldGblpTSTZleUpwWkNJNkltaDBkSEJ6T2k4dmR6TmpMV05qWnk1bmFYUm9kV0l1YVc4dmRtTXRaV1F2Y0d4MVoyWmxjM1F0TXkweU1ESXpMMmx0WVdkbGN5OUtSa1l0VmtNdFJVUlZMVkJNVlVkR1JWTlVNeTFpWVdSblpTMXBiV0ZuWlM1d2JtY2lMQ0owZVhCbElqb2lTVzFoWjJVaWZYMHNJbWxrSWpvaVpHbGtPbXAzYXpwbGVVcHlaRWhyYVU5cFNrWlJlVWx6U1cxT2VXUnBTVFpKYkVGMFRXcFZNa2xwZDJsaE1teHJTV3B2YVZOWVJUTmFhbWhIWTBVMVptRkZaR2hqVkZadVVWWnNjMkY2U2twWmJYZ3pXbWt4TTJKRmNIcGliRVpRVFc1Q2VsZ3dUa3hXVjBVd1VWTkpjMGx1WjJsUGFVcEZXVmR3VjJSdGJERmlhMVpxVFVac1VWWnFTbTFXV0hCeVdqSktjbHBJYkVkaFJFWk9Ua1V3ZDJKNlVtWmpiRVpvWkRGV1VGUXhjRlpKYVhkcFpWTkpOa2xyVG01a1YxSnhZbXBzWms5R1NuRmhhbVJyVlRGV1dscDZRbmhVTW1zMFZraEZNR1ZYU2xoT01HTjZWbGh3VlU5SFdrUlVSMmhKVFd0cmFXWlJJbjBzSW1semMzVmhibU5sUkdGMFpTSTZJakl3TWpRdE1UQXRNamRVTURrNk1qZzZORE11TlRNNU9UVTVPRFUwV2lJc0ltVjRjR2x5WVhScGIyNUVZWFJsSWpvaU1qQXlOUzB4TUMweU4xUXdPVG95T0RvME15NDFOREF3TVRFeU9UQmFJbjBzSW1wMGFTSTZJblZ5YmpwMWRXbGtPamRrWXpVM09ETXdMV0V6TURrdE5HVXhaUzA0WldNd0xUTXpNamcxTW1ZMllqRmlaQ0lzSW1WNGNDSTZNVGMyTVRVMU56TXlNeXdpYVdGMElqb3hOek13TURJeE16SXpMQ0p1WW1ZaU9qRTNNekF3TWpFek1qTjkuYlhKQkNhY19TZHBQMGZRTFdZM2VaaTR4TVNYXzNFZFRKS2wwTzNDbXZBeGJ1a1M1VnRtMmlkQkRtNHlNZzlRSVVNbzBLbVZ4V0FkOHl1TjFzbUVaQnciXX19.8HpgZ5ixHA8C6wbE-tR7LwAo0s6Z-zWghByfMXiBld2dtaUu-cIdZPagkPpBHMO0IBYz6Q_tZHSqSpd9p_B8GQ",
                        "presentation_submission" : {
                          "id" : "kA1mUVtxa3To",
                          "definition_id" : "kA1mUVtxa3To",
                          "descriptor_map" : [ {
                            "id" : "OpenBadgeCredential",
                            "format" : "jwt_vp",
                            "path" : "$",
                            "path_nested" : {
                              "id" : "OpenBadgeCredential",
                              "format" : "jwt_vc_json",
                              "path" : "$.verifiableCredential[0]",
                              "customParameters" : { }
                            }
                          } ]
                        },
                        "state" : "waltid.verifier.4abfbcb3-0dd2-41c9-92d6-9be5e194ba5b",
                        "customParameters" : { }
                      },
                      "verificationResult" : true,
                      "policyResults" : {
                        "results" : [ {
                          "credential" : "VerifiablePresentation",
                          "policyResults" : [ {
                            "policy" : "signature",
                            "description" : "Checks a JWT credential by verifying its cryptographic signature using the key referenced by the DID in `iss`.",
                            "is_success" : true,
                            "result" : {
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiSXE3ZjhGcE5faEdhcTVnQVlsazJJYmx3Zi13bEpzblFPMnBzX0NLVWE0QSIsIngiOiJEYWpWdml1bkVjMFlQVjJmVXprZ2JrZHlGaDFNNE0wbzRfclFhd1VPT1pVIiwieSI6IkNndWRqbjlfOFJqajdkU1VZZzBxT2k4VHE0eWJXN0czVXpUOGZDTGhIMkkifQ",
                              "nbf" : 1730118029,
                              "iat" : 1730118089,
                              "jti" : "kA1mUVtxa3To",
                              "iss" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiSXE3ZjhGcE5faEdhcTVnQVlsazJJYmx3Zi13bEpzblFPMnBzX0NLVWE0QSIsIngiOiJEYWpWdml1bkVjMFlQVjJmVXprZ2JrZHlGaDFNNE0wbzRfclFhd1VPT1pVIiwieSI6IkNndWRqbjlfOFJqajdkU1VZZzBxT2k4VHE0eWJXN0czVXpUOGZDTGhIMkkifQ",
                              "nonce" : "3e5e73b0-57f7-4022-9bb5-9469c0bf2d79",
                              "aud" : "http://waltid.enterprise.localhost:22222/v1/waltid.verifier/verifier-service-api/openid4vc",
                              "vp" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                                "type" : [ "VerifiablePresentation" ],
                                "id" : "kA1mUVtxa3To",
                                "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiSXE3ZjhGcE5faEdhcTVnQVlsazJJYmx3Zi13bEpzblFPMnBzX0NLVWE0QSIsIngiOiJEYWpWdml1bkVjMFlQVjJmVXprZ2JrZHlGaDFNNE0wbzRfclFhd1VPT1pVIiwieSI6IkNndWRqbjlfOFJqajdkU1VZZzBxT2k4VHE0eWJXN0czVXpUOGZDTGhIMkkifQ",
                                "verifiableCredential" : [ "eyJraWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCIsInR5cCI6IkpXVCIsImFsZyI6IkVkRFNBIn0.eyJpc3MiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCIsInN1YiI6ImRpZDpqd2s6ZXlKcmRIa2lPaUpGUXlJc0ltTnlkaUk2SWxBdE1qVTJJaXdpYTJsa0lqb2lTWEUzWmpoR2NFNWZhRWRoY1RWblFWbHNhekpKWW14M1ppMTNiRXB6YmxGUE1uQnpYME5MVldFMFFTSXNJbmdpT2lKRVlXcFdkbWwxYmtWak1GbFFWakptVlhwcloySnJaSGxHYURGTk5FMHdielJmY2xGaGQxVlBUMXBWSWl3aWVTSTZJa05uZFdScWJqbGZPRkpxYWpka1UxVlpaekJ4VDJrNFZIRTBlV0pYTjBjelZYcFVPR1pEVEdoSU1ra2lmUSIsInZjIjp7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIiwiaHR0cHM6Ly9wdXJsLmltc2dsb2JhbC5vcmcvc3BlYy9vYi92M3AwL2NvbnRleHQuanNvbiJdLCJpZCI6InVybjp1dWlkOjdkYzU3ODMwLWEzMDktNGUxZS04ZWMwLTMzMjg1MmY2YjFiZCIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJPcGVuQmFkZ2VDcmVkZW50aWFsIl0sIm5hbWUiOiJKRkYgeCB2Yy1lZHUgUGx1Z0Zlc3QgMyBJbnRlcm9wZXJhYmlsaXR5IiwiaXNzdWVyIjp7InR5cGUiOlsiUHJvZmlsZSJdLCJuYW1lIjoiSm9icyBmb3IgdGhlIEZ1dHVyZSAoSkZGKSIsInVybCI6Imh0dHBzOi8vd3d3LmpmZi5vcmcvIiwiaW1hZ2UiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTEtMjAyMi9pbWFnZXMvSkZGX0xvZ29Mb2NrdXAucG5nIiwiaWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjMjU0YmQ1LThmYWQtNGJiMS05ZDI5LWVmZDkzODUzNjkyNiIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiLCJkZXNjcmlwdGlvbiI6IlRoaXMgd2FsbGV0IHN1cHBvcnRzIHRoZSB1c2Ugb2YgVzNDIFZlcmlmaWFibGUgQ3JlZGVudGlhbHMgYW5kIGhhcyBkZW1vbnN0cmF0ZWQgaW50ZXJvcGVyYWJpbGl0eSBkdXJpbmcgdGhlIHByZXNlbnRhdGlvbiByZXF1ZXN0IHdvcmtmbG93IGR1cmluZyBKRkYgeCBWQy1FRFUgUGx1Z0Zlc3QgMy4iLCJjcml0ZXJpYSI6eyJ0eXBlIjoiQ3JpdGVyaWEiLCJuYXJyYXRpdmUiOiJXYWxsZXQgc29sdXRpb25zIHByb3ZpZGVycyBlYXJuZWQgdGhpcyBiYWRnZSBieSBkZW1vbnN0cmF0aW5nIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdy4gVGhpcyBpbmNsdWRlcyBzdWNjZXNzZnVsbHkgcmVjZWl2aW5nIGEgcHJlc2VudGF0aW9uIHJlcXVlc3QsIGFsbG93aW5nIHRoZSBob2xkZXIgdG8gc2VsZWN0IGF0IGxlYXN0IHR3byB0eXBlcyBvZiB2ZXJpZmlhYmxlIGNyZWRlbnRpYWxzIHRvIGNyZWF0ZSBhIHZlcmlmaWFibGUgcHJlc2VudGF0aW9uLCByZXR1cm5pbmcgdGhlIHByZXNlbnRhdGlvbiB0byB0aGUgcmVxdWVzdG9yLCBhbmQgcGFzc2luZyB2ZXJpZmljYXRpb24gb2YgdGhlIHByZXNlbnRhdGlvbiBhbmQgdGhlIGluY2x1ZGVkIGNyZWRlbnRpYWxzLiJ9LCJpbWFnZSI6eyJpZCI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdmMtZWQvcGx1Z2Zlc3QtMy0yMDIzL2ltYWdlcy9KRkYtVkMtRURVLVBMVUdGRVNUMy1iYWRnZS1pbWFnZS5wbmciLCJ0eXBlIjoiSW1hZ2UifX0sImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVNYRTNaamhHY0U1ZmFFZGhjVFZuUVZsc2F6SkpZbXgzWmkxM2JFcHpibEZQTW5CelgwTkxWV0UwUVNJc0luZ2lPaUpFWVdwV2RtbDFia1ZqTUZsUVZqSm1WWHByWjJKclpIbEdhREZOTkUwd2J6UmZjbEZoZDFWUFQxcFZJaXdpZVNJNklrTm5kV1JxYmpsZk9GSnFhamRrVTFWWlp6QnhUMms0VkhFMGVXSlhOMGN6VlhwVU9HWkRUR2hJTWtraWZRIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjQtMTAtMjdUMDk6Mjg6NDMuNTM5OTU5ODU0WiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNS0xMC0yN1QwOToyODo0My41NDAwMTEyOTBaIn0sImp0aSI6InVybjp1dWlkOjdkYzU3ODMwLWEzMDktNGUxZS04ZWMwLTMzMjg1MmY2YjFiZCIsImV4cCI6MTc2MTU1NzMyMywiaWF0IjoxNzMwMDIxMzIzLCJuYmYiOjE3MzAwMjEzMjN9.bXJBCac_SdpP0fQLWY3eZi4xMSX_3EdTJKl0O3CmvAxbukS5Vtm2idBDm4yMg9QIUMo0KmVxWAd8yuN1smEZBw" ]
                              }
                            }
                          } ]
                        }, {
                          "credential" : "OpenBadgeCredential",
                          "policyResults" : [ {
                            "policy" : "signature",
                            "description" : "Checks a JWT credential by verifying its cryptographic signature using the key referenced by the DID in `iss`.",
                            "is_success" : true,
                            "result" : {
                              "iss" : "did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiSXE3ZjhGcE5faEdhcTVnQVlsazJJYmx3Zi13bEpzblFPMnBzX0NLVWE0QSIsIngiOiJEYWpWdml1bkVjMFlQVjJmVXprZ2JrZHlGaDFNNE0wbzRfclFhd1VPT1pVIiwieSI6IkNndWRqbjlfOFJqajdkU1VZZzBxT2k4VHE0eWJXN0czVXpUOGZDTGhIMkkifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:7dc57830-a309-4e1e-8ec0-332852f6b1bd",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
                                  "id" : "did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp"
                                },
                                "credentialSubject" : {
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  },
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiSXE3ZjhGcE5faEdhcTVnQVlsazJJYmx3Zi13bEpzblFPMnBzX0NLVWE0QSIsIngiOiJEYWpWdml1bkVjMFlQVjJmVXprZ2JrZHlGaDFNNE0wbzRfclFhd1VPT1pVIiwieSI6IkNndWRqbjlfOFJqajdkU1VZZzBxT2k4VHE0eWJXN0czVXpUOGZDTGhIMkkifQ"
                                },
                                "issuanceDate" : "2024-10-27T09:28:43.539959854Z",
                                "expirationDate" : "2025-10-27T09:28:43.540011290Z"
                              },
                              "jti" : "urn:uuid:7dc57830-a309-4e1e-8ec0-332852f6b1bd",
                              "exp" : 1761557323,
                              "iat" : 1730021323,
                              "nbf" : 1730021323
                            }
                          } ]
                        } ],
                        "time" : "PT0.025261075S",
                        "policiesRun" : 2
                      },
                      "customParameters" : { }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this verification session",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/credentials/sessions/presentation-request-url/view" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Get the presentation request URL of a credential verification (presentation) session",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_VERIFIER_PRESENTATION_REQUEST_URL]  \nOperation: 'verifier-credentials-sessions-presentation-request-url-view'  \nAccepts targets: [StoredPresentationSession]  \nRequires authentication.  \n\n---\nRetrieves the OpenID4VP authorization request URL for an existing verification session. This is the same URL that was returned when the session was initially created.\n\n**Use Cases:**\n- Retrieve authorization request URL for QR code generation\n- Re-display authorization request to wallet users\n\n**Important Notes:**\n- Returns the same URL that was provided during session creation\n- URL remains valid until session expires or completes\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Authorization request URL retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                },
                "examples" : {
                  "Example response" : {
                    "value" : "openid4vp://?response_type=vp_token&client_id=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier%2Fverifier-service-api%2Fopenid4vc&response_mode=direct_post&state=waltid.verifier.17085242-a6af-4ad6-99d7-cb37789191f5&presentation_definition_uri=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier.17085242-a6af-4ad6-99d7-cb37789191f5%2Fverifier-service-api%2Fopenid4vc%2Fpd&client_id_scheme=redirect_uri&client_metadata_uri=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier%2Fverifier-service-api%2Fopenid4vc%2F.well-known%2Fopenid-configuration&nonce=984f60b1-a2c4-44f9-a5a9-532d3195224c&response_uri=http%3A%2F%2Fwaltid.enterprise.localhost%3A22222%2Fv1%2Fwaltid.verifier.17085242-a6af-4ad6-99d7-cb37789191f5%2Fverifier-service-api%2Fopenid4vc%2Fverify"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this verification session",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/credentials/sessions/presented-credentials/view" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Retrieve decoded credentials associated with a successfully verified presentation session",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_VERIFIER_PRESENTED_CREDENTIALS]  \nOperation: 'verifier-credentials-sessions-presented-credentials-view'  \nAccepts targets: [StoredPresentationSession]  \nRequires authentication.  \n\n---\nReturns a structured, verbose representation of all credentials presented\nin a successfully verified presentation session. This endpoint is only available\nfor sessions whose `vp_token` was verified with a positive result (`verificationResult == true`).\n\nCredentials are grouped by format and returned in both decoded and raw forms.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "viewMode",
          "in" : "query",
          "description" : "Optional parameter controlling how detailed the response will be (defaults to `simple`).",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentedCredentialsViewMode"
          }
        } ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentationSessionPresentedCredentials"
                },
                "examples" : {
                  "University Degree W3C VC without disclosable claims (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_simple",
                          "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXY2a3BuS0l6akRLRTFZcXRONDJIMk9VMmxVZWVKamVpVmh4VEpRdVVJYyIsIngiOiJCdmt3bzh0Y0hLN3RsTy1lWUNZRjZLakNxTXNMeHdoTVJOQ3VtX0tJZUk4IiwieSI6IkQ3czc0WV9wdXVGdXJWNlJtWUtHRUpaTzlWdU1ycy1OdlNGeHdMd01SVVUifQ",
                          "verifiableCredentials" : [ {
                            "header" : {
                              "kid" : "did:key:zDnaeqgdw7qN5J8qZbwo8PCu18he2bK7PSHfaQEhmTw4xrDCC#zDnaeqgdw7qN5J8qZbwo8PCu18he2bK7PSHfaQEhmTw4xrDCC",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iss" : "did:key:zDnaeqgdw7qN5J8qZbwo8PCu18he2bK7PSHfaQEhmTw4xrDCC",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXY2a3BuS0l6akRLRTFZcXRONDJIMk9VMmxVZWVKamVpVmh4VEpRdVVJYyIsIngiOiJCdmt3bzh0Y0hLN3RsTy1lWUNZRjZLakNxTXNMeHdoTVJOQ3VtX0tJZUk4IiwieSI6IkQ3czc0WV9wdXVGdXJWNlJtWUtHRUpaTzlWdU1ycy1OdlNGeHdMd01SVVUifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:ca31b7d7-2db6-458e-b776-c6213ee82190",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaeqgdw7qN5J8qZbwo8PCu18he2bK7PSHfaQEhmTw4xrDCC"
                                },
                                "issuanceDate" : "2025-07-16T06:38:06.202581908Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXY2a3BuS0l6akRLRTFZcXRONDJIMk9VMmxVZWVKamVpVmh4VEpRdVVJYyIsIngiOiJCdmt3bzh0Y0hLN3RsTy1lWUNZRjZLakNxTXNMeHdoTVJOQ3VtX0tJZUk4IiwieSI6IkQ3czc0WV9wdXVGdXJWNlJtWUtHRUpaTzlWdU1ycy1OdlNGeHdMd01SVVUifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaeqgdw7qN5J8qZbwo8PCu18he2bK7PSHfaQEhmTw4xrDCC",
                                "expirationDate" : "2026-07-16T06:38:06.202607447Z"
                              },
                              "jti" : "urn:uuid:ca31b7d7-2db6-458e-b776-c6213ee82190",
                              "exp" : 1784183886,
                              "iat" : 1752647886,
                              "nbf" : 1752647886
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "University Degree W3C VC without disclosable claims (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_verbose",
                          "vp" : {
                            "raw" : "eyJraWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYUVoV2R6ZzVYMVl6TkVnelUxcG9VbnBPTkZCU2RHaElXa000VmpGWVVHbE1WbWR4ZFRSMmJHdFVieUlzSW5naU9pSlRUbTlEYWpVeWQwSnpYMHBoZHpSSGFrb3hRV2wwVld0VlNIZGZaemMwYlc5UVdUQnlXbXBHYzBwSklpd2llU0k2SWpBeldXNUVjVGhzTjNKblZVVlpUMEpOUm1sbU5YRmFUbEprU0VoSWVVNVRiMGN0TlRCUFZXWndjSGNpZlEjMCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYUVoV2R6ZzVYMVl6TkVnelUxcG9VbnBPTkZCU2RHaElXa000VmpGWVVHbE1WbWR4ZFRSMmJHdFVieUlzSW5naU9pSlRUbTlEYWpVeWQwSnpYMHBoZHpSSGFrb3hRV2wwVld0VlNIZGZaemMwYlc5UVdUQnlXbXBHYzBwSklpd2llU0k2SWpBeldXNUVjVGhzTjNKblZVVlpUMEpOUm1sbU5YRmFUbEprU0VoSWVVNVRiMGN0TlRCUFZXWndjSGNpZlEiLCJuYmYiOjE3NTI2NDgxNDIsImlhdCI6MTc1MjY0ODIwMiwianRpIjoibTJHdmNRU0dyZUpFIiwiaXNzIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaWFFaFdkemc1WDFZek5FZ3pVMXBvVW5wT05GQlNkR2hJV2tNNFZqRllVR2xNVm1keGRUUjJiR3RVYnlJc0luZ2lPaUpUVG05RGFqVXlkMEp6WDBwaGR6Ukhha294UVdsMFZXdFZTSGRmWnpjMGJXOVFXVEJ5V21wR2MwcEpJaXdpZVNJNklqQXpXVzVFY1Roc04zSm5WVVZaVDBKTlJtbG1OWEZhVGxKa1NFaEllVTVUYjBjdE5UQlBWV1p3Y0hjaWZRIiwibm9uY2UiOiJiZmJhMjZlYS1jNGQxLTRiZTUtODI1OC1jNWVkODhjZDQwYzIiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjIyMjIyL29wZW5pZDR2Yy92ZXJpZnkiLCJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaWQiOiJtMkd2Y1FTR3JlSkUiLCJob2xkZXIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYUVoV2R6ZzVYMVl6TkVnelUxcG9VbnBPTkZCU2RHaElXa000VmpGWVVHbE1WbWR4ZFRSMmJHdFVieUlzSW5naU9pSlRUbTlEYWpVeWQwSnpYMHBoZHpSSGFrb3hRV2wwVld0VlNIZGZaemMwYlc5UVdUQnlXbXBHYzBwSklpd2llU0k2SWpBeldXNUVjVGhzTjNKblZVVlpUMEpOUm1sbU5YRmFUbEprU0VoSWVVNVRiMGN0TlRCUFZXWndjSGNpZlEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsVnpkd09WRkZjM1oxZEVORmNGZGxkR2R5WTNWVWQweG9WbUpOYlRsSVZFUlZSVkJVYWtvMWVYWmFPV0lqZWtSdVlXVlhOM0E1VVVWemRuVjBRMFZ3VjJWMFozSmpkVlIzVEdoV1lrMXRPVWhVUkZWRlVGUnFTalY1ZGxvNVlpSXNJblI1Y0NJNklrcFhWQ0lzSW1Gc1p5STZJa1ZUTWpVMkluMC5leUpwYzNNaU9pSmthV1E2YTJWNU9ucEVibUZsVnpkd09WRkZjM1oxZEVORmNGZGxkR2R5WTNWVWQweG9WbUpOYlRsSVZFUlZSVkJVYWtvMWVYWmFPV0lpTENKemRXSWlPaUprYVdRNmFuZHJPbVY1U25Ka1NHdHBUMmxLUmxGNVNYTkpiVTU1WkdsSk5rbHNRWFJOYWxVeVNXbDNhV0V5Ykd0SmFtOXBZVVZvVjJSNlp6VllNVmw2VGtWbmVsVXhjRzlWYm5CUFRrWkNVMlJIYUVsWGEwMDBWbXBHV1ZWSGJFMVdiV1I0WkZSU01tSkhkRlZpZVVselNXNW5hVTlwU2xSVWJUbEVZV3BWZVdRd1NucFlNSEJvWkhwU1NHRnJiM2hSVjJ3d1ZsZDBWbE5JWkdaYWVtTXdZbGM1VVZkVVFubFhiWEJIWXpCd1NrbHBkMmxsVTBrMlNXcEJlbGRYTlVWalZHaHpUak5LYmxaVlZscFVNRXBPVW0xc2JVNVlSbUZVYkVwclUwVm9TV1ZWTlZSaU1HTjBUbFJDVUZaWFduZGpTR05wWmxFaUxDSjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1ERTRMMk55WldSbGJuUnBZV3h6TDJWNFlXMXdiR1Z6TDNZeElsMHNJbWxrSWpvaWRYSnVPblYxYVdRNk1UZzVaREZrWVRndFlXUTJaUzAwTnpjeExXSmhORE10T0dOaVlqQTJZbU5sTkRCbElpd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxWdWFYWmxjbk5wZEhsRVpXZHlaV1VpWFN3aWFYTnpkV1Z5SWpwN0ltbGtJam9pWkdsa09tdGxlVHA2Ukc1aFpWYzNjRGxSUlhOMmRYUkRSWEJYWlhSbmNtTjFWSGRNYUZaaVRXMDVTRlJFVlVWUVZHcEtOWGwyV2psaUluMHNJbWx6YzNWaGJtTmxSR0YwWlNJNklqSXdNalV0TURjdE1UWlVNRFk2TkRNNk1qRXVOelExTURBek5UZ3dXaUlzSW1OeVpXUmxiblJwWVd4VGRXSnFaV04wSWpwN0ltbGtJam9pWkdsa09tcDNhenBsZVVweVpFaHJhVTlwU2taUmVVbHpTVzFPZVdScFNUWkpiRUYwVFdwVk1rbHBkMmxoTW14clNXcHZhV0ZGYUZka2VtYzFXREZaZWs1RlozcFZNWEJ2Vlc1d1QwNUdRbE5rUjJoSlYydE5ORlpxUmxsVlIyeE5WbTFrZUdSVVVqSmlSM1JWWW5sSmMwbHVaMmxQYVVwVVZHMDVSR0ZxVlhsa01FcDZXREJ3YUdSNlVraGhhMjk0VVZkc01GWlhkRlpUU0dSbVducGpNR0pYT1ZGWFZFSjVWMjF3UjJNd2NFcEphWGRwWlZOSk5rbHFRWHBYVnpWRlkxUm9jMDR6U201V1ZWWmFWREJLVGxKdGJHMU9XRVpoVkd4S2ExTkZhRWxsVlRWVVlqQmpkRTVVUWxCV1YxcDNZMGhqYVdaUklpd2laR1ZuY21WbElqcDdJblI1Y0dVaU9pSkNZV05vWld4dmNrUmxaM0psWlNJc0ltNWhiV1VpT2lKQ1lXTm9aV3h2Y2lCdlppQlRZMmxsYm1ObElHRnVaQ0JCY25SekluMTlMQ0pwYzNOMVpYSkVhV1FpT2lKa2FXUTZhMlY1T25wRWJtRmxWemR3T1ZGRmMzWjFkRU5GY0ZkbGRHZHlZM1ZVZDB4b1ZtSk5iVGxJVkVSVlJWQlVha28xZVhaYU9XSWlMQ0psZUhCcGNtRjBhVzl1UkdGMFpTSTZJakl3TWpZdE1EY3RNVFpVTURZNk5ETTZNakV1TnpRMU1ESXlOek0yV2lKOUxDSnFkR2tpT2lKMWNtNDZkWFZwWkRveE9EbGtNV1JoT0MxaFpEWmxMVFEzTnpFdFltRTBNeTA0WTJKaU1EWmlZMlUwTUdVaUxDSmxlSEFpT2pFM09EUXhPRFF5TURFc0ltbGhkQ0k2TVRjMU1qWTBPREl3TVN3aWJtSm1Jam94TnpVeU5qUTRNakF4ZlEuWHRpYVg4SGdxLTE2dURhWGhVaGV6Sk00QWxEVHF6UWh6ZFBaaGQxbmlhS0lyZU4xVFlDRTFlQ3NoWWZ0VTdFcVdLUU1RcGkxeE54QzdlcWo5UEtWbVEiXX19.Xm0c6E7tSLvr0EJuNN3rJMaYDsYXJFp3U1rTU5X8aYp4ofiZc-ps9Lu-J1FR5lYCafZVxEKuzRrbdSGkKA3vtw",
                            "header" : {
                              "kid" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ#0",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                              "nbf" : 1752648142,
                              "iat" : 1752648202,
                              "jti" : "m2GvcQSGreJE",
                              "iss" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                              "nonce" : "bfba26ea-c4d1-4be5-8258-c5ed88cd40c2",
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "vp" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                                "type" : [ "VerifiablePresentation" ],
                                "id" : "m2GvcQSGreJE",
                                "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                                "verifiableCredential" : [ "eyJraWQiOiJkaWQ6a2V5OnpEbmFlVzdwOVFFc3Z1dENFcFdldGdyY3VUd0xoVmJNbTlIVERVRVBUako1eXZaOWIjekRuYWVXN3A5UUVzdnV0Q0VwV2V0Z3JjdVR3TGhWYk1tOUhURFVFUFRqSjV5dlo5YiIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlVzdwOVFFc3Z1dENFcFdldGdyY3VUd0xoVmJNbTlIVERVRVBUako1eXZaOWIiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYUVoV2R6ZzVYMVl6TkVnelUxcG9VbnBPTkZCU2RHaElXa000VmpGWVVHbE1WbWR4ZFRSMmJHdFVieUlzSW5naU9pSlRUbTlEYWpVeWQwSnpYMHBoZHpSSGFrb3hRV2wwVld0VlNIZGZaemMwYlc5UVdUQnlXbXBHYzBwSklpd2llU0k2SWpBeldXNUVjVGhzTjNKblZVVlpUMEpOUm1sbU5YRmFUbEprU0VoSWVVNVRiMGN0TlRCUFZXWndjSGNpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sImlkIjoidXJuOnV1aWQ6MTg5ZDFkYTgtYWQ2ZS00NzcxLWJhNDMtOGNiYjA2YmNlNDBlIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlVuaXZlcnNpdHlEZWdyZWUiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmtleTp6RG5hZVc3cDlRRXN2dXRDRXBXZXRncmN1VHdMaFZiTW05SFREVUVQVGpKNXl2WjliIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDctMTZUMDY6NDM6MjEuNzQ1MDAzNTgwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaWFFaFdkemc1WDFZek5FZ3pVMXBvVW5wT05GQlNkR2hJV2tNNFZqRllVR2xNVm1keGRUUjJiR3RVYnlJc0luZ2lPaUpUVG05RGFqVXlkMEp6WDBwaGR6Ukhha294UVdsMFZXdFZTSGRmWnpjMGJXOVFXVEJ5V21wR2MwcEpJaXdpZVNJNklqQXpXVzVFY1Roc04zSm5WVVZaVDBKTlJtbG1OWEZhVGxKa1NFaEllVTVUYjBjdE5UQlBWV1p3Y0hjaWZRIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19LCJpc3N1ZXJEaWQiOiJkaWQ6a2V5OnpEbmFlVzdwOVFFc3Z1dENFcFdldGdyY3VUd0xoVmJNbTlIVERVRVBUako1eXZaOWIiLCJleHBpcmF0aW9uRGF0ZSI6IjIwMjYtMDctMTZUMDY6NDM6MjEuNzQ1MDIyNzM2WiJ9LCJqdGkiOiJ1cm46dXVpZDoxODlkMWRhOC1hZDZlLTQ3NzEtYmE0My04Y2JiMDZiY2U0MGUiLCJleHAiOjE3ODQxODQyMDEsImlhdCI6MTc1MjY0ODIwMSwibmJmIjoxNzUyNjQ4MjAxfQ.XtiaX8Hgq-16uDaXhUhezJM4AlDTqzQhzdPZhd1niaKIreN1TYCE1eCshYftU7EqWKQMQpi1xNxC7eqj9PKVmQ" ]
                              }
                            }
                          },
                          "verifiableCredentials" : [ {
                            "raw" : "eyJraWQiOiJkaWQ6a2V5OnpEbmFlVzdwOVFFc3Z1dENFcFdldGdyY3VUd0xoVmJNbTlIVERVRVBUako1eXZaOWIjekRuYWVXN3A5UUVzdnV0Q0VwV2V0Z3JjdVR3TGhWYk1tOUhURFVFUFRqSjV5dlo5YiIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlVzdwOVFFc3Z1dENFcFdldGdyY3VUd0xoVmJNbTlIVERVRVBUako1eXZaOWIiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYUVoV2R6ZzVYMVl6TkVnelUxcG9VbnBPTkZCU2RHaElXa000VmpGWVVHbE1WbWR4ZFRSMmJHdFVieUlzSW5naU9pSlRUbTlEYWpVeWQwSnpYMHBoZHpSSGFrb3hRV2wwVld0VlNIZGZaemMwYlc5UVdUQnlXbXBHYzBwSklpd2llU0k2SWpBeldXNUVjVGhzTjNKblZVVlpUMEpOUm1sbU5YRmFUbEprU0VoSWVVNVRiMGN0TlRCUFZXWndjSGNpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sImlkIjoidXJuOnV1aWQ6MTg5ZDFkYTgtYWQ2ZS00NzcxLWJhNDMtOGNiYjA2YmNlNDBlIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlVuaXZlcnNpdHlEZWdyZWUiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmtleTp6RG5hZVc3cDlRRXN2dXRDRXBXZXRncmN1VHdMaFZiTW05SFREVUVQVGpKNXl2WjliIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDctMTZUMDY6NDM6MjEuNzQ1MDAzNTgwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaWFFaFdkemc1WDFZek5FZ3pVMXBvVW5wT05GQlNkR2hJV2tNNFZqRllVR2xNVm1keGRUUjJiR3RVYnlJc0luZ2lPaUpUVG05RGFqVXlkMEp6WDBwaGR6Ukhha294UVdsMFZXdFZTSGRmWnpjMGJXOVFXVEJ5V21wR2MwcEpJaXdpZVNJNklqQXpXVzVFY1Roc04zSm5WVVZaVDBKTlJtbG1OWEZhVGxKa1NFaEllVTVUYjBjdE5UQlBWV1p3Y0hjaWZRIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIm5hbWUiOiJCYWNoZWxvciBvZiBTY2llbmNlIGFuZCBBcnRzIn19LCJpc3N1ZXJEaWQiOiJkaWQ6a2V5OnpEbmFlVzdwOVFFc3Z1dENFcFdldGdyY3VUd0xoVmJNbTlIVERVRVBUako1eXZaOWIiLCJleHBpcmF0aW9uRGF0ZSI6IjIwMjYtMDctMTZUMDY6NDM6MjEuNzQ1MDIyNzM2WiJ9LCJqdGkiOiJ1cm46dXVpZDoxODlkMWRhOC1hZDZlLTQ3NzEtYmE0My04Y2JiMDZiY2U0MGUiLCJleHAiOjE3ODQxODQyMDEsImlhdCI6MTc1MjY0ODIwMSwibmJmIjoxNzUyNjQ4MjAxfQ.XtiaX8Hgq-16uDaXhUhezJM4AlDTqzQhzdPZhd1niaKIreN1TYCE1eCshYftU7EqWKQMQpi1xNxC7eqj9PKVmQ",
                            "header" : {
                              "kid" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b#zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "iss" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:189d1da8-ad6e-4771-ba43-8cbb06bce40e",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b"
                                },
                                "issuanceDate" : "2025-07-16T06:43:21.745003580Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b",
                                "expirationDate" : "2026-07-16T06:43:21.745022736Z"
                              },
                              "jti" : "urn:uuid:189d1da8-ad6e-4771-ba43-8cbb06bce40e",
                              "exp" : 1784184201,
                              "iat" : 1752648201,
                              "nbf" : 1752648201
                            },
                            "undisclosedPayload" : {
                              "iss" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:189d1da8-ad6e-4771-ba43-8cbb06bce40e",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b"
                                },
                                "issuanceDate" : "2025-07-16T06:43:21.745003580Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiaEhWdzg5X1YzNEgzU1poUnpONFBSdGhIWkM4VjFYUGlMVmdxdTR2bGtUbyIsIngiOiJTTm9DajUyd0JzX0phdzRHakoxQWl0VWtVSHdfZzc0bW9QWTByWmpGc0pJIiwieSI6IjAzWW5EcThsN3JnVUVZT0JNRmlmNXFaTlJkSEhIeU5Tb0ctNTBPVWZwcHcifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaeW7p9QEsvutCEpWetgrcuTwLhVbMm9HTDUEPTjJ5yvZ9b",
                                "expirationDate" : "2026-07-16T06:43:21.745022736Z"
                              },
                              "jti" : "urn:uuid:189d1da8-ad6e-4771-ba43-8cbb06bce40e",
                              "exp" : 1784184201,
                              "iat" : 1752648201,
                              "nbf" : 1752648201
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  },
                  "Open Badge W3C VC without disclosable claims (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_simple",
                          "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                          "verifiableCredentials" : [ {
                            "header" : {
                              "kid" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B#zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iss" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:7a7332e4-653c-40f0-b415-87da9dca44b3",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "issuanceDate" : "2025-07-16T06:45:51.790721153Z",
                                "expirationDate" : "2026-07-16T06:45:51.790739868Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                }
                              },
                              "jti" : "urn:uuid:7a7332e4-653c-40f0-b415-87da9dca44b3",
                              "exp" : 1784184351,
                              "iat" : 1752648351,
                              "nbf" : 1752648351
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "Open Badge W3C VC without disclosable claims (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_verbose",
                          "vp" : {
                            "raw" : "eyJraWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEjMCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEiLCJuYmYiOjE3NTI2NDgyOTIsImlhdCI6MTc1MjY0ODM1MiwianRpIjoicDY4OHlsdkdCRUtTIiwiaXNzIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVRrdHNhbmxPTUZrMlVrcDRNVEJhWXpZMVZGcFdNSFpYUzFVMlVVVklaWFJvUm1GVGEwSjJOMk5WV1NJc0luZ2lPaUpyY3poNE5WVjNObms0YkdsbGRVb3lUWFJ5VWs1WGJrZExWMUJCY2s4MWJWRnplR1YxV1RCVGJHSlJJaXdpZVNJNklreHhTamwxYlVWVGRFcDRiWFYwZUdSb04wdGxaa2g0Vm5Ca2RrOXdUWEpCWVZWWGMzZFBObTVNVTFVaWZRIiwibm9uY2UiOiIyY2M5NTI4Yi0xNWQ1LTRiMjgtOTA3NC01ODI3NjExNWUzMmUiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjIyMjIyL29wZW5pZDR2Yy92ZXJpZnkiLCJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaWQiOiJwNjg4eWx2R0JFS1MiLCJob2xkZXIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsY2xkRFJGTkhaRzFPUlhSQlVUaElkSFZRVlV0SFMwNUZVbE5DUm5kcWNrSlRhM1JpWjNwNGVHaEdNa0lqZWtSdVlXVnlWME5FVTBka2JVNUZkRUZST0VoMGRWQlZTMGRMVGtWU1UwSkdkMnB5UWxOcmRHSm5lbmg0YUVZeVFpSXNJblI1Y0NJNklrcFhWQ0lzSW1Gc1p5STZJa1ZUTWpVMkluMC5leUpwYzNNaU9pSmthV1E2YTJWNU9ucEVibUZsY2xkRFJGTkhaRzFPUlhSQlVUaElkSFZRVlV0SFMwNUZVbE5DUm5kcWNrSlRhM1JpWjNwNGVHaEdNa0lpTENKemRXSWlPaUprYVdRNmFuZHJPbVY1U25Ka1NHdHBUMmxLUmxGNVNYTkpiVTU1WkdsSk5rbHNRWFJOYWxVeVNXbDNhV0V5Ykd0SmFtOXBWR3QwYzJGdWJFOU5SbXN5Vld0d05FMVVRbUZaZWxreFZrWndWMDFJV2xoVE1WVXlWVlZXU1ZwWVVtOVNiVVpVWVRCS01rNHlUbFpYVTBselNXNW5hVTlwU25KamVtZzBUbFpXTTA1dWF6UmlSMnhzWkZWdmVWUllVbmxWYXpWWVltdGtURll4UWtKamF6Z3hZbFpHZW1WSFZqRlhWRUpVWWtkS1VrbHBkMmxsVTBrMlNXdDRlRk5xYkRGaVZWWlVaRVZ3TkdKWVZqQmxSMUp2VGpCMGJGcHJhRFJXYmtKclpHczVkMVJZU2tKWlZsWllZek5rVUU1dE5VMVZNVlZwWmxFaUxDSjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2Y0hWeWJDNXBiWE5uYkc5aVlXd3ViM0puTDNOd1pXTXZiMkl2ZGpOd01DOWpiMjUwWlhoMExtcHpiMjRpWFN3aWFXUWlPaUoxY200NmRYVnBaRG8zWVRjek16SmxOQzAyTlROakxUUXdaakF0WWpReE5TMDROMlJoT1dSallUUTBZak1pTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lUM0JsYmtKaFpHZGxRM0psWkdWdWRHbGhiQ0pkTENKdVlXMWxJam9pU2taR0lIZ2dkbU10WldSMUlGQnNkV2RHWlhOMElETWdTVzUwWlhKdmNHVnlZV0pwYkdsMGVTSXNJbWx6YzNWbGNpSTZleUowZVhCbElqcGJJbEJ5YjJacGJHVWlYU3dpYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsY2xkRFJGTkhaRzFPUlhSQlVUaElkSFZRVlV0SFMwNUZVbE5DUm5kcWNrSlRhM1JpWjNwNGVHaEdNa0lpTENKdVlXMWxJam9pU205aWN5Qm1iM0lnZEdobElFWjFkSFZ5WlNBb1NrWkdLU0lzSW5WeWJDSTZJbWgwZEhCek9pOHZkM2QzTG1wbVppNXZjbWN2SWl3aWFXMWhaMlVpT2lKb2RIUndjem92TDNjell5MWpZMmN1WjJsMGFIVmlMbWx2TDNaakxXVmtMM0JzZFdkbVpYTjBMVEV0TWpBeU1pOXBiV0ZuWlhNdlNrWkdYMHh2WjI5TWIyTnJkWEF1Y0c1bkluMHNJbWx6YzNWaGJtTmxSR0YwWlNJNklqSXdNalV0TURjdE1UWlVNRFk2TkRVNk5URXVOemt3TnpJeE1UVXpXaUlzSW1WNGNHbHlZWFJwYjI1RVlYUmxJam9pTWpBeU5pMHdOeTB4TmxRd05qbzBOVG8xTVM0M09UQTNNems0TmpoYUlpd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpYVdRaU9pSmthV1E2YW5kck9tVjVTbkprU0d0cFQybEtSbEY1U1hOSmJVNTVaR2xKTmtsc1FYUk5hbFV5U1dsM2FXRXliR3RKYW05cFZHdDBjMkZ1YkU5TlJtc3lWV3R3TkUxVVFtRlplbGt4Vmtad1YwMUlXbGhUTVZVeVZWVldTVnBZVW05U2JVWlVZVEJLTWs0eVRsWlhVMGx6U1c1bmFVOXBTbkpqZW1nMFRsWldNMDV1YXpSaVIyeHNaRlZ2ZVZSWVVubFZhelZZWW10a1RGWXhRa0pqYXpneFlsWkdlbVZIVmpGWFZFSlVZa2RLVWtscGQybGxVMGsyU1d0NGVGTnFiREZpVlZaVVpFVndOR0pZVmpCbFIxSnZUakIwYkZwcmFEUldia0pyWkdzNWQxUllTa0paVmxaWVl6TmtVRTV0TlUxVk1WVnBabEVpTENKMGVYQmxJanBiSWtGamFHbGxkbVZ0Wlc1MFUzVmlhbVZqZENKZExDSmhZMmhwWlhabGJXVnVkQ0k2ZXlKcFpDSTZJblZ5YmpwMWRXbGtPbUZqTWpVMFltUTFMVGhtWVdRdE5HSmlNUzA1WkRJNUxXVm1aRGt6T0RVek5qa3lOaUlzSW5SNWNHVWlPbHNpUVdOb2FXVjJaVzFsYm5RaVhTd2libUZ0WlNJNklrcEdSaUI0SUhaakxXVmtkU0JRYkhWblJtVnpkQ0F6SUVsdWRHVnliM0JsY21GaWFXeHBkSGtpTENKa1pYTmpjbWx3ZEdsdmJpSTZJbFJvYVhNZ2QyRnNiR1YwSUhOMWNIQnZjblJ6SUhSb1pTQjFjMlVnYjJZZ1Z6TkRJRlpsY21sbWFXRmliR1VnUTNKbFpHVnVkR2xoYkhNZ1lXNWtJR2hoY3lCa1pXMXZibk4wY21GMFpXUWdhVzUwWlhKdmNHVnlZV0pwYkdsMGVTQmtkWEpwYm1jZ2RHaGxJSEJ5WlhObGJuUmhkR2x2YmlCeVpYRjFaWE4wSUhkdmNtdG1iRzkzSUdSMWNtbHVaeUJLUmtZZ2VDQldReTFGUkZVZ1VHeDFaMFpsYzNRZ015NGlMQ0pqY21sMFpYSnBZU0k2ZXlKMGVYQmxJam9pUTNKcGRHVnlhV0VpTENKdVlYSnlZWFJwZG1VaU9pSlhZV3hzWlhRZ2MyOXNkWFJwYjI1eklIQnliM1pwWkdWeWN5QmxZWEp1WldRZ2RHaHBjeUJpWVdSblpTQmllU0JrWlcxdmJuTjBjbUYwYVc1bklHbHVkR1Z5YjNCbGNtRmlhV3hwZEhrZ1pIVnlhVzVuSUhSb1pTQndjbVZ6Wlc1MFlYUnBiMjRnY21WeGRXVnpkQ0IzYjNKclpteHZkeTRnVkdocGN5QnBibU5zZFdSbGN5QnpkV05qWlhOelpuVnNiSGtnY21WalpXbDJhVzVuSUdFZ2NISmxjMlZ1ZEdGMGFXOXVJSEpsY1hWbGMzUXNJR0ZzYkc5M2FXNW5JSFJvWlNCb2IyeGtaWElnZEc4Z2MyVnNaV04wSUdGMElHeGxZWE4wSUhSM2J5QjBlWEJsY3lCdlppQjJaWEpwWm1saFlteGxJR055WldSbGJuUnBZV3h6SUhSdklHTnlaV0YwWlNCaElIWmxjbWxtYVdGaWJHVWdjSEpsYzJWdWRHRjBhVzl1TENCeVpYUjFjbTVwYm1jZ2RHaGxJSEJ5WlhObGJuUmhkR2x2YmlCMGJ5QjBhR1VnY21WeGRXVnpkRzl5TENCaGJtUWdjR0Z6YzJsdVp5QjJaWEpwWm1sallYUnBiMjRnYjJZZ2RHaGxJSEJ5WlhObGJuUmhkR2x2YmlCaGJtUWdkR2hsSUdsdVkyeDFaR1ZrSUdOeVpXUmxiblJwWVd4ekxpSjlMQ0pwYldGblpTSTZleUpwWkNJNkltaDBkSEJ6T2k4dmR6TmpMV05qWnk1bmFYUm9kV0l1YVc4dmRtTXRaV1F2Y0d4MVoyWmxjM1F0TXkweU1ESXpMMmx0WVdkbGN5OUtSa1l0VmtNdFJVUlZMVkJNVlVkR1JWTlVNeTFpWVdSblpTMXBiV0ZuWlM1d2JtY2lMQ0owZVhCbElqb2lTVzFoWjJVaWZYMTlmU3dpYW5ScElqb2lkWEp1T25WMWFXUTZOMkUzTXpNeVpUUXROalV6WXkwME1HWXdMV0kwTVRVdE9EZGtZVGxrWTJFME5HSXpJaXdpWlhod0lqb3hOemcwTVRnME16VXhMQ0pwWVhRaU9qRTNOVEkyTkRnek5URXNJbTVpWmlJNk1UYzFNalkwT0RNMU1YMC5reEgtZGNDcE1zX1ZoLTJFSG84andIeWlPUEk5ZUhrQWhBbFp1SzllQlg5cl92XzBvXy1BSkpJd1RRWThaR01lZUZial9DT0ZlQkRVa2FHR2o1bkdoUSJdfX0.KSVdUE53BNdS19XbyEOx2B4vIzEuo7xzm4f-3hgEK2Y6AF5hR7wWI7PFVUuVNdBW891qRqTPGvJnHevQ4CrPsA",
                            "header" : {
                              "kid" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ#0",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                              "nbf" : 1752648292,
                              "iat" : 1752648352,
                              "jti" : "p688ylvGBEKS",
                              "iss" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                              "nonce" : "2cc9528b-15d5-4b28-9074-58276115e32e",
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "vp" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                                "type" : [ "VerifiablePresentation" ],
                                "id" : "p688ylvGBEKS",
                                "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                                "verifiableCredential" : [ "eyJraWQiOiJkaWQ6a2V5OnpEbmFlcldDRFNHZG1ORXRBUThIdHVQVUtHS05FUlNCRndqckJTa3RiZ3p4eGhGMkIjekRuYWVyV0NEU0dkbU5FdEFROEh0dVBVS0dLTkVSU0JGd2pyQlNrdGJnenh4aEYyQiIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlcldDRFNHZG1ORXRBUThIdHVQVUtHS05FUlNCRndqckJTa3RiZ3p4eGhGMkIiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vcHVybC5pbXNnbG9iYWwub3JnL3NwZWMvb2IvdjNwMC9jb250ZXh0Lmpzb24iXSwiaWQiOiJ1cm46dXVpZDo3YTczMzJlNC02NTNjLTQwZjAtYjQxNS04N2RhOWRjYTQ0YjMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJuYW1lIjoiSkZGIHggdmMtZWR1IFBsdWdGZXN0IDMgSW50ZXJvcGVyYWJpbGl0eSIsImlzc3VlciI6eyJ0eXBlIjpbIlByb2ZpbGUiXSwiaWQiOiJkaWQ6a2V5OnpEbmFlcldDRFNHZG1ORXRBUThIdHVQVUtHS05FUlNCRndqckJTa3RiZ3p4eGhGMkIiLCJuYW1lIjoiSm9icyBmb3IgdGhlIEZ1dHVyZSAoSkZGKSIsInVybCI6Imh0dHBzOi8vd3d3LmpmZi5vcmcvIiwiaW1hZ2UiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTEtMjAyMi9pbWFnZXMvSkZGX0xvZ29Mb2NrdXAucG5nIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDctMTZUMDY6NDU6NTEuNzkwNzIxMTUzWiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNi0wNy0xNlQwNjo0NTo1MS43OTA3Mzk4NjhaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEiLCJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjMjU0YmQ1LThmYWQtNGJiMS05ZDI5LWVmZDkzODUzNjkyNiIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiLCJkZXNjcmlwdGlvbiI6IlRoaXMgd2FsbGV0IHN1cHBvcnRzIHRoZSB1c2Ugb2YgVzNDIFZlcmlmaWFibGUgQ3JlZGVudGlhbHMgYW5kIGhhcyBkZW1vbnN0cmF0ZWQgaW50ZXJvcGVyYWJpbGl0eSBkdXJpbmcgdGhlIHByZXNlbnRhdGlvbiByZXF1ZXN0IHdvcmtmbG93IGR1cmluZyBKRkYgeCBWQy1FRFUgUGx1Z0Zlc3QgMy4iLCJjcml0ZXJpYSI6eyJ0eXBlIjoiQ3JpdGVyaWEiLCJuYXJyYXRpdmUiOiJXYWxsZXQgc29sdXRpb25zIHByb3ZpZGVycyBlYXJuZWQgdGhpcyBiYWRnZSBieSBkZW1vbnN0cmF0aW5nIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdy4gVGhpcyBpbmNsdWRlcyBzdWNjZXNzZnVsbHkgcmVjZWl2aW5nIGEgcHJlc2VudGF0aW9uIHJlcXVlc3QsIGFsbG93aW5nIHRoZSBob2xkZXIgdG8gc2VsZWN0IGF0IGxlYXN0IHR3byB0eXBlcyBvZiB2ZXJpZmlhYmxlIGNyZWRlbnRpYWxzIHRvIGNyZWF0ZSBhIHZlcmlmaWFibGUgcHJlc2VudGF0aW9uLCByZXR1cm5pbmcgdGhlIHByZXNlbnRhdGlvbiB0byB0aGUgcmVxdWVzdG9yLCBhbmQgcGFzc2luZyB2ZXJpZmljYXRpb24gb2YgdGhlIHByZXNlbnRhdGlvbiBhbmQgdGhlIGluY2x1ZGVkIGNyZWRlbnRpYWxzLiJ9LCJpbWFnZSI6eyJpZCI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdmMtZWQvcGx1Z2Zlc3QtMy0yMDIzL2ltYWdlcy9KRkYtVkMtRURVLVBMVUdGRVNUMy1iYWRnZS1pbWFnZS5wbmciLCJ0eXBlIjoiSW1hZ2UifX19fSwianRpIjoidXJuOnV1aWQ6N2E3MzMyZTQtNjUzYy00MGYwLWI0MTUtODdkYTlkY2E0NGIzIiwiZXhwIjoxNzg0MTg0MzUxLCJpYXQiOjE3NTI2NDgzNTEsIm5iZiI6MTc1MjY0ODM1MX0.kxH-dcCpMs_Vh-2EHo8jwHyiOPI9eHkAhAlZuK9eBX9r_v_0o_-AJJIwTQY8ZGMeeFbj_COFeBDUkaGGj5nGhQ" ]
                              }
                            }
                          },
                          "verifiableCredentials" : [ {
                            "raw" : "eyJraWQiOiJkaWQ6a2V5OnpEbmFlcldDRFNHZG1ORXRBUThIdHVQVUtHS05FUlNCRndqckJTa3RiZ3p4eGhGMkIjekRuYWVyV0NEU0dkbU5FdEFROEh0dVBVS0dLTkVSU0JGd2pyQlNrdGJnenh4aEYyQiIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlcldDRFNHZG1ORXRBUThIdHVQVUtHS05FUlNCRndqckJTa3RiZ3p4eGhGMkIiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vcHVybC5pbXNnbG9iYWwub3JnL3NwZWMvb2IvdjNwMC9jb250ZXh0Lmpzb24iXSwiaWQiOiJ1cm46dXVpZDo3YTczMzJlNC02NTNjLTQwZjAtYjQxNS04N2RhOWRjYTQ0YjMiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJuYW1lIjoiSkZGIHggdmMtZWR1IFBsdWdGZXN0IDMgSW50ZXJvcGVyYWJpbGl0eSIsImlzc3VlciI6eyJ0eXBlIjpbIlByb2ZpbGUiXSwiaWQiOiJkaWQ6a2V5OnpEbmFlcldDRFNHZG1ORXRBUThIdHVQVUtHS05FUlNCRndqckJTa3RiZ3p4eGhGMkIiLCJuYW1lIjoiSm9icyBmb3IgdGhlIEZ1dHVyZSAoSkZGKSIsInVybCI6Imh0dHBzOi8vd3d3LmpmZi5vcmcvIiwiaW1hZ2UiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTEtMjAyMi9pbWFnZXMvSkZGX0xvZ29Mb2NrdXAucG5nIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDctMTZUMDY6NDU6NTEuNzkwNzIxMTUzWiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNi0wNy0xNlQwNjo0NTo1MS43OTA3Mzk4NjhaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVGt0c2FubE9NRmsyVWtwNE1UQmFZelkxVkZwV01IWlhTMVUyVVVWSVpYUm9SbUZUYTBKMk4yTlZXU0lzSW5naU9pSnJjemg0TlZWM05uazRiR2xsZFVveVRYUnlVazVYYmtkTFYxQkJjazgxYlZGemVHVjFXVEJUYkdKUklpd2llU0k2SWt4eFNqbDFiVVZUZEVwNGJYVjBlR1JvTjB0bFpraDRWbkJrZGs5d1RYSkJZVlZYYzNkUE5tNU1VMVVpZlEiLCJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjMjU0YmQ1LThmYWQtNGJiMS05ZDI5LWVmZDkzODUzNjkyNiIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiLCJkZXNjcmlwdGlvbiI6IlRoaXMgd2FsbGV0IHN1cHBvcnRzIHRoZSB1c2Ugb2YgVzNDIFZlcmlmaWFibGUgQ3JlZGVudGlhbHMgYW5kIGhhcyBkZW1vbnN0cmF0ZWQgaW50ZXJvcGVyYWJpbGl0eSBkdXJpbmcgdGhlIHByZXNlbnRhdGlvbiByZXF1ZXN0IHdvcmtmbG93IGR1cmluZyBKRkYgeCBWQy1FRFUgUGx1Z0Zlc3QgMy4iLCJjcml0ZXJpYSI6eyJ0eXBlIjoiQ3JpdGVyaWEiLCJuYXJyYXRpdmUiOiJXYWxsZXQgc29sdXRpb25zIHByb3ZpZGVycyBlYXJuZWQgdGhpcyBiYWRnZSBieSBkZW1vbnN0cmF0aW5nIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdy4gVGhpcyBpbmNsdWRlcyBzdWNjZXNzZnVsbHkgcmVjZWl2aW5nIGEgcHJlc2VudGF0aW9uIHJlcXVlc3QsIGFsbG93aW5nIHRoZSBob2xkZXIgdG8gc2VsZWN0IGF0IGxlYXN0IHR3byB0eXBlcyBvZiB2ZXJpZmlhYmxlIGNyZWRlbnRpYWxzIHRvIGNyZWF0ZSBhIHZlcmlmaWFibGUgcHJlc2VudGF0aW9uLCByZXR1cm5pbmcgdGhlIHByZXNlbnRhdGlvbiB0byB0aGUgcmVxdWVzdG9yLCBhbmQgcGFzc2luZyB2ZXJpZmljYXRpb24gb2YgdGhlIHByZXNlbnRhdGlvbiBhbmQgdGhlIGluY2x1ZGVkIGNyZWRlbnRpYWxzLiJ9LCJpbWFnZSI6eyJpZCI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdmMtZWQvcGx1Z2Zlc3QtMy0yMDIzL2ltYWdlcy9KRkYtVkMtRURVLVBMVUdGRVNUMy1iYWRnZS1pbWFnZS5wbmciLCJ0eXBlIjoiSW1hZ2UifX19fSwianRpIjoidXJuOnV1aWQ6N2E3MzMyZTQtNjUzYy00MGYwLWI0MTUtODdkYTlkY2E0NGIzIiwiZXhwIjoxNzg0MTg0MzUxLCJpYXQiOjE3NTI2NDgzNTEsIm5iZiI6MTc1MjY0ODM1MX0.kxH-dcCpMs_Vh-2EHo8jwHyiOPI9eHkAhAlZuK9eBX9r_v_0o_-AJJIwTQY8ZGMeeFbj_COFeBDUkaGGj5nGhQ",
                            "header" : {
                              "kid" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B#zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "iss" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:7a7332e4-653c-40f0-b415-87da9dca44b3",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "issuanceDate" : "2025-07-16T06:45:51.790721153Z",
                                "expirationDate" : "2026-07-16T06:45:51.790739868Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                }
                              },
                              "jti" : "urn:uuid:7a7332e4-653c-40f0-b415-87da9dca44b3",
                              "exp" : 1784184351,
                              "iat" : 1752648351,
                              "nbf" : 1752648351
                            },
                            "undisclosedPayload" : {
                              "iss" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:7a7332e4-653c-40f0-b415-87da9dca44b3",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaerWCDSGdmNEtAQ8HtuPUKGKNERSBFwjrBSktbgzxxhF2B",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "issuanceDate" : "2025-07-16T06:45:51.790721153Z",
                                "expirationDate" : "2026-07-16T06:45:51.790739868Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTktsanlOMFk2Ukp4MTBaYzY1VFpWMHZXS1U2UUVIZXRoRmFTa0J2N2NVWSIsIngiOiJrczh4NVV3Nnk4bGlldUoyTXRyUk5XbkdLV1BBck81bVFzeGV1WTBTbGJRIiwieSI6IkxxSjl1bUVTdEp4bXV0eGRoN0tlZkh4VnBkdk9wTXJBYVVXc3dPNm5MU1UifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                }
                              },
                              "jti" : "urn:uuid:7a7332e4-653c-40f0-b415-87da9dca44b3",
                              "exp" : 1784184351,
                              "iat" : 1752648351,
                              "nbf" : 1752648351
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  },
                  "University Degree W3C VC with two disclosable claims (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_simple",
                          "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                          "verifiableCredentials" : [ {
                            "header" : {
                              "kid" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB#zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iss" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:1d037cf4-8489-4bb8-8c20-8f2e2d13292d",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB"
                                },
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                                "expirationDate" : "2026-07-16T06:52:03.063864637Z",
                                "issuanceDate" : "2025-07-16T06:52:03.063843966Z"
                              },
                              "jti" : "urn:uuid:1d037cf4-8489-4bb8-8c20-8f2e2d13292d",
                              "exp" : 1784184723,
                              "iat" : 1752648723,
                              "nbf" : 1752648723
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "University Degree W3C VC with two disclosable claims (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_verbose",
                          "vp" : {
                            "raw" : "eyJraWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVmtwNlFsYzJiWFZWTVY4eWRHRnpjRGRTVEZoNk4ydG9kMHhXYjNFMk5UQnRVMHBXTkd4dFZ6Sm1UU0lzSW5naU9pSTBiVXg2TjJSeU1reHBUMEp2YUhFeWFUSTBXazlxTFdWVVZXbENkQzB4ZEVWdFNtOW1iRkJCZHpOcklpd2llU0k2SWw5bVMwSk5jMDVXVG5KNFpVdzBNMVYxZFZSME5WRk1hVVl3Y1VsdlNFRlVTa3QwZDFkeVlYQmhZbGtpZlEjMCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVmtwNlFsYzJiWFZWTVY4eWRHRnpjRGRTVEZoNk4ydG9kMHhXYjNFMk5UQnRVMHBXTkd4dFZ6Sm1UU0lzSW5naU9pSTBiVXg2TjJSeU1reHBUMEp2YUhFeWFUSTBXazlxTFdWVVZXbENkQzB4ZEVWdFNtOW1iRkJCZHpOcklpd2llU0k2SWw5bVMwSk5jMDVXVG5KNFpVdzBNMVYxZFZSME5WRk1hVVl3Y1VsdlNFRlVTa3QwZDFkeVlYQmhZbGtpZlEiLCJuYmYiOjE3NTI2NDg2NjMsImlhdCI6MTc1MjY0ODcyMywianRpIjoiOWtZQWFnTjVMSFBxIiwiaXNzIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVZrcDZRbGMyYlhWVk1WOHlkR0Z6Y0RkU1RGaDZOMnRvZDB4V2IzRTJOVEJ0VTBwV05HeHRWekptVFNJc0luZ2lPaUkwYlV4Nk4yUnlNa3hwVDBKdmFIRXlhVEkwV2s5cUxXVlVWV2xDZEMweGRFVnRTbTltYkZCQmR6TnJJaXdpZVNJNklsOW1TMEpOYzA1V1RuSjRaVXcwTTFWMWRWUjBOVkZNYVVZd2NVbHZTRUZVU2t0MGQxZHlZWEJoWWxraWZRIiwibm9uY2UiOiI1OTYzODg2ZS1iMmMyLTQ5NmMtYjM3My0yNzA5MjZhOTQ2NDIiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjIyMjIyL29wZW5pZDR2Yy92ZXJpZnkiLCJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaWQiOiI5a1lBYWdONUxIUHEiLCJob2xkZXIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVmtwNlFsYzJiWFZWTVY4eWRHRnpjRGRTVEZoNk4ydG9kMHhXYjNFMk5UQnRVMHBXTkd4dFZ6Sm1UU0lzSW5naU9pSTBiVXg2TjJSeU1reHBUMEp2YUhFeWFUSTBXazlxTFdWVVZXbENkQzB4ZEVWdFNtOW1iRkJCZHpOcklpd2llU0k2SWw5bVMwSk5jMDVXVG5KNFpVdzBNMVYxZFZSME5WRk1hVVl3Y1VsdlNFRlVTa3QwZDFkeVlYQmhZbGtpZlEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsY1ZCT1JsbzBXV1JWVWxwamVrMXBUSEExWTA1d1VETlRkWEpZV2tFMVlqaDNORFl4ZUZKM01UbHphRUlqZWtSdVlXVnhVRTVHV2pSWlpGVlNXbU42VFdsTWNEVmpUbkJRTTFOMWNsaGFRVFZpT0hjME5qRjRVbmN4T1hOb1FpSXNJblI1Y0NJNklrcFhWQ0lzSW1Gc1p5STZJa1ZUTWpVMkluMC5leUpwYzNNaU9pSmthV1E2YTJWNU9ucEVibUZsY1ZCT1JsbzBXV1JWVWxwamVrMXBUSEExWTA1d1VETlRkWEpZV2tFMVlqaDNORFl4ZUZKM01UbHphRUlpTENKemRXSWlPaUprYVdRNmFuZHJPbVY1U25Ka1NHdHBUMmxLUmxGNVNYTkpiVTU1WkdsSk5rbHNRWFJOYWxVeVNXbDNhV0V5Ykd0SmFtOXBWbXR3TmxGc1l6SmlXRlpXVFZZNGVXUkhSbnBqUkdSVFZFWm9OazR5ZEc5a01IaFhZak5GTWs1VVFuUlZNSEJYVGtkNGRGWjZTbTFVVTBselNXNW5hVTlwU1RCaVZYZzJUakpTZVUxcmVIQlVNRXAyWVVoRmVXRlVTVEJYYXpseFRGZFdWVlpYYkVOa1F6QjRaRVZXZEZOdE9XMWlSa0pDWkhwT2NrbHBkMmxsVTBrMlNXdzViVk13U2s1ak1EVlhWRzVLTkZwVmR6Qk5NVll4WkZaU01FNVdSazFoVlZsM1kxVnNkbE5GUmxWVGEzUXdaREZrZVZsWVFtaFpiR3RwWmxFaUxDSjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1ERTRMMk55WldSbGJuUnBZV3h6TDJWNFlXMXdiR1Z6TDNZeElsMHNJbWxrSWpvaWRYSnVPblYxYVdRNk1XUXdNemRqWmpRdE9EUTRPUzAwWW1JNExUaGpNakF0T0dZeVpUSmtNVE15T1RKa0lpd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxWdWFYWmxjbk5wZEhsRVpXZHlaV1VpWFN3aWFYTnpkV1Z5SWpwN0ltbGtJam9pWkdsa09tdGxlVHA2Ukc1aFpYRlFUa1phTkZsa1ZWSmFZM3BOYVV4d05XTk9jRkF6VTNWeVdGcEJOV0k0ZHpRMk1YaFNkekU1YzJoQ0luMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT21wM2F6cGxlVXB5WkVocmFVOXBTa1pSZVVselNXMU9lV1JwU1RaSmJFRjBUV3BWTWtscGQybGhNbXhyU1dwdmFWWnJjRFpSYkdNeVlsaFdWazFXT0hsa1IwWjZZMFJrVTFSR2FEWk9NblJ2WkRCNFYySXpSVEpPVkVKMFZUQndWMDVIZUhSV2VrcHRWRk5KYzBsdVoybFBhVWt3WWxWNE5rNHlVbmxOYTNod1ZEQktkbUZJUlhsaFZFa3dWMnM1Y1V4WFZsVldWMnhEWkVNd2VHUkZWblJUYlRsdFlrWkNRbVI2VG5KSmFYZHBaVk5KTmtsc09XMVRNRXBPWXpBMVYxUnVTalJhVlhjd1RURldNV1JXVWpCT1ZrWk5ZVlZaZDJOVmJIWlRSVVpWVTJ0ME1HUXhaSGxaV0VKb1dXeHJhV1pSSWl3aVpHVm5jbVZsSWpwN0luUjVjR1VpT2lKQ1lXTm9aV3h2Y2tSbFozSmxaU0lzSWw5elpDSTZXeUptWW14M2FFSnNWa3huYm1OdlQwVlFjMDVvVEU5RGJqRTFMVVZOTUMxcGFtdGpjakJRTlVoRFVHaG5JbDE5ZlN3aWFYTnpkV1Z5Ukdsa0lqb2laR2xrT210bGVUcDZSRzVoWlhGUVRrWmFORmxrVlZKYVkzcE5hVXh3TldOT2NGQXpVM1Z5V0ZwQk5XSTRkelEyTVhoU2R6RTVjMmhDSWl3aVpYaHdhWEpoZEdsdmJrUmhkR1VpT2lJeU1ESTJMVEEzTFRFMlZEQTJPalV5T2pBekxqQTJNemcyTkRZek4xb2lMQ0pmYzJRaU9sc2lObVV4WmpjeVZHWlZjRVZXVGtONVQzQkVTekpaZDFSeU4xSTBWVTFEYUZkU2EybEhUMHBDTW0xNFJTSmRmU3dpYW5ScElqb2lkWEp1T25WMWFXUTZNV1F3TXpkalpqUXRPRFE0T1MwMFltSTRMVGhqTWpBdE9HWXlaVEprTVRNeU9USmtJaXdpWlhod0lqb3hOemcwTVRnME56SXpMQ0pwWVhRaU9qRTNOVEkyTkRnM01qTXNJbTVpWmlJNk1UYzFNalkwT0RjeU0zMC5jbTJNdVc2eXFTQXpja0h3ekZzWVZnb0J1MWN3VnI4N3djcVBnWWFzSTZqVXZhYno2RHhJaHhNWGJNdVZ3MVpWWlN1eUZla1dfTFlDRVRmLVdkbUlRZ35XeUk1U3pGU01Gb3pORTF0VWsxbFVGUkdkWGxxYURkQklpd2lhWE56ZFdGdVkyVkVZWFJsSWl3aU1qQXlOUzB3TnkweE5sUXdOam8xTWpvd015NHdOak00TkRNNU5qWmFJbDB-V3lKWGMxcHFVbWRaWkc5NWRVdzVWVmhUUjJaU1NUbDNJaXdpYm1GdFpTSXNJa0poWTJobGJHOXlJRzltSUZOamFXVnVZMlVnWVc1a0lFRnlkSE1pWFEiXX19.XFz-Dio7lbM0BDgRJMKZ4yq9QooEFLzh-9dByeZcz9xLw4GUzb8hyFsaXYg6Mg7GZ3srzp52R-X4M6wFFewItg",
                            "header" : {
                              "kid" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ#0",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                              "nbf" : 1752648663,
                              "iat" : 1752648723,
                              "jti" : "9kYAagN5LHPq",
                              "iss" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                              "nonce" : "5963886e-b2c2-496c-b373-270926a94642",
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "vp" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                                "type" : [ "VerifiablePresentation" ],
                                "id" : "9kYAagN5LHPq",
                                "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                                "verifiableCredential" : [ "eyJraWQiOiJkaWQ6a2V5OnpEbmFlcVBORlo0WWRVUlpjek1pTHA1Y05wUDNTdXJYWkE1Yjh3NDYxeFJ3MTlzaEIjekRuYWVxUE5GWjRZZFVSWmN6TWlMcDVjTnBQM1N1clhaQTViOHc0NjF4UncxOXNoQiIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlcVBORlo0WWRVUlpjek1pTHA1Y05wUDNTdXJYWkE1Yjh3NDYxeFJ3MTlzaEIiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVmtwNlFsYzJiWFZWTVY4eWRHRnpjRGRTVEZoNk4ydG9kMHhXYjNFMk5UQnRVMHBXTkd4dFZ6Sm1UU0lzSW5naU9pSTBiVXg2TjJSeU1reHBUMEp2YUhFeWFUSTBXazlxTFdWVVZXbENkQzB4ZEVWdFNtOW1iRkJCZHpOcklpd2llU0k2SWw5bVMwSk5jMDVXVG5KNFpVdzBNMVYxZFZSME5WRk1hVVl3Y1VsdlNFRlVTa3QwZDFkeVlYQmhZbGtpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sImlkIjoidXJuOnV1aWQ6MWQwMzdjZjQtODQ4OS00YmI4LThjMjAtOGYyZTJkMTMyOTJkIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlVuaXZlcnNpdHlEZWdyZWUiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmtleTp6RG5hZXFQTkZaNFlkVVJaY3pNaUxwNWNOcFAzU3VyWFpBNWI4dzQ2MXhSdzE5c2hCIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVZrcDZRbGMyYlhWVk1WOHlkR0Z6Y0RkU1RGaDZOMnRvZDB4V2IzRTJOVEJ0VTBwV05HeHRWekptVFNJc0luZ2lPaUkwYlV4Nk4yUnlNa3hwVDBKdmFIRXlhVEkwV2s5cUxXVlVWV2xDZEMweGRFVnRTbTltYkZCQmR6TnJJaXdpZVNJNklsOW1TMEpOYzA1V1RuSjRaVXcwTTFWMWRWUjBOVkZNYVVZd2NVbHZTRUZVU2t0MGQxZHlZWEJoWWxraWZRIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIl9zZCI6WyJmYmx3aEJsVkxnbmNvT0VQc05oTE9DbjE1LUVNMC1pamtjcjBQNUhDUGhnIl19fSwiaXNzdWVyRGlkIjoiZGlkOmtleTp6RG5hZXFQTkZaNFlkVVJaY3pNaUxwNWNOcFAzU3VyWFpBNWI4dzQ2MXhSdzE5c2hCIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI2LTA3LTE2VDA2OjUyOjAzLjA2Mzg2NDYzN1oiLCJfc2QiOlsiNmUxZjcyVGZVcEVWTkN5T3BESzJZd1RyN1I0VU1DaFdSa2lHT0pCMm14RSJdfSwianRpIjoidXJuOnV1aWQ6MWQwMzdjZjQtODQ4OS00YmI4LThjMjAtOGYyZTJkMTMyOTJkIiwiZXhwIjoxNzg0MTg0NzIzLCJpYXQiOjE3NTI2NDg3MjMsIm5iZiI6MTc1MjY0ODcyM30.cm2MuW6yqSAzckHwzFsYVgoBu1cwVr87wcqPgYasI6jUvabz6DxIhxMXbMuVw1ZVZSuyFekW_LYCETf-WdmIQg~WyI5SzFSMFozNE1tUk1lUFRGdXlqaDdBIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xNlQwNjo1MjowMy4wNjM4NDM5NjZaIl0~WyJXc1pqUmdZZG95dUw5VVhTR2ZSSTl3IiwibmFtZSIsIkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiXQ" ]
                              }
                            }
                          },
                          "verifiableCredentials" : [ {
                            "raw" : "eyJraWQiOiJkaWQ6a2V5OnpEbmFlcVBORlo0WWRVUlpjek1pTHA1Y05wUDNTdXJYWkE1Yjh3NDYxeFJ3MTlzaEIjekRuYWVxUE5GWjRZZFVSWmN6TWlMcDVjTnBQM1N1clhaQTViOHc0NjF4UncxOXNoQiIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlcVBORlo0WWRVUlpjek1pTHA1Y05wUDNTdXJYWkE1Yjh3NDYxeFJ3MTlzaEIiLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pVmtwNlFsYzJiWFZWTVY4eWRHRnpjRGRTVEZoNk4ydG9kMHhXYjNFMk5UQnRVMHBXTkd4dFZ6Sm1UU0lzSW5naU9pSTBiVXg2TjJSeU1reHBUMEp2YUhFeWFUSTBXazlxTFdWVVZXbENkQzB4ZEVWdFNtOW1iRkJCZHpOcklpd2llU0k2SWw5bVMwSk5jMDVXVG5KNFpVdzBNMVYxZFZSME5WRk1hVVl3Y1VsdlNFRlVTa3QwZDFkeVlYQmhZbGtpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sImlkIjoidXJuOnV1aWQ6MWQwMzdjZjQtODQ4OS00YmI4LThjMjAtOGYyZTJkMTMyOTJkIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlVuaXZlcnNpdHlEZWdyZWUiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmtleTp6RG5hZXFQTkZaNFlkVVJaY3pNaUxwNWNOcFAzU3VyWFpBNWI4dzQ2MXhSdzE5c2hCIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVZrcDZRbGMyYlhWVk1WOHlkR0Z6Y0RkU1RGaDZOMnRvZDB4V2IzRTJOVEJ0VTBwV05HeHRWekptVFNJc0luZ2lPaUkwYlV4Nk4yUnlNa3hwVDBKdmFIRXlhVEkwV2s5cUxXVlVWV2xDZEMweGRFVnRTbTltYkZCQmR6TnJJaXdpZVNJNklsOW1TMEpOYzA1V1RuSjRaVXcwTTFWMWRWUjBOVkZNYVVZd2NVbHZTRUZVU2t0MGQxZHlZWEJoWWxraWZRIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIl9zZCI6WyJmYmx3aEJsVkxnbmNvT0VQc05oTE9DbjE1LUVNMC1pamtjcjBQNUhDUGhnIl19fSwiaXNzdWVyRGlkIjoiZGlkOmtleTp6RG5hZXFQTkZaNFlkVVJaY3pNaUxwNWNOcFAzU3VyWFpBNWI4dzQ2MXhSdzE5c2hCIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI2LTA3LTE2VDA2OjUyOjAzLjA2Mzg2NDYzN1oiLCJfc2QiOlsiNmUxZjcyVGZVcEVWTkN5T3BESzJZd1RyN1I0VU1DaFdSa2lHT0pCMm14RSJdfSwianRpIjoidXJuOnV1aWQ6MWQwMzdjZjQtODQ4OS00YmI4LThjMjAtOGYyZTJkMTMyOTJkIiwiZXhwIjoxNzg0MTg0NzIzLCJpYXQiOjE3NTI2NDg3MjMsIm5iZiI6MTc1MjY0ODcyM30.cm2MuW6yqSAzckHwzFsYVgoBu1cwVr87wcqPgYasI6jUvabz6DxIhxMXbMuVw1ZVZSuyFekW_LYCETf-WdmIQg~WyI5SzFSMFozNE1tUk1lUFRGdXlqaDdBIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xNlQwNjo1MjowMy4wNjM4NDM5NjZaIl0~WyJXc1pqUmdZZG95dUw5VVhTR2ZSSTl3IiwibmFtZSIsIkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiXQ",
                            "header" : {
                              "kid" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB#zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "iss" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:1d037cf4-8489-4bb8-8c20-8f2e2d13292d",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB"
                                },
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                                "expirationDate" : "2026-07-16T06:52:03.063864637Z",
                                "issuanceDate" : "2025-07-16T06:52:03.063843966Z"
                              },
                              "jti" : "urn:uuid:1d037cf4-8489-4bb8-8c20-8f2e2d13292d",
                              "exp" : 1784184723,
                              "iat" : 1752648723,
                              "nbf" : 1752648723
                            },
                            "undisclosedPayload" : {
                              "iss" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:1d037cf4-8489-4bb8-8c20-8f2e2d13292d",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB"
                                },
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiVkp6Qlc2bXVVMV8ydGFzcDdSTFh6N2tod0xWb3E2NTBtU0pWNGxtVzJmTSIsIngiOiI0bUx6N2RyMkxpT0JvaHEyaTI0Wk9qLWVUVWlCdC0xdEVtSm9mbFBBdzNrIiwieSI6Il9mS0JNc05WTnJ4ZUw0M1V1dVR0NVFMaUYwcUlvSEFUSkt0d1dyYXBhYlkifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "_sd" : [ "fblwhBlVLgncoOEPsNhLOCn15-EM0-ijkcr0P5HCPhg" ]
                                  }
                                },
                                "issuerDid" : "did:key:zDnaeqPNFZ4YdURZczMiLp5cNpP3SurXZA5b8w461xRw19shB",
                                "expirationDate" : "2026-07-16T06:52:03.063864637Z",
                                "_sd" : [ "6e1f72TfUpEVNCyOpDK2YwTr7R4UMChWRkiGOJB2mxE" ]
                              },
                              "jti" : "urn:uuid:1d037cf4-8489-4bb8-8c20-8f2e2d13292d",
                              "exp" : 1784184723,
                              "iat" : 1752648723,
                              "nbf" : 1752648723
                            },
                            "disclosures" : {
                              "6e1f72TfUpEVNCyOpDK2YwTr7R4UMChWRkiGOJB2mxE" : {
                                "disclosure" : "WyI5SzFSMFozNE1tUk1lUFRGdXlqaDdBIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xNlQwNjo1MjowMy4wNjM4NDM5NjZaIl0",
                                "salt" : "9K1R0Z34MmRMePTFuyjh7A",
                                "key" : "issuanceDate",
                                "value" : "2025-07-16T06:52:03.063843966Z"
                              },
                              "fblwhBlVLgncoOEPsNhLOCn15-EM0-ijkcr0P5HCPhg" : {
                                "disclosure" : "WyJXc1pqUmdZZG95dUw5VVhTR2ZSSTl3IiwibmFtZSIsIkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiXQ",
                                "salt" : "WsZjRgYdoyuL9UXSGfRI9w",
                                "key" : "name",
                                "value" : "Bachelor of Science and Arts"
                              }
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  },
                  "Open Badge W3C VC with two disclosable claims (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_simple",
                          "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                          "verifiableCredentials" : [ {
                            "header" : {
                              "kid" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7#zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iss" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:d6d84108-894b-46c5-937d-9da3a012431f",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "expirationDate" : "2026-07-16T06:49:40.414301494Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                },
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuanceDate" : "2025-07-16T06:49:40.414284954Z"
                              },
                              "jti" : "urn:uuid:d6d84108-894b-46c5-937d-9da3a012431f",
                              "exp" : 1784184580,
                              "iat" : 1752648580,
                              "nbf" : 1752648580
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "Open Badge W3C VC with two disclosable claims (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_verbose",
                          "vp" : {
                            "raw" : "eyJraWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYkV0NE1HbEZSRzFMZEU1VGR6RlVVVFJPUkhOUVVEUnRSMW80Y0cxSFVFZDBXWGxTVGt0aVowVmZheUlzSW5naU9pSm9jRUpxVEdFd1ZWbzRVV0ZGY2xGVVFUTllTRVZoT1d0blJtRmZWVk5XYzA1TmJXVkJORVZUYjBaQklpd2llU0k2SW5Sc01rOWxabGQxVXpCeVgxSm1OM1JOVkhoRFZXWktkMUZMUkdoek1YQllOV3RCWTBjeU9XRTJRVzhpZlEjMCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYkV0NE1HbEZSRzFMZEU1VGR6RlVVVFJPUkhOUVVEUnRSMW80Y0cxSFVFZDBXWGxTVGt0aVowVmZheUlzSW5naU9pSm9jRUpxVEdFd1ZWbzRVV0ZGY2xGVVFUTllTRVZoT1d0blJtRmZWVk5XYzA1TmJXVkJORVZUYjBaQklpd2llU0k2SW5Sc01rOWxabGQxVXpCeVgxSm1OM1JOVkhoRFZXWktkMUZMUkdoek1YQllOV3RCWTBjeU9XRTJRVzhpZlEiLCJuYmYiOjE3NTI2NDg1MjAsImlhdCI6MTc1MjY0ODU4MCwianRpIjoiSWNvYkMxMmJ4RTBVIiwiaXNzIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaWJFdDRNR2xGUkcxTGRFNVRkekZVVVRST1JITlFVRFJ0UjFvNGNHMUhVRWQwV1hsU1RrdGlaMFZmYXlJc0luZ2lPaUpvY0VKcVRHRXdWVm80VVdGRmNsRlVRVE5ZU0VWaE9XdG5SbUZmVlZOV2MwNU5iV1ZCTkVWVGIwWkJJaXdpZVNJNkluUnNNazlsWmxkMVV6QnlYMUptTjNSTlZIaERWV1pLZDFGTFJHaHpNWEJZTld0QlkwY3lPV0UyUVc4aWZRIiwibm9uY2UiOiJlOTFiMGEzNS03MGFiLTQ4ZTYtOGU0Zi01MGI1OTI5ZGY0MTYiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjIyMjIyL29wZW5pZDR2Yy92ZXJpZnkiLCJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaWQiOiJJY29iQzEyYnhFMFUiLCJob2xkZXIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYkV0NE1HbEZSRzFMZEU1VGR6RlVVVFJPUkhOUVVEUnRSMW80Y0cxSFVFZDBXWGxTVGt0aVowVmZheUlzSW5naU9pSm9jRUpxVEdFd1ZWbzRVV0ZGY2xGVVFUTllTRVZoT1d0blJtRmZWVk5XYzA1TmJXVkJORVZUYjBaQklpd2llU0k2SW5Sc01rOWxabGQxVXpCeVgxSm1OM1JOVkhoRFZXWktkMUZMUkdoek1YQllOV3RCWTBjeU9XRTJRVzhpZlEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsV2pGb1NFVkhVMXAzWnpWV1ducEhTa1ZyUzNsVk5XNW1SVE14TjNGMFJrdDRWazFpZUc1NGNVaGljRGNqZWtSdVlXVmFNV2hJUlVkVFduZG5OVlphZWtkS1JXdExlVlUxYm1aRk16RTNjWFJHUzNoV1RXSjRibmh4U0dKd055SXNJblI1Y0NJNklrcFhWQ0lzSW1Gc1p5STZJa1ZUTWpVMkluMC5leUpwYzNNaU9pSmthV1E2YTJWNU9ucEVibUZsV2pGb1NFVkhVMXAzWnpWV1ducEhTa1ZyUzNsVk5XNW1SVE14TjNGMFJrdDRWazFpZUc1NGNVaGljRGNpTENKemRXSWlPaUprYVdRNmFuZHJPbVY1U25Ka1NHdHBUMmxLUmxGNVNYTkpiVTU1WkdsSk5rbHNRWFJOYWxVeVNXbDNhV0V5Ykd0SmFtOXBZa1YwTkUxSGJFWlNSekZNWkVVMVZHUjZSbFZWVkZKUFVraE9VVlZFVW5SU01XODBZMGN4U0ZWRlpEQlhXR3hUVkd0MGFWb3dWbVpoZVVselNXNW5hVTlwU205alJVcHhWRWRGZDFaV2J6UlZWMFpHWTJ4R1ZWRlVUbGxUUlZab1QxZDBibEp0Um1aV1ZrNVhZekExVG1KWFZrSk9SVlpVWWpCYVFrbHBkMmxsVTBrMlNXNVNjMDFyT1d4YWJHUXhWWHBDZVZneFNtMU9NMUpPVmtob1JGWlhXa3RrTVVaTVVrZG9lazFZUWxsT1YzUkNXVEJqZVU5WFJUSlJWemhwWmxFaUxDSjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2Y0hWeWJDNXBiWE5uYkc5aVlXd3ViM0puTDNOd1pXTXZiMkl2ZGpOd01DOWpiMjUwWlhoMExtcHpiMjRpWFN3aWFXUWlPaUoxY200NmRYVnBaRHBrTm1RNE5ERXdPQzA0T1RSaUxUUTJZelV0T1RNM1pDMDVaR0V6WVRBeE1qUXpNV1lpTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lUM0JsYmtKaFpHZGxRM0psWkdWdWRHbGhiQ0pkTENKcGMzTjFaWElpT25zaWRIbHdaU0k2V3lKUWNtOW1hV3hsSWwwc0ltbGtJam9pWkdsa09tdGxlVHA2Ukc1aFpWb3hhRWhGUjFOYWQyYzFWbHA2UjBwRmEwdDVWVFZ1WmtVek1UZHhkRVpMZUZaTlluaHVlSEZJWW5BM0lpd2libUZ0WlNJNklrcHZZbk1nWm05eUlIUm9aU0JHZFhSMWNtVWdLRXBHUmlraUxDSjFjbXdpT2lKb2RIUndjem92TDNkM2R5NXFabVl1YjNKbkx5SXNJbWx0WVdkbElqb2lhSFIwY0hNNkx5OTNNMk10WTJObkxtZHBkR2gxWWk1cGJ5OTJZeTFsWkM5d2JIVm5abVZ6ZEMweExUSXdNakl2YVcxaFoyVnpMMHBHUmw5TWIyZHZURzlqYTNWd0xuQnVaeUo5TENKbGVIQnBjbUYwYVc5dVJHRjBaU0k2SWpJd01qWXRNRGN0TVRaVU1EWTZORGs2TkRBdU5ERTBNekF4TkRrMFdpSXNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT21wM2F6cGxlVXB5WkVocmFVOXBTa1pSZVVselNXMU9lV1JwU1RaSmJFRjBUV3BWTWtscGQybGhNbXhyU1dwdmFXSkZkRFJOUjJ4R1VrY3hUR1JGTlZSa2VrWlZWVlJTVDFKSVRsRlZSRkowVWpGdk5HTkhNVWhWUldRd1YxaHNVMVJyZEdsYU1GWm1ZWGxKYzBsdVoybFBhVXB2WTBWS2NWUkhSWGRXVm04MFZWZEdSbU5zUmxWUlZFNVpVMFZXYUU5WGRHNVNiVVptVmxaT1YyTXdOVTVpVjFaQ1RrVldWR0l3V2tKSmFYZHBaVk5KTmtsdVVuTk5hemxzV214a01WVjZRbmxZTVVwdFRqTlNUbFpJYUVSV1YxcExaREZHVEZKSGFIcE5XRUpaVGxkMFFsa3dZM2xQVjBVeVVWYzRhV1pSSWl3aWRIbHdaU0k2V3lKQlkyaHBaWFpsYldWdWRGTjFZbXBsWTNRaVhTd2lZV05vYVdWMlpXMWxiblFpT25zaWFXUWlPaUoxY200NmRYVnBaRHBoWXpJMU5HSmtOUzA0Wm1Ga0xUUmlZakV0T1dReU9TMWxabVE1TXpnMU16WTVNallpTENKMGVYQmxJanBiSWtGamFHbGxkbVZ0Wlc1MElsMHNJbTVoYldVaU9pSktSa1lnZUNCMll5MWxaSFVnVUd4MVowWmxjM1FnTXlCSmJuUmxjbTl3WlhKaFltbHNhWFI1SWl3aVpHVnpZM0pwY0hScGIyNGlPaUpVYUdseklIZGhiR3hsZENCemRYQndiM0owY3lCMGFHVWdkWE5sSUc5bUlGY3pReUJXWlhKcFptbGhZbXhsSUVOeVpXUmxiblJwWVd4eklHRnVaQ0JvWVhNZ1pHVnRiMjV6ZEhKaGRHVmtJR2x1ZEdWeWIzQmxjbUZpYVd4cGRIa2daSFZ5YVc1bklIUm9aU0J3Y21WelpXNTBZWFJwYjI0Z2NtVnhkV1Z6ZENCM2IzSnJabXh2ZHlCa2RYSnBibWNnU2taR0lIZ2dWa010UlVSVklGQnNkV2RHWlhOMElETXVJaXdpWTNKcGRHVnlhV0VpT25zaWRIbHdaU0k2SWtOeWFYUmxjbWxoSWl3aWJtRnljbUYwYVhabElqb2lWMkZzYkdWMElITnZiSFYwYVc5dWN5QndjbTkyYVdSbGNuTWdaV0Z5Ym1Wa0lIUm9hWE1nWW1Ga1oyVWdZbmtnWkdWdGIyNXpkSEpoZEdsdVp5QnBiblJsY205d1pYSmhZbWxzYVhSNUlHUjFjbWx1WnlCMGFHVWdjSEpsYzJWdWRHRjBhVzl1SUhKbGNYVmxjM1FnZDI5eWEyWnNiM2N1SUZSb2FYTWdhVzVqYkhWa1pYTWdjM1ZqWTJWemMyWjFiR3g1SUhKbFkyVnBkbWx1WnlCaElIQnlaWE5sYm5SaGRHbHZiaUJ5WlhGMVpYTjBMQ0JoYkd4dmQybHVaeUIwYUdVZ2FHOXNaR1Z5SUhSdklITmxiR1ZqZENCaGRDQnNaV0Z6ZENCMGQyOGdkSGx3WlhNZ2IyWWdkbVZ5YVdacFlXSnNaU0JqY21Wa1pXNTBhV0ZzY3lCMGJ5QmpjbVZoZEdVZ1lTQjJaWEpwWm1saFlteGxJSEJ5WlhObGJuUmhkR2x2Yml3Z2NtVjBkWEp1YVc1bklIUm9aU0J3Y21WelpXNTBZWFJwYjI0Z2RHOGdkR2hsSUhKbGNYVmxjM1J2Y2l3Z1lXNWtJSEJoYzNOcGJtY2dkbVZ5YVdacFkyRjBhVzl1SUc5bUlIUm9aU0J3Y21WelpXNTBZWFJwYjI0Z1lXNWtJSFJvWlNCcGJtTnNkV1JsWkNCamNtVmtaVzUwYVdGc2N5NGlmU3dpYVcxaFoyVWlPbnNpYVdRaU9pSm9kSFJ3Y3pvdkwzY3pZeTFqWTJjdVoybDBhSFZpTG1sdkwzWmpMV1ZrTDNCc2RXZG1aWE4wTFRNdE1qQXlNeTlwYldGblpYTXZTa1pHTFZaRExVVkVWUzFRVEZWSFJrVlRWRE10WW1Ga1oyVXRhVzFoWjJVdWNHNW5JaXdpZEhsd1pTSTZJa2x0WVdkbEluMTlmU3dpWDNOa0lqcGJJbWhvUkVOM04xcEhiV1JoTVhSdmJuRlhXVEZpT0hNdFkyaFlXak5aVFZNMlIxaEVjWGhyYmxsdVEyOGlMQ0pMZEZkNUxUQlZiRUpSTUdWTloxSkxVRzQxUnpsS2JuZEtUVVowTkV0cGExUlNRa2hwVjI5RVVtUTRJbDE5TENKcWRHa2lPaUoxY200NmRYVnBaRHBrTm1RNE5ERXdPQzA0T1RSaUxUUTJZelV0T1RNM1pDMDVaR0V6WVRBeE1qUXpNV1lpTENKbGVIQWlPakUzT0RReE9EUTFPREFzSW1saGRDSTZNVGMxTWpZME9EVTRNQ3dpYm1KbUlqb3hOelV5TmpRNE5UZ3dmUS5aLUpxbGdSbkhkMFAzcVJRUFBtdmJjaWtZYjFxMlNwZTBqaGJQc0xaMWhSWHJ4ZjhTOXNGbGFDcWQ2cnlkSExGdGZ3Q1RPLUk2cVdwaDBqbVRScldQd35XeUppYldkcU1tTXdia1oxYTFaUlRGQnJXREJSYW1kUklpd2libUZ0WlNJc0lrcEdSaUI0SUhaakxXVmtkU0JRYkhWblJtVnpkQ0F6SUVsdWRHVnliM0JsY21GaWFXeHBkSGtpWFF-V3lKMWFITm5RbEJuVDJsU1dVb3pTMnRsZVZKaU5IcG5JaXdpYVhOemRXRnVZMlZFWVhSbElpd2lNakF5TlMwd055MHhObFF3TmpvME9UbzBNQzQwTVRReU9EUTVOVFJhSWwwIl19fQ.rn-8871YzIWQ0_r5LIlhgVz_uc4xsmSZrZH9d6AgGDy1HD3WdzjYj0EOT4Jm1DmeufBwY8V4hKxiH9a9_sgSoQ",
                            "header" : {
                              "kid" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ#0",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                              "nbf" : 1752648520,
                              "iat" : 1752648580,
                              "jti" : "IcobC12bxE0U",
                              "iss" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                              "nonce" : "e91b0a35-70ab-48e6-8e4f-50b5929df416",
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "vp" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                                "type" : [ "VerifiablePresentation" ],
                                "id" : "IcobC12bxE0U",
                                "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                                "verifiableCredential" : [ "eyJraWQiOiJkaWQ6a2V5OnpEbmFlWjFoSEVHU1p3ZzVWWnpHSkVrS3lVNW5mRTMxN3F0Rkt4Vk1ieG54cUhicDcjekRuYWVaMWhIRUdTWndnNVZaekdKRWtLeVU1bmZFMzE3cXRGS3hWTWJ4bnhxSGJwNyIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlWjFoSEVHU1p3ZzVWWnpHSkVrS3lVNW5mRTMxN3F0Rkt4Vk1ieG54cUhicDciLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYkV0NE1HbEZSRzFMZEU1VGR6RlVVVFJPUkhOUVVEUnRSMW80Y0cxSFVFZDBXWGxTVGt0aVowVmZheUlzSW5naU9pSm9jRUpxVEdFd1ZWbzRVV0ZGY2xGVVFUTllTRVZoT1d0blJtRmZWVk5XYzA1TmJXVkJORVZUYjBaQklpd2llU0k2SW5Sc01rOWxabGQxVXpCeVgxSm1OM1JOVkhoRFZXWktkMUZMUkdoek1YQllOV3RCWTBjeU9XRTJRVzhpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vcHVybC5pbXNnbG9iYWwub3JnL3NwZWMvb2IvdjNwMC9jb250ZXh0Lmpzb24iXSwiaWQiOiJ1cm46dXVpZDpkNmQ4NDEwOC04OTRiLTQ2YzUtOTM3ZC05ZGEzYTAxMjQzMWYiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsidHlwZSI6WyJQcm9maWxlIl0sImlkIjoiZGlkOmtleTp6RG5hZVoxaEhFR1Nad2c1Vlp6R0pFa0t5VTVuZkUzMTdxdEZLeFZNYnhueHFIYnA3IiwibmFtZSI6IkpvYnMgZm9yIHRoZSBGdXR1cmUgKEpGRikiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly93M2MtY2NnLmdpdGh1Yi5pby92Yy1lZC9wbHVnZmVzdC0xLTIwMjIvaW1hZ2VzL0pGRl9Mb2dvTG9ja3VwLnBuZyJ9LCJleHBpcmF0aW9uRGF0ZSI6IjIwMjYtMDctMTZUMDY6NDk6NDAuNDE0MzAxNDk0WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaWJFdDRNR2xGUkcxTGRFNVRkekZVVVRST1JITlFVRFJ0UjFvNGNHMUhVRWQwV1hsU1RrdGlaMFZmYXlJc0luZ2lPaUpvY0VKcVRHRXdWVm80VVdGRmNsRlVRVE5ZU0VWaE9XdG5SbUZmVlZOV2MwNU5iV1ZCTkVWVGIwWkJJaXdpZVNJNkluUnNNazlsWmxkMVV6QnlYMUptTjNSTlZIaERWV1pLZDFGTFJHaHpNWEJZTld0QlkwY3lPV0UyUVc4aWZRIiwidHlwZSI6WyJBY2hpZXZlbWVudFN1YmplY3QiXSwiYWNoaWV2ZW1lbnQiOnsiaWQiOiJ1cm46dXVpZDphYzI1NGJkNS04ZmFkLTRiYjEtOWQyOS1lZmQ5Mzg1MzY5MjYiLCJ0eXBlIjpbIkFjaGlldmVtZW50Il0sIm5hbWUiOiJKRkYgeCB2Yy1lZHUgUGx1Z0Zlc3QgMyBJbnRlcm9wZXJhYmlsaXR5IiwiZGVzY3JpcHRpb24iOiJUaGlzIHdhbGxldCBzdXBwb3J0cyB0aGUgdXNlIG9mIFczQyBWZXJpZmlhYmxlIENyZWRlbnRpYWxzIGFuZCBoYXMgZGVtb25zdHJhdGVkIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdyBkdXJpbmcgSkZGIHggVkMtRURVIFBsdWdGZXN0IDMuIiwiY3JpdGVyaWEiOnsidHlwZSI6IkNyaXRlcmlhIiwibmFycmF0aXZlIjoiV2FsbGV0IHNvbHV0aW9ucyBwcm92aWRlcnMgZWFybmVkIHRoaXMgYmFkZ2UgYnkgZGVtb25zdHJhdGluZyBpbnRlcm9wZXJhYmlsaXR5IGR1cmluZyB0aGUgcHJlc2VudGF0aW9uIHJlcXVlc3Qgd29ya2Zsb3cuIFRoaXMgaW5jbHVkZXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmluZyBhIHByZXNlbnRhdGlvbiByZXF1ZXN0LCBhbGxvd2luZyB0aGUgaG9sZGVyIHRvIHNlbGVjdCBhdCBsZWFzdCB0d28gdHlwZXMgb2YgdmVyaWZpYWJsZSBjcmVkZW50aWFscyB0byBjcmVhdGUgYSB2ZXJpZmlhYmxlIHByZXNlbnRhdGlvbiwgcmV0dXJuaW5nIHRoZSBwcmVzZW50YXRpb24gdG8gdGhlIHJlcXVlc3RvciwgYW5kIHBhc3NpbmcgdmVyaWZpY2F0aW9uIG9mIHRoZSBwcmVzZW50YXRpb24gYW5kIHRoZSBpbmNsdWRlZCBjcmVkZW50aWFscy4ifSwiaW1hZ2UiOnsiaWQiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTMtMjAyMy9pbWFnZXMvSkZGLVZDLUVEVS1QTFVHRkVTVDMtYmFkZ2UtaW1hZ2UucG5nIiwidHlwZSI6IkltYWdlIn19fSwiX3NkIjpbImhoREN3N1pHbWRhMXRvbnFXWTFiOHMtY2hYWjNZTVM2R1hEcXhrblluQ28iLCJLdFd5LTBVbEJRMGVNZ1JLUG41RzlKbndKTUZ0NEtpa1RSQkhpV29EUmQ4Il19LCJqdGkiOiJ1cm46dXVpZDpkNmQ4NDEwOC04OTRiLTQ2YzUtOTM3ZC05ZGEzYTAxMjQzMWYiLCJleHAiOjE3ODQxODQ1ODAsImlhdCI6MTc1MjY0ODU4MCwibmJmIjoxNzUyNjQ4NTgwfQ.Z-JqlgRnHd0P3qRQPPmvbcikYb1q2Spe0jhbPsLZ1hRXrxf8S9sFlaCqd6rydHLFtfwCTO-I6qWph0jmTRrWPw~WyJibWdqMmMwbkZ1a1ZRTFBrWDBRamdRIiwibmFtZSIsIkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiXQ~WyJ1aHNnQlBnT2lSWUozS2tleVJiNHpnIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xNlQwNjo0OTo0MC40MTQyODQ5NTRaIl0" ]
                              }
                            }
                          },
                          "verifiableCredentials" : [ {
                            "raw" : "eyJraWQiOiJkaWQ6a2V5OnpEbmFlWjFoSEVHU1p3ZzVWWnpHSkVrS3lVNW5mRTMxN3F0Rkt4Vk1ieG54cUhicDcjekRuYWVaMWhIRUdTWndnNVZaekdKRWtLeVU1bmZFMzE3cXRGS3hWTWJ4bnhxSGJwNyIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFlWjFoSEVHU1p3ZzVWWnpHSkVrS3lVNW5mRTMxN3F0Rkt4Vk1ieG54cUhicDciLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pYkV0NE1HbEZSRzFMZEU1VGR6RlVVVFJPUkhOUVVEUnRSMW80Y0cxSFVFZDBXWGxTVGt0aVowVmZheUlzSW5naU9pSm9jRUpxVEdFd1ZWbzRVV0ZGY2xGVVFUTllTRVZoT1d0blJtRmZWVk5XYzA1TmJXVkJORVZUYjBaQklpd2llU0k2SW5Sc01rOWxabGQxVXpCeVgxSm1OM1JOVkhoRFZXWktkMUZMUkdoek1YQllOV3RCWTBjeU9XRTJRVzhpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vcHVybC5pbXNnbG9iYWwub3JnL3NwZWMvb2IvdjNwMC9jb250ZXh0Lmpzb24iXSwiaWQiOiJ1cm46dXVpZDpkNmQ4NDEwOC04OTRiLTQ2YzUtOTM3ZC05ZGEzYTAxMjQzMWYiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsidHlwZSI6WyJQcm9maWxlIl0sImlkIjoiZGlkOmtleTp6RG5hZVoxaEhFR1Nad2c1Vlp6R0pFa0t5VTVuZkUzMTdxdEZLeFZNYnhueHFIYnA3IiwibmFtZSI6IkpvYnMgZm9yIHRoZSBGdXR1cmUgKEpGRikiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly93M2MtY2NnLmdpdGh1Yi5pby92Yy1lZC9wbHVnZmVzdC0xLTIwMjIvaW1hZ2VzL0pGRl9Mb2dvTG9ja3VwLnBuZyJ9LCJleHBpcmF0aW9uRGF0ZSI6IjIwMjYtMDctMTZUMDY6NDk6NDAuNDE0MzAxNDk0WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaWJFdDRNR2xGUkcxTGRFNVRkekZVVVRST1JITlFVRFJ0UjFvNGNHMUhVRWQwV1hsU1RrdGlaMFZmYXlJc0luZ2lPaUpvY0VKcVRHRXdWVm80VVdGRmNsRlVRVE5ZU0VWaE9XdG5SbUZmVlZOV2MwNU5iV1ZCTkVWVGIwWkJJaXdpZVNJNkluUnNNazlsWmxkMVV6QnlYMUptTjNSTlZIaERWV1pLZDFGTFJHaHpNWEJZTld0QlkwY3lPV0UyUVc4aWZRIiwidHlwZSI6WyJBY2hpZXZlbWVudFN1YmplY3QiXSwiYWNoaWV2ZW1lbnQiOnsiaWQiOiJ1cm46dXVpZDphYzI1NGJkNS04ZmFkLTRiYjEtOWQyOS1lZmQ5Mzg1MzY5MjYiLCJ0eXBlIjpbIkFjaGlldmVtZW50Il0sIm5hbWUiOiJKRkYgeCB2Yy1lZHUgUGx1Z0Zlc3QgMyBJbnRlcm9wZXJhYmlsaXR5IiwiZGVzY3JpcHRpb24iOiJUaGlzIHdhbGxldCBzdXBwb3J0cyB0aGUgdXNlIG9mIFczQyBWZXJpZmlhYmxlIENyZWRlbnRpYWxzIGFuZCBoYXMgZGVtb25zdHJhdGVkIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdyBkdXJpbmcgSkZGIHggVkMtRURVIFBsdWdGZXN0IDMuIiwiY3JpdGVyaWEiOnsidHlwZSI6IkNyaXRlcmlhIiwibmFycmF0aXZlIjoiV2FsbGV0IHNvbHV0aW9ucyBwcm92aWRlcnMgZWFybmVkIHRoaXMgYmFkZ2UgYnkgZGVtb25zdHJhdGluZyBpbnRlcm9wZXJhYmlsaXR5IGR1cmluZyB0aGUgcHJlc2VudGF0aW9uIHJlcXVlc3Qgd29ya2Zsb3cuIFRoaXMgaW5jbHVkZXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmluZyBhIHByZXNlbnRhdGlvbiByZXF1ZXN0LCBhbGxvd2luZyB0aGUgaG9sZGVyIHRvIHNlbGVjdCBhdCBsZWFzdCB0d28gdHlwZXMgb2YgdmVyaWZpYWJsZSBjcmVkZW50aWFscyB0byBjcmVhdGUgYSB2ZXJpZmlhYmxlIHByZXNlbnRhdGlvbiwgcmV0dXJuaW5nIHRoZSBwcmVzZW50YXRpb24gdG8gdGhlIHJlcXVlc3RvciwgYW5kIHBhc3NpbmcgdmVyaWZpY2F0aW9uIG9mIHRoZSBwcmVzZW50YXRpb24gYW5kIHRoZSBpbmNsdWRlZCBjcmVkZW50aWFscy4ifSwiaW1hZ2UiOnsiaWQiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTMtMjAyMy9pbWFnZXMvSkZGLVZDLUVEVS1QTFVHRkVTVDMtYmFkZ2UtaW1hZ2UucG5nIiwidHlwZSI6IkltYWdlIn19fSwiX3NkIjpbImhoREN3N1pHbWRhMXRvbnFXWTFiOHMtY2hYWjNZTVM2R1hEcXhrblluQ28iLCJLdFd5LTBVbEJRMGVNZ1JLUG41RzlKbndKTUZ0NEtpa1RSQkhpV29EUmQ4Il19LCJqdGkiOiJ1cm46dXVpZDpkNmQ4NDEwOC04OTRiLTQ2YzUtOTM3ZC05ZGEzYTAxMjQzMWYiLCJleHAiOjE3ODQxODQ1ODAsImlhdCI6MTc1MjY0ODU4MCwibmJmIjoxNzUyNjQ4NTgwfQ.Z-JqlgRnHd0P3qRQPPmvbcikYb1q2Spe0jhbPsLZ1hRXrxf8S9sFlaCqd6rydHLFtfwCTO-I6qWph0jmTRrWPw~WyJibWdqMmMwbkZ1a1ZRTFBrWDBRamdRIiwibmFtZSIsIkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiXQ~WyJ1aHNnQlBnT2lSWUozS2tleVJiNHpnIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xNlQwNjo0OTo0MC40MTQyODQ5NTRaIl0",
                            "header" : {
                              "kid" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7#zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "iss" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:d6d84108-894b-46c5-937d-9da3a012431f",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "expirationDate" : "2026-07-16T06:49:40.414301494Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                },
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuanceDate" : "2025-07-16T06:49:40.414284954Z"
                              },
                              "jti" : "urn:uuid:d6d84108-894b-46c5-937d-9da3a012431f",
                              "exp" : 1784184580,
                              "iat" : 1752648580,
                              "nbf" : 1752648580
                            },
                            "undisclosedPayload" : {
                              "iss" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:d6d84108-894b-46c5-937d-9da3a012431f",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaeZ1hHEGSZwg5VZzGJEkKyU5nfE317qtFKxVMbxnxqHbp7",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "expirationDate" : "2026-07-16T06:49:40.414301494Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoibEt4MGlFRG1LdE5TdzFUUTRORHNQUDRtR1o4cG1HUEd0WXlSTktiZ0VfayIsIngiOiJocEJqTGEwVVo4UWFFclFUQTNYSEVhOWtnRmFfVVNWc05NbWVBNEVTb0ZBIiwieSI6InRsMk9lZld1UzByX1JmN3RNVHhDVWZKd1FLRGhzMXBYNWtBY0cyOWE2QW8ifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                },
                                "_sd" : [ "hhDCw7ZGmda1tonqWY1b8s-chXZ3YMS6GXDqxknYnCo", "KtWy-0UlBQ0eMgRKPn5G9JnwJMFt4KikTRBHiWoDRd8" ]
                              },
                              "jti" : "urn:uuid:d6d84108-894b-46c5-937d-9da3a012431f",
                              "exp" : 1784184580,
                              "iat" : 1752648580,
                              "nbf" : 1752648580
                            },
                            "disclosures" : {
                              "hhDCw7ZGmda1tonqWY1b8s-chXZ3YMS6GXDqxknYnCo" : {
                                "disclosure" : "WyJibWdqMmMwbkZ1a1ZRTFBrWDBRamdRIiwibmFtZSIsIkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiXQ",
                                "salt" : "bmgj2c0nFukVQLPkX0QjgQ",
                                "key" : "name",
                                "value" : "JFF x vc-edu PlugFest 3 Interoperability"
                              },
                              "KtWy-0UlBQ0eMgRKPn5G9JnwJMFt4KikTRBHiWoDRd8" : {
                                "disclosure" : "WyJ1aHNnQlBnT2lSWUozS2tleVJiNHpnIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xNlQwNjo0OTo0MC40MTQyODQ5NTRaIl0",
                                "salt" : "uhsgBPgOiRYJ3KkeyRb4zg",
                                "key" : "issuanceDate",
                                "value" : "2025-07-16T06:49:40.414284954Z"
                              }
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  },
                  "University Degree & Open Badge W3C VCs both with two disclosable claims (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_simple",
                          "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                          "verifiableCredentials" : [ {
                            "header" : {
                              "kid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm#zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iss" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:4af8291a-7ac2-43ec-be21-b81237cbda7c",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm"
                                },
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                                "expirationDate" : "2026-07-17T04:43:00.311322304Z",
                                "issuanceDate" : "2025-07-17T04:43:00.311298359Z"
                              },
                              "jti" : "urn:uuid:4af8291a-7ac2-43ec-be21-b81237cbda7c",
                              "exp" : 1784263380,
                              "iat" : 1752727380,
                              "nbf" : 1752727380
                            }
                          }, {
                            "header" : {
                              "kid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm#zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iss" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:95c49060-29e0-46fa-9aeb-16b46e2da15a",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "expirationDate" : "2026-07-17T04:43:00.710540677Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                },
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuanceDate" : "2025-07-17T04:43:00.710524386Z"
                              },
                              "jti" : "urn:uuid:95c49060-29e0-46fa-9aeb-16b46e2da15a",
                              "exp" : 1784263380,
                              "iat" : 1752727380,
                              "nbf" : 1752727380
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "University Degree & Open Badge W3C VCs both with two disclosable claims (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "jwt_vc_json" : [ {
                          "type" : "jwt_vc_json_view_verbose",
                          "vp" : {
                            "raw" : "eyJraWQiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEjMCIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEiLCJuYmYiOjE3NTI3MjczMjEsImlhdCI6MTc1MjcyNzM4MSwianRpIjoiWDFpMVRoN0ZCVHRqIiwiaXNzIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVpYbDBNakY2UlZFemFtcFlWRjl1VGtwTmFrWTFkV2xQT1UwNFdVUm5aVWRoY25SSFNWZHdkRTlDUlNJc0luZ2lPaUpGU1Y5cWRtcHhPWGhKUkhWNFJtRmtSMmhzV1hCUlltVlVNREYxWld0VWJXc3lVWFZUZUZKbVExcGpJaXdpZVNJNkluSXpORWxRWTBoV1F6RklPVEZtVUdoSVZtbHVjM1pKTjJocFJIZGxkRTVDT0ZCR1ZsRnlORGxKU1VFaWZRIiwibm9uY2UiOiIzZTM0MGE3Yy03ZTBmLTQ2OWItYTJlMS1mODg5ZGRiN2Y4ZWYiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0OjIyMjIyL29wZW5pZDR2Yy92ZXJpZnkiLCJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiaWQiOiJYMWkxVGg3RkJUdGoiLCJob2xkZXIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpyYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsZEVFeVozWnlhelJqWTIxRU1sUTNRVFY2ZVRSdFYyOU5Na05CZW01M1kzaElNblV4YURWdFJHNVlVbTBqZWtSdVlXVjBRVEpuZG5Kck5HTmpiVVF5VkRkQk5YcDVORzFYYjAweVEwRjZibmRqZUVneWRURm9OVzFFYmxoU2JTSXNJblI1Y0NJNklrcFhWQ0lzSW1Gc1p5STZJa1ZUTWpVMkluMC5leUpwYzNNaU9pSmthV1E2YTJWNU9ucEVibUZsZEVFeVozWnlhelJqWTIxRU1sUTNRVFY2ZVRSdFYyOU5Na05CZW01M1kzaElNblV4YURWdFJHNVlVbTBpTENKemRXSWlPaUprYVdRNmFuZHJPbVY1U25Ka1NHdHBUMmxLUmxGNVNYTkpiVTU1WkdsSk5rbHNRWFJOYWxVeVNXbDNhV0V5Ykd0SmFtOXBXbGhzTUUxcVJqWlNWa1Y2WVcxd1dWWkdPWFZVYTNCT1lXdFpNV1JYYkZCUFZUQTBWMVZTYmxwVlpHaGpibEpJVTFaa2QyUkZPVU5TVTBselNXNW5hVTlwU2taVFZqbHhaRzF3ZUU5WWFFcFNTRlkwVW0xR2ExSXlhSE5YV0VKU1dXMVdWVTFFUmpGYVYzUlZZbGR6ZVZWWVZsUmxSa3B0VVRGd2FrbHBkMmxsVTBrMlNXNUplazVGYkZGWk1HaFhVWHBHU1U5VVJtMVZSMmhKVm0xc2RXTXpXa3BPTW1od1VraGtiR1JGTlVOUFJrSkhWbXhHZVU1RWJFcFRWVVZwWmxFaUxDSjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1ERTRMMk55WldSbGJuUnBZV3h6TDJWNFlXMXdiR1Z6TDNZeElsMHNJbWxrSWpvaWRYSnVPblYxYVdRNk5HRm1PREk1TVdFdE4yRmpNaTAwTTJWakxXSmxNakV0WWpneE1qTTNZMkprWVRkaklpd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0lzSWxWdWFYWmxjbk5wZEhsRVpXZHlaV1VpWFN3aWFYTnpkV1Z5SWpwN0ltbGtJam9pWkdsa09tdGxlVHA2Ukc1aFpYUkJNbWQyY21zMFkyTnRSREpVTjBFMWVuazBiVmR2VFRKRFFYcHVkMk40U0RKMU1XZzFiVVJ1V0ZKdEluMHNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT21wM2F6cGxlVXB5WkVocmFVOXBTa1pSZVVselNXMU9lV1JwU1RaSmJFRjBUV3BWTWtscGQybGhNbXhyU1dwdmFWcFliREJOYWtZMlVsWkZlbUZ0Y0ZsV1JqbDFWR3R3VG1GcldURmtWMnhRVDFVd05GZFZVbTVhVldSb1kyNVNTRk5XWkhka1JUbERVbE5KYzBsdVoybFBhVXBHVTFZNWNXUnRjSGhQV0doS1VraFdORkp0Um10U01taHpWMWhDVWxsdFZsVk5SRVl4V2xkMFZXSlhjM2xWV0ZaVVpVWktiVkV4Y0dwSmFYZHBaVk5KTmtsdVNYcE9SV3hSV1RCb1YxRjZSa2xQVkVadFZVZG9TVlp0YkhWak0xcEtUakpvY0ZKSVpHeGtSVFZEVDBaQ1IxWnNSbmxPUkd4S1UxVkZhV1pSSWl3aVpHVm5jbVZsSWpwN0luUjVjR1VpT2lKQ1lXTm9aV3h2Y2tSbFozSmxaU0lzSWw5elpDSTZXeUpsYlhCYWVHZEhRbGxxVFdWUlpGUkxabXBZYUhwUFNGUmFVR0k0U0VoUFpGUXdZbE15VURoUVNtYzRJbDE5ZlN3aWFYTnpkV1Z5Ukdsa0lqb2laR2xrT210bGVUcDZSRzVoWlhSQk1tZDJjbXMwWTJOdFJESlVOMEUxZW5rMGJWZHZUVEpEUVhwdWQyTjRTREoxTVdnMWJVUnVXRkp0SWl3aVpYaHdhWEpoZEdsdmJrUmhkR1VpT2lJeU1ESTJMVEEzTFRFM1ZEQTBPalF6T2pBd0xqTXhNVE15TWpNd05Gb2lMQ0pmYzJRaU9sc2lkMHB5TldGblpVSkhRblJNZFdoYVdGZzJUME5QTUZGbWNYVkVjR0ZTY1RZemVuRTBlblJQWVRReVZTSmRmU3dpYW5ScElqb2lkWEp1T25WMWFXUTZOR0ZtT0RJNU1XRXROMkZqTWkwME0yVmpMV0psTWpFdFlqZ3hNak0zWTJKa1lUZGpJaXdpWlhod0lqb3hOemcwTWpZek16Z3dMQ0pwWVhRaU9qRTNOVEkzTWpjek9EQXNJbTVpWmlJNk1UYzFNamN5TnpNNE1IMC53QS1GLVN1SzA4WlZWMUo1Wi1ZWFNyNlFHb1pvczFMak43M3VrUkF4S0FKTmdvcFd3NXg5Ylc1cS0tZXN2R0VCWXdFVFBRUm5Fenh6TTB4aHp1VUdCZ35XeUpuVmxreGNHcGFZbmN3VUVsSlZEUnJMVU5YZHpOM0lpd2lhWE56ZFdGdVkyVkVZWFJsSWl3aU1qQXlOUzB3TnkweE4xUXdORG8wTXpvd01DNHpNVEV5T1Rnek5UbGFJbDB-V3lKR09IZFVURk5WYkhKelgyTXpOVzk2WjNaSmRGbFJJaXdpYm1GdFpTSXNJa0poWTJobGJHOXlJRzltSUZOamFXVnVZMlVnWVc1a0lFRnlkSE1pWFEiLCJleUpyYVdRaU9pSmthV1E2YTJWNU9ucEVibUZsZEVFeVozWnlhelJqWTIxRU1sUTNRVFY2ZVRSdFYyOU5Na05CZW01M1kzaElNblV4YURWdFJHNVlVbTBqZWtSdVlXVjBRVEpuZG5Kck5HTmpiVVF5VkRkQk5YcDVORzFYYjAweVEwRjZibmRqZUVneWRURm9OVzFFYmxoU2JTSXNJblI1Y0NJNklrcFhWQ0lzSW1Gc1p5STZJa1ZUTWpVMkluMC5leUpwYzNNaU9pSmthV1E2YTJWNU9ucEVibUZsZEVFeVozWnlhelJqWTIxRU1sUTNRVFY2ZVRSdFYyOU5Na05CZW01M1kzaElNblV4YURWdFJHNVlVbTBpTENKemRXSWlPaUprYVdRNmFuZHJPbVY1U25Ka1NHdHBUMmxLUmxGNVNYTkpiVTU1WkdsSk5rbHNRWFJOYWxVeVNXbDNhV0V5Ykd0SmFtOXBXbGhzTUUxcVJqWlNWa1Y2WVcxd1dWWkdPWFZVYTNCT1lXdFpNV1JYYkZCUFZUQTBWMVZTYmxwVlpHaGpibEpJVTFaa2QyUkZPVU5TVTBselNXNW5hVTlwU2taVFZqbHhaRzF3ZUU5WWFFcFNTRlkwVW0xR2ExSXlhSE5YV0VKU1dXMVdWVTFFUmpGYVYzUlZZbGR6ZVZWWVZsUmxSa3B0VVRGd2FrbHBkMmxsVTBrMlNXNUplazVGYkZGWk1HaFhVWHBHU1U5VVJtMVZSMmhKVm0xc2RXTXpXa3BPTW1od1VraGtiR1JGTlVOUFJrSkhWbXhHZVU1RWJFcFRWVVZwWmxFaUxDSjJZeUk2ZXlKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0lzSW1oMGRIQnpPaTh2Y0hWeWJDNXBiWE5uYkc5aVlXd3ViM0puTDNOd1pXTXZiMkl2ZGpOd01DOWpiMjUwWlhoMExtcHpiMjRpWFN3aWFXUWlPaUoxY200NmRYVnBaRG81TldNME9UQTJNQzB5T1dVd0xUUTJabUV0T1dGbFlpMHhObUkwTm1VeVpHRXhOV0VpTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lUM0JsYmtKaFpHZGxRM0psWkdWdWRHbGhiQ0pkTENKcGMzTjFaWElpT25zaWRIbHdaU0k2V3lKUWNtOW1hV3hsSWwwc0ltbGtJam9pWkdsa09tdGxlVHA2Ukc1aFpYUkJNbWQyY21zMFkyTnRSREpVTjBFMWVuazBiVmR2VFRKRFFYcHVkMk40U0RKMU1XZzFiVVJ1V0ZKdElpd2libUZ0WlNJNklrcHZZbk1nWm05eUlIUm9aU0JHZFhSMWNtVWdLRXBHUmlraUxDSjFjbXdpT2lKb2RIUndjem92TDNkM2R5NXFabVl1YjNKbkx5SXNJbWx0WVdkbElqb2lhSFIwY0hNNkx5OTNNMk10WTJObkxtZHBkR2gxWWk1cGJ5OTJZeTFsWkM5d2JIVm5abVZ6ZEMweExUSXdNakl2YVcxaFoyVnpMMHBHUmw5TWIyZHZURzlqYTNWd0xuQnVaeUo5TENKbGVIQnBjbUYwYVc5dVJHRjBaU0k2SWpJd01qWXRNRGN0TVRkVU1EUTZORE02TURBdU56RXdOVFF3TmpjM1dpSXNJbU55WldSbGJuUnBZV3hUZFdKcVpXTjBJanA3SW1sa0lqb2laR2xrT21wM2F6cGxlVXB5WkVocmFVOXBTa1pSZVVselNXMU9lV1JwU1RaSmJFRjBUV3BWTWtscGQybGhNbXhyU1dwdmFWcFliREJOYWtZMlVsWkZlbUZ0Y0ZsV1JqbDFWR3R3VG1GcldURmtWMnhRVDFVd05GZFZVbTVhVldSb1kyNVNTRk5XWkhka1JUbERVbE5KYzBsdVoybFBhVXBHVTFZNWNXUnRjSGhQV0doS1VraFdORkp0Um10U01taHpWMWhDVWxsdFZsVk5SRVl4V2xkMFZXSlhjM2xWV0ZaVVpVWktiVkV4Y0dwSmFYZHBaVk5KTmtsdVNYcE9SV3hSV1RCb1YxRjZSa2xQVkVadFZVZG9TVlp0YkhWak0xcEtUakpvY0ZKSVpHeGtSVFZEVDBaQ1IxWnNSbmxPUkd4S1UxVkZhV1pSSWl3aWRIbHdaU0k2V3lKQlkyaHBaWFpsYldWdWRGTjFZbXBsWTNRaVhTd2lZV05vYVdWMlpXMWxiblFpT25zaWFXUWlPaUoxY200NmRYVnBaRHBoWXpJMU5HSmtOUzA0Wm1Ga0xUUmlZakV0T1dReU9TMWxabVE1TXpnMU16WTVNallpTENKMGVYQmxJanBiSWtGamFHbGxkbVZ0Wlc1MElsMHNJbTVoYldVaU9pSktSa1lnZUNCMll5MWxaSFVnVUd4MVowWmxjM1FnTXlCSmJuUmxjbTl3WlhKaFltbHNhWFI1SWl3aVpHVnpZM0pwY0hScGIyNGlPaUpVYUdseklIZGhiR3hsZENCemRYQndiM0owY3lCMGFHVWdkWE5sSUc5bUlGY3pReUJXWlhKcFptbGhZbXhsSUVOeVpXUmxiblJwWVd4eklHRnVaQ0JvWVhNZ1pHVnRiMjV6ZEhKaGRHVmtJR2x1ZEdWeWIzQmxjbUZpYVd4cGRIa2daSFZ5YVc1bklIUm9aU0J3Y21WelpXNTBZWFJwYjI0Z2NtVnhkV1Z6ZENCM2IzSnJabXh2ZHlCa2RYSnBibWNnU2taR0lIZ2dWa010UlVSVklGQnNkV2RHWlhOMElETXVJaXdpWTNKcGRHVnlhV0VpT25zaWRIbHdaU0k2SWtOeWFYUmxjbWxoSWl3aWJtRnljbUYwYVhabElqb2lWMkZzYkdWMElITnZiSFYwYVc5dWN5QndjbTkyYVdSbGNuTWdaV0Z5Ym1Wa0lIUm9hWE1nWW1Ga1oyVWdZbmtnWkdWdGIyNXpkSEpoZEdsdVp5QnBiblJsY205d1pYSmhZbWxzYVhSNUlHUjFjbWx1WnlCMGFHVWdjSEpsYzJWdWRHRjBhVzl1SUhKbGNYVmxjM1FnZDI5eWEyWnNiM2N1SUZSb2FYTWdhVzVqYkhWa1pYTWdjM1ZqWTJWemMyWjFiR3g1SUhKbFkyVnBkbWx1WnlCaElIQnlaWE5sYm5SaGRHbHZiaUJ5WlhGMVpYTjBMQ0JoYkd4dmQybHVaeUIwYUdVZ2FHOXNaR1Z5SUhSdklITmxiR1ZqZENCaGRDQnNaV0Z6ZENCMGQyOGdkSGx3WlhNZ2IyWWdkbVZ5YVdacFlXSnNaU0JqY21Wa1pXNTBhV0ZzY3lCMGJ5QmpjbVZoZEdVZ1lTQjJaWEpwWm1saFlteGxJSEJ5WlhObGJuUmhkR2x2Yml3Z2NtVjBkWEp1YVc1bklIUm9aU0J3Y21WelpXNTBZWFJwYjI0Z2RHOGdkR2hsSUhKbGNYVmxjM1J2Y2l3Z1lXNWtJSEJoYzNOcGJtY2dkbVZ5YVdacFkyRjBhVzl1SUc5bUlIUm9aU0J3Y21WelpXNTBZWFJwYjI0Z1lXNWtJSFJvWlNCcGJtTnNkV1JsWkNCamNtVmtaVzUwYVdGc2N5NGlmU3dpYVcxaFoyVWlPbnNpYVdRaU9pSm9kSFJ3Y3pvdkwzY3pZeTFqWTJjdVoybDBhSFZpTG1sdkwzWmpMV1ZrTDNCc2RXZG1aWE4wTFRNdE1qQXlNeTlwYldGblpYTXZTa1pHTFZaRExVVkVWUzFRVEZWSFJrVlRWRE10WW1Ga1oyVXRhVzFoWjJVdWNHNW5JaXdpZEhsd1pTSTZJa2x0WVdkbEluMTlmU3dpWDNOa0lqcGJJalphZGpkUGVuVndlbXA2ZVhwd2MweDBOSFZoTVdWd1NXOW5SbUZEV1VaV2EyeGtaRlpaV21oWU5UUWlMQ0poU0ZCTlJ6SnpiekpNV1ZsT2JrMXFVbEEyVFZKNk1HRnVNMUYwZHpFeFMybGpTbXQzV2poemN6WmpJbDE5TENKcWRHa2lPaUoxY200NmRYVnBaRG81TldNME9UQTJNQzB5T1dVd0xUUTJabUV0T1dGbFlpMHhObUkwTm1VeVpHRXhOV0VpTENKbGVIQWlPakUzT0RReU5qTXpPREFzSW1saGRDSTZNVGMxTWpjeU56TTRNQ3dpYm1KbUlqb3hOelV5TnpJM016Z3dmUS45cUI2c1M5TDV4UGdFaVgxVWVkdXZxUl9LMUc4bmJkb0VEWTZtcTVNTlJ5TjBRUXp1M1BDTkFzdEVpM1JwNmgteWJnZ0RBQlVpTTRoOGNMcHp2Smtnd35XeUpXUkVsUWJEVTJUMmcwWVUweFp6VlNja3huYTJaQklpd2libUZ0WlNJc0lrcEdSaUI0SUhaakxXVmtkU0JRYkhWblJtVnpkQ0F6SUVsdWRHVnliM0JsY21GaWFXeHBkSGtpWFF-V3lKRVZtOXVYMVJ5TFRBelQwNXdZVFp0VUVob1puRm5JaXdpYVhOemRXRnVZMlZFWVhSbElpd2lNakF5TlMwd055MHhOMVF3TkRvME16b3dNQzQzTVRBMU1qUXpPRFphSWwwIl19fQ.uXETPEPSZlp2d61OUlBuuk0YK7Umyp0lD56HCaAoclot3pwOWvOkIUa6H5_x-PSvO_upfK9lNi7TU873RKvzCg",
                            "header" : {
                              "kid" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ#0",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "nbf" : 1752727321,
                              "iat" : 1752727381,
                              "jti" : "X1i1Th7FBTtj",
                              "iss" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "nonce" : "3e340a7c-7e0f-469b-a2e1-f889ddb7f8ef",
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "vp" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1" ],
                                "type" : [ "VerifiablePresentation" ],
                                "id" : "X1i1Th7FBTtj",
                                "holder" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                "verifiableCredential" : [ "eyJraWQiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0jekRuYWV0QTJndnJrNGNjbUQyVDdBNXp5NG1Xb00yQ0F6bndjeEgydTFoNW1EblhSbSIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0iLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sImlkIjoidXJuOnV1aWQ6NGFmODI5MWEtN2FjMi00M2VjLWJlMjEtYjgxMjM3Y2JkYTdjIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlVuaXZlcnNpdHlEZWdyZWUiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmtleTp6RG5hZXRBMmd2cms0Y2NtRDJUN0E1enk0bVdvTTJDQXpud2N4SDJ1MWg1bURuWFJtIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVpYbDBNakY2UlZFemFtcFlWRjl1VGtwTmFrWTFkV2xQT1UwNFdVUm5aVWRoY25SSFNWZHdkRTlDUlNJc0luZ2lPaUpGU1Y5cWRtcHhPWGhKUkhWNFJtRmtSMmhzV1hCUlltVlVNREYxWld0VWJXc3lVWFZUZUZKbVExcGpJaXdpZVNJNkluSXpORWxRWTBoV1F6RklPVEZtVUdoSVZtbHVjM1pKTjJocFJIZGxkRTVDT0ZCR1ZsRnlORGxKU1VFaWZRIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIl9zZCI6WyJlbXBaeGdHQllqTWVRZFRLZmpYaHpPSFRaUGI4SEhPZFQwYlMyUDhQSmc4Il19fSwiaXNzdWVyRGlkIjoiZGlkOmtleTp6RG5hZXRBMmd2cms0Y2NtRDJUN0E1enk0bVdvTTJDQXpud2N4SDJ1MWg1bURuWFJtIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI2LTA3LTE3VDA0OjQzOjAwLjMxMTMyMjMwNFoiLCJfc2QiOlsid0pyNWFnZUJHQnRMdWhaWFg2T0NPMFFmcXVEcGFScTYzenE0enRPYTQyVSJdfSwianRpIjoidXJuOnV1aWQ6NGFmODI5MWEtN2FjMi00M2VjLWJlMjEtYjgxMjM3Y2JkYTdjIiwiZXhwIjoxNzg0MjYzMzgwLCJpYXQiOjE3NTI3MjczODAsIm5iZiI6MTc1MjcyNzM4MH0.wA-F-SuK08ZVV1J5Z-YXSr6QGoZos1LjN73ukRAxKAJNgopWw5x9bW5q--esvGEBYwETPQRnEzxzM0xhzuUGBg~WyJnVlkxcGpaYncwUElJVDRrLUNXdzN3IiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xN1QwNDo0MzowMC4zMTEyOTgzNTlaIl0~WyJGOHdUTFNVbHJzX2MzNW96Z3ZJdFlRIiwibmFtZSIsIkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiXQ", "eyJraWQiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0jekRuYWV0QTJndnJrNGNjbUQyVDdBNXp5NG1Xb00yQ0F6bndjeEgydTFoNW1EblhSbSIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0iLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vcHVybC5pbXNnbG9iYWwub3JnL3NwZWMvb2IvdjNwMC9jb250ZXh0Lmpzb24iXSwiaWQiOiJ1cm46dXVpZDo5NWM0OTA2MC0yOWUwLTQ2ZmEtOWFlYi0xNmI0NmUyZGExNWEiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsidHlwZSI6WyJQcm9maWxlIl0sImlkIjoiZGlkOmtleTp6RG5hZXRBMmd2cms0Y2NtRDJUN0E1enk0bVdvTTJDQXpud2N4SDJ1MWg1bURuWFJtIiwibmFtZSI6IkpvYnMgZm9yIHRoZSBGdXR1cmUgKEpGRikiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly93M2MtY2NnLmdpdGh1Yi5pby92Yy1lZC9wbHVnZmVzdC0xLTIwMjIvaW1hZ2VzL0pGRl9Mb2dvTG9ja3VwLnBuZyJ9LCJleHBpcmF0aW9uRGF0ZSI6IjIwMjYtMDctMTdUMDQ6NDM6MDAuNzEwNTQwNjc3WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVpYbDBNakY2UlZFemFtcFlWRjl1VGtwTmFrWTFkV2xQT1UwNFdVUm5aVWRoY25SSFNWZHdkRTlDUlNJc0luZ2lPaUpGU1Y5cWRtcHhPWGhKUkhWNFJtRmtSMmhzV1hCUlltVlVNREYxWld0VWJXc3lVWFZUZUZKbVExcGpJaXdpZVNJNkluSXpORWxRWTBoV1F6RklPVEZtVUdoSVZtbHVjM1pKTjJocFJIZGxkRTVDT0ZCR1ZsRnlORGxKU1VFaWZRIiwidHlwZSI6WyJBY2hpZXZlbWVudFN1YmplY3QiXSwiYWNoaWV2ZW1lbnQiOnsiaWQiOiJ1cm46dXVpZDphYzI1NGJkNS04ZmFkLTRiYjEtOWQyOS1lZmQ5Mzg1MzY5MjYiLCJ0eXBlIjpbIkFjaGlldmVtZW50Il0sIm5hbWUiOiJKRkYgeCB2Yy1lZHUgUGx1Z0Zlc3QgMyBJbnRlcm9wZXJhYmlsaXR5IiwiZGVzY3JpcHRpb24iOiJUaGlzIHdhbGxldCBzdXBwb3J0cyB0aGUgdXNlIG9mIFczQyBWZXJpZmlhYmxlIENyZWRlbnRpYWxzIGFuZCBoYXMgZGVtb25zdHJhdGVkIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdyBkdXJpbmcgSkZGIHggVkMtRURVIFBsdWdGZXN0IDMuIiwiY3JpdGVyaWEiOnsidHlwZSI6IkNyaXRlcmlhIiwibmFycmF0aXZlIjoiV2FsbGV0IHNvbHV0aW9ucyBwcm92aWRlcnMgZWFybmVkIHRoaXMgYmFkZ2UgYnkgZGVtb25zdHJhdGluZyBpbnRlcm9wZXJhYmlsaXR5IGR1cmluZyB0aGUgcHJlc2VudGF0aW9uIHJlcXVlc3Qgd29ya2Zsb3cuIFRoaXMgaW5jbHVkZXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmluZyBhIHByZXNlbnRhdGlvbiByZXF1ZXN0LCBhbGxvd2luZyB0aGUgaG9sZGVyIHRvIHNlbGVjdCBhdCBsZWFzdCB0d28gdHlwZXMgb2YgdmVyaWZpYWJsZSBjcmVkZW50aWFscyB0byBjcmVhdGUgYSB2ZXJpZmlhYmxlIHByZXNlbnRhdGlvbiwgcmV0dXJuaW5nIHRoZSBwcmVzZW50YXRpb24gdG8gdGhlIHJlcXVlc3RvciwgYW5kIHBhc3NpbmcgdmVyaWZpY2F0aW9uIG9mIHRoZSBwcmVzZW50YXRpb24gYW5kIHRoZSBpbmNsdWRlZCBjcmVkZW50aWFscy4ifSwiaW1hZ2UiOnsiaWQiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTMtMjAyMy9pbWFnZXMvSkZGLVZDLUVEVS1QTFVHRkVTVDMtYmFkZ2UtaW1hZ2UucG5nIiwidHlwZSI6IkltYWdlIn19fSwiX3NkIjpbIjZadjdPenVwemp6eXpwc0x0NHVhMWVwSW9nRmFDWUZWa2xkZFZZWmhYNTQiLCJhSFBNRzJzbzJMWVlObk1qUlA2TVJ6MGFuM1F0dzExS2ljSmt3WjhzczZjIl19LCJqdGkiOiJ1cm46dXVpZDo5NWM0OTA2MC0yOWUwLTQ2ZmEtOWFlYi0xNmI0NmUyZGExNWEiLCJleHAiOjE3ODQyNjMzODAsImlhdCI6MTc1MjcyNzM4MCwibmJmIjoxNzUyNzI3MzgwfQ.9qB6sS9L5xPgEiX1UeduvqR_K1G8nbdoEDY6mq5MNRyN0QQzu3PCNAstEi3Rp6h-ybggDABUiM4h8cLpzvJkgw~WyJWRElQbDU2T2g0YU0xZzVSckxna2ZBIiwibmFtZSIsIkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiXQ~WyJEVm9uX1RyLTAzT05wYTZtUEhoZnFnIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xN1QwNDo0MzowMC43MTA1MjQzODZaIl0" ]
                              }
                            }
                          },
                          "verifiableCredentials" : [ {
                            "raw" : "eyJraWQiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0jekRuYWV0QTJndnJrNGNjbUQyVDdBNXp5NG1Xb00yQ0F6bndjeEgydTFoNW1EblhSbSIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0iLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sImlkIjoidXJuOnV1aWQ6NGFmODI5MWEtN2FjMi00M2VjLWJlMjEtYjgxMjM3Y2JkYTdjIiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIlVuaXZlcnNpdHlEZWdyZWUiXSwiaXNzdWVyIjp7ImlkIjoiZGlkOmtleTp6RG5hZXRBMmd2cms0Y2NtRDJUN0E1enk0bVdvTTJDQXpud2N4SDJ1MWg1bURuWFJtIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVpYbDBNakY2UlZFemFtcFlWRjl1VGtwTmFrWTFkV2xQT1UwNFdVUm5aVWRoY25SSFNWZHdkRTlDUlNJc0luZ2lPaUpGU1Y5cWRtcHhPWGhKUkhWNFJtRmtSMmhzV1hCUlltVlVNREYxWld0VWJXc3lVWFZUZUZKbVExcGpJaXdpZVNJNkluSXpORWxRWTBoV1F6RklPVEZtVUdoSVZtbHVjM1pKTjJocFJIZGxkRTVDT0ZCR1ZsRnlORGxKU1VFaWZRIiwiZGVncmVlIjp7InR5cGUiOiJCYWNoZWxvckRlZ3JlZSIsIl9zZCI6WyJlbXBaeGdHQllqTWVRZFRLZmpYaHpPSFRaUGI4SEhPZFQwYlMyUDhQSmc4Il19fSwiaXNzdWVyRGlkIjoiZGlkOmtleTp6RG5hZXRBMmd2cms0Y2NtRDJUN0E1enk0bVdvTTJDQXpud2N4SDJ1MWg1bURuWFJtIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI2LTA3LTE3VDA0OjQzOjAwLjMxMTMyMjMwNFoiLCJfc2QiOlsid0pyNWFnZUJHQnRMdWhaWFg2T0NPMFFmcXVEcGFScTYzenE0enRPYTQyVSJdfSwianRpIjoidXJuOnV1aWQ6NGFmODI5MWEtN2FjMi00M2VjLWJlMjEtYjgxMjM3Y2JkYTdjIiwiZXhwIjoxNzg0MjYzMzgwLCJpYXQiOjE3NTI3MjczODAsIm5iZiI6MTc1MjcyNzM4MH0.wA-F-SuK08ZVV1J5Z-YXSr6QGoZos1LjN73ukRAxKAJNgopWw5x9bW5q--esvGEBYwETPQRnEzxzM0xhzuUGBg~WyJnVlkxcGpaYncwUElJVDRrLUNXdzN3IiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xN1QwNDo0MzowMC4zMTEyOTgzNTlaIl0~WyJGOHdUTFNVbHJzX2MzNW96Z3ZJdFlRIiwibmFtZSIsIkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiXQ",
                            "header" : {
                              "kid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm#zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "iss" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:4af8291a-7ac2-43ec-be21-b81237cbda7c",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm"
                                },
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "name" : "Bachelor of Science and Arts"
                                  }
                                },
                                "issuerDid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                                "expirationDate" : "2026-07-17T04:43:00.311322304Z",
                                "issuanceDate" : "2025-07-17T04:43:00.311298359Z"
                              },
                              "jti" : "urn:uuid:4af8291a-7ac2-43ec-be21-b81237cbda7c",
                              "exp" : 1784263380,
                              "iat" : 1752727380,
                              "nbf" : 1752727380
                            },
                            "undisclosedPayload" : {
                              "iss" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ],
                                "id" : "urn:uuid:4af8291a-7ac2-43ec-be21-b81237cbda7c",
                                "type" : [ "VerifiableCredential", "UniversityDegree" ],
                                "issuer" : {
                                  "id" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm"
                                },
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                  "degree" : {
                                    "type" : "BachelorDegree",
                                    "_sd" : [ "empZxgGBYjMeQdTKfjXhzOHTZPb8HHOdT0bS2P8PJg8" ]
                                  }
                                },
                                "issuerDid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                                "expirationDate" : "2026-07-17T04:43:00.311322304Z",
                                "_sd" : [ "wJr5ageBGBtLuhZXX6OCO0QfquDpaRq63zq4ztOa42U" ]
                              },
                              "jti" : "urn:uuid:4af8291a-7ac2-43ec-be21-b81237cbda7c",
                              "exp" : 1784263380,
                              "iat" : 1752727380,
                              "nbf" : 1752727380
                            },
                            "disclosures" : {
                              "wJr5ageBGBtLuhZXX6OCO0QfquDpaRq63zq4ztOa42U" : {
                                "disclosure" : "WyJnVlkxcGpaYncwUElJVDRrLUNXdzN3IiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xN1QwNDo0MzowMC4zMTEyOTgzNTlaIl0",
                                "salt" : "gVY1pjZbw0PIIT4k-CWw3w",
                                "key" : "issuanceDate",
                                "value" : "2025-07-17T04:43:00.311298359Z"
                              },
                              "empZxgGBYjMeQdTKfjXhzOHTZPb8HHOdT0bS2P8PJg8" : {
                                "disclosure" : "WyJGOHdUTFNVbHJzX2MzNW96Z3ZJdFlRIiwibmFtZSIsIkJhY2hlbG9yIG9mIFNjaWVuY2UgYW5kIEFydHMiXQ",
                                "salt" : "F8wTLSUlrs_c35ozgvItYQ",
                                "key" : "name",
                                "value" : "Bachelor of Science and Arts"
                              }
                            }
                          }, {
                            "raw" : "eyJraWQiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0jekRuYWV0QTJndnJrNGNjbUQyVDdBNXp5NG1Xb00yQ0F6bndjeEgydTFoNW1EblhSbSIsInR5cCI6IkpXVCIsImFsZyI6IkVTMjU2In0.eyJpc3MiOiJkaWQ6a2V5OnpEbmFldEEyZ3ZyazRjY21EMlQ3QTV6eTRtV29NMkNBem53Y3hIMnUxaDVtRG5YUm0iLCJzdWIiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNalUySWl3aWEybGtJam9pWlhsME1qRjZSVkV6YW1wWVZGOXVUa3BOYWtZMWRXbFBPVTA0V1VSblpVZGhjblJIU1Zkd2RFOUNSU0lzSW5naU9pSkZTVjlxZG1weE9YaEpSSFY0Um1Ga1IyaHNXWEJSWW1WVU1ERjFaV3RVYldzeVVYVlRlRkptUTFwaklpd2llU0k2SW5Jek5FbFFZMGhXUXpGSU9URm1VR2hJVm1sdWMzWkpOMmhwUkhkbGRFNUNPRkJHVmxGeU5EbEpTVUVpZlEiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vcHVybC5pbXNnbG9iYWwub3JnL3NwZWMvb2IvdjNwMC9jb250ZXh0Lmpzb24iXSwiaWQiOiJ1cm46dXVpZDo5NWM0OTA2MC0yOWUwLTQ2ZmEtOWFlYi0xNmI0NmUyZGExNWEiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiT3BlbkJhZGdlQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOnsidHlwZSI6WyJQcm9maWxlIl0sImlkIjoiZGlkOmtleTp6RG5hZXRBMmd2cms0Y2NtRDJUN0E1enk0bVdvTTJDQXpud2N4SDJ1MWg1bURuWFJtIiwibmFtZSI6IkpvYnMgZm9yIHRoZSBGdXR1cmUgKEpGRikiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly93M2MtY2NnLmdpdGh1Yi5pby92Yy1lZC9wbHVnZmVzdC0xLTIwMjIvaW1hZ2VzL0pGRl9Mb2dvTG9ja3VwLnBuZyJ9LCJleHBpcmF0aW9uRGF0ZSI6IjIwMjYtMDctMTdUMDQ6NDM6MDAuNzEwNTQwNjc3WiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2lhMmxrSWpvaVpYbDBNakY2UlZFemFtcFlWRjl1VGtwTmFrWTFkV2xQT1UwNFdVUm5aVWRoY25SSFNWZHdkRTlDUlNJc0luZ2lPaUpGU1Y5cWRtcHhPWGhKUkhWNFJtRmtSMmhzV1hCUlltVlVNREYxWld0VWJXc3lVWFZUZUZKbVExcGpJaXdpZVNJNkluSXpORWxRWTBoV1F6RklPVEZtVUdoSVZtbHVjM1pKTjJocFJIZGxkRTVDT0ZCR1ZsRnlORGxKU1VFaWZRIiwidHlwZSI6WyJBY2hpZXZlbWVudFN1YmplY3QiXSwiYWNoaWV2ZW1lbnQiOnsiaWQiOiJ1cm46dXVpZDphYzI1NGJkNS04ZmFkLTRiYjEtOWQyOS1lZmQ5Mzg1MzY5MjYiLCJ0eXBlIjpbIkFjaGlldmVtZW50Il0sIm5hbWUiOiJKRkYgeCB2Yy1lZHUgUGx1Z0Zlc3QgMyBJbnRlcm9wZXJhYmlsaXR5IiwiZGVzY3JpcHRpb24iOiJUaGlzIHdhbGxldCBzdXBwb3J0cyB0aGUgdXNlIG9mIFczQyBWZXJpZmlhYmxlIENyZWRlbnRpYWxzIGFuZCBoYXMgZGVtb25zdHJhdGVkIGludGVyb3BlcmFiaWxpdHkgZHVyaW5nIHRoZSBwcmVzZW50YXRpb24gcmVxdWVzdCB3b3JrZmxvdyBkdXJpbmcgSkZGIHggVkMtRURVIFBsdWdGZXN0IDMuIiwiY3JpdGVyaWEiOnsidHlwZSI6IkNyaXRlcmlhIiwibmFycmF0aXZlIjoiV2FsbGV0IHNvbHV0aW9ucyBwcm92aWRlcnMgZWFybmVkIHRoaXMgYmFkZ2UgYnkgZGVtb25zdHJhdGluZyBpbnRlcm9wZXJhYmlsaXR5IGR1cmluZyB0aGUgcHJlc2VudGF0aW9uIHJlcXVlc3Qgd29ya2Zsb3cuIFRoaXMgaW5jbHVkZXMgc3VjY2Vzc2Z1bGx5IHJlY2VpdmluZyBhIHByZXNlbnRhdGlvbiByZXF1ZXN0LCBhbGxvd2luZyB0aGUgaG9sZGVyIHRvIHNlbGVjdCBhdCBsZWFzdCB0d28gdHlwZXMgb2YgdmVyaWZpYWJsZSBjcmVkZW50aWFscyB0byBjcmVhdGUgYSB2ZXJpZmlhYmxlIHByZXNlbnRhdGlvbiwgcmV0dXJuaW5nIHRoZSBwcmVzZW50YXRpb24gdG8gdGhlIHJlcXVlc3RvciwgYW5kIHBhc3NpbmcgdmVyaWZpY2F0aW9uIG9mIHRoZSBwcmVzZW50YXRpb24gYW5kIHRoZSBpbmNsdWRlZCBjcmVkZW50aWFscy4ifSwiaW1hZ2UiOnsiaWQiOiJodHRwczovL3czYy1jY2cuZ2l0aHViLmlvL3ZjLWVkL3BsdWdmZXN0LTMtMjAyMy9pbWFnZXMvSkZGLVZDLUVEVS1QTFVHRkVTVDMtYmFkZ2UtaW1hZ2UucG5nIiwidHlwZSI6IkltYWdlIn19fSwiX3NkIjpbIjZadjdPenVwemp6eXpwc0x0NHVhMWVwSW9nRmFDWUZWa2xkZFZZWmhYNTQiLCJhSFBNRzJzbzJMWVlObk1qUlA2TVJ6MGFuM1F0dzExS2ljSmt3WjhzczZjIl19LCJqdGkiOiJ1cm46dXVpZDo5NWM0OTA2MC0yOWUwLTQ2ZmEtOWFlYi0xNmI0NmUyZGExNWEiLCJleHAiOjE3ODQyNjMzODAsImlhdCI6MTc1MjcyNzM4MCwibmJmIjoxNzUyNzI3MzgwfQ.9qB6sS9L5xPgEiX1UeduvqR_K1G8nbdoEDY6mq5MNRyN0QQzu3PCNAstEi3Rp6h-ybggDABUiM4h8cLpzvJkgw~WyJWRElQbDU2T2g0YU0xZzVSckxna2ZBIiwibmFtZSIsIkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiXQ~WyJEVm9uX1RyLTAzT05wYTZtUEhoZnFnIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xN1QwNDo0MzowMC43MTA1MjQzODZaIl0",
                            "header" : {
                              "kid" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm#zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "typ" : "JWT",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "iss" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:95c49060-29e0-46fa-9aeb-16b46e2da15a",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "expirationDate" : "2026-07-17T04:43:00.710540677Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                },
                                "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                "issuanceDate" : "2025-07-17T04:43:00.710524386Z"
                              },
                              "jti" : "urn:uuid:95c49060-29e0-46fa-9aeb-16b46e2da15a",
                              "exp" : 1784263380,
                              "iat" : 1752727380,
                              "nbf" : 1752727380
                            },
                            "undisclosedPayload" : {
                              "iss" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                              "sub" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                              "vc" : {
                                "@context" : [ "https://www.w3.org/2018/credentials/v1", "https://purl.imsglobal.org/spec/ob/v3p0/context.json" ],
                                "id" : "urn:uuid:95c49060-29e0-46fa-9aeb-16b46e2da15a",
                                "type" : [ "VerifiableCredential", "OpenBadgeCredential" ],
                                "issuer" : {
                                  "type" : [ "Profile" ],
                                  "id" : "did:key:zDnaetA2gvrk4ccmD2T7A5zy4mWoM2CAznwcxH2u1h5mDnXRm",
                                  "name" : "Jobs for the Future (JFF)",
                                  "url" : "https://www.jff.org/",
                                  "image" : "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png"
                                },
                                "expirationDate" : "2026-07-17T04:43:00.710540677Z",
                                "credentialSubject" : {
                                  "id" : "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiZXl0MjF6RVEzampYVF9uTkpNakY1dWlPOU04WURnZUdhcnRHSVdwdE9CRSIsIngiOiJFSV9qdmpxOXhJRHV4RmFkR2hsWXBRYmVUMDF1ZWtUbWsyUXVTeFJmQ1pjIiwieSI6InIzNElQY0hWQzFIOTFmUGhIVmluc3ZJN2hpRHdldE5COFBGVlFyNDlJSUEifQ",
                                  "type" : [ "AchievementSubject" ],
                                  "achievement" : {
                                    "id" : "urn:uuid:ac254bd5-8fad-4bb1-9d29-efd938536926",
                                    "type" : [ "Achievement" ],
                                    "name" : "JFF x vc-edu PlugFest 3 Interoperability",
                                    "description" : "This wallet supports the use of W3C Verifiable Credentials and has demonstrated interoperability during the presentation request workflow during JFF x VC-EDU PlugFest 3.",
                                    "criteria" : {
                                      "type" : "Criteria",
                                      "narrative" : "Wallet solutions providers earned this badge by demonstrating interoperability during the presentation request workflow. This includes successfully receiving a presentation request, allowing the holder to select at least two types of verifiable credentials to create a verifiable presentation, returning the presentation to the requestor, and passing verification of the presentation and the included credentials."
                                    },
                                    "image" : {
                                      "id" : "https://w3c-ccg.github.io/vc-ed/plugfest-3-2023/images/JFF-VC-EDU-PLUGFEST3-badge-image.png",
                                      "type" : "Image"
                                    }
                                  }
                                },
                                "_sd" : [ "6Zv7OzupzjzyzpsLt4ua1epIogFaCYFVklddVYZhX54", "aHPMG2so2LYYNnMjRP6MRz0an3Qtw11KicJkwZ8ss6c" ]
                              },
                              "jti" : "urn:uuid:95c49060-29e0-46fa-9aeb-16b46e2da15a",
                              "exp" : 1784263380,
                              "iat" : 1752727380,
                              "nbf" : 1752727380
                            },
                            "disclosures" : {
                              "6Zv7OzupzjzyzpsLt4ua1epIogFaCYFVklddVYZhX54" : {
                                "disclosure" : "WyJWRElQbDU2T2g0YU0xZzVSckxna2ZBIiwibmFtZSIsIkpGRiB4IHZjLWVkdSBQbHVnRmVzdCAzIEludGVyb3BlcmFiaWxpdHkiXQ",
                                "salt" : "VDIPl56Oh4aM1g5RrLgkfA",
                                "key" : "name",
                                "value" : "JFF x vc-edu PlugFest 3 Interoperability"
                              },
                              "aHPMG2so2LYYNnMjRP6MRz0an3Qtw11KicJkwZ8ss6c" : {
                                "disclosure" : "WyJEVm9uX1RyLTAzT05wYTZtUEhoZnFnIiwiaXNzdWFuY2VEYXRlIiwiMjAyNS0wNy0xN1QwNDo0MzowMC43MTA1MjQzODZaIl0",
                                "salt" : "DVon_Tr-03ONpa6mPHhfqg",
                                "key" : "issuanceDate",
                                "value" : "2025-07-17T04:43:00.710524386Z"
                              }
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  },
                  "SD-JWT-VC Identity Credential with two disclosable claims (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "vc+sd-jwt" : [ {
                          "type" : "sd_jwt_vc_view_simple",
                          "vc" : {
                            "header" : {
                              "x5c" : [ "-----BEGIN CERTIFICATE-----\nMIIBeTCCAR8CFHrWgrGl5KdefSvRQhR+aoqdf48+MAoGCCqGSM49BAMCMBcxFTATBgNVBAMMDE1ET0MgUk9PVCBDQTAgFw0yNTA1MTQxNDA4MDlaGA8yMDc1MDUwMjE0MDgwOVowZTELMAkGA1UEBhMCQVQxDzANBgNVBAgMBlZpZW5uYTEPMA0GA1UEBwwGVmllbm5hMRAwDgYDVQQKDAd3YWx0LmlkMRAwDgYDVQQLDAd3YWx0LmlkMRAwDgYDVQQDDAd3YWx0LmlzMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEG0RINBiF+oQUD3d5DGnegQuXenI29JDaMGoMvioKRBN53d4UazakS2unu8BnsEtxutS2kqRhYBPYk9RAriU3gTAKBggqhkjOPQQDAgNIADBFAiAOMwM7hH7q9Di+mT6qCi4LvB+kH8OxMheIrZ2eRPxtDQIhALHzTxwvN8Udt0Z2Cpo8JBihqacfeXkIxVAO8XkxmXhB\n-----END CERTIFICATE-----" ],
                              "kid" : "9vuaJyUxRx4KmHyoZ9kjJxMs_mjpnnf-mPM9nPMG51A",
                              "typ" : "vc+sd-jwt",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "given_name" : "John",
                              "email" : "johndoe@example.com",
                              "phone_number" : "+1-202-555-0101",
                              "address" : {
                                "street_address" : "123 Main St",
                                "locality" : "Anytown",
                                "region" : "Anystate",
                                "country" : "US"
                              },
                              "is_over_18" : true,
                              "is_over_21" : true,
                              "is_over_65" : true,
                              "id" : "urn:uuid:f4411ed9-d3eb-4c5d-971a-ffb2872b616d",
                              "iat" : 1752648454,
                              "nbf" : 1752648454,
                              "exp" : 1784184454,
                              "iss" : "http://localhost:22222/draft13",
                              "cnf" : {
                                "jwk" : {
                                  "kty" : "EC",
                                  "crv" : "P-256",
                                  "kid" : "pE7QRzzJ3utoKynTja7JyeAzcQefzZO24rEdWwkGtT0",
                                  "x" : "oRIMe5XVIcJGDSW10r19w5jym8W-btkxChzecsuXUhc",
                                  "y" : "XQrS0p2BJf_WXIcn-RAdFoX17DJsefpED3Ct4t4W-X0"
                                }
                              },
                              "vct" : "http://localhost:22222/identity_credential",
                              "display" : [ ],
                              "family_name" : "Doe",
                              "birthdate" : "1940-01-01"
                            }
                          },
                          "keyBinding" : {
                            "header" : {
                              "kid" : "pE7QRzzJ3utoKynTja7JyeAzcQefzZO24rEdWwkGtT0",
                              "typ" : "kb+jwt",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iat" : 1752648455,
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "nonce" : "196b37da-77d0-463f-897c-5a0c1c6d5623",
                              "sd_hash" : "iywnYcva2cWTVcclB1gECoI-x-y3IGz07snR_4QiWyE"
                            }
                          }
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "SD-JWT-VC Identity Credential with two disclosable claims (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "vc+sd-jwt" : [ {
                          "type" : "sd_jwt_vc_view_verbose",
                          "raw" : "eyJ4NWMiOlsiLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tXG5NSUlCZVRDQ0FSOENGSHJXZ3JHbDVLZGVmU3ZSUWhSK2FvcWRmNDgrTUFvR0NDcUdTTTQ5QkFNQ01CY3hGVEFUQmdOVkJBTU1ERTFFVDBNZ1VrOVBWQ0JEUVRBZ0Z3MHlOVEExTVRReE5EQTRNRGxhR0E4eU1EYzFNRFV3TWpFME1EZ3dPVm93WlRFTE1Ba0dBMVVFQmhNQ1FWUXhEekFOQmdOVkJBZ01CbFpwWlc1dVlURVBNQTBHQTFVRUJ3d0dWbWxsYm01aE1SQXdEZ1lEVlFRS0RBZDNZV3gwTG1sa01SQXdEZ1lEVlFRTERBZDNZV3gwTG1sa01SQXdEZ1lEVlFRRERBZDNZV3gwTG1sek1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUcwUklOQmlGK29RVUQzZDVER25lZ1F1WGVuSTI5SkRhTUdvTXZpb0tSQk41M2Q0VWF6YWtTMnVudThCbnNFdHh1dFMya3FSaFlCUFlrOVJBcmlVM2dUQUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpQU9Nd003aEg3cTlEaSttVDZxQ2k0THZCK2tIOE94TWhlSXJaMmVSUHh0RFFJaEFMSHpUeHd2TjhVZHQwWjJDcG84SkJpaHFhY2ZlWGtJeFZBTzhYa3htWGhCXG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tIl0sImtpZCI6Ijl2dWFKeVV4Ung0S21IeW9aOWtqSnhNc19tanBubmYtbVBNOW5QTUc1MUEiLCJ0eXAiOiJ2YytzZC1qd3QiLCJhbGciOiJFUzI1NiJ9.eyJnaXZlbl9uYW1lIjoiSm9obiIsImVtYWlsIjoiam9obmRvZUBleGFtcGxlLmNvbSIsInBob25lX251bWJlciI6IisxLTIwMi01NTUtMDEwMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiIxMjMgTWFpbiBTdCIsImxvY2FsaXR5IjoiQW55dG93biIsInJlZ2lvbiI6IkFueXN0YXRlIiwiY291bnRyeSI6IlVTIn0sImlzX292ZXJfMTgiOnRydWUsImlzX292ZXJfMjEiOnRydWUsImlzX292ZXJfNjUiOnRydWUsImlkIjoidXJuOnV1aWQ6ZjQ0MTFlZDktZDNlYi00YzVkLTk3MWEtZmZiMjg3MmI2MTZkIiwiaWF0IjoxNzUyNjQ4NDU0LCJuYmYiOjE3NTI2NDg0NTQsImV4cCI6MTc4NDE4NDQ1NCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDoyMjIyMi9kcmFmdDEzIiwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoicEU3UVJ6ekozdXRvS3luVGphN0p5ZUF6Y1FlZnpaTzI0ckVkV3drR3RUMCIsIngiOiJvUklNZTVYVkljSkdEU1cxMHIxOXc1anltOFctYnRreENoemVjc3VYVWhjIiwieSI6IlhRclMwcDJCSmZfV1hJY24tUkFkRm9YMTdESnNlZnBFRDNDdDR0NFctWDAifX0sInZjdCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjIyMjIvaWRlbnRpdHlfY3JlZGVudGlhbCIsImRpc3BsYXkiOltdLCJfc2QiOlsiV0NzTVZhMWxtUlBuRE1FSXVtSkg1UjJ3MDdLek5sRXlmLXFibS1sdlJlQSIsInZ5Q2trOG5rTlpjU05CcXpMeWhTekRwMUF1d25TOTExdWtyRmdtRlpQRkkiXX0.c2smAamo4kc6YxE5-SqF5ZIVIabdm5TZxHcESC3MjpoKaEF3ZL6HO8XeOid-0wD0XuPHscqjilmyiqFkk6yuaw~WyJjdFdidkpYeGJmbVRzMlJ3UFBXZ2d3IiwiZmFtaWx5X25hbWUiLCJEb2UiXQ~WyJ6cWRyTmZSUHp4WWl2YnZaZXZFaDF3IiwiYmlydGhkYXRlIiwiMTk0MC0wMS0wMSJd~eyJraWQiOiJwRTdRUnp6SjN1dG9LeW5UamE3SnllQXpjUWVmelpPMjRyRWRXd2tHdFQwIiwidHlwIjoia2Irand0IiwiYWxnIjoiRVMyNTYifQ.eyJpYXQiOjE3NTI2NDg0NTUsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6MjIyMjIvb3BlbmlkNHZjL3ZlcmlmeSIsIm5vbmNlIjoiMTk2YjM3ZGEtNzdkMC00NjNmLTg5N2MtNWEwYzFjNmQ1NjIzIiwic2RfaGFzaCI6Iml5d25ZY3ZhMmNXVFZjY2xCMWdFQ29JLXgteTNJR3owN3NuUl80UWlXeUUifQ.XOZ_Y5n8OVuVS7OqkJz6O26ppf767ryIt8sVxxpQKFqYgLEMRd--WsVepvs6JQWiccavm4iGwlAokbw1ESPl6Q",
                          "vc" : {
                            "header" : {
                              "x5c" : [ "-----BEGIN CERTIFICATE-----\nMIIBeTCCAR8CFHrWgrGl5KdefSvRQhR+aoqdf48+MAoGCCqGSM49BAMCMBcxFTATBgNVBAMMDE1ET0MgUk9PVCBDQTAgFw0yNTA1MTQxNDA4MDlaGA8yMDc1MDUwMjE0MDgwOVowZTELMAkGA1UEBhMCQVQxDzANBgNVBAgMBlZpZW5uYTEPMA0GA1UEBwwGVmllbm5hMRAwDgYDVQQKDAd3YWx0LmlkMRAwDgYDVQQLDAd3YWx0LmlkMRAwDgYDVQQDDAd3YWx0LmlzMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEG0RINBiF+oQUD3d5DGnegQuXenI29JDaMGoMvioKRBN53d4UazakS2unu8BnsEtxutS2kqRhYBPYk9RAriU3gTAKBggqhkjOPQQDAgNIADBFAiAOMwM7hH7q9Di+mT6qCi4LvB+kH8OxMheIrZ2eRPxtDQIhALHzTxwvN8Udt0Z2Cpo8JBihqacfeXkIxVAO8XkxmXhB\n-----END CERTIFICATE-----" ],
                              "kid" : "9vuaJyUxRx4KmHyoZ9kjJxMs_mjpnnf-mPM9nPMG51A",
                              "typ" : "vc+sd-jwt",
                              "alg" : "ES256"
                            },
                            "fullPayload" : {
                              "given_name" : "John",
                              "email" : "johndoe@example.com",
                              "phone_number" : "+1-202-555-0101",
                              "address" : {
                                "street_address" : "123 Main St",
                                "locality" : "Anytown",
                                "region" : "Anystate",
                                "country" : "US"
                              },
                              "is_over_18" : true,
                              "is_over_21" : true,
                              "is_over_65" : true,
                              "id" : "urn:uuid:f4411ed9-d3eb-4c5d-971a-ffb2872b616d",
                              "iat" : 1752648454,
                              "nbf" : 1752648454,
                              "exp" : 1784184454,
                              "iss" : "http://localhost:22222/draft13",
                              "cnf" : {
                                "jwk" : {
                                  "kty" : "EC",
                                  "crv" : "P-256",
                                  "kid" : "pE7QRzzJ3utoKynTja7JyeAzcQefzZO24rEdWwkGtT0",
                                  "x" : "oRIMe5XVIcJGDSW10r19w5jym8W-btkxChzecsuXUhc",
                                  "y" : "XQrS0p2BJf_WXIcn-RAdFoX17DJsefpED3Ct4t4W-X0"
                                }
                              },
                              "vct" : "http://localhost:22222/identity_credential",
                              "display" : [ ],
                              "family_name" : "Doe",
                              "birthdate" : "1940-01-01"
                            },
                            "undisclosedPayload" : {
                              "given_name" : "John",
                              "email" : "johndoe@example.com",
                              "phone_number" : "+1-202-555-0101",
                              "address" : {
                                "street_address" : "123 Main St",
                                "locality" : "Anytown",
                                "region" : "Anystate",
                                "country" : "US"
                              },
                              "is_over_18" : true,
                              "is_over_21" : true,
                              "is_over_65" : true,
                              "id" : "urn:uuid:f4411ed9-d3eb-4c5d-971a-ffb2872b616d",
                              "iat" : 1752648454,
                              "nbf" : 1752648454,
                              "exp" : 1784184454,
                              "iss" : "http://localhost:22222/draft13",
                              "cnf" : {
                                "jwk" : {
                                  "kty" : "EC",
                                  "crv" : "P-256",
                                  "kid" : "pE7QRzzJ3utoKynTja7JyeAzcQefzZO24rEdWwkGtT0",
                                  "x" : "oRIMe5XVIcJGDSW10r19w5jym8W-btkxChzecsuXUhc",
                                  "y" : "XQrS0p2BJf_WXIcn-RAdFoX17DJsefpED3Ct4t4W-X0"
                                }
                              },
                              "vct" : "http://localhost:22222/identity_credential",
                              "display" : [ ],
                              "_sd" : [ "WCsMVa1lmRPnDMEIumJH5R2w07KzNlEyf-qbm-lvReA", "vyCkk8nkNZcSNBqzLyhSzDp1AuwnS911ukrFgmFZPFI" ]
                            },
                            "disclosures" : {
                              "WCsMVa1lmRPnDMEIumJH5R2w07KzNlEyf-qbm-lvReA" : {
                                "disclosure" : "WyJjdFdidkpYeGJmbVRzMlJ3UFBXZ2d3IiwiZmFtaWx5X25hbWUiLCJEb2UiXQ",
                                "salt" : "ctWbvJXxbfmTs2RwPPWggw",
                                "key" : "family_name",
                                "value" : "Doe"
                              },
                              "vyCkk8nkNZcSNBqzLyhSzDp1AuwnS911ukrFgmFZPFI" : {
                                "disclosure" : "WyJ6cWRyTmZSUHp4WWl2YnZaZXZFaDF3IiwiYmlydGhkYXRlIiwiMTk0MC0wMS0wMSJd",
                                "salt" : "zqdrNfRPzxYivbvZevEh1w",
                                "key" : "birthdate",
                                "value" : "1940-01-01"
                              }
                            }
                          },
                          "keyBinding" : {
                            "header" : {
                              "kid" : "pE7QRzzJ3utoKynTja7JyeAzcQefzZO24rEdWwkGtT0",
                              "typ" : "kb+jwt",
                              "alg" : "ES256"
                            },
                            "payload" : {
                              "iat" : 1752648455,
                              "aud" : "http://localhost:22222/openid4vc/verify",
                              "nonce" : "196b37da-77d0-463f-897c-5a0c1c6d5623",
                              "sd_hash" : "iywnYcva2cWTVcclB1gECoI-x-y3IGz07snR_4QiWyE"
                            }
                          }
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  },
                  "ISO/IEC 18013-5 mDL with all mandatory properties (simple view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "mso_mdoc" : [ {
                          "type" : "mso_mdoc_view_simple",
                          "version" : "1.0",
                          "status" : 0,
                          "documents" : [ {
                            "docType" : "org.iso.18013.5.1.mDL",
                            "nameSpaces" : {
                              "org.iso.18013.5.1" : {
                                "family_name" : "Doe",
                                "given_name" : "John",
                                "birth_date" : "1986-03-22",
                                "issue_date" : "2019-10-20",
                                "expiry_date" : "2024-10-20",
                                "issuing_country" : "AT",
                                "issuing_authority" : "AT DMV",
                                "document_number" : 123456789,
                                "portrait" : [ 141, 182, 121, 111, 238, 50, 120, 94, 54, 111, 113, 13, 241, 12, 12 ],
                                "driving_privileges" : [ {
                                  "vehicle_category_code" : "A",
                                  "issue_date" : "2018-08-09",
                                  "expiry_date" : "2024-10-20"
                                }, {
                                  "vehicle_category_code" : "B",
                                  "issue_date" : "2017-02-23",
                                  "expiry_date" : "2024-10-20"
                                } ],
                                "un_distinguishing_sign" : "AT"
                              }
                            },
                            "certificateChain" : [ "-----BEGIN CERTIFICATE-----\nMIICCTCCAbCgAwIBAgIUfqyiArJZoX7M61/473UAVi2/UpgwCgYIKoZIzj0EAwIwKDELMAkGA1UEBhMCQVQxGTAXBgNVBAMMEFdhbHRpZCBUZXN0IElBQ0EwHhcNMjUwNjAyMDY0MTEzWhcNMjYwOTAyMDY0MTEzWjAzMQswCQYDVQQGEwJBVDEkMCIGA1UEAwwbV2FsdGlkIFRlc3QgRG9jdW1lbnQgU2lnbmVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPzp6eVSAdXERqAp8q8OuDEhl2ILGAaoaQXTJ2sD2g5Xp3CFQDMrMpR/SQ0jt/jTOqExk1PRzjQ79aKpIsJM1mqOBrDCBqTAfBgNVHSMEGDAWgBTxCn2nWMrE70qXb614U14BweY2azAdBgNVHQ4EFgQUx5qkOLC4lpl1xpYZGmF9HLxtp0gwDgYDVR0PAQH/BAQDAgeAMBoGA1UdEgQTMBGGD2h0dHBzOi8vd2FsdC5pZDAVBgNVHSUBAf8ECzAJBgcogYxdBQECMCQGA1UdHwQdMBswGaAXoBWGE2h0dHBzOi8vd2FsdC5pZC9jcmwwCgYIKoZIzj0EAwIDRwAwRAIgHTap3c6yCUNhDVfZWBPMKj9dCWZbrME03kh9NJTbw1ECIAvVvuGll9O21eR16SkJHHAA1pPcovhcTvF9fz9cc66M\n-----END CERTIFICATE-----" ],
                            "validityInfo" : {
                              "signed" : "2025-07-16T07:28:10.396597247Z",
                              "validFrom" : "2025-07-16T07:28:10.396597357Z",
                              "validUntil" : "2026-07-16T07:28:10.396597407Z"
                            },
                            "deviceKey" : {
                              "kty" : "EC",
                              "crv" : "P-256",
                              "x" : "wDAbXvruEhxgchNp_M-lCaTU-oVbk4iz90wBah3RoN0",
                              "y" : "WHY287BApRNQkUrNQVEDUZUID5W0D8gi01EZpHG7e6I"
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "simple"
                    }
                  },
                  "ISO/IEC 18013-5 mDL with all mandatory properties (verbose view)" : {
                    "value" : {
                      "credentialsByFormat" : {
                        "mso_mdoc" : [ {
                          "type" : "mso_mdoc_view_verbose",
                          "raw" : "o2d2ZXJzaW9uYzEuMGlkb2N1bWVudHOBo2dkb2NUeXBldW9yZy5pc28uMTgwMTMuNS4xLm1ETGxpc3N1ZXJTaWduZWSiam5hbWVTcGFjZXOhcW9yZy5pc28uMTgwMTMuNS4xi9gYWFKkaGRpZ2VzdElEAGZyYW5kb21Q6jtBNq_iT1tw9ackPuQNcHFlbGVtZW50SWRlbnRpZmllcmtmYW1pbHlfbmFtZWxlbGVtZW50VmFsdWVjRG9l2BhYUqRoZGlnZXN0SUQBZnJhbmRvbVAF97buvW0vtdvvyidYa3qQcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWVsZWxlbWVudFZhbHVlZEpvaG7YGFhYpGhkaWdlc3RJRAJmcmFuZG9tUIp69etSESKQMr4A3-eNsL9xZWxlbWVudElkZW50aWZpZXJqYmlydGhfZGF0ZWxlbGVtZW50VmFsdWVqMTk4Ni0wMy0yMtgYWFikaGRpZ2VzdElEA2ZyYW5kb21QHo_HvY6nN-lD-4p9Q2BvznFlbGVtZW50SWRlbnRpZmllcmppc3N1ZV9kYXRlbGVsZW1lbnRWYWx1ZWoyMDE5LTEwLTIw2BhYWaRoZGlnZXN0SUQEZnJhbmRvbVC3Us6PvyqxANfy7WZrwR-bcWVsZW1lbnRJZGVudGlmaWVya2V4cGlyeV9kYXRlbGVsZW1lbnRWYWx1ZWoyMDI0LTEwLTIw2BhYVaRoZGlnZXN0SUQFZnJhbmRvbVBQDUUmVFjsYhQcK7WZ4ApycWVsZW1lbnRJZGVudGlmaWVyb2lzc3VpbmdfY291bnRyeWxlbGVtZW50VmFsdWViQVTYGFhbpGhkaWdlc3RJRAZmcmFuZG9tUP1DNM51--gzzLH8I5Bjx7VxZWxlbWVudElkZW50aWZpZXJxaXNzdWluZ19hdXRob3JpdHlsZWxlbWVudFZhbHVlZkFUIERNVtgYWFekaGRpZ2VzdElEB2ZyYW5kb21QFgjaYCngk7V46uUeXTBX-XFlbGVtZW50SWRlbnRpZmllcm9kb2N1bWVudF9udW1iZXJsZWxlbWVudFZhbHVlGgdbzRXYGFhnpGhkaWdlc3RJRAhmcmFuZG9tUA-b-wZHW3ERzIb6hs3HAapxZWxlbWVudElkZW50aWZpZXJocG9ydHJhaXRsZWxlbWVudFZhbHVljxiNGLYYeRhvGO4YMhh4GF4YNhhvGHENGPEMDNgYWOKkaGRpZ2VzdElECWZyYW5kb21QGFSyeNBXnznFVEBHHpqZlXFlbGVtZW50SWRlbnRpZmllcnJkcml2aW5nX3ByaXZpbGVnZXNsZWxlbWVudFZhbHVlgqN1dmVoaWNsZV9jYXRlZ29yeV9jb2RlYUFqaXNzdWVfZGF0ZWoyMDE4LTA4LTA5a2V4cGlyeV9kYXRlajIwMjQtMTAtMjCjdXZlaGljbGVfY2F0ZWdvcnlfY29kZWFCamlzc3VlX2RhdGVqMjAxNy0wMi0yM2tleHBpcnlfZGF0ZWoyMDI0LTEwLTIw2BhYXKRoZGlnZXN0SUQKZnJhbmRvbVC7AKxX3rE-D3-Y0_MtrznwcWVsZW1lbnRJZGVudGlmaWVydnVuX2Rpc3Rpbmd1aXNoaW5nX3NpZ25sZWxlbWVudFZhbHVlYkFUamlzc3VlckF1dGiEQ6EBJqEYIVkCDTCCAgkwggGwoAMCAQICFH6sogKyWaF-zOtf-O91AFYtv1KYMAoGCCqGSM49BAMCMCgxCzAJBgNVBAYTAkFUMRkwFwYDVQQDDBBXYWx0aWQgVGVzdCBJQUNBMB4XDTI1MDYwMjA2NDExM1oXDTI2MDkwMjA2NDExM1owMzELMAkGA1UEBhMCQVQxJDAiBgNVBAMMG1dhbHRpZCBUZXN0IERvY3VtZW50IFNpZ25lcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABD86enlUgHVxEagKfKvDrgxIZdiCxgGqGkF0ydrA9oOV6dwhUAzKzKUf0kNI7f40zqhMZNT0c40O_WiqSLCTNZqjgawwgakwHwYDVR0jBBgwFoAU8Qp9p1jKxO9Kl2-teFNeAcHmNmswHQYDVR0OBBYEFMeapDiwuJaZdcaWGRphfRy8badIMA4GA1UdDwEB_wQEAwIHgDAaBgNVHRIEEzARhg9odHRwczovL3dhbHQuaWQwFQYDVR0lAQH_BAswCQYHKIGMXQUBAjAkBgNVHR8EHTAbMBmgF6AVhhNodHRwczovL3dhbHQuaWQvY3JsMAoGCCqGSM49BAMCA0cAMEQCIB02qd3OsglDYQ1X2VgTzCo_XQlmW6zBNN5IfTSU28NRAiAL1b7hpZfTttXkdekpCRxwANaT3KL4XE7xfX8_XHOujFkC29gYWQLWpmd2ZXJzaW9uYzEuMG9kaWdlc3RBbGdvcml0aG1nU0hBLTI1Nmx2YWx1ZURpZ2VzdHOhcW9yZy5pc28uMTgwMTMuNS4xqwBYIEhnRHmvup8TlsQ9hkEF4kH5KRKVxfjOpdadkGxgAqTUAVgg2PkypU9XEsKInFxUYaLdY95CQuR9WEx_uTKKMSakfDICWCCMWA5TlOdlv9OCYOPsUL7jvPQkOM8g6BQfZv6zcnE8AANYII5xio1q4XtRNUKeD-r3mD4rFVKeXzyJe_QHoDs2HcaPBFgg-Not5xT8jU-MMwi__otHq-A1HwvZto7K6gcNMHFe5NwFWCBXW91nys2OEHiJYr8TKTw0P9idVx0N9Xf384fmGnIKWQZYIBqK5uyNOCXvmTzRbl_SQSRapF5DIRtFxza-RfhKR14lB1ggbgAfyHWnOWRB0SCUFAj9He6XUdoJFYMVm-3cHEX-PjkIWCA-j1UB92LJnlr6BSdC3ZQ2pkzYz1zykCk28Baas-tShglYILn7TvLzLvTAFkS85WVyKnD74IW9CjNgaQn0KGAhfQ_uClggjOrfc9Ue1XVquGt2AUhlJrd1sUwrP2No5UZQi_ti5KBtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCDAMBte-u4SHGByE2n8z6UJpNT6hVuTiLP3TAFqHdGg3SJYIFh2NvOwQKUTUJFKzUFRA1GVCA-VtA_IItNRGaRxu3uiZ2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbHZhbGlkaXR5SW5mb6Nmc2lnbmVkwHgeMjAyNS0wNy0xNlQwNzoyODoxMC4zOTY1OTcyNDdaaXZhbGlkRnJvbcB4HjIwMjUtMDctMTZUMDc6Mjg6MTAuMzk2NTk3MzU3Wmp2YWxpZFVudGlswHgeMjAyNi0wNy0xNlQwNzoyODoxMC4zOTY1OTc0MDdaWEDiemZef8Z-tVwEMtNPde_6ySjS37D5VCHm3WqbsnwGi87Y4H1HLrLQdkvonitJqjmP8WT5Vqt-wdAml82wlSmPbGRldmljZVNpZ25lZKJqbmFtZVNwYWNlc9gYQaBqZGV2aWNlQXV0aKFvZGV2aWNlU2lnbmF0dXJlhEOhASahGCGA9lhAU3IJNfF-abBEzwzEH0U1zJinbx_wbxXs0oaI3mPQJ_hWdb4WUO4GN1aLpPQ7McqNIozYxY7bQTmPbArqzSAIEWZzdGF0dXMA",
                          "version" : "1.0",
                          "status" : 0,
                          "documents" : [ {
                            "docType" : "org.iso.18013.5.1.mDL",
                            "issuerSigned" : {
                              "nameSpaces" : {
                                "org.iso.18013.5.1" : {
                                  "family_name" : "Doe",
                                  "given_name" : "John",
                                  "birth_date" : "1986-03-22",
                                  "issue_date" : "2019-10-20",
                                  "expiry_date" : "2024-10-20",
                                  "issuing_country" : "AT",
                                  "issuing_authority" : "AT DMV",
                                  "document_number" : 123456789,
                                  "portrait" : [ 141, 182, 121, 111, 238, 50, 120, 94, 54, 111, 113, 13, 241, 12, 12 ],
                                  "driving_privileges" : [ {
                                    "vehicle_category_code" : "A",
                                    "issue_date" : "2018-08-09",
                                    "expiry_date" : "2024-10-20"
                                  }, {
                                    "vehicle_category_code" : "B",
                                    "issue_date" : "2017-02-23",
                                    "expiry_date" : "2024-10-20"
                                  } ],
                                  "un_distinguishing_sign" : "AT"
                                }
                              },
                              "issuerAuth" : {
                                "x5c" : [ "-----BEGIN CERTIFICATE-----\nMIICCTCCAbCgAwIBAgIUfqyiArJZoX7M61/473UAVi2/UpgwCgYIKoZIzj0EAwIwKDELMAkGA1UEBhMCQVQxGTAXBgNVBAMMEFdhbHRpZCBUZXN0IElBQ0EwHhcNMjUwNjAyMDY0MTEzWhcNMjYwOTAyMDY0MTEzWjAzMQswCQYDVQQGEwJBVDEkMCIGA1UEAwwbV2FsdGlkIFRlc3QgRG9jdW1lbnQgU2lnbmVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPzp6eVSAdXERqAp8q8OuDEhl2ILGAaoaQXTJ2sD2g5Xp3CFQDMrMpR/SQ0jt/jTOqExk1PRzjQ79aKpIsJM1mqOBrDCBqTAfBgNVHSMEGDAWgBTxCn2nWMrE70qXb614U14BweY2azAdBgNVHQ4EFgQUx5qkOLC4lpl1xpYZGmF9HLxtp0gwDgYDVR0PAQH/BAQDAgeAMBoGA1UdEgQTMBGGD2h0dHBzOi8vd2FsdC5pZDAVBgNVHSUBAf8ECzAJBgcogYxdBQECMCQGA1UdHwQdMBswGaAXoBWGE2h0dHBzOi8vd2FsdC5pZC9jcmwwCgYIKoZIzj0EAwIDRwAwRAIgHTap3c6yCUNhDVfZWBPMKj9dCWZbrME03kh9NJTbw1ECIAvVvuGll9O21eR16SkJHHAA1pPcovhcTvF9fz9cc66M\n-----END CERTIFICATE-----" ],
                                "algorithm" : -7,
                                "protectedHeader" : {
                                  "1" : -7
                                },
                                "payload" : {
                                  "docType" : "org.iso.18013.5.1.mDL",
                                  "version" : "1.0",
                                  "digestAlgorithm" : "SHA-256",
                                  "valueDigests" : {
                                    "org.iso.18013.5.1" : {
                                      "0" : [ 72, 103, 68, 121, -81, -70, -97, 19, -106, -60, 61, -122, 65, 5, -30, 65, -7, 41, 18, -107, -59, -8, -50, -91, -42, -99, -112, 108, 96, 2, -92, -44 ],
                                      "1" : [ -40, -7, 50, -91, 79, 87, 18, -62, -120, -100, 92, 84, 97, -94, -35, 99, -34, 66, 66, -28, 125, 88, 76, 127, -71, 50, -118, 49, 38, -92, 124, 50 ],
                                      "2" : [ -116, 88, 14, 83, -108, -25, 101, -65, -45, -126, 96, -29, -20, 80, -66, -29, -68, -12, 36, 56, -49, 32, -24, 20, 31, 102, -2, -77, 114, 113, 60, 0 ],
                                      "3" : [ -114, 113, -118, -115, 106, -31, 123, 81, 53, 66, -98, 15, -22, -9, -104, 62, 43, 21, 82, -98, 95, 60, -119, 123, -12, 7, -96, 59, 54, 29, -58, -113 ],
                                      "4" : [ -8, -38, 45, -25, 20, -4, -115, 79, -116, 51, 8, -65, -2, -117, 71, -85, -32, 53, 31, 11, -39, -74, -114, -54, -22, 7, 13, 48, 113, 94, -28, -36 ],
                                      "5" : [ 87, 91, -35, 103, -54, -51, -114, 16, 120, -119, 98, -65, 19, 41, 60, 52, 63, -40, -99, 87, 29, 13, -11, 119, -9, -13, -121, -26, 26, 114, 10, 89 ],
                                      "6" : [ 26, -118, -26, -20, -115, 56, 37, -17, -103, 60, -47, 110, 95, -46, 65, 36, 90, -92, 94, 67, 33, 27, 69, -57, 54, -66, 69, -8, 74, 71, 94, 37 ],
                                      "7" : [ 110, 0, 31, -56, 117, -89, 57, 100, 65, -47, 32, -108, 20, 8, -3, 29, -18, -105, 81, -38, 9, 21, -125, 21, -101, -19, -36, 28, 69, -2, 62, 57 ],
                                      "8" : [ 62, -113, 85, 1, -9, 98, -55, -98, 90, -6, 5, 39, 66, -35, -108, 54, -90, 76, -40, -49, 92, -14, -112, 41, 54, -16, 22, -102, -77, -21, 82, -122 ],
                                      "9" : [ -71, -5, 78, -14, -13, 46, -12, -64, 22, 68, -68, -27, 101, 114, 42, 112, -5, -32, -123, -67, 10, 51, 96, 105, 9, -12, 40, 96, 33, 125, 15, -18 ],
                                      "10" : [ -116, -22, -33, 115, -43, 30, -43, 117, 106, -72, 107, 118, 1, 72, 101, 38, -73, 117, -79, 76, 43, 63, 99, 104, -27, 70, 80, -117, -5, 98, -28, -96 ]
                                    }
                                  },
                                  "validityInfo" : {
                                    "signed" : "2025-07-16T07:28:10.396597247Z",
                                    "validFrom" : "2025-07-16T07:28:10.396597357Z",
                                    "validUntil" : "2026-07-16T07:28:10.396597407Z"
                                  },
                                  "deviceKeyInfo" : {
                                    "deviceKey" : {
                                      "kty" : "EC",
                                      "crv" : "P-256",
                                      "x" : "wDAbXvruEhxgchNp_M-lCaTU-oVbk4iz90wBah3RoN0",
                                      "y" : "WHY287BApRNQkUrNQVEDUZUID5W0D8gi01EZpHG7e6I"
                                    }
                                  }
                                }
                              }
                            },
                            "deviceSigned" : {
                              "nameSpaces" : { },
                              "deviceAuth" : {
                                "deviceSignature" : [ [ -95, 1, 38 ], {
                                  "33" : [ ]
                                }, null, [ 83, 114, 9, 53, -15, 126, 105, -80, 68, -49, 12, -60, 31, 69, 53, -52, -104, -89, 111, 31, -16, 111, 21, -20, -46, -122, -120, -34, 99, -48, 39, -8, 86, 117, -66, 22, 80, -18, 6, 55, 86, -117, -92, -12, 59, 49, -54, -115, 34, -116, -40, -59, -114, -37, 65, 57, -113, 108, 10, -22, -51, 32, 8, 17 ] ]
                              }
                            }
                          } ]
                        } ]
                      },
                      "viewMode" : "verbose"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/policies/list" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "List all registered policies",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_VERIFIER_POLICIES_LIST]  \nOperation: 'verifier-policies-list'  \nAccepts targets: [VerifierServiceReference]  \nRequires authentication.  \n\n---\nReturns a list of all available verification policies with their descriptions. Policies can be used in verification requests to validate credentials.\n\n**Use Cases:**\n- Discover available verification policies\n- Reference policy names for use in presentation definitions\n\n**Important Notes:**\n- Returns policy names and their descriptions\n- Policies can be applied at VP, VC, or credential-specific levels\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of all registered policies retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "LinkedHashMap<String,String>"
                },
                "examples" : {
                  "Example response" : {
                    "value" : {
                      "schema" : "Verifies a credentials data against a JSON Schema (Draft 7 - see https://json-schema.org/specification-links#draft-7).",
                      "holder-binding" : "Verifies that issuer of the Verifiable Presentation (presenter) is also the subject of all Verifiable Credentials contained within.",
                      "presentation-definition" : "Verifies that with an Verifiable Presentation at minimum the list of credentials `request_credentials` has been presented.",
                      "expired" : "Verifies that the credentials expiration date (`exp` for JWTs) has not been exceeded.",
                      "webhook" : "Sends the credential data to an webhook URL as HTTP POST, and returns the verified status based on the webhooks set status code (success = 200 - 299).",
                      "maximum-credentials" : "Verifies that a maximum number of credentials in the Verifiable Presentation is not exceeded",
                      "minimum-credentials" : "Verifies that a minimum number of credentials are included in the Verifiable Presentation",
                      "signature" : "Checks a JWT credential by verifying its cryptographic signature using the key referenced by the DID in `iss`.",
                      "signature_sd-jwt-vc" : "Checks a SD-JWT-VC credential by verifying its cryptographic signature using the key referenced by the DID in `iss`.",
                      "allowed-issuer" : "Checks that the issuer of the credential is present in the supplied list.",
                      "not-before" : "Verifies that the credentials not-before date (for JWT: `nbf`, if unavailable: `iat` - 1 min) is correctly exceeded.",
                      "revoked-status-list" : "Verifies Credential Status"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list policies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier-service-api/openid4vc/pd" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Get a presentation definition object",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the presentation definition object for a verification session. This endpoint is invoked by wallets when the authorization request contains a presentation_definition_uri parameter.\n\n**Use Cases:**\n- Wallets fetch presentation definitions to understand verification requirements\n- Support OpenID4VP authorization request flows with URI-based definitions\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Used when authorization request references definition via URI instead of inline\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Presentation definition retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/verifier-service-api/openid4vc/request" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Get request object associated with session id",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the JWT-secured Authorization Request (JAR) for a verification session. This endpoint is invoked by wallets to retrieve the signed authorization request object.\n\n**Use Cases:**\n- Wallets fetch JAR to obtain signed authorization request\n- Support JWT-secured authorization request flows\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns JWT in application/oauth-authz-req+jwt format\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "JWT-secured Authorization Request retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/verifier-service-api/openid4vc/verify" : {
      "post" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "Submit a vp_token response for a credential verification (presentation) session",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nReceives the authorization response from a wallet containing verifiable presentations. Validates credentials against the presentation definition, applies verification policies, and updates the session status.\n\n**Use Cases:**\n- Receive verifiable presentations from wallets\n- Process wallet responses in direct POST mode\n- Validate credentials against presentation definition requirements\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Request body contains vp_token and state in form-encoded format\n- State parameter must match the state from authorization request\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "X-Request-ID",
          "in" : "header",
          "description" : "Call-ID for request tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "c2b894f1-6ac1-4857-bda2-d0d8d7ef98ed"
        } ],
        "requestBody" : {
          "description" : "Authorization response containing vp_token and state parameter in form-encoded format",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Authorization response received and processed successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - missing state, invalid vp_token, validation failure, or presentation definition not fulfilled",
            "headers" : { }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/verifier-service-api/openid4vc/openid-client-metadata" : {
      "get" : {
        "tags" : [ "Service | Verifier" ],
        "summary" : "OpenID client metadata retrieval endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the OpenID client metadata for a verification session. This metadata describes the verifier's capabilities and configuration.\n\n**Use Cases:**\n- Wallets fetch client metadata to understand verifier capabilities\n- Support OpenID4VP client metadata discovery\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Returns client metadata including supported response types, response modes, and credential formats\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OpenID client metadata retrieved successfully",
            "headers" : { }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/verifier2-service-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Verifier2 Service - Service Management" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Verifier2 Service - Service Management" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Verifier2Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/verifier2"
              },
              "examples" : {
                "Verifier2 with minimal configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "baseUrl" : "http://waltid.enterprise.localhost:3000",
                    "clientId" : "decentralized_identifier:did:key:abc123",
                    "parent" : "example"
                  }
                },
                "Verifier2 with internationalized client metadata" : {
                  "value" : {
                    "_id" : "example.service",
                    "baseUrl" : "http://waltid.enterprise.localhost:3000",
                    "clientId" : "decentralized_identifier:did:key:abc123",
                    "clientMetadata" : {
                      "client_name" : "Age Verification Service",
                      "logo_uri" : "https://verifier.example.com/logo.png",
                      "tos_uri" : "https://verifier.example.com/terms",
                      "policy_uri" : "https://verifier.example.com/privacy",
                      "client_uri" : "https://verifier.example.com",
                      "client_name#fr-FR" : "Service de Vérification d'Âge",
                      "client_name#de" : "Altersverifizierungsdienst",
                      "client_name#es-ES" : "Servicio de Verificación de Edad",
                      "logo_uri#fr-FR" : "https://verifier.example.com/logo-fr.png",
                      "logo_uri#de" : "https://verifier.example.com/logo-de.png",
                      "tos_uri#fr-FR" : "https://verifier.example.com/terms-fr",
                      "tos_uri#de" : "https://verifier.example.com/terms-de",
                      "policy_uri#fr-FR" : "https://verifier.example.com/privacy-fr",
                      "client_uri#fr-FR" : "https://verifier.example.com/fr",
                      "client_uri#de" : "https://verifier.example.com/de"
                    },
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Verifier2 Service - Service Management" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Verifier2 Service - Service Management" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Verifier2 Service - Service Management" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/transaction-data-profiles" : {
      "get" : {
        "tags" : [ "Transaction Data", "Service | Verifier2 Service - Transaction Data" ],
        "summary" : "List available transaction data type profiles",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_CREATE_VERIFIER_SESSION]  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.commons.config.list.TransactionDataProfile"
                  },
                  "title" : "ArrayList<TransactionDataProfile>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/verification-session/create" : {
      "post" : {
        "tags" : [ "Service | Verifier2 Service - Verification Sessions" ],
        "summary" : "Create new verification session",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_CREATE_VERIFIER_SESSION]  \nOperation: 'create-verification-session'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nCreates a new verification session with a DCQL query specifying which credentials and claims are required, along with optional verification policies.\n\n**Use Cases:**\n- Request identity credentials from wallet holders\n- Verify specific claims from verifiable credentials\n- Apply verification policies (signature validation, revocation checks, status list validation)\n- Support multiple credential formats (JWT VC, SD-JWT VC, ISO mDoc)\n\n**Important Notes:**\n- Returns both bootstrap and full authorization request URLs for wallet interaction\n- Supports multiple verification policies including signature, revocation, status list, and VICAL validation\n- DCQL query allows requesting specific claims from credentials using JSON path notation\n- Sessions expire after 10 minutes if unused and are retained for 10 years by default\n- Session status can be tracked via SSE events endpoint\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "X-Request-Id",
          "in" : "header",
          "description" : "Optional request ID for tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Verification session setup with DCQL query and optional policies",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.verifier2.data.VerificationSessionSetup"
              },
              "examples" : {
                "[openid4vp-http][w3c vc] default jwt_vc_json" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] basic w3c policies (signature, expiration, not-before, allowed-issuer, regex)" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "signature"
                        }, {
                          "policy" : "expiration"
                        }, {
                          "policy" : "not-before"
                        }, {
                          "policy" : "allowed-issuer",
                          "allowed_issuer" : [ "https://university.example/issuers/565049" ]
                        }, {
                          "policy" : "regex",
                          "path" : "$.credentialSubject.degree.name",
                          "regex" : "^Bachelor of Science and Arts$"
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] credential status for BitstringStatusList" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "credential-status",
                          "argument" : {
                            "discriminator" : "w3c",
                            "value" : 0,
                            "purpose" : "Revocation",
                            "type" : "BitstringStatusList"
                          }
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] credential status for BitstringStatusList (multiple allowed values)" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "credential-status",
                          "argument" : {
                            "discriminator" : "w3c",
                            "values" : [ 0, 1 ],
                            "purpose" : "Revocation",
                            "type" : "BitstringStatusList"
                          }
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] credential status for multiple BitstringStatusList" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "credential-status",
                          "argument" : {
                            "discriminator" : "w3c-list",
                            "list" : [ {
                              "value" : 0,
                              "purpose" : "Revocation",
                              "type" : "BitstringStatusList"
                            }, {
                              "value" : 0,
                              "purpose" : "Suspension",
                              "type" : "BitstringStatusList"
                            } ]
                          }
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] webhook" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "webhook",
                          "url" : "http://your-backend.com"
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] presentation policies (jwt_vc_json/*)" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vp_policies" : {
                          "jwt_vc_json" : [ "jwt_vc_json/audience-check", "jwt_vc_json/nonce-check", "jwt_vc_json/envelope_signature" ],
                          "dc+sd-jwt" : [ ],
                          "mso_mdoc" : [ ]
                        }
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: W3C credential with path-based claims" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: W3C credential with empty meta" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : { },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: Nested presentation request for W3C credentials" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "credentialSubject", "achievement", "description" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: Nested presentation request with multiple claims" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "credentialSubject", "achievement", "description" ]
                          }, {
                            "path" : [ "credentialSubject", "achievement", "criteria", "type" ]
                          }, {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: W3C credential with type values only" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: W3C credential without claims" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "OpenBadgeCredential" ] ]
                          }
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][w3c vc] DCQL: W3C credential with claims and value constraints" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_openbadge_jwt_vc",
                          "format" : "jwt_vc_json",
                          "meta" : {
                            "type_values" : [ [ "VerifiableCredential", "OpenBadgeCredential" ] ]
                          },
                          "claims" : [ {
                            "path" : [ "name" ],
                            "values" : [ "JFF x vc-edu PlugFest 3 Interoperability" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][ietf sd-jwt vc] default dc+sd-jwt" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "pid",
                          "format" : "dc+sd-jwt",
                          "meta" : {
                            "vct_values" : [ "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/draft13/identity_credential" ]
                          },
                          "claims" : [ {
                            "path" : [ "given_name" ]
                          }, {
                            "path" : [ "family_name" ]
                          }, {
                            "path" : [ "address", "street_address" ]
                          } ]
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][ietf sd-jwt vc] basic w3c policies (signature, expiration, not-before, allowed-issuer, regex)" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "pid",
                          "format" : "dc+sd-jwt",
                          "meta" : {
                            "vct_values" : [ "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/draft13/identity_credential" ]
                          },
                          "claims" : [ {
                            "path" : [ "given_name" ]
                          }, {
                            "path" : [ "family_name" ]
                          }, {
                            "path" : [ "address", "street_address" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "signature"
                        }, {
                          "policy" : "expiration"
                        }, {
                          "policy" : "not-before"
                        }, {
                          "policy" : "allowed-issuer",
                          "allowed_issuer" : [ "https://university.example/issuers/565049" ]
                        }, {
                          "policy" : "regex",
                          "path" : "$.credentialSubject.degree.name",
                          "regex" : "^Bachelor of Science and Arts$"
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][ietf sd-jwt vc] presentation policies (dc+sd-jwt/*)" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "pid",
                          "format" : "dc+sd-jwt",
                          "meta" : {
                            "vct_values" : [ "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/draft13/identity_credential" ]
                          },
                          "claims" : [ {
                            "path" : [ "given_name" ]
                          }, {
                            "path" : [ "family_name" ]
                          }, {
                            "path" : [ "address", "street_address" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vp_policies" : {
                          "jwt_vc_json" : [ ],
                          "dc+sd-jwt" : [ "dc+sd-jwt/audience-check", "dc+sd-jwt/kb-jwt_signature", "dc+sd-jwt/nonce-check", "dc+sd-jwt/sd_hash-check" ],
                          "mso_mdoc" : [ ]
                        }
                      }
                    }
                  }
                },
                "[openid4vp-http][ietf sd-jwt vc] transaction_data payment authorization" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "pid",
                          "format" : "dc+sd-jwt",
                          "meta" : {
                            "vct_values" : [ "http://waltid.enterprise.localhost:3000/v1/waltid.issuer/issuer-service-api/openid4vc/draft13/identity_credential" ]
                          },
                          "claims" : [ {
                            "path" : [ "given_name" ]
                          }, {
                            "path" : [ "family_name" ]
                          } ]
                        } ]
                      }
                    },
                    "openid" : {
                      "transactionData" : [ {
                        "type" : "org.waltid.transaction-data.payment-authorization",
                        "credential_ids" : [ "pid" ],
                        "require_cryptographic_holder_binding" : true,
                        "transaction_data_hashes_alg" : [ "sha-256" ],
                        "amount" : "42.00",
                        "currency" : "EUR",
                        "payee" : "ACME Corp",
                        "reference" : "INV-2026-042"
                      } ]
                    }
                  }
                },
                "[openid4vp-http][sd-jwt pid]" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "pid",
                          "format" : "dc+sd-jwt",
                          "meta" : {
                            "vct_values" : [ "https://credentials.example.com/identity_credential" ]
                          },
                          "claims" : [ {
                            "path" : [ "given_name" ]
                          }, {
                            "path" : [ "family_name" ]
                          }, {
                            "path" : [ "address", "street_address" ]
                          } ]
                        } ]
                      }
                    },
                    "redirects" : {
                      "success_redirect_uri" : "https://example.com/success",
                      "error_redirect_uri" : "https://example.com/not-successful"
                    }
                  }
                },
                "[openid4vp-http][iso pid]" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "pid",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "eu.europa.ec.eudi.pid.1"
                          },
                          "claims" : [ {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "family_name" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "given_name" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "birth_date" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "age_birth_year" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "age_over_18" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "age_over_21" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "family_name_birth" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "given_name_birth" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "birth_place" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "birth_country" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "issuance_date" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "expiry_date" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "issuing_authority" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "issuing_country" ]
                          } ]
                        } ]
                      }
                    },
                    "redirects" : {
                      "success_redirect_uri" : "https://example.com/success",
                      "error_redirect_uri" : "https://example.com/not-successful"
                    }
                  }
                },
                "[openid4vp-http][iso mdl & photo-id]" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "mdl-id",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "id" : "given_name",
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          }, {
                            "id" : "family_name",
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "id" : "portrait",
                            "path" : [ "org.iso.18013.5.1", "portrait" ]
                          } ]
                        }, {
                          "id" : "mdl-address",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "id" : "resident_address",
                            "path" : [ "org.iso.18013.5.1", "resident_address" ]
                          }, {
                            "id" : "resident_country",
                            "path" : [ "org.iso.18013.5.1", "resident_country" ]
                          } ]
                        }, {
                          "id" : "photo_card-id",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.23220.photoid.1"
                          },
                          "claims" : [ {
                            "id" : "given_name",
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          }, {
                            "id" : "family_name",
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "id" : "portrait",
                            "path" : [ "org.iso.18013.5.1", "portrait" ]
                          } ]
                        }, {
                          "id" : "photo_card-address",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.23220.photoid.1"
                          },
                          "claims" : [ {
                            "id" : "resident_address",
                            "path" : [ "org.iso.18013.5.1", "resident_address" ]
                          }, {
                            "id" : "resident_country",
                            "path" : [ "org.iso.18013.5.1", "resident_country" ]
                          } ]
                        } ],
                        "credential_sets" : [ {
                          "options" : [ [ "mdl-id" ], [ "photo_card-id" ] ]
                        }, {
                          "options" : [ [ "mdl-address" ], [ "photo_card-address" ] ],
                          "required" : false
                        } ]
                      }
                    },
                    "redirects" : {
                      "success_redirect_uri" : "https://example.com/success",
                      "error_redirect_uri" : "https://example.com/not-successful"
                    }
                  }
                },
                "[openid4vp-http][iso mdl] credential status for TokenStatusList" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_mdl",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "credential-status",
                          "argument" : {
                            "discriminator" : "ietf",
                            "value" : 0
                          }
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][iso mdl] credential status for TokenStatusList (multiple allowed values)" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "example_mdl",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "credential-status",
                          "argument" : {
                            "discriminator" : "ietf",
                            "values" : [ 0, 1 ]
                          }
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-http][iso photo-id] vical" : {
                  "value" : {
                    "flow_type" : "cross_device",
                    "core_flow" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_photoid",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.23220.photoid.1"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name_unicode" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name_unicode" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "issuing_authority_unicode" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "resident_postal_code" ],
                            "values" : [ 1180, 1190, 1200, 1210 ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "issuing_country" ],
                            "values" : [ "AT" ]
                          }, {
                            "path" : [ "org.iso.23220.photoid.1", "person_id" ]
                          }, {
                            "path" : [ "org.iso.23220.photoid.1", "resident_street" ]
                          }, {
                            "path" : [ "org.iso.23220.photoid.1", "administrative_number" ]
                          }, {
                            "path" : [ "org.iso.23220.photoid.1", "travel_document_number" ]
                          }, {
                            "path" : [ "org.iso.23220.dtc.1", "dtc_version" ]
                          }, {
                            "path" : [ "org.iso.23220.dtc.1", "dtc_dg1" ]
                          } ]
                        } ]
                      },
                      "policies" : {
                        "vc_policies" : [ {
                          "policy" : "signature"
                        }, {
                          "policy" : "vical",
                          "vical" : "<base64 encoded VICAL file>",
                          "enableDocumentTypeValidation" : true,
                          "enableTrustedChainRoot" : true,
                          "enableSystemTrustAnchors" : true,
                          "enableRevocation" : true
                        } ]
                      }
                    }
                  }
                },
                "[openid4vp-dc_api][iso mdl] unsigned & unencrypted" : {
                  "value" : {
                    "flow_type" : "dc_api",
                    "core" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_mdl",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "age_over_21" ]
                          } ]
                        } ]
                      },
                      "clientId" : "x509_hash:OPpTDyXlg6WRu2-Qn4rpQcA9uVqSrNExCS8kCYUe09A",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "d" : "AEb4k1BeTR9xt2NxYZggdzkFLLUkhyyWvyUOq3qSiwA",
                          "crv" : "P-256",
                          "kid" : "_nd-T2YRYLSmuKkJZlRI641zrCIJLTpiHeqMwXuvdug",
                          "x" : "G_TgBc0BkmMipiQ_6gkamIn3mmp7hcTrZuyrLTmknP0",
                          "y" : "VkRMZdXYXSMff5AJLrnHiN0x5MV6u_8vrAcytGUe4z4"
                        }
                      }
                    },
                    "expectedOrigins" : [ "https://digital-credentials.walt.id" ]
                  }
                },
                "[openid4vp-dc_api][iso mdl] unsigned & encrypted" : {
                  "value" : {
                    "flow_type" : "dc_api",
                    "core" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_mdl",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "age_over_21" ]
                          } ]
                        } ]
                      },
                      "encrypted_response" : true,
                      "clientId" : "x509_hash:OPpTDyXlg6WRu2-Qn4rpQcA9uVqSrNExCS8kCYUe09A",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "d" : "AEb4k1BeTR9xt2NxYZggdzkFLLUkhyyWvyUOq3qSiwA",
                          "crv" : "P-256",
                          "kid" : "_nd-T2YRYLSmuKkJZlRI641zrCIJLTpiHeqMwXuvdug",
                          "x" : "G_TgBc0BkmMipiQ_6gkamIn3mmp7hcTrZuyrLTmknP0",
                          "y" : "VkRMZdXYXSMff5AJLrnHiN0x5MV6u_8vrAcytGUe4z4"
                        }
                      }
                    },
                    "expectedOrigins" : [ "https://digital-credentials.walt.id" ]
                  }
                },
                "[openid4vp-dc_api][iso mdl] signed & unencrypted" : {
                  "value" : {
                    "flow_type" : "dc_api",
                    "core" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_mdl",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "age_over_21" ]
                          } ]
                        } ]
                      },
                      "signed_request" : true,
                      "clientId" : "x509_hash:kZ5SI3MAFaLDPRxza8xguw-o6b8LYfmP2ZvrqVSRWng",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "crv" : "P-521",
                          "x" : "APWg4T3FQIeJD_xQN0kap5Mzp7lJ17Ctg_T8Gy24lwOp_EIhDzBK9MoCufSIITRolWlcjFTj3Ty91C9rctTuSf0F",
                          "y" : "AEnFDKiecuqnZ8XMKgt7dFZWRfmzPFrgQmauwlbXDC0kHCZhV76VOgCoWdzfSLegLKGn-nINAIRqPR9n2KPpQwKn",
                          "d" : "AZT9f0qOOSMQl25qXwvFs23rq0PIUOV1R8YcG1iqRNKEYYs5k8gXNNuud4W6amuItCGWCrKSXRoHmgj6C5NUDzhA"
                        }
                      },
                      "x5c" : [ "MIIB7TCCAZOgAwIBAgIUXrHFKoaAx6+CFOOHp6fZ7Rs2EzgwCgYIKoZIzj0EAwIwHTEbMBkGA1UEAwwSQ3VzdG9tSW50ZXJtZWRpYXRlMB4XDTI2MDEyMjE1NTY0OFoXDTI3MDEyMjE1NTY0OFowEzERMA8GA1UEAwwIVmVyaWZpZXIwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAD1oOE9xUCHiQ/8UDdJGqeTM6e5SdewrYP0/BstuJcDqfxCIQ8wSvTKArn0iCE0aJVpXIxU4908vdQva3LU7kn9BQBJxQyonnLqp2fFzCoLe3RWVkX5szxa4EJmrsJW1wwtJBwmYVe+lToAqFnc30i3oCyhp/pyDQCEaj0fZ9ij6UMCp6N4MHYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0RBA8wDYILZXhhbXBsZS5jb20wHQYDVR0OBBYEFFAdasyU1haLdvQdEizJEaAO+cmWMB8GA1UdIwQYMBaAFGVh3m3K6y5gABHGIuD7ibTR+AG6MAoGCCqGSM49BAMCA0gAMEUCIQDT9GYMvTTyEOmKDvilHmgejcbLWQ6ACUzlmbZDk67ztAIge2kWDxRetz6xIDtnfg4vlCW6pLbdBWasMrfm1eppDww=", "MIIBlzCCAT2gAwIBAgIUZFEF4iwIsLuJO7pJ9bU7vo9Dg3kwCgYIKoZIzj0EAwIwFTETMBEGA1UEAwwKQ3VzdG9tUm9vdDAeFw0yNjAxMjIxNTU1NDJaFw0zNjAxMjAxNTU1NDJaMB0xGzAZBgNVBAMMEkN1c3RvbUludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAvlBFSSRWetJJSj5rvGoXtPnfw97YRHbJj4/kspQbSwxVN3RtofsSu0DevrISGx2MCPqqxHXdfSeu9SKgen6IOjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlYd5tyusuYAARxiLg+4m00fgBujAfBgNVHSMEGDAWgBQ+D1YkeDpF+qaxAhlnb3XSkGZWCTAKBggqhkjOPQQDAgNIADBFAiEA789kIQsGTa/GJEgYaOID9VVoO0PyeeYEwub7P0a1+ZICIHI9bYi72XTca9e8rqGJuYmKz8qEQodLvaXdgwCfQ4KZ" ]
                    },
                    "expectedOrigins" : [ "https://digital-credentials.walt.id" ]
                  }
                },
                "[openid4vp-dc_api][iso mdl] signed & encrypted" : {
                  "value" : {
                    "flow_type" : "dc_api",
                    "core" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_mdl",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.18013.5.1.mDL"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.18013.5.1", "family_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "given_name" ]
                          }, {
                            "path" : [ "org.iso.18013.5.1", "age_over_21" ]
                          } ]
                        } ]
                      },
                      "signed_request" : true,
                      "encrypted_response" : true,
                      "clientId" : "x509_hash:kZ5SI3MAFaLDPRxza8xguw-o6b8LYfmP2ZvrqVSRWng",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "crv" : "P-521",
                          "x" : "APWg4T3FQIeJD_xQN0kap5Mzp7lJ17Ctg_T8Gy24lwOp_EIhDzBK9MoCufSIITRolWlcjFTj3Ty91C9rctTuSf0F",
                          "y" : "AEnFDKiecuqnZ8XMKgt7dFZWRfmzPFrgQmauwlbXDC0kHCZhV76VOgCoWdzfSLegLKGn-nINAIRqPR9n2KPpQwKn",
                          "d" : "AZT9f0qOOSMQl25qXwvFs23rq0PIUOV1R8YcG1iqRNKEYYs5k8gXNNuud4W6amuItCGWCrKSXRoHmgj6C5NUDzhA"
                        }
                      },
                      "x5c" : [ "MIIB7TCCAZOgAwIBAgIUXrHFKoaAx6+CFOOHp6fZ7Rs2EzgwCgYIKoZIzj0EAwIwHTEbMBkGA1UEAwwSQ3VzdG9tSW50ZXJtZWRpYXRlMB4XDTI2MDEyMjE1NTY0OFoXDTI3MDEyMjE1NTY0OFowEzERMA8GA1UEAwwIVmVyaWZpZXIwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAD1oOE9xUCHiQ/8UDdJGqeTM6e5SdewrYP0/BstuJcDqfxCIQ8wSvTKArn0iCE0aJVpXIxU4908vdQva3LU7kn9BQBJxQyonnLqp2fFzCoLe3RWVkX5szxa4EJmrsJW1wwtJBwmYVe+lToAqFnc30i3oCyhp/pyDQCEaj0fZ9ij6UMCp6N4MHYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0RBA8wDYILZXhhbXBsZS5jb20wHQYDVR0OBBYEFFAdasyU1haLdvQdEizJEaAO+cmWMB8GA1UdIwQYMBaAFGVh3m3K6y5gABHGIuD7ibTR+AG6MAoGCCqGSM49BAMCA0gAMEUCIQDT9GYMvTTyEOmKDvilHmgejcbLWQ6ACUzlmbZDk67ztAIge2kWDxRetz6xIDtnfg4vlCW6pLbdBWasMrfm1eppDww=", "MIIBlzCCAT2gAwIBAgIUZFEF4iwIsLuJO7pJ9bU7vo9Dg3kwCgYIKoZIzj0EAwIwFTETMBEGA1UEAwwKQ3VzdG9tUm9vdDAeFw0yNjAxMjIxNTU1NDJaFw0zNjAxMjAxNTU1NDJaMB0xGzAZBgNVBAMMEkN1c3RvbUludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAvlBFSSRWetJJSj5rvGoXtPnfw97YRHbJj4/kspQbSwxVN3RtofsSu0DevrISGx2MCPqqxHXdfSeu9SKgen6IOjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlYd5tyusuYAARxiLg+4m00fgBujAfBgNVHSMEGDAWgBQ+D1YkeDpF+qaxAhlnb3XSkGZWCTAKBggqhkjOPQQDAgNIADBFAiEA789kIQsGTa/GJEgYaOID9VVoO0PyeeYEwub7P0a1+ZICIHI9bYi72XTca9e8rqGJuYmKz8qEQodLvaXdgwCfQ4KZ" ]
                    },
                    "expectedOrigins" : [ "https://digital-credentials.walt.id" ]
                  }
                },
                "[openid4vp-dc_api][iso photo-id] signed & encrypted" : {
                  "value" : {
                    "flow_type" : "dc_api",
                    "core" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_photoid",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "org.iso.23220.photoid.1"
                          },
                          "claims" : [ {
                            "path" : [ "org.iso.23220.photoid.1", "person_id" ]
                          } ]
                        } ]
                      },
                      "signed_request" : true,
                      "encrypted_response" : true,
                      "clientId" : "x509_hash:kZ5SI3MAFaLDPRxza8xguw-o6b8LYfmP2ZvrqVSRWng",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "crv" : "P-521",
                          "x" : "APWg4T3FQIeJD_xQN0kap5Mzp7lJ17Ctg_T8Gy24lwOp_EIhDzBK9MoCufSIITRolWlcjFTj3Ty91C9rctTuSf0F",
                          "y" : "AEnFDKiecuqnZ8XMKgt7dFZWRfmzPFrgQmauwlbXDC0kHCZhV76VOgCoWdzfSLegLKGn-nINAIRqPR9n2KPpQwKn",
                          "d" : "AZT9f0qOOSMQl25qXwvFs23rq0PIUOV1R8YcG1iqRNKEYYs5k8gXNNuud4W6amuItCGWCrKSXRoHmgj6C5NUDzhA"
                        }
                      },
                      "x5c" : [ "MIIB7TCCAZOgAwIBAgIUXrHFKoaAx6+CFOOHp6fZ7Rs2EzgwCgYIKoZIzj0EAwIwHTEbMBkGA1UEAwwSQ3VzdG9tSW50ZXJtZWRpYXRlMB4XDTI2MDEyMjE1NTY0OFoXDTI3MDEyMjE1NTY0OFowEzERMA8GA1UEAwwIVmVyaWZpZXIwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAD1oOE9xUCHiQ/8UDdJGqeTM6e5SdewrYP0/BstuJcDqfxCIQ8wSvTKArn0iCE0aJVpXIxU4908vdQva3LU7kn9BQBJxQyonnLqp2fFzCoLe3RWVkX5szxa4EJmrsJW1wwtJBwmYVe+lToAqFnc30i3oCyhp/pyDQCEaj0fZ9ij6UMCp6N4MHYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0RBA8wDYILZXhhbXBsZS5jb20wHQYDVR0OBBYEFFAdasyU1haLdvQdEizJEaAO+cmWMB8GA1UdIwQYMBaAFGVh3m3K6y5gABHGIuD7ibTR+AG6MAoGCCqGSM49BAMCA0gAMEUCIQDT9GYMvTTyEOmKDvilHmgejcbLWQ6ACUzlmbZDk67ztAIge2kWDxRetz6xIDtnfg4vlCW6pLbdBWasMrfm1eppDww=", "MIIBlzCCAT2gAwIBAgIUZFEF4iwIsLuJO7pJ9bU7vo9Dg3kwCgYIKoZIzj0EAwIwFTETMBEGA1UEAwwKQ3VzdG9tUm9vdDAeFw0yNjAxMjIxNTU1NDJaFw0zNjAxMjAxNTU1NDJaMB0xGzAZBgNVBAMMEkN1c3RvbUludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAvlBFSSRWetJJSj5rvGoXtPnfw97YRHbJj4/kspQbSwxVN3RtofsSu0DevrISGx2MCPqqxHXdfSeu9SKgen6IOjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlYd5tyusuYAARxiLg+4m00fgBujAfBgNVHSMEGDAWgBQ+D1YkeDpF+qaxAhlnb3XSkGZWCTAKBggqhkjOPQQDAgNIADBFAiEA789kIQsGTa/GJEgYaOID9VVoO0PyeeYEwub7P0a1+ZICIHI9bYi72XTca9e8rqGJuYmKz8qEQodLvaXdgwCfQ4KZ" ]
                    },
                    "expectedOrigins" : [ "https://digital-credentials.walt.id" ]
                  }
                },
                "[openid4vp-dc_api][iso pid] signed & encrypted" : {
                  "value" : {
                    "flow_type" : "dc_api",
                    "core" : {
                      "dcql_query" : {
                        "credentials" : [ {
                          "id" : "my_pid",
                          "format" : "mso_mdoc",
                          "meta" : {
                            "doctype_value" : "eu.europa.ec.eudi.pid.1"
                          },
                          "claims" : [ {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "family_name" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "given_name" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "birth_date" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "age_birth_year" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "age_over_18" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "age_over_21" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "family_name_birth" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "given_name_birth" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "birth_place" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "birth_country" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "issuance_date" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "expiry_date" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "issuing_authority" ]
                          }, {
                            "path" : [ "eu.europa.ec.eudi.pid.1", "issuing_country" ]
                          } ]
                        } ]
                      },
                      "signed_request" : true,
                      "encrypted_response" : true,
                      "clientId" : "x509_hash:kZ5SI3MAFaLDPRxza8xguw-o6b8LYfmP2ZvrqVSRWng",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "crv" : "P-521",
                          "x" : "APWg4T3FQIeJD_xQN0kap5Mzp7lJ17Ctg_T8Gy24lwOp_EIhDzBK9MoCufSIITRolWlcjFTj3Ty91C9rctTuSf0F",
                          "y" : "AEnFDKiecuqnZ8XMKgt7dFZWRfmzPFrgQmauwlbXDC0kHCZhV76VOgCoWdzfSLegLKGn-nINAIRqPR9n2KPpQwKn",
                          "d" : "AZT9f0qOOSMQl25qXwvFs23rq0PIUOV1R8YcG1iqRNKEYYs5k8gXNNuud4W6amuItCGWCrKSXRoHmgj6C5NUDzhA"
                        }
                      },
                      "x5c" : [ "MIIB7TCCAZOgAwIBAgIUXrHFKoaAx6+CFOOHp6fZ7Rs2EzgwCgYIKoZIzj0EAwIwHTEbMBkGA1UEAwwSQ3VzdG9tSW50ZXJtZWRpYXRlMB4XDTI2MDEyMjE1NTY0OFoXDTI3MDEyMjE1NTY0OFowEzERMA8GA1UEAwwIVmVyaWZpZXIwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAD1oOE9xUCHiQ/8UDdJGqeTM6e5SdewrYP0/BstuJcDqfxCIQ8wSvTKArn0iCE0aJVpXIxU4908vdQva3LU7kn9BQBJxQyonnLqp2fFzCoLe3RWVkX5szxa4EJmrsJW1wwtJBwmYVe+lToAqFnc30i3oCyhp/pyDQCEaj0fZ9ij6UMCp6N4MHYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0RBA8wDYILZXhhbXBsZS5jb20wHQYDVR0OBBYEFFAdasyU1haLdvQdEizJEaAO+cmWMB8GA1UdIwQYMBaAFGVh3m3K6y5gABHGIuD7ibTR+AG6MAoGCCqGSM49BAMCA0gAMEUCIQDT9GYMvTTyEOmKDvilHmgejcbLWQ6ACUzlmbZDk67ztAIge2kWDxRetz6xIDtnfg4vlCW6pLbdBWasMrfm1eppDww=", "MIIBlzCCAT2gAwIBAgIUZFEF4iwIsLuJO7pJ9bU7vo9Dg3kwCgYIKoZIzj0EAwIwFTETMBEGA1UEAwwKQ3VzdG9tUm9vdDAeFw0yNjAxMjIxNTU1NDJaFw0zNjAxMjAxNTU1NDJaMB0xGzAZBgNVBAMMEkN1c3RvbUludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAvlBFSSRWetJJSj5rvGoXtPnfw97YRHbJj4/kspQbSwxVN3RtofsSu0DevrISGx2MCPqqxHXdfSeu9SKgen6IOjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlYd5tyusuYAARxiLg+4m00fgBujAfBgNVHSMEGDAWgBQ+D1YkeDpF+qaxAhlnb3XSkGZWCTAKBggqhkjOPQQDAgNIADBFAiEA789kIQsGTa/GJEgYaOID9VVoO0PyeeYEwub7P0a1+ZICIHI9bYi72XTca9e8rqGJuYmKz8qEQodLvaXdgwCfQ4KZ" ]
                    },
                    "expectedOrigins" : [ "https://digital-credentials.walt.id" ]
                  }
                },
                "[iso-18013-7-dc_api][iso mdl]" : {
                  "value" : {
                    "flow_type" : "dc_api-annex-c",
                    "requestedElements" : {
                      "org.iso.18013.5.1.mDL" : {
                        "org.iso.18013.5.1" : [ "family_name", "given_name", "birth_date", "issue_date", "expiry_date", "issuing_country", "issuing_authority", "driving_privileges", "age_birth_year", "age_over_18", "age_over_21", "age_over_65", "issuing_jurisdiction", "nationality" ]
                      }
                    },
                    "origin" : "https://digital-credentials.walt.id"
                  }
                },
                "[iso-18013-7-dc_api][iso pid]" : {
                  "value" : {
                    "flow_type" : "dc_api-annex-c",
                    "requestedElements" : {
                      "eu.europa.ec.eudi.pid.1" : {
                        "eu.europa.ec.eudi.pid.1" : [ "family_name", "given_name", "birth_date", "age_birth_year", "age_over_18", "age_over_21", "age_over_65", "family_name_birth", "given_name_birth", "birth_place", "birth_country", "issuance_date", "expiry_date", "issuing_authority", "issuing_country" ]
                      }
                    },
                    "origin" : "https://digital-credentials.walt.id"
                  }
                },
                "[iso-18013-7-dc_api][iso photo-id]" : {
                  "value" : {
                    "flow_type" : "dc_api-annex-c",
                    "requestedElements" : {
                      "org.iso.23220.photoid.1" : {
                        "org.iso.23220.1" : [ "family_name", "family_name_viz", "given_name", "given_name_viz", "issue_date", "expiry_date", "issuing_authority_unicode", "issuing_country", "age_over_18", "age_over_21", "age_over_65", "age_birth_year", "portrait_capture_date", "birthplace", "name_at_birth", "resident_address", "resident_city", "resident_postal_code", "resident_country", "resident_city_latin1", "nationality", "document_number", "issuing_subdivision", "family_name_latin1", "given_name_latin1" ],
                        "org.iso.23220.photoid.1" : [ "person_id", "birth_country", "birth_state", "birth_city", "administrative_number", "resident_street", "resident_house_number", "travel_document_type", "travel_document_number", "travel_document_mrz", "resident_state" ]
                      }
                    },
                    "origin" : "https://digital-credentials.walt.id"
                  }
                },
                "[iso-18013-7-dc_api][iso mdl + photo-id]" : {
                  "value" : {
                    "flow_type" : "dc_api-annex-c",
                    "requestedElements" : {
                      "org.iso.18013.5.1.mDL" : {
                        "org.iso.18013.5.1" : [ "family_name", "given_name", "birth_date", "issue_date", "expiry_date", "issuing_country", "issuing_authority", "driving_privileges", "age_birth_year", "age_over_18", "age_over_21", "age_over_65", "issuing_jurisdiction", "nationality" ]
                      },
                      "org.iso.23220.photoid.1" : {
                        "org.iso.23220.1" : [ "family_name", "family_name_viz", "given_name", "given_name_viz", "issue_date", "expiry_date", "issuing_authority_unicode", "issuing_country", "age_over_18", "age_over_21", "age_over_65", "age_birth_year", "portrait_capture_date", "birthplace", "name_at_birth", "resident_address", "resident_city", "resident_postal_code", "resident_country", "resident_city_latin1", "nationality", "document_number", "issuing_subdivision", "family_name_latin1", "given_name_latin1" ],
                        "org.iso.23220.photoid.1" : [ "person_id", "birth_country", "birth_state", "birth_city", "administrative_number", "resident_street", "resident_house_number", "travel_document_type", "travel_document_number", "travel_document_mrz", "resident_state" ]
                      }
                    },
                    "origin" : "https://digital-credentials.walt.id"
                  }
                },
                "[iso-18013-7-dc_api][iso mdl] signed" : {
                  "value" : {
                    "flow_type" : "dc_api-annex-c",
                    "core_flow" : {
                      "signed_request" : true,
                      "clientId" : "x509_hash:1i4VjAVXdxwhPVuPM19mNtMpWJhQ",
                      "key" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "EC",
                          "crv" : "P-256",
                          "x" : "zi6Qj0Ggd8xiMqaiRZzkYyI3sMkFAA89kEdceHCa5AQ",
                          "y" : "-JyeRcamM-uCS1N-naE0itVbs7fQ_5xbujSSK9pYdb4",
                          "d" : "1xgojLKBT4hmuTjgjhz0l6RTHgmlLlVb5bnwuZkNBaA"
                        }
                      },
                      "x5c" : [ "MIIBsTCCAVegAwIBAgIUJklaRrIjkEZlDdPk2+qPneHHD6kwCgYIKoZIzj0EAwIwLjEQMA4GA1UEAwwHRXhhbXBsZTENMAsGA1UECgwEVGVzdDELMAkGA1UEBhMCVVMwHhcNMjYwMzMxMDkwNDMwWhcNMjcwMzMxMDkwNDMwWjAuMRAwDgYDVQQDDAdFeGFtcGxlMQ0wCwYDVQQKDARUZXN0MQswCQYDVQQGEwJVUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABM4ukI9BoHfMYjKmokWc5GMiN7DJBQAPPZBHXHhwmuQE+JyeRcamM+uCS1N+naE0itVbs7fQ/5xbujSSK9pYdb6jUzBRMB0GA1UdDgQWBBSwjqgulcWH4AqTJwPjBGj3VGIAsTAfBgNVHSMEGDAWgBSwjqgulcWH4AqTJwPjBGj3VGIAsTAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIQCoWAleGRqR+kb+5SeRt/scogZPiQiM7wJ69tadEPPJwQIgdygIZSMQSXlxXbZ10QKtN6qSjggqFVUV4/Z2/pnBUBk=" ]
                    },
                    "requestedElements" : {
                      "org.iso.18013.5.1.mDL" : {
                        "org.iso.18013.5.1" : [ "family_name", "given_name", "birth_date", "issue_date", "expiry_date", "issuing_country", "issuing_authority", "driving_privileges", "age_birth_year", "age_over_18", "age_over_21", "age_over_65", "issuing_jurisdiction", "nationality" ]
                      }
                    },
                    "origin" : "https://digital-credentials.walt.id"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Verification session created successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.verifier2.handlers.sessioncreation.VerificationSessionCreationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed DCQL query or invalid policy configuration",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create verification sessions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/sessions" : {
      "get" : {
        "tags" : [ "Service | Verifier2 Service - Verification Sessions" ],
        "summary" : "List verification sessions",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_VERIFIER_SESSION]  \nOperation: 'list-verification-sessions'  \nAccepts targets: [Verifier2ServiceReference]  \nRequires authentication.  \n\n---\nLists persisted verifier2 verification sessions.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort selector. Supported values: 'createdDateTime', 'createdDateTime+', 'createdDateTime-', 'updatedDateTime', 'updatedDateTime+', 'updatedDateTime-'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "createdDateTime"
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Optional exact session status filter. Mutually exclusive with 'outcome'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "outcome",
          "in" : "query",
          "description" : "Optional grouped session outcome filter. Supported values: in_progress, successful, failed, expired. Expired includes sessions with status EXPIRED or non-terminal sessions past expirationDate. Mutually exclusive with 'status'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "sessionId",
          "in" : "query",
          "description" : "Optional session id filter.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "flowType",
          "in" : "query",
          "description" : "Optional flow type filter. Supported values: cross_device, same_device, dc_api.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "createdAfter",
          "in" : "query",
          "description" : "Optional lower bound for the session creation timestamp (ISO-8601 instant).",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        }, {
          "name" : "createdBefore",
          "in" : "query",
          "description" : "Optional upper bound for the session creation timestamp (ISO-8601 instant).",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Verification sessions listed successfully.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/verifier2-session"
                  },
                  "title" : "ArrayList<>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid query parameter.",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/verification-session/info" : {
      "get" : {
        "tags" : [ "Service | Verifier2 Service - Verification Sessions" ],
        "summary" : "View verification session information",
        "description" : "Permissions: ANY OF: [ES_VERIFIER_GET_VERIFIER_SESSION]  \nOperation: 'view-verification-session'  \nAccepts targets: [Verifier2StoredVerificationSession]  \nRequires authentication.  \n\n---\nRetrieves information about a verification session including status, DCQL query, policies, and presented credentials.\n\n**Use Cases:**\n- Check session status and progress\n- View DCQL query and verification policies\n- Access presented credentials and policy results after wallet interaction\n\n**Important Notes:**\n- Presented credentials and policy results are only available after wallet has submitted a response\n- Session status reflects current verification state (OPEN, IN_USE, SUCCESSFUL, FAILED)\n- Session status updates are available via SSE events endpoint\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Verification session information retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/verifier2-session"
                }
              }
            }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view this verification session",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/verification-session/events" : {
      "get" : {
        "tags" : [ "Service | Verifier2 Service - Verification Sessions" ],
        "summary" : "Receive verification session update events via Server-Sent Events (SSE)",
        "description" : "Establishes an SSE connection to receive real-time updates about a verification session including wallet interactions, credential validation, and policy evaluation results.\n\n**Use Cases:**\n- Monitor session progress in real-time\n- Receive notifications when wallet presents credentials\n- Track credential validation and policy evaluation status\n\n**Important Notes:**\n- Connection remains open until client disconnects or session completes\n- Events are sent as JSON objects in SSE format\n- Connection automatically closes when session reaches terminal state (SUCCESSFUL or FAILED)\n- No authentication required (uses session ID for authorization)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "verification-session",
          "in" : "path",
          "description" : "Verification session identifier",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        } ],
        "responses" : {
          "200" : {
            "description" : "SSE connection established, events will be streamed. Response content type is text/event-stream.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "title" : "String"
                }
              }
            }
          },
          "404" : {
            "description" : "Verification session not found",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid verification session identifier",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/verifier2-service-api/{verification-session}/request" : {
      "get" : {
        "tags" : [ "Service | Verifier2 Service - Wallet interaction" ],
        "summary" : "Get authorization request for verification session",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nRetrieves the OpenID4VP authorization request containing the DCQL query specifying which credentials and claims are required.\n\n**Use Cases:**\n- Wallets fetch authorization requests to understand verification requirements\n- Support cross-device and same-device verification flows\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Authorization request contains DCQL query with credential requirements\n- Request includes nonce and state for security and session tracking\n- State parameter must match state in wallet response\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "verification-session",
          "in" : "path",
          "description" : "Verification session identifier",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        } ],
        "responses" : {
          "200" : {
            "description" : "Authorization request retrieved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.AuthorizationRequest"
                }
              }
            }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid verification session identifier",
            "headers" : { }
          }
        },
        "deprecated" : false
      },
      "post" : {
        "tags" : [ "Service | Verifier2 Service - Wallet interaction" ],
        "description" : "Permissions: None required  \nNo target restriction.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Requires body of JSON value for String.",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              }
            }
          },
          "required" : true
        },
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/verifier2-service-api/{verification-session}/response" : {
      "post" : {
        "tags" : [ "Service | Verifier2 Service - Wallet interaction" ],
        "summary" : "Submit authorization response from wallet",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nReceives the authorization response from a wallet containing verifiable presentations. Validates credentials against the DCQL query, applies verification policies, and updates the session status.\n\n**Use Cases:**\n- Receive verifiable presentations from wallets\n- Validate credentials against DCQL query requirements\n- Apply verification policies to presented credentials\n\n**Important Notes:**\n- This endpoint is publicly accessible (no authentication required)\n- Request body contains vp_token with verifiable presentations\n- State parameter must match the state from authorization request\n- Credentials are validated against DCQL query and verification policies\n- Session status transitions to SUCCESSFUL or FAILED based on results\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/verifier2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "verification-session",
          "in" : "path",
          "description" : "Verification session identifier",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        }, {
          "name" : "X-Request-Id",
          "in" : "header",
          "description" : "Optional request ID for tracing",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          }
        } ],
        "requestBody" : {
          "description" : "Authorization response containing vp_token and state parameter in form-encoded format",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Direct POST response" : {
                  "value" : "vp_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2cCI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl19fQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c&state=xyz987"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Authorization response received and processed successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "LinkedHashMap<String,String>"
                },
                "examples" : {
                  "Success response" : {
                    "value" : {
                      "status" : "received",
                      "message" : "Presentation received and is being processed."
                    }
                  },
                  "Redirect response" : {
                    "value" : {
                      "redirect_uri" : "https://verifier.example.com/success"
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing state, invalid vp_token, validation failure, or DCQL not fulfilled",
            "headers" : { }
          },
          "404" : {
            "description" : "Verification session not found or expired",
            "headers" : { }
          }
        },
        "deprecated" : false
      }
    },
    "/v1/{target}/wallet-service-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Wallet Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/wallet"
              },
              "examples" : {
                "Wallet with default configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "parent" : "example"
                  }
                },
                "Wallet with static DID and key" : {
                  "value" : {
                    "_id" : "example.service",
                    "configuration" : {
                      "staticDid" : "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
                      "staticKey" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "OKP",
                          "d" : "kdZ8pbtRpQ1jD6TBNJa-edK4q3zUDO3G-iTXwiuEGKk",
                          "crv" : "Ed25519",
                          "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                          "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                        }
                      }
                    },
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/init-wallet" : {
      "post" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Initialize wallet tenant",
        "description" : "Permissions: ANY OF: [ADMIN_TENANT_INIT_WALLET]  \nOperation: 'init-wallet-tenant'  \nRequires authentication.  \n\n---\nCreates a wallet service and automatically configures all required supporting services in a tenant. This is a wizard-style endpoint that simplifies the setup process by creating and linking KMS, DID Store, DID Registry, DID Service, and Credential Store services as needed.\n\n**Use Cases:**\n- Set up a complete wallet infrastructure in a single operation\n- Automatically create and configure all required wallet services\n- Initialize wallet with default keys and DIDs\n- Use existing services or create new ones based on configuration\n- Customize service names and configurations during setup\n\n**Important Notes:**\n- Target must be a tenant or organization tree entry\n- Can create new services or reference existing ones\n- Automatically links created services to the wallet\n- Supports creating default keys and DIDs during initialization\n- Can be configured to create only the wallet without any services\n- Service creation follows a dependency chain (DID Registry depends on DID Store, etc.)\n- Returns information about created resources (keys and DIDs) in the response\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Wallet initialization request specifying which services to create or reference",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.InitWalletTenantRequest"
              },
              "examples" : {
                "Default (Create all services for Wallet Tenant)" : {
                  "value" : {
                    "createKeyInKms" : {
                      "keyType" : "secp256r1"
                    },
                    "createDidWithDidService" : "key"
                  }
                },
                "Create all services for Wallet Tenant, with custom names" : {
                  "value" : {
                    "kmsName" : "my-custom-kms-name",
                    "createKeyInKms" : {
                      "keyType" : "secp256r1"
                    },
                    "didStoreName" : "my-custom-did-store-name",
                    "didRegistryName" : "my-custom-did-registry-name",
                    "didServiceName" : "my-custom-did-service-name",
                    "createDidWithDidService" : "key",
                    "credentialStoreName" : "my-custom-credential-store-name"
                  }
                },
                "Provide existing services for Wallet Tenant" : {
                  "value" : {
                    "kms" : "organization.tenant.kms",
                    "didStore" : "organization.tenant.didstore",
                    "didRegistry" : "organization.tenant.didregistry",
                    "didService" : "organization.tenant.didservice",
                    "credentialStore" : "organization.tenant.credentialstore"
                  }
                },
                "Create all services for Wallet Tenant, but do not create default DID / Key" : {
                  "value" : { }
                },
                "Create all services for Wallet Tenant, but create default DID / Key with different options" : {
                  "value" : {
                    "createKeyInKms" : {
                      "backend" : "aws",
                      "keyType" : "secp256r1",
                      "config" : {
                        "auth" : {
                          "region" : "eu-central-1"
                        }
                      }
                    },
                    "createdKeyName" : "my-aws-key",
                    "createDidWithDidService" : "jwk"
                  }
                },
                "Only create wallet without any services" : {
                  "value" : {
                    "createKms" : false,
                    "createDidStore" : false,
                    "createDidService" : false,
                    "createCredentialStore" : false
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Wallet service created successfully with all configured services. Response includes information about created resources (keys and DIDs).",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.InitWalletTenantResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - conflicting service creation/reference options, invalid target, or malformed configuration",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to create wallet or services in the specified target",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/credentials/receive" : {
      "post" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Receive credentials from issuer (full flow)",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'receive-credentials-full'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nReceives verifiable credentials from an issuer using the complete OpenID4VCI flow. This endpoint handles the entire issuance process including resolving the credential offer, obtaining provider metadata, requesting tokens, signing proof of possession, and receiving credentials from the issuer.\n\n**Use Cases:**\n- Receive credentials from issuers in a single operation\n- Complete credential issuance flows automatically\n- Store received credentials in linked credential stores\n- Apply holder policies to evaluate credential acceptance\n- Integrate wallet credential receiving capabilities into applications\n\n**Important Notes:**\n- Automatically stores received credentials in all linked Credential Stores\n- Supports both credential offer URLs and direct credential offer objects\n- Can use service references (key, DID) or direct values\n- Optionally applies holder policies to evaluate credential acceptance\n- Handles the complete OpenID4VCI flow including token exchange and proof of possession\n- Supports multiple credentials in a single offer\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Credential receive request with offer URL or offer object, keys, and optional policy settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.receive.WalletReceiveRequest"
              },
              "examples" : {
                "Use referenced services" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789",
                    "keyReference" : "example.kms.wallet_key",
                    "didReference" : "example.didstore.wallet_did"
                  }
                },
                "Use referenced key" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789",
                    "keyReference" : "example.kms.wallet_key"
                  }
                },
                "Provide direct values (do not reference services)" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789",
                    "key" : {
                      "type" : "jwk",
                      "jwk" : {
                        "kty" : "OKP",
                        "d" : "kdZ8pbtRpQ1jD6TBNJa-edK4q3zUDO3G-iTXwiuEGKk",
                        "crv" : "Ed25519",
                        "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                        "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                      }
                    },
                    "did" : "did:key:z6MkoYJEUFN6wbeFPKeLne5yL42QNy8uBqDSDezrwG1ovfnx"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credentials received and stored successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                  },
                  "title" : "ArrayList<JsonObject>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - invalid offer, missing keys, or issuance failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to receive credentials, or blocked by holder policy",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/credentials/present" : {
      "post" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Present credentials to verifier (full flow)",
        "description" : "Permissions: ANY OF: [ES_WALLET_PRESENT_CREDENTIALS_FULL]  \nOperation: 'present-credentials-full'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nPresents verifiable credentials to a verifier using the full OpenID4VP flow. This endpoint handles the complete presentation process including parsing the presentation request, selecting appropriate credentials, building the verifiable presentation, and submitting it to the verifier.\n\n**Use Cases:**\n- Present credentials to verifiers for authentication or authorization\n- Complete credential presentation flows in a single request\n- Support both presentation definition and legacy presentation request formats\n- Handle credential selection and disclosure automatically\n- Integrate wallet presentation capabilities into applications\n\n**Important Notes:**\n- Supports both modern OpenID4VP flows and legacy presentation definition formats\n- Automatically handles credential selection based on presentation requirements\n- Can use service references (key, DID) or direct values\n- Supports selective disclosure for SD-JWT credentials\n- Handles MDoc credentials when present in the request\n- Credentials can be manually selected or automatically matched to requirements\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Presentation request with verifier URL, credentials, and signing keys",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.present.WalletPresentRequest"
              },
              "examples" : {
                "Use referenced services" : {
                  "value" : {
                    "requestUrl" : "openid-credential-offer://issuer.example/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example%2Fissue%2FcredentialOffer%3Fid%ABC1234567890XYZ",
                    "keyReference" : "org1.tenant.kms.wallet_key",
                    "didReference" : "org1.tenant.didstore.wallet_did",
                    "credentials" : [ {
                      "credential" : "org1.users.user1.credentialstore.credential1"
                    }, {
                      "credential" : "org1.users.user1.credentialstore.credential2",
                      "disclosures" : [ "$.name", "$.credentialSubject.achievement.description" ]
                    }, {
                      "credential" : "org1.users.user1.credentialstore.credential3"
                    } ]
                  }
                },
                "Use referenced key" : {
                  "value" : {
                    "requestUrl" : "openid-credential-offer://issuer.example/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example%2Fissue%2FcredentialOffer%3Fid%ABC1234567890XYZ",
                    "keyReference" : "org1.tenant.kms.wallet_key",
                    "credentials" : [ {
                      "credential" : "org1.users.user1.credentialstore.credential1"
                    }, {
                      "credential" : "org1.users.user1.credentialstore.credential2",
                      "disclosures" : [ "$.name", "$.credentialSubject.achievement.description" ]
                    }, {
                      "credential" : "org1.users.user1.credentialstore.credential3"
                    } ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Presentation was accepted by the verifier",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                }
              }
            }
          },
          "400" : {
            "description" : "Presentation failed - invalid request, missing credentials, or verifier rejection",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to present credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/client-attestation/obtain" : {
      "post" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "Obtain and store a client attestation JWT for this wallet",
        "description" : "Permissions: ANY OF: [ES_WALLET_OBTAIN_CLIENT_ATTESTATION]  \nOperation: 'ES_WALLET_OBTAIN_CLIENT_ATTESTATION'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nCalls the linked ClientAttesterService, binds the attestation to the wallet instance's public key, and stores the result. If an attestation already exists it is refreshed.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Requires body of JSON value for Obtain Client Attestation Request.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.attestation.ObtainClientAttestationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/client-attestation/current" : {
      "get" : {
        "tags" : [ "Service | Wallet Service" ],
        "summary" : "View the currently stored client attestation JWT for this wallet",
        "description" : "Permissions: ANY OF: [ES_WALLET_GET_CURRENT_CLIENT_ATTESTATION]  \nOperation: 'ES_WALLET_GET_CURRENT_CLIENT_ATTESTATION'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/credentials/present" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated present operations" ],
        "summary" : "Present credentials to verifier (isolated)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_PRESENT_CREDENTIALS]  \nOperation: 'isolated-present-credentials'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nPresents verifiable credentials to a verifier using an isolated flow where the presentation request is already parsed. This endpoint performs the credential presentation step after the request has been resolved, allowing for more granular control over the presentation process.\n\n**Use Cases:**\n- Present credentials when the presentation request is already parsed\n- Integrate with custom presentation request resolution logic\n- Perform isolated presentation operations in multi-step flows\n- Test and debug presentation functionality independently\n- Build custom presentation workflows with fine-grained control\n\n**Important Notes:**\n- Requires a pre-parsed AuthorizationRequest instead of a URL\n- Credentials must be provided as a list of credential strings\n- Can use service references (key, DID) or direct values\n- Automatically builds verifiable presentation and presentation submission\n- Returns success status only, not the full presentation response\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Isolated presentation request with parsed authorization request and credentials",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.present.IsolatedWalletPresentRequest"
              },
              "examples" : {
                "Use referenced services" : {
                  "value" : {
                    "requestUrl" : "openid4vp://authorize?response_type=vp_token&client_id=https%3A%2F%2Fverifier.example.org%2Fopenid4vc%2Fverify&response_mode=direct_post&state=AAA_BBB_CCC_DDD&presentation_definition_uri=https%3A%2F%2Fverifier.example.org%2Fopenid4vc%2Fpd%2FAAA_BBB_CCC_DDD&client_id_scheme=redirect_uri&client_metadata=%7B%22authorization_encrypted_response_alg%22%3A%22ECDH-ES%22%2C%22authorization_encrypted_response_enc%22%3A%22A256GCM%22%7D&nonce=aaaaaaaa-bbbb-cccc-dddd-ffffffffffff&response_uri=https%3A%2F%2Fverifier.example.org%2Fopenid4vc%2Fverify%2FAAA_BBB_CCC_DDD",
                    "keyReference" : "example.kms.wallet_key",
                    "didReference" : "example.didstore.wallet_did"
                  }
                },
                "Provide direct values (do not reference services)" : {
                  "value" : {
                    "requestUrl" : "openid4vp://authorize?response_type=vp_token&client_id=https%3A%2F%2Fverifier.example.org%2Fopenid4vc%2Fverify&response_mode=direct_post&state=AAA_BBB_CCC_DDD&presentation_definition_uri=https%3A%2F%2Fverifier.example.org%2Fopenid4vc%2Fpd%2FAAA_BBB_CCC_DDD&client_id_scheme=redirect_uri&client_metadata=%7B%22authorization_encrypted_response_alg%22%3A%22ECDH-ES%22%2C%22authorization_encrypted_response_enc%22%3A%22A256GCM%22%7D&nonce=aaaaaaaa-bbbb-cccc-dddd-ffffffffffff&response_uri=https%3A%2F%2Fverifier.example.org%2Fopenid4vc%2Fverify%2FAAA_BBB_CCC_DDD",
                    "key" : {
                      "type" : "jwk",
                      "jwk" : {
                        "kty" : "OKP",
                        "d" : "kdZ8pbtRpQ1jD6TBNJa-edK4q3zUDO3G-iTXwiuEGKk",
                        "crv" : "Ed25519",
                        "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                        "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                      }
                    },
                    "did" : "did:key:z6MkoYJEUFN6wbeFPKeLne5yL42QNy8uBqDSDezrwG1ovfnx"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Presentation was accepted by the verifier",
            "headers" : { }
          },
          "400" : {
            "description" : "Presentation failed - invalid request, missing credentials, or verifier rejection",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to present credentials",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/authorization-request/resolve" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated present operations" ],
        "summary" : "Resolve authorization request and get verifier metadata",
        "description" : "Permissions: ANY OF: [ES_WALLET_PRESENT_CREDENTIALS_FULL]  \nOperation: 'isolated-resolve-authorization-request'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nResolves an OpenID4VP authorization request URL and returns the parsed authorization request along with verifier display metadata. This endpoint allows wallets to preview the verifier's identity and request details before proceeding with credential presentation.\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "The authorization request URL to resolve (e.g., openid4vp://authorize?...)",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Authorization request URL" : {
                  "value" : "openid4vp://authorize?client_id=https://verifier.example.com&request_uri=https://verifier.example.com/request/abc123"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Authorization request resolved successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.present.WalletCredentialsPresent.ResolvedAuthorizationRequest"
                },
                "examples" : {
                  "Resolved request with verifier metadata" : {
                    "value" : {
                      "authorizationRequest" : {
                        "response_type" : "vp_token",
                        "client_id" : "https://verifier.example.com",
                        "state" : "xyz789",
                        "nonce" : "abc123"
                      },
                      "verifierMetadata" : {
                        "clientName" : "Example Verifier",
                        "logoUri" : "https://verifier.example.com/logo.png",
                        "tosUri" : "https://verifier.example.com/terms",
                        "policyUri" : "https://verifier.example.com/privacy"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid authorization request URL or format",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/offer/resolve" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated receive operations" ],
        "summary" : "Resolve credential offer URL",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RESOLVE_OFFER]  \nOperation: 'isolated-resolve-offer'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nResolves a credential offer URL to a credential offer object. This endpoint parses credential offer information from either a `credential_offer` parameter or a `credential_offer_uri` parameter in the provided URL.\n\n**Use Cases:**\n- Parse credential offer URLs received from issuers\n- Extract credential offer information from deep links\n- Resolve credential offer URIs to credential offer objects\n- Prepare credential offer data for subsequent issuance steps\n\n**Important Notes:**\n- Accepts credential offer URLs in OpenID4VCI format\n- Extracts offer from `credential_offer` or `credential_offer_uri` parameters\n- Returns a structured CredentialOffer object\n- Used as the first step in isolated credential issuance flows\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Credential offer URL containing credential offer or credential offer URI",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Credential offer URL" : {
                  "value" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Resolved credential offer",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialOffer"
                },
                "examples" : {
                  "Resolved credential offer" : {
                    "value" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "grants" : {
                        "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                          "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                          "user_pin_required" : false
                        }
                      },
                      "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ]
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed URL or missing credential offer parameters",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/provider-metadata/view" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated receive operations" ],
        "summary" : "Get provider metadata for credential offer",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_PROVIDER_METADATA]  \nOperation: 'isolated-provider-metadata'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the OpenID Provider metadata for a credential issuer based on the credential offer. This endpoint calls the metadata endpoint referenced in the `credentialIssuer` field of the credential offer to obtain issuer configuration and capabilities.\n\n**Use Cases:**\n- Retrieve issuer configuration and capabilities\n- Obtain supported credential formats and configurations\n- Get issuer endpoint URLs for token and credential requests\n- Prepare issuer metadata for credential issuance flows\n- Validate issuer capabilities before requesting credentials\n\n**Important Notes:**\n- Calls the metadata endpoint specified in the credential offer's `credentialIssuer` field\n- Returns OpenID Provider metadata including supported formats and endpoints\n- Required for understanding issuer capabilities and configuration\n- Used in isolated credential issuance flows to gather issuer information\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Credential offer containing credentialIssuer reference",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialOffer"
              },
              "examples" : {
                "Credential offer" : {
                  "value" : {
                    "credential_issuer" : "https://issuer.example.org",
                    "grants" : {
                      "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                        "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                        "user_pin_required" : false
                      }
                    },
                    "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Provider metadata for the credential issuer",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.oid4vc.data.OpenIDProviderMetadata"
                },
                "examples" : {
                  "Provider metadata" : {
                    "value" : {
                      "token_endpoint" : "https://issuer.example.org/token",
                      "scopes_supported" : [ "openid", "org.iso.23220.photoid.1" ],
                      "response_modes_supported" : [ "query", "fragment" ],
                      "grant_types_supported" : [ "authorization_code", "urn:ietf:params:oauth:grant-type:pre-authorized_code" ],
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "cryptographic_binding_methods_supported" : [ "did", "jwk" ],
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing credentialIssuer or malformed credential offer",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/offer/credentials/view" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated receive operations" ],
        "summary" : "Get offered credentials for credential offer",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_OFFER_CREDENTIALS]  \nOperation: 'isolated-offered-credentials'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nProcesses a credential offer and provider metadata combination to extract the list of offered credentials. This endpoint retrieves credential information from `credentialConfigurationsSupported` and `credentialSupported` for supported credentials, and from `credentialConfigurationIds` and `credentials` for credential IDs.\n\n**Use Cases:**\n- Extract offered credential information from offer and metadata\n- Identify which credentials are available in an offer\n- Get credential format and configuration details\n- Prepare credential selection for issuance requests\n- Understand credential options before requesting issuance\n\n**Important Notes:**\n- Requires both credential offer and provider metadata\n- Extracts credential information from multiple metadata fields\n- Returns list of OfferedCredential objects with format and configuration details\n- Used in isolated credential issuance flows to identify available credentials\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Resolved offer with provider metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.core.CoreWalletOpenId4VCI.ResolvedOfferWithProviderMetadata"
              },
              "examples" : {
                "Provide resolved offer and provider metadata (fastest)" : {
                  "value" : {
                    "resolvedOffer" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "grants" : {
                        "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                          "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                          "user_pin_required" : false
                        }
                      },
                      "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ]
                    },
                    "providerMetadata" : {
                      "token_endpoint" : "https://issuer.example.org/token",
                      "scopes_supported" : [ "openid", "org.iso.23220.photoid.1" ],
                      "response_modes_supported" : [ "query", "fragment" ],
                      "grant_types_supported" : [ "authorization_code", "urn:ietf:params:oauth:grant-type:pre-authorized_code" ],
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "cryptographic_binding_methods_supported" : [ "did", "jwk" ],
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                },
                "Provide offer URL and provider metadata" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789",
                    "providerMetadata" : {
                      "token_endpoint" : "https://issuer.example.org/token",
                      "scopes_supported" : [ "openid", "org.iso.23220.photoid.1" ],
                      "response_modes_supported" : [ "query", "fragment" ],
                      "grant_types_supported" : [ "authorization_code", "urn:ietf:params:oauth:grant-type:pre-authorized_code" ],
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "cryptographic_binding_methods_supported" : [ "did", "jwk" ],
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                },
                "Provide only offer URL (will resolve both)" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "List of offered credentials with format and configuration information",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.oid4vc.data.OfferedCredential"
                  },
                  "title" : "List<OfferedCredential>"
                },
                "examples" : {
                  "Offered credentials" : {
                    "value" : [ {
                      "format" : "jwt_vc_json",
                      "credential_definition" : {
                        "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                      }
                    } ]
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing offer or metadata, or malformed data",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/token-request/send" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated receive operations" ],
        "summary" : "Send token request",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST]  \nOperation: 'isolated-token-request'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSends a token request to the credential issuer using grants from the credential offer. This endpoint uses the authorization grant or pre-authorized code grant from the credential offer to request an access token, then validates the issuer's token response.\n\n**Use Cases:**\n- Exchange credential offer grants for access tokens\n- Obtain authorization to request credentials from issuer\n- Complete token exchange step in credential issuance flow\n- Validate issuer token responses\n- Prepare for credential request with valid access token\n\n**Important Notes:**\n- Uses grants from the credential offer (authorization or pre-authorized code)\n- Sends token request to issuer's token endpoint\n- Validates the token response from the issuer\n- Returns TokenResponse containing access token and c_nonce\n- Required step before requesting credentials from issuer\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Resolved offer with provider metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.core.CoreWalletOpenId4VCI.ResolvedOfferWithProviderMetadata"
              },
              "examples" : {
                "Provide resolved offer and provider metadata (fastest)" : {
                  "value" : {
                    "resolvedOffer" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "grants" : {
                        "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                          "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                          "user_pin_required" : false
                        }
                      },
                      "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ]
                    },
                    "providerMetadata" : {
                      "token_endpoint" : "https://issuer.example.org/token",
                      "scopes_supported" : [ "openid", "org.iso.23220.photoid.1" ],
                      "response_modes_supported" : [ "query", "fragment" ],
                      "grant_types_supported" : [ "authorization_code", "urn:ietf:params:oauth:grant-type:pre-authorized_code" ],
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "cryptographic_binding_methods_supported" : [ "did", "jwk" ],
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                },
                "Provide offer URL and provider metadata" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789",
                    "providerMetadata" : {
                      "token_endpoint" : "https://issuer.example.org/token",
                      "scopes_supported" : [ "openid", "org.iso.23220.photoid.1" ],
                      "response_modes_supported" : [ "query", "fragment" ],
                      "grant_types_supported" : [ "authorization_code", "urn:ietf:params:oauth:grant-type:pre-authorized_code" ],
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "cryptographic_binding_methods_supported" : [ "did", "jwk" ],
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                },
                "Provide only offer URL (will resolve both)" : {
                  "value" : {
                    "offerUrl" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Token response containing access token and c_nonce",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.oid4vc.responses.TokenResponse"
                },
                "examples" : {
                  "Token response" : {
                    "value" : {
                      "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "token_type" : "Bearer",
                      "c_nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA="
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing grants, invalid offer, or token request failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/proof-Of-possession" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated receive operations" ],
        "summary" : "Sign proof of possession",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_PROOF_OF_POSSESSION]  \nOperation: 'proof-Of-possession'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSigns a proof of possession, especially the `c_nonce` value from the token response, to demonstrate control of the holder key. This proof is required when calling the credential endpoint to receive credentials from the issuer.\n\n**Use Cases:**\n- Generate proof of possession for credential requests\n- Sign c_nonce from token response with holder key\n- Demonstrate control of cryptographic keys to issuer\n- Prepare proof for credential endpoint requests\n- Complete proof of possession step in issuance flow\n\n**Important Notes:**\n- Signs the c_nonce value from the token response\n- Uses the holder key to generate the proof\n- Required before calling credential endpoint\n- Returns ProofOfPossession object (typically JWT format)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Proof of possession request with holder key, nonce, and issuer information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.receive.IsolatedSignProofOfPossession"
              },
              "examples" : {
                "Proof of possession request" : {
                  "value" : {
                    "holderKey" : {
                      "type" : "jwk",
                      "jwk" : {
                        "kty" : "OKP",
                        "d" : "kdZ8pbtRpQ1jD6TBNJa-edK4q3zUDO3G-iTXwiuEGKk",
                        "crv" : "Ed25519",
                        "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                        "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                      }
                    },
                    "credentialIssuerUrl" : "https://issuer.example.org",
                    "clientId" : "enterprise-wallet",
                    "nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA=",
                    "proofKeyId" : "did:key:z6MkoYJEUFN6wbeFPKeLne5yL42QNy8uBqDSDezrwG1ovfnx#h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Signed proof of possession",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.oid4vc.data.ProofOfPossession"
                },
                "examples" : {
                  "Signed proof of possession" : {
                    "value" : {
                      "proof_type" : "jwt",
                      "jwt" : "eyJraWQiOiJkaWQ6a2V5Ono2TWtvWUpFVUZONndiZUZQS2VMbmU1eUw0MlFOeTh1QnFEU0RlenJ3RzFvdmZueCNoOVR6eTFIWXBTQTNDUU5oR2M4RVhvdkxjeTBVMGl1SnhvZllRR3ZodmxVIiwidHlwIjoib3BlbmlkNHZjaS1wcm9vZitqd3QiLCJhbGciOiJFZERTQSIsImp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiaDlUenkxSFlwU0EzQ1FOaEdjOEVYb3ZMY3kwVTBpdUp4b2ZZUUd2aHZsVSIsIngiOiJod09QVkdMT3NVYUkwekJCcjdQQ0c1SUkydV9UbnJDN01nTUNXNWNhdEtrIn19.eyJpc3MiOiJlbnRlcnByaXNlLXdhbGxldCIsInN1YiI6ImVudGVycHJpc2Utd2FsbGV0IiwianRpIjoiMzFiYTgyNjItNGFmOS00MjNiLWJmY2EtNTljZDk2ODViMTUzIiwiYXVkIjoiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS5vcmciLCJpYXQiOjE3NzQzODgyODMsImV4cCI6MTc3NDM4ODU4Mywibm9uY2UiOiI4eEZRNWo5UThMLTNQVWRubDRSV3hYZ0I3b05jM21LMnBMOXZSNnRZMXpBPSJ9.ARKjG_B6XfRtcVRkCjiGqBadhokOo2JOh3oLNjP5od0IKYC3BDbGNQeM_Wa1NH8SSA1dpcqhN75Koiatm7oCCA"
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing key, nonce, or signing failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/wallet-service-api/isolated/credential/receive" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Isolated receive operations" ],
        "summary" : "Receive offered credential",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RECEIVE_CREDENTIAL]  \nOperation: 'isolated-receive-credential'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSends a credential request to the issuer's credential endpoint using all previously gathered data (offered credential, proof of possession, token response, and provider metadata) to receive the issued credential. The received credential is automatically stored in all linked Credential Stores.\n\n**Use Cases:**\n- Request and receive credentials from issuers\n- Complete the final step of credential issuance flow\n- Store received credentials in credential stores\n- Use isolated issuance flow with pre-gathered data\n- Receive credentials after completing all prerequisite steps\n\n**Important Notes:**\n- Requires all prerequisite data: offered credential, proof of possession, token response, and provider metadata\n- Sends credential request to issuer's credential endpoint\n- Automatically stores received credential in all linked Credential Stores\n- Returns CredentialResponse with the issued credential\n- Used as the final step in isolated credential issuance flows\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Receive credential request with offered credential, proof of possession, token response, and provider metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
              },
              "examples" : {
                "Receive credential request" : {
                  "value" : {
                    "offeredCredential" : {
                      "format" : "jwt_vc_json",
                      "credential_definition" : {
                        "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                      }
                    },
                    "proofOfPossession" : {
                      "proof_type" : "jwt",
                      "jwt" : "eyJraWQiOiJkaWQ6a2V5Ono2TWtvWUpFVUZONndiZUZQS2VMbmU1eUw0MlFOeTh1QnFEU0RlenJ3RzFvdmZueCNoOVR6eTFIWXBTQTNDUU5oR2M4RVhvdkxjeTBVMGl1SnhvZllRR3ZodmxVIiwidHlwIjoib3BlbmlkNHZjaS1wcm9vZitqd3QiLCJhbGciOiJFZERTQSIsImp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoiaDlUenkxSFlwU0EzQ1FOaEdjOEVYb3ZMY3kwVTBpdUp4b2ZZUUd2aHZsVSIsIngiOiJod09QVkdMT3NVYUkwekJCcjdQQ0c1SUkydV9UbnJDN01nTUNXNWNhdEtrIn19.eyJpc3MiOiJlbnRlcnByaXNlLXdhbGxldCIsInN1YiI6ImVudGVycHJpc2Utd2FsbGV0IiwianRpIjoiMzFiYTgyNjItNGFmOS00MjNiLWJmY2EtNTljZDk2ODViMTUzIiwiYXVkIjoiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS5vcmciLCJpYXQiOjE3NzQzODgyODMsImV4cCI6MTc3NDM4ODU4Mywibm9uY2UiOiI4eEZRNWo5UThMLTNQVWRubDRSV3hYZ0I3b05jM21LMnBMOXZSNnRZMXpBPSJ9.ARKjG_B6XfRtcVRkCjiGqBadhokOo2JOh3oLNjP5od0IKYC3BDbGNQeM_Wa1NH8SSA1dpcqhN75Koiatm7oCCA"
                    },
                    "tokenResponse" : {
                      "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "token_type" : "Bearer",
                      "c_nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA="
                    },
                    "providerMetadata" : {
                      "token_endpoint" : "https://issuer.example.org/token",
                      "scopes_supported" : [ "openid", "org.iso.23220.photoid.1" ],
                      "response_modes_supported" : [ "query", "fragment" ],
                      "grant_types_supported" : [ "authorization_code", "urn:ietf:params:oauth:grant-type:pre-authorized_code" ],
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "cryptographic_binding_methods_supported" : [ "did", "jwk" ],
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    },
                    "metadata" : {
                      "source" : "issuer.example.org",
                      "timestamp" : "2024-01-15T10:30:00Z"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credential received and stored successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                },
                "examples" : {
                  "Credential response" : {
                    "value" : {
                      "format" : "jwt_vc_json",
                      "credential" : "eyJraWQiOiJFeEhrQk1XOWZtYmt2VjI2Nm1ScHVQMnNVWV9OX0VXSU4xbGFwVXpPOHJvIiwiYWxnIjoiRVMyNTYifQ.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiXSwiaWQiOiJodHRwOi8vdW5pdmVyc2l0eS5leGFtcGxlL2NyZWRlbnRpYWxzLzM3MzIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiRXhhbXBsZURlZ3JlZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiaHR0cHM6Ly91bml2ZXJzaXR5LmV4YW1wbGUvaXNzdWVycy81NjUwNDkiLCJ2YWxpZEZyb20iOiIyMDEwLTAxLTAxVDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6ZWJmZWIxZjcxMmViYzZmMWMyNzZlMTJlYzIxIiwiZGVncmVlIjp7InR5cGUiOiJFeGFtcGxlQmFjaGVsb3JEZWdyZWUiLCJuYW1lIjoiQmFjaGVsb3Igb2YgU2NpZW5jZSBhbmQgQXJ0cyJ9fX0.MA98XcfFDHT1NbcrNqxKRokCHvyqh3sUutKf8Eo69wRK0Bagn_kMfda62RUpTCIWymNo4IJCLlDQyBnLLJ4GUQ"
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing required data, invalid proof, or credential request failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/pre-authorized" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance" ],
        "summary" : "Receive credential(s) - dedicated pre-authorized code flow",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'wallet2-receive-credential-pre-authorized'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nDedicated pre-authorized-code receive endpoint (full server-side flow). Functionally equivalent to /credentials/receive for pre-authorized offers; provided for parity with the previous authorized/pre-authorized split. Supports inline key (key) or attached key-store key (keyId), inline or attached-store DID (did), tx_code, and optional attestation-based client authentication (useClientAttestation). For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet2.Wallet2PreAuthorizedReceiveRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ReceiveCredentialResult"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request, invalid offer, or missing/expired client attestation",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credential/receive/authorized" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2  | receive operations " ],
        "summary" : "Receive credential with authorization (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RECEIVE_CREDENTIAL]  \nOperation: 'authorized-receive-credential'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nReceives a verifiable credential from an issuer using previously obtained authorization. This endpoint uses the token response from a completed authorization flow to request and receive credentials from the issuer's credential endpoint.\n\n**Use Cases:**\n- Complete credential issuance after authorization code flow\n- Receive credentials using pre-obtained access token\n- Support isolated credential receiving with manual authorization\n- Store received credentials in linked credential stores\n\n**Important Notes:**\n- Requires valid token response from previous token exchange\n- Requires issuer metadata for credential configuration\n- Automatically signs proof of possession if required by issuer\n- Stores received credentials in all linked Credential Stores\n- Supports both DID and JWK-based key binding\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Credential receive request with token response, credential configuration, and key/DID information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.receive.WalletCredentialsReceiveNew.ReceiveCredentialNewRequest"
              },
              "examples" : {
                "Using referenced services (wallet_key and wallet_did)" : {
                  "value" : {
                    "credentialEndpoint" : "https://issuer.example.org/credential",
                    "tokenResponse" : {
                      "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "token_type" : "Bearer",
                      "c_nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA="
                    },
                    "credentialConfigurationId" : "NaturalPersonVerifiableID_jwt_vc",
                    "didReference" : "example.didstore.wallet_did",
                    "keyReference" : "example.kms.wallet_key",
                    "metadata" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                },
                "Using direct DID" : {
                  "value" : {
                    "credentialEndpoint" : "https://issuer.example.org/credential",
                    "tokenResponse" : {
                      "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "token_type" : "Bearer",
                      "c_nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA="
                    },
                    "credentialConfigurationId" : "NaturalPersonVerifiableID_jwt_vc",
                    "did" : "did:key:z6MkoYJEUFN6wbeFPKeLne5yL42QNy8uBqDSDezrwG1ovfnx",
                    "metadata" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credentials received and stored successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
                  },
                  "title" : "ArrayList<JsonObject>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing required data, invalid token, or credential request failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/isolated/offer/resolve" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2 | Isolated receive operations" ],
        "summary" : "Resolve credential offer URL (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RESOLVE_OFFER]  \nOperation: 'isolated-resolve-offer'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nResolves a credential offer URL to a credential offer object using the new OpenID4VCI library. This endpoint parses credential offer information from either a `credential_offer` parameter or a `credential_offer_uri` parameter in the provided URL.\n\n**Use Cases:**\n- Parse credential offer URLs received from issuers\n- Extract credential offer information from deep links\n- Resolve credential offer URIs to credential offer objects\n- Prepare credential offer data for subsequent issuance steps\n\n**Important Notes:**\n- Accepts credential offer URLs in OpenID4VCI format\n- Extracts offer from `credential_offer` or `credential_offer_uri` parameters\n- Returns a structured CredentialOffer object (new format)\n- Used as the first step in isolated credential issuance flows\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Credential offer URL containing credential offer or credential offer URI",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Credential offer URL" : {
                  "value" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Resolved credential offer",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.openid4vci.offers.CredentialOffer"
                },
                "examples" : {
                  "Resolved credential offer" : {
                    "value" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ],
                      "grants" : {
                        "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                          "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                          "tx_code" : {
                            "input_mode" : "numeric",
                            "length" : 6
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed URL or missing credential offer parameters",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/isolated/metadata/view" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2 | Isolated receive operations" ],
        "summary" : "Get issuer metadata for credential offer (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_PROVIDER_METADATA]  \nOperation: 'isolated-metadata'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the credential issuer metadata for a credential offer. This endpoint calls the metadata endpoint referenced in the `credentialIssuer` field of the credential offer to obtain issuer configuration and capabilities.\n\n**Use Cases:**\n- Retrieve issuer configuration and capabilities\n- Obtain supported credential formats and configurations\n- Get issuer endpoint URLs for token and credential requests\n- Prepare issuer metadata for credential issuance flows\n- Validate issuer capabilities before requesting credentials\n\n**Important Notes:**\n- Accepts a CredentialOffer object as input\n- Returns CredentialIssuerMetadata with full issuer configuration\n- Required for understanding issuer capabilities and configuration\n- Used in isolated credential issuance flows to gather issuer information\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Credential offer containing credentialIssuer reference",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.openid4vci.offers.CredentialOffer"
              },
              "examples" : {
                "Credential offer" : {
                  "value" : {
                    "credential_issuer" : "https://issuer.example.org",
                    "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ],
                    "grants" : {
                      "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                        "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                        "tx_code" : {
                          "input_mode" : "numeric",
                          "length" : 6
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Credential issuer metadata",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialIssuerMetadata"
                },
                "examples" : {
                  "Issuer metadata" : {
                    "value" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          },
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "cryptographic_binding_methods_supported" : [ "jwk" ],
                          "proof_types_supported" : {
                            "jwt" : {
                              "proof_signing_alg_values_supported" : [ "ES256", "ES256K", "EdDSA" ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing credentialIssuer or malformed credential offer",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/isolated/offer/credentials/view" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2 | Isolated receive operations" ],
        "summary" : "Get offered credentials from offer and metadata (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_OFFER_CREDENTIALS]  \nOperation: 'isolated-offered-credentials'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nProcesses a credential offer and issuer metadata combination to extract the list of offered credentials. This endpoint retrieves credential information from the metadata's credential configurations and the offer's credential configuration IDs.\n\n**Use Cases:**\n- Extract offered credential information from offer and metadata\n- Identify which credentials are available in an offer\n- Get credential format and configuration details\n- Prepare credential selection for issuance requests\n- Understand credential options before requesting issuance\n\n**Important Notes:**\n- Requires both credential offer and issuer metadata\n- Extracts credential information from metadata configurations\n- Returns list of ResolvedCredentialOffer objects with format and configuration details\n- Used in isolated credential issuance flows to identify available credentials\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Resolved offer with issuer metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.core2.WalletCoreOpenid4vciNew.ResolvedOfferWithMetadata"
              },
              "examples" : {
                "Resolved offer with metadata" : {
                  "value" : {
                    "offer" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ],
                      "grants" : {
                        "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                          "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                          "tx_code" : {
                            "input_mode" : "numeric",
                            "length" : 6
                          }
                        }
                      }
                    },
                    "metadata" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          },
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "cryptographic_binding_methods_supported" : [ "jwk" ],
                          "proof_types_supported" : {
                            "jwt" : {
                              "proof_signing_alg_values_supported" : [ "ES256", "ES256K", "EdDSA" ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "List of offered credentials with format and configuration information",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.metadata.OfferedCredentialResolver.ResolvedCredentialOffer"
                  },
                  "title" : "ArrayList<OfferedCredentialResolver.ResolvedCredentialOffer>"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing offer or metadata, or malformed data",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/isolated/token-request/send" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2 | Isolated receive operations" ],
        "summary" : "Send token request (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST]  \nOperation: 'isolated-token-request'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSends a token request to the credential issuer using the pre-authorized code grant from the credential offer. This endpoint uses the authorization grant from the credential offer to request an access token and validates the issuer's token response.\n\n**Use Cases:**\n- Exchange credential offer grants for access tokens\n- Obtain authorization to request credentials from issuer\n- Complete token exchange step in credential issuance flow\n- Validate issuer token responses\n- Prepare for credential request with valid access token\n\n**Important Notes:**\n- Uses pre-authorized code grant from the credential offer\n- Sends token request to issuer's token endpoint\n- Returns TokenResponse containing access token and c_nonce\n- Required step before requesting credentials from issuer\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Resolved offer with issuer metadata",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.core2.WalletCoreOpenid4vciNew.ResolvedOfferWithMetadata"
              },
              "examples" : {
                "Resolved offer with metadata" : {
                  "value" : {
                    "offer" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_configuration_ids" : [ "NaturalPersonVerifiableID_jwt_vc" ],
                      "grants" : {
                        "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
                          "pre-authorized_code" : "SplxlOBeZQQYbYS6WxSbIA",
                          "tx_code" : {
                            "input_mode" : "numeric",
                            "length" : 6
                          }
                        }
                      }
                    },
                    "metadata" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          },
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "cryptographic_binding_methods_supported" : [ "jwk" ],
                          "proof_types_supported" : {
                            "jwt" : {
                              "proof_signing_alg_values_supported" : [ "ES256", "ES256K", "EdDSA" ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Token response containing access token and c_nonce",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.token.TokenRequestBuilder.TokenResponse"
                },
                "examples" : {
                  "Token response" : {
                    "value" : {
                      "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "token_type" : "Bearer",
                      "c_nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA="
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - missing grants, invalid offer, or token request failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/isolated/authorization-url/generate" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2 | Isolated receive operations" ],
        "summary" : "Generate authorization URL (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST]  \nOperation: 'isolated-authorization-url-generate'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nGenerates an authorization URL for the authorization code flow in OpenID4VCI. This endpoint resolves the credential offer, fetches issuer metadata, and constructs an authorization request URL with PKCE support if available.\n\n**Use Cases:**\n- Initiate authorization code flow for credential issuance\n- Generate authorization URLs with PKCE for secure token exchange\n- Redirect users to issuer authorization endpoint\n- Support authorization code grant type in credential offers\n\n**Important Notes:**\n- Accepts a credential offer URL as input\n- Automatically resolves offer and fetches issuer metadata\n- Supports PKCE if issuer supports S256 code challenge method\n- Returns authorization URL with state and optional code verifier\n- Optional redirectUri parameter (defaults to http://localhost:3000/isolated/credentials/receive)\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Authorization URL generation request with offer URL and optional redirect URI",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.receive.WalletCredentialsReceiveNew.ResolveAuthorizationUrlRequestV2"
              },
              "examples" : {
                "Authorization URL request" : {
                  "value" : {
                    "offer" : "openid-credential-offer://issuer.example.org/issue/?credential_offer_uri=https%3A%2F%2Fissuer.example.org%2FcredentialOffer%3Fabc123xyz789",
                    "redirectUri" : "http://localhost:3000/isolated/credentials/receive"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Authorization request with URL, state, and optional code verifier",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.authorization.AuthorizationRequestBuilder.AuthorizationRequest"
                },
                "examples" : {
                  "Authorization request" : {
                    "value" : {
                      "url" : "https://issuer.example.org/authorize?response_type=code&client_id=enterprise-wallet&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fisolated%2Fcredentials%2Freceive&scope=openid&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM&code_challenge_method=S256&state=abc123",
                      "state" : "abc123",
                      "pkceData" : {
                        "codeVerifier" : "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
                        "codeChallenge" : "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
                        "codeChallengeMethod" : "S256"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - malformed offer URL or missing authorization endpoint",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/isolated/token-request/exchange-code" : {
      "post" : {
        "tags" : [ "Service | Wallet Service | Version 2 | Isolated receive operations" ],
        "summary" : "Exchange authorization code for token (new)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST]  \nOperation: 'isolated-token-exchange-code'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nExchanges an authorization code for an access token. This endpoint is used after the user completes authorization at the issuer's authorization endpoint and is redirected back with an authorization code.\n\n**Use Cases:**\n- Complete authorization code flow after user authorization\n- Exchange authorization code for access token\n- Support PKCE verification during token exchange\n- Obtain access token for credential requests\n\n**Important Notes:**\n- Requires issuer metadata with token endpoint\n- Accepts authorization code from redirect callback\n- Optional PKCE verifier for enhanced security\n- Returns TokenResponse with access token and c_nonce\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Token exchange request with issuer metadata, authorization code, and optional PKCE verifier",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.receive.WalletCredentialsReceiveNew.ExchangeTokenWithAuthorizationCodeRequest"
              },
              "examples" : {
                "Token exchange request" : {
                  "value" : {
                    "metadata" : {
                      "credential_issuer" : "https://issuer.example.org",
                      "credential_endpoint" : "https://issuer.example.org/credential",
                      "credential_configurations_supported" : {
                        "NaturalPersonVerifiableID_jwt_vc" : {
                          "format" : "jwt_vc_json",
                          "credential_definition" : {
                            "type" : [ "VerifiableCredential", "VerifiableAttestation", "NaturalPersonVerifiableID" ]
                          },
                          "credential_signing_alg_values_supported" : [ "ES256", "ES256K" ],
                          "cryptographic_binding_methods_supported" : [ "jwk" ],
                          "proof_types_supported" : {
                            "jwt" : {
                              "proof_signing_alg_values_supported" : [ "ES256", "ES256K", "EdDSA" ]
                            }
                          }
                        }
                      }
                    },
                    "code" : "SplxlOBeZQQYbYS6WxSbIA",
                    "pkceVerifier" : "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
                    "redirectUri" : "http://localhost:3000/isolated/credentials/receive"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Token response containing access token and c_nonce",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.token.TokenRequestBuilder.TokenResponse"
                },
                "examples" : {
                  "Token response" : {
                    "value" : {
                      "access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "token_type" : "Bearer",
                      "c_nonce" : "8xFQ5j9Q8L-3PUdnl4RWxXgB7oNc3mK2pL9vR6tY1zA="
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request - invalid authorization code, PKCE mismatch, or token request failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions",
            "headers" : { }
          }
        },
        "deprecated" : true,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Management" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | Wallet2 Service - Management" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Wallet Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/wallet"
              },
              "examples" : {
                "Wallet with default configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "parent" : "example"
                  }
                },
                "Wallet with static DID and key" : {
                  "value" : {
                    "_id" : "example.service",
                    "configuration" : {
                      "staticDid" : "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
                      "staticKey" : {
                        "type" : "jwk",
                        "jwk" : {
                          "kty" : "OKP",
                          "d" : "kdZ8pbtRpQ1jD6TBNJa-edK4q3zUDO3G-iTXwiuEGKk",
                          "crv" : "Ed25519",
                          "kid" : "h9Tzy1HYpSA3CQNhGc8EXovLcy0U0iuJxofYQGvhvlU",
                          "x" : "hwOPVGLOsUaI0zBBr7PCG5II2u_TnrC7MgMCW5catKk"
                        }
                      }
                    },
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Management" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Management" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Management" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/keys" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Key Management" ],
        "summary" : "List keys in the wallet",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'list-wallet2-keys'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nReturns metadata for all keys across all key stores attached to this wallet. Key management (create, import, delete) is handled by the Key Management Service. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.wallet2.data.WalletKeyInfo"
                  },
                  "title" : "ArrayList<WalletKeyInfo>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/dids" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Key Management" ],
        "summary" : "List DIDs in the wallet",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'list-wallet2-dids'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nReturns all DID entries stored in the wallet's DID store. DID management (create, import, delete) is handled by the DID Service. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.wallet2.data.WalletDidEntry"
                  },
                  "title" : "ArrayList<WalletDidEntry>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Key Management" ],
        "summary" : "List credentials in the wallet (metadata only)",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'list-wallet2-credentials'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nReturns metadata for all credentials stored in the wallet's credential store(s). Raw credential data is not included - use the single-credential endpoint to retrieve it. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/id.walt.wallet2.data.StoredCredentialMetadata"
                  },
                  "title" : "ArrayList<StoredCredentialMetadata>"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/{credentialId}" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Key Management" ],
        "summary" : "Get a credential including raw credential data",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'get-wallet2-credential'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nReturns the full stored credential including the parsed digital credential. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.data.StoredCredential"
                }
              }
            }
          },
          "404" : {
            "description" : "Credential not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance" ],
        "summary" : "Receive credential(s) - full pre-authorized code flow",
        "description" : "Permissions: ANY OF: [ES_WALLET_RECEIVE_CREDENTIALS_FULL]  \nOperation: 'wallet2-receive-credential'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nResolves the offer, requests a token, signs proof-of-possession, fetches the credential(s) and stores them in the wallet's credential store. Returns the IDs of stored credentials. For deferred credentials, returns transaction IDs that can be used with the /deferred endpoint. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ReceiveCredentialRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ReceiveCredentialResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/authorized" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance" ],
        "summary" : "Receive credential(s) - authorization code flow (continue from code)",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RECEIVE_CREDENTIAL]  \nOperation: 'wallet2-receive-credential-authorized'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nCompletes the authorization-code grant from a previously obtained authorization code: exchanges the code for a token, signs proof-of-possession and fetches + stores the credential(s). Obtain the authorization code via the isolated /credentials/receive/authorization-url step and a browser redirect. Supports inline key (key) or attached key-store key, and inline/attached DID. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet2.Wallet2AuthorizedReceiveRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ReceiveCredentialResult"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request or authorization code exchange failure",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/client-attestation/obtain" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Client Attestation" ],
        "summary" : "Obtain and store a client attestation JWT for this wallet",
        "description" : "Permissions: ANY OF: [ES_WALLET_OBTAIN_CLIENT_ATTESTATION]  \nOperation: 'ES_WALLET_OBTAIN_CLIENT_ATTESTATION'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nCalls the linked ClientAttesterService, binds the attestation to the wallet instance's public key, and stores the result. If an attestation already exists it is refreshed.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Requires body of JSON value for Obtain Client Attestation Request.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.attestation.ObtainClientAttestationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/client-attestation/current" : {
      "get" : {
        "tags" : [ "Service | Wallet2 Service - Client Attestation" ],
        "summary" : "View the currently stored client attestation JWT for this wallet",
        "description" : "Permissions: ANY OF: [ES_WALLET_GET_CURRENT_CLIENT_ATTESTATION]  \nOperation: 'ES_WALLET_GET_CURRENT_CLIENT_ATTESTATION'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/present" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Presentation" ],
        "summary" : "Present credential(s) - full DCQL flow",
        "description" : "Permissions: ANY OF: [ES_WALLET_PRESENT_CREDENTIALS_FULL]  \nOperation: 'wallet2-present-credential'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nResolves the VP request, DCQL-matches credentials from the wallet's credential stores, constructs and signs the presentation(s), and submits to the verifier's response_uri. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.PresentCredentialRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.waltid.openid4vp.wallet.WalletPresentFunctionality2.WalletPresentResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/present/isolated" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Presentation" ],
        "summary" : "Present credential(s) - stateless, inline credentials",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_PRESENT_CREDENTIALS]  \nOperation: 'wallet2-present-credential-isolated'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSame as /present but credentials are supplied inline in the request body instead of being loaded from the wallet's credential stores. Useful for stateless deployments. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.PresentCredentialIsolatedRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.waltid.openid4vp.wallet.WalletPresentFunctionality2.WalletPresentResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/present/resolve-request" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Presentation" ],
        "summary" : "Isolated: parse and resolve a VP authorization request",
        "description" : "Permissions: ANY OF: [ES_WALLET_PRESENT_CREDENTIALS_FULL]  \nOperation: 'wallet2-resolve-vp-request'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nFetches and parses the VP authorization request URL, returning the nonce, client ID, and response URI. Does not require credentials. Stateless. Use this to display verifier information to the user before consent. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ResolveVpRequestRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ResolveVpRequestResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/present/match-credentials" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Presentation" ],
        "summary" : "Isolated: DCQL-match supplied credentials against a query",
        "description" : "Permissions: ANY OF: [ES_WALLET_PRESENT_CREDENTIALS_FULL]  \nOperation: 'wallet2-match-credentials'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nStateless DCQL matching - credentials must be supplied inline. Use /match-credentials-from-store to match against the wallet's own credential stores. Returns which credentials match which query IDs for consent-preview UIs. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.MatchCredentialsRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.MatchCredentialsResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/present/match-credentials-from-store" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Presentation" ],
        "summary" : "DCQL-match wallet's stored credentials against a query",
        "description" : "Permissions: ANY OF: [ES_WALLET_PRESENT_CREDENTIALS_FULL]  \nOperation: 'wallet2-match-credentials-from-store'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nLoads credentials from the wallet's credential store(s) and runs DCQL matching. No credentials need to be supplied inline. Use this to show the user which of their stored credentials satisfy the verifier's request before asking for consent. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.MatchCredentialsFromStoreRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.MatchCredentialsResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/resolve-offer" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Isolated: resolve a credential offer",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RESOLVE_OFFER]  \nOperation: 'wallet2-resolve-offer'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nFetches and parses the credential offer, returning issuer metadata and offered credential configuration IDs. Stateless - no wallet stores are accessed. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ResolveOfferRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ResolveOfferResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/request-token" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Isolated: exchange pre-authorized code for access token",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST]  \nOperation: 'wallet2-request-token'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSends a token request to the issuer's token endpoint. Stateless. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.RequestTokenRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.RequestTokenResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/sign-proof" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Isolated: sign a proof-of-possession JWT",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_PROOF_OF_POSSESSION]  \nOperation: 'wallet2-sign-proof'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nSigns a proof-of-possession JWT using the wallet's holder key. Requires the wallet to have at least one key store or a static key. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.SignProofRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.SignProofResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/fetch-credential" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Isolated: fetch a credential from the issuer's credential endpoint",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RECEIVE_CREDENTIAL]  \nOperation: 'wallet2-fetch-credential'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nFetches the credential(s) from the issuer using the access token and proof. Returns raw credential strings - does not store them. Stateless. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.FetchCredentialRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.FetchCredentialResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/authorization-url" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Auth-code grant: generate authorization redirect URL",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RESOLVE_OFFER]  \nOperation: 'wallet2-authorization-url'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nResolves the offer and builds the OAuth 2.0 authorization URL for the authorization-code grant flow. The caller must redirect to this URL and capture the returned authorization code. Stateless. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.GenerateAuthorizationUrlRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.GenerateAuthorizationUrlResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/exchange-code" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Auth-code grant: exchange authorization code for access token",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_TOKEN_SEND_REQUEST]  \nOperation: 'wallet2-exchange-code'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nExchanges the authorization code (from the redirect callback) for an access token. Stateless. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ExchangeCodeRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.RequestTokenResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v2/{target}/wallet-service-api/credentials/receive/deferred" : {
      "post" : {
        "tags" : [ "Service | Wallet2 Service - Issuance Isolated Steps" ],
        "summary" : "Poll deferred credential endpoint",
        "description" : "Permissions: ANY OF: [ES_WALLET_ISOLATED_RECEIVE_CREDENTIAL]  \nOperation: 'wallet2-poll-deferred'  \nAccepts targets: [WalletServiceReference]  \nRequires authentication.  \n\n---\nPolls the issuer's deferred credential endpoint using the transaction ID returned by a previous /receive call. Returns the stored credential IDs once the issuer has issued them. For more information, see: <a href='https://docs.walt.id/enterprise-stack/services/wallet2-service/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.wallet2.handlers.PollDeferredRequest"
              }
            }
          },
          "required" : false
        },
        "responses" : {
          "200" : {
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.wallet2.handlers.ReceiveCredentialResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/csrs" : {
      "post" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "Create a PKCS#10 certificate signing request.",
        "description" : "Permissions: ANY OF: [ES_X509_SERVICE_CREATE_CSR]  \nOperation: 'create-csr'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nCreates a stateless PKCS#10 CSR from a subject key descriptor.\n\nThe request body is profile-based:\n- `generic` creates a CSR from explicit X.509 subject data and optional SAN values.\n- `iso-document-signer` creates a CSR whose subject fields are derived from the ISO mDL Document Signer profile data.\n\nThe service does not persist CSR state. Clients submit the returned `csrPEM` later as a subject public key source when creating a certificate.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Profile-specific CSR creation request. Use `generic` for arbitrary X.509 subjects or `iso-document-signer` for ISO mDL Document Signer profile subjects.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.csr.CreateCsrRequest"
              },
              "examples" : {
                "Generic CSR: subject metadata & signing key hosted in linked KMS" : {
                  "value" : {
                    "type" : "generic",
                    "subjectKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.secp256r1"
                    },
                    "subjectName" : {
                      "commonName" : "Example Leaf",
                      "country" : "US",
                      "organizationName" : "Example Org"
                    },
                    "subjectAlternativeNames" : {
                      "dnsNames" : [ "leaf.example.com" ]
                    }
                  }
                },
                "Generic CSR: subject metadata & JWK-encoded signing key" : {
                  "value" : {
                    "type" : "generic",
                    "subjectKeyDescriptor" : {
                      "type" : "jwk-encoded-key-descriptor",
                      "jwk" : {
                        "kty" : "EC",
                        "d" : "5zvesctW1c9KlWtExySUUdu6CBEc-X4HzAt1dA4HvH8",
                        "crv" : "P-256",
                        "kid" : "S6TxkuUd6jyMlc5XV4ttsiTZKb24Z-G4DPHe6KhJVEc",
                        "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                        "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                      }
                    },
                    "subjectName" : {
                      "commonName" : "Example Leaf",
                      "country" : "US"
                    }
                  }
                },
                "ISO Document Signer CSR: profile metadata & signing key hosted in linked KMS" : {
                  "value" : {
                    "type" : "iso-document-signer",
                    "subjectKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.ds-secp256r1"
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "CSR PEM and parsed CSR metadata.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.csr.CreateCsrResponse"
                },
                "examples" : {
                  "Generic CSR response" : {
                    "value" : {
                      "csrPEM" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIB...example...\n-----END CERTIFICATE REQUEST-----",
                      "csrData" : {
                        "subjectName" : {
                          "commonName" : "Example Leaf",
                          "country" : "US",
                          "organizationName" : "Example Org"
                        },
                        "subjectAlternativeNames" : {
                          "dnsNames" : [ "leaf.example.com" ]
                        },
                        "publicKeyJwk" : {
                          "kty" : "EC",
                          "crv" : "P-256",
                          "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                          "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/certificate" : {
      "post" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "Create a generic X.509 certificate.",
        "description" : "Permissions: ANY OF: [ES_X509_SERVICE_CREATE_GENERIC_CERTIFICATE]  \nOperation: 'create-generic-certificate'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nCreates a generic X.509 CA or leaf certificate.\n\nThe subject public key can be supplied directly through a key descriptor or by submitting a CSR PEM.\nCSR input is verified for proof-of-possession before the certificate is issued. Fulfilled certificates are optionally stored in attached X.509 stores using the same storage semantics as ISO certificate creation.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Generic X.509 certificate creation request. The subject public key is supplied via `subjectPublicKeySource` (key descriptor or CSR PEM). The issuer is either self-signed or CA-signed using an issuer key descriptor.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.generic.GenericCreateCertificateRequest"
              },
              "examples" : {
                "Self-signed leaf: signing key hosted in linked KMS" : {
                  "value" : {
                    "certificateData" : {
                      "subjectName" : {
                        "commonName" : "Example Leaf",
                        "country" : "US"
                      },
                      "keyUsage" : [ "DigitalSignature" ]
                    },
                    "subjectPublicKeySource" : {
                      "type" : "key-descriptor",
                      "keyDescriptor" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.leaf-secp256r1"
                      }
                    },
                    "issuer" : {
                      "type" : "self-signed"
                    }
                  }
                },
                "CA-signed leaf: issuer and subject keys hosted in linked KMS" : {
                  "value" : {
                    "certificateData" : {
                      "subjectName" : {
                        "commonName" : "Example Intermediate CA",
                        "country" : "US"
                      },
                      "isCertificateAuthority" : true,
                      "pathLengthConstraint" : 0,
                      "keyUsage" : [ "KeyCertSign", "CRLSign" ]
                    },
                    "subjectPublicKeySource" : {
                      "type" : "key-descriptor",
                      "keyDescriptor" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "issuer" : {
                      "type" : "ca-signed",
                      "issuerKeyDescriptor" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.root-secp256r1"
                      }
                    }
                  }
                },
                "CA-signed leaf: subject key from CSR PEM (documentation placeholder)" : {
                  "value" : {
                    "storedCertificateId" : "generic-leaf-01",
                    "certificateData" : {
                      "subjectName" : {
                        "commonName" : "Example Leaf From CSR",
                        "country" : "US"
                      },
                      "keyUsage" : [ "DigitalSignature" ]
                    },
                    "subjectPublicKeySource" : {
                      "type" : "csr",
                      "csrPEM" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIB...placeholder...\n-----END CERTIFICATE REQUEST-----"
                    },
                    "issuer" : {
                      "type" : "ca-signed",
                      "issuerKeyDescriptor" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Generic certificate creation response.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.generic.GenericCreateCertificateResponse"
                },
                "examples" : {
                  "Self-signed leaf, no attached X.509 stores" : {
                    "value" : {
                      "certificatePEM" : "-----BEGIN CERTIFICATE-----\nMIIB...example...\n-----END CERTIFICATE-----",
                      "certificateData" : {
                        "subjectName" : {
                          "commonName" : "Example Leaf",
                          "country" : "US"
                        },
                        "issuerName" : {
                          "commonName" : "Example Leaf",
                          "country" : "US"
                        },
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2026-05-28T12:23:01Z",
                        "isCertificateAuthority" : false,
                        "keyUsage" : [ "DigitalSignature" ],
                        "publicKeyJwk" : {
                          "kty" : "EC",
                          "crv" : "P-256",
                          "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                          "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                        }
                      }
                    }
                  },
                  "CA-signed leaf, with attached X.509 stores" : {
                    "value" : {
                      "storedCertificateIds" : [ "org.tenant.x509-store-1.generic-leaf-01" ],
                      "certificatePEM" : "-----BEGIN CERTIFICATE-----\nMIIB...example...\n-----END CERTIFICATE-----",
                      "certificateData" : {
                        "subjectName" : {
                          "commonName" : "Example Leaf From CSR",
                          "country" : "US"
                        },
                        "issuerName" : {
                          "commonName" : "Example IACA",
                          "country" : "US"
                        },
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2026-05-28T12:23:01Z",
                        "isCertificateAuthority" : false,
                        "keyUsage" : [ "DigitalSignature" ],
                        "publicKeyJwk" : {
                          "kty" : "EC",
                          "crv" : "P-256",
                          "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                          "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/iso/iacas" : {
      "post" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "Create an Issuing Authority Certification Authority (IACA) X.509 digital certificate.",
        "description" : "Permissions: ANY OF: [ES_X509_SERVICE_CREATE_IACA_CERTIFICATE]  \nOperation: 'create-iaca-certificate'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nCreates a self-signed X.509 root certificate representing an Issuing Authority Certification Authority (IACA),\ncompliant with the ISO/IEC 18013-5 specification for mobile driver's licenses (mDL). The generated certificate\nserves as a trust anchor in the mDL public key infrastructure (PKIX).\n\nThe certificate includes:\n- Basic Constraints: `CA=true`, `pathLenConstraint=0`\n- Key Usage: `keyCertSign`, `cRLSign` (marked critical)\n- Subject Key Identifier\n- Issuer Alternative Name(s) (URI and/or email)\n- Optional CRL Distribution Point (URI)\n\n### Validations:\n- `country` must be a valid ISO 3166-1 alpha-2 country code (e.g., `\"US\"`)\n- `issuerAlternativeNameConf` must include at least one non-blank `uri` or `email`\n- Optional fields (`stateOrProvinceName`, `organizationName`, `crlDistributionPointUri`) must not be blank if specified\n- `notAfter`, if present, must be greater than `notBefore` and the current time\n- The certificate's validity period cannot exceed 20 years\n\n### Defaults:\n- If `notBefore` is not provided, the current system time is used\n- If `notAfter` is not provided, it defaults to 20 years after `notBefore`\n\n### Notes:\n- Supported keys: `secp256r1`, `secp384r1` and `secp521r1`\n\n### Storage:\n- If X.509 store dependencies are attached, the issued certificate is stored in all attached stores using one shared `storedCertificateId` (provided or generated)\n- `storedCertificateId`, when provided, must be a single child ID segment (not blank and not containing `.` or `/`)\n- If `vicalEntryComplementaryMetadata` is provided, the generated certificate is stored as a `vical-entry`; otherwise it is stored as `base`\n- If no X.509 store dependency is attached, no store write is attempted and `storedCertificateIds` is omitted from the response\n\n### Failure:\n- KMS-hosted key descriptors must resolve to a key in an attached KMS dependency; JWK-encoded keys are read directly from the request\n- The request fails if a linked dependency target is missing, if `storedCertificateId` already exists in any attached store, or if any store write fails\n- No partial persistence is kept",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Request payload for creating a new IACA (Issuing Authority Certification Authority) root certificate\n  in compliance with ISO/IEC 18013-5. The request includes metadata required to generate the self-signed\n  X.509 root certificate that will serve as a trust anchor in the mDL ecosystem.\n\n  Optional fields:\n  - `storedCertificateId`: child ID to use when storing the generated certificate in attached X.509 stores; generated when omitted.\n  - `vicalEntryComplementaryMetadata`: when provided, store as VICAL entry; otherwise store as generic certificate.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACACreateCertificateRequest"
              },
              "examples" : {
                "Required data fields, VICAL metadata & signing key hosted in linked KMS" : {
                  "value" : {
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example IACA",
                      "issuerAlternativeNameConf" : {
                        "uri" : "https://iaca.example.com"
                      }
                    },
                    "iacaKeyDesc" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.secp256r1"
                    },
                    "vicalEntryComplementaryMetadata" : {
                      "docType" : [ "org.iso.18013.5.1.mDL" ],
                      "certificateProfile" : [ "org.iso.18013.5.1.iaca" ]
                    }
                  }
                },
                "Required data fields & JWK-encoded signing key" : {
                  "value" : {
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example IACA",
                      "issuerAlternativeNameConf" : {
                        "uri" : "https://iaca.example.com"
                      }
                    },
                    "iacaKeyDesc" : {
                      "type" : "jwk-encoded-key-descriptor",
                      "jwk" : {
                        "kty" : "EC",
                        "d" : "5zvesctW1c9KlWtExySUUdu6CBEc-X4HzAt1dA4HvH8",
                        "crv" : "P-256",
                        "kid" : "S6TxkuUd6jyMlc5XV4ttsiTZKb24Z-G4DPHe6KhJVEc",
                        "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                        "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                      }
                    }
                  }
                },
                "Custom validity period & signing key hosted in linked KMS" : {
                  "value" : {
                    "certificateData" : {
                      "country" : "DE",
                      "commonName" : "Bundesdruckerei IACA",
                      "issuerAlternativeNameConf" : {
                        "uri" : "https://ca.bund.de"
                      },
                      "notBefore" : "2025-05-28T12:23:01Z",
                      "notAfter" : "2040-05-24T12:23:01Z"
                    },
                    "iacaKeyDesc" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.secp256r1"
                    }
                  }
                },
                "All data fields & signing key hosted in linked KMS" : {
                  "value" : {
                    "certificateData" : {
                      "country" : "GR",
                      "commonName" : "Η καλυτερότερη αρχή πιστοποίησης στον κόσμο",
                      "issuerAlternativeNameConf" : {
                        "email" : "iaca@gov.gr",
                        "uri" : "https://iaca.gov.gr"
                      },
                      "stateOrProvinceName" : "Αττική",
                      "organizationName" : "Υπουργείο Μεταφορών",
                      "notBefore" : "2025-01-01T00:00:00Z",
                      "notAfter" : "2041-01-01T00:00:00Z",
                      "crlDistributionPointUri" : "https://crl.gov.gr/iaca.crl"
                    },
                    "iacaKeyDesc" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.secp256r1"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful IACA certificate creation response.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACACreateCertificateResponse"
                },
                "examples" : {
                  "Required data fields, no attached X.509 stores" : {
                    "value" : {
                      "certificatePEM" : "-----BEGIN CERTIFICATE-----\nMIIBtTCCAVqgAwIBAgIUNlgkpoam39UxORhMNRkwuFzD9pQwCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1MjgxMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxFeGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASf9vUaZlNISGKgrfPwwapxvufFerKMVotH458o6eynBZxkVb7h07RAGdR44HS2i2Z2Ma5IkVf3uFdls9KlVmvjo2owaDAdBgNVHQ4EFgQUjCMRsfolTeK5Ds6MqOWj5Nx01BQwEgYDVR0TAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5jb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0kAMEYCIQCnUfp3OyxcaPCT34SQ4dTNyNN0qgxKWpWIDeUXkrs7HwIhALFYrMrINeAats4ZWRxZMK6bykb9dcOwkmBCv96MoZVi\n-----END CERTIFICATE-----\n",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example IACA",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        }
                      }
                    }
                  },
                  "All data fields, with attached X.509 stores" : {
                    "value" : {
                      "storedCertificateIds" : [ "org.tenant.x509-store-1.cert-id-01", "org.tenant.x509-store-2.cert-id-01" ],
                      "certificatePEM" : "-----BEGIN CERTIFICATE-----\nMIIC/TCCAqSgAwIBAgIUBAlgS9FXMuQksnLjqOTIVlYurbwwCgYIKoZIzj0EAwIw\ngbAxCzAJBgNVBAYTAkdSMVowWAYDVQQDDFHOlyDOus6xzrvPhc+EzrXPgc+Mz4TO\ntc+BzrcgzrHPgc+Hzq4gz4DOuc+Dz4TOv8+Azr/Or863z4POt8+CIM+Dz4TOv869\nIM66z4zPg868zr8xFTATBgNVBAgMDM6Rz4TPhM65zrrOrjEuMCwGA1UECgwlzqXP\ngM6/z4XPgc6zzrXOr86/IM6czrXPhM6xz4bOv8+Bz47OvTAeFw0yNTA1MjgxMjIz\nMDFaFw00MDA1MjQxMjIzMDFaMIGwMQswCQYDVQQGEwJHUjFaMFgGA1UEAwxRzpcg\nzrrOsc67z4XPhM61z4HPjM+EzrXPgc63IM6xz4HPh86uIM+AzrnPg8+Ezr/PgM6/\nzq/Ot8+DzrfPgiDPg8+Ezr/OvSDOus+Mz4POvM6/MRUwEwYDVQQIDAzOkc+Ez4TO\nuc66zq4xLjAsBgNVBAoMJc6lz4DOv8+Fz4HOs861zq/OvyDOnM61z4TOsc+Gzr/P\ngc+Ozr0wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLVAzKR9ivI\n31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5rEy9n+Iq\no4GZMIGWMB0GA1UdDgQWBBSYrxEhOTqG8/lCsR8IV8pI0hVaODASBgNVHRMBAf8E\nCDAGAQH/AgEAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAO\nBgNVHQ8BAf8EBAMCAQYwLAYDVR0fBCUwIzAhoB+gHYYbaHR0cHM6Ly9jcmwuZ292\nLmdyL2lhY2EuY3JsMAoGCCqGSM49BAMCA0cAMEQCIFPWHi68eADZxb8fid1vWBKt\npb5ucDMPXAP6IZxcvLMqAiB8vwu0dPhMJ20Bl0LWfM1h/jZa27o9Vm6YmjtNdMna\nSA==\n-----END CERTIFICATE-----",
                      "certificateData" : {
                        "country" : "GR",
                        "commonName" : "Η καλυτερότερη αρχή πιστοποίησης στον κόσμο",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        },
                        "stateOrProvinceName" : "Αττική",
                        "organizationName" : "Υπουργείο Μεταφορών",
                        "crlDistributionPointUri" : "https://crl.gov.gr/iaca.crl"
                      }
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-service-api/iso/document-signers" : {
      "post" : {
        "tags" : [ "Service | X.509 Certificate Service" ],
        "summary" : "Create a Document Signer (DS) X.509 digital certificate.",
        "description" : "Permissions: ANY OF: [ES_X509_SERVICE_CREATE_DS_CERTIFICATE]  \nOperation: 'create-document-signer-certificate'  \nAccepts targets: [X509ServiceReference]  \nRequires authentication.  \n\n---\nIssues an X.509 Document Signer (DS) certificate compliant with ISO/IEC 18013-5 for signing\nmobile driver's license (mDL) documents. The certificate is issued by an IACA and includes\nall required fields and extensions for mDL conformance.\n\nThe certificate includes:\n- Key Usage: `digitalSignature` (marked critical)\n- Extended Key Usage: `1.0.18013.5.1.2` (Document Signer)\n- Subject Key and Authority Key identifiers\n- Issuer Alternative Name (URI and/or email, from IACA)\n- CRL Distribution Point (URI)\n\n### Validations:\n- `iacaSigner` can provide IACA certificate data or a PEM-encoded IACA certificate\n- `country` and `stateOrProvinceName` (if specified) must match those of the IACA\n- `country` must be a valid ISO 3166-1 alpha-2 code\n- `crlDistributionPointUri` must not be blank\n- Optional strings (`organizationName`, `stateOrProvinceName`, `localityName`) must not be blank if provided\n- `notAfter`, if present, must be greater than `notBefore` and the current time\n- The certificate's validity period cannot exceed 457 days and must fit within the IACA validity window\n\n### Defaults:\n- If `notBefore` is not provided, the current system time is used\n- If `notAfter` is not provided, it defaults to 457 days after `notBefore`\n\n### Subject public key:\n- Provide either `dsKeyDescriptor` (direct key) or `dsPublicKeySource` (key descriptor or CSR PEM with proof-of-possession)\n- `dsKeyDescriptor` and `dsPublicKeySource` are mutually exclusive\n\n### Notes:\n- Supported keys: `secp256r1`, `secp384r1` and `secp521r1`\n\n### Storage:\n- If X.509 store dependencies are attached, the issued certificate is stored in all attached stores using one shared `storedCertificateId` (provided or generated)\n- `storedCertificateId`, when provided, must be a single child ID segment (not blank and not containing `.` or `/`)\n- Document Signer certificates are stored as `base` X.509 certificates\n- If no X.509 store dependency is attached, no store write is attempted and `storedCertificateIds` is omitted from the response\n\n### Failure:\n- KMS-hosted key descriptors must resolve to a key in an attached KMS dependency; JWK-encoded keys are read directly from the request\n- The request fails if a linked dependency target is missing, if `storedCertificateId` already exists in any attached store, or if any store write fails\n- No partial persistence is kept",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Input for issuing a new Document Signer (DS) certificate. The request must provide an IACA signer\n(certificate data or PEM certificate), subject metadata, revocation configuration, and a DS subject public key source.\n\nOptional fields:\n- `storedCertificateId`: child ID to use when storing the generated certificate in attached X.509 stores; generated when omitted.\n- `dsKeyDescriptor`: direct DS signing key (legacy; use `dsPublicKeySource` for CSR-based issuance).\n- `dsPublicKeySource`: DS signing key via key descriptor or CSR PEM.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCreateCertificateRequest"
              },
              "examples" : {
                "Document Signer: Required data fields & CSR subject key - IACA: Certificate data & signing key hosted in linked KMS" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-cert-data-descriptor",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example IACA",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        }
                      },
                      "iacaKeyDesc" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com"
                    },
                    "dsPublicKeySource" : {
                      "type" : "csr",
                      "csrPEM" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIB...placeholder...\n-----END CERTIFICATE REQUEST-----"
                    }
                  }
                },
                "Document Signer: Required data fields & key hosted in linked KMS - IACA: Certificate data & signing key hosted in linked KMS" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-cert-data-descriptor",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example IACA",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        }
                      },
                      "iacaKeyDesc" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com"
                    },
                    "dsKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.ds-secp256r1"
                    }
                  }
                },
                "Document Signer: Required data fields & JWK-encoded key - IACA: Certificate data & signing key hosted in linked KMS" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-cert-data-descriptor",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example IACA",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        }
                      },
                      "iacaKeyDesc" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com"
                    },
                    "dsKeyDescriptor" : {
                      "type" : "jwk-encoded-key-descriptor",
                      "jwk" : {
                        "kty" : "EC",
                        "d" : "5zvesctW1c9KlWtExySUUdu6CBEc-X4HzAt1dA4HvH8",
                        "crv" : "P-256",
                        "kid" : "S6TxkuUd6jyMlc5XV4ttsiTZKb24Z-G4DPHe6KhJVEc",
                        "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                        "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                      }
                    }
                  }
                },
                "Document Signer: Required data fields & key hosted in linked KMS - IACA: X.509 certificate & signing key hosted in linked KMS" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-pem-cert-descriptor",
                      "iacaPemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIIBtDCCAVqgAwIBAgIUTEBApuzyNump/cYzKXVdgubtZIwwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjgx\nMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxF\neGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLV\nAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5\nrEy9n+Iqo2owaDAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfKSNIVWjgwEgYDVR0T\nAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5j\nb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQCN8SX5ojwspuyL\nW/XZBSTYpFj3bqpAOWthCLoxW29pNAIgSYLq8sE43y2Bf1pDvKu5cYjtkJ8hel53\nz4eL4VJvD1A=\n-----END CERTIFICATE-----",
                      "iacaKeyDesc" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com"
                    },
                    "dsKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.ds-secp256r1"
                    }
                  }
                },
                "Document Signer: Required data fields & key hosted in linked KMS - IACA: Certificate data & JWK-encoded signing key" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-pem-cert-descriptor",
                      "iacaPemEncodedCertificate" : "-----BEGIN CERTIFICATE-----\nMIIBtDCCAVqgAwIBAgIUTEBApuzyNump/cYzKXVdgubtZIwwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjgx\nMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxF\neGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLV\nAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5\nrEy9n+Iqo2owaDAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfKSNIVWjgwEgYDVR0T\nAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5j\nb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQCN8SX5ojwspuyL\nW/XZBSTYpFj3bqpAOWthCLoxW29pNAIgSYLq8sE43y2Bf1pDvKu5cYjtkJ8hel53\nz4eL4VJvD1A=\n-----END CERTIFICATE-----",
                      "iacaKeyDesc" : {
                        "type" : "jwk-encoded-key-descriptor",
                        "jwk" : {
                          "kty" : "EC",
                          "d" : "5zvesctW1c9KlWtExySUUdu6CBEc-X4HzAt1dA4HvH8",
                          "crv" : "P-256",
                          "kid" : "S6TxkuUd6jyMlc5XV4ttsiTZKb24Z-G4DPHe6KhJVEc",
                          "x" : "q0xi21uudhkC1QMykfYryN9bcDx480iJLSaRI05CWgY",
                          "y" : "NhD-09xqrUgE2-qSt8g5imePgKPPNVpYoHmsTL2f4io"
                        }
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com"
                    },
                    "dsKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.ds-secp256r1"
                    }
                  }
                },
                "Document Signer: Custom validity period & key hosted in linked KMS - IACA: Certificate data & signing key hosted in linked KMS" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-cert-data-descriptor",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example IACA",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        }
                      },
                      "iacaKeyDesc" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com",
                      "notBefore" : "2025-11-01T00:00:00Z",
                      "notAfter" : "2027-01-01T00:00:00Z"
                    },
                    "dsKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.ds-secp256r1"
                    }
                  }
                },
                "Document Signer: All data fields & key hosted in linked KMS - IACA: Certificate data & signing key hosted in linked KMS" : {
                  "value" : {
                    "iacaSigner" : {
                      "type" : "iaca-cert-data-descriptor",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example IACA",
                        "notBefore" : "2025-05-28T12:23:01Z",
                        "notAfter" : "2040-05-24T12:23:01Z",
                        "issuerAlternativeNameConf" : {
                          "uri" : "https://iaca.example.com"
                        },
                        "stateOrProvinceName" : "Aidaho"
                      },
                      "iacaKeyDesc" : {
                        "type" : "kms-hosted-key-descriptor",
                        "keyIdPath" : "waltid.tenant1.kms1.iaca-secp256r1"
                      }
                    },
                    "certificateData" : {
                      "country" : "US",
                      "commonName" : "Example DS",
                      "crlDistributionPointUri" : "https://crl-example.com",
                      "stateOrProvinceName" : "Aidaho",
                      "organizationName" : "Cool Org Name",
                      "localityName" : "Mountain View",
                      "notBefore" : "2025-11-01T00:00:00Z",
                      "notAfter" : "2027-01-01T00:00:00Z"
                    },
                    "dsKeyDescriptor" : {
                      "type" : "kms-hosted-key-descriptor",
                      "keyIdPath" : "waltid.tenant1.kms1.ds-secp256r1"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful Document Signer certificate creation response.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCreateCertificateResponse"
                },
                "examples" : {
                  "Required data fields, no attached X.509 stores" : {
                    "value" : {
                      "certificatePEM" : "-----BEGIN CERTIFICATE-----\nMIICATCCAaigAwIBAgIUQlHlduYHihpBPedBULoMQ7ruja4wCgYIKoZIzj0EAwIwJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTEyMDQwODIwMzhaFw0yNzAzMDYwODIwMzhaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApFeGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBkvoNOHI/oLhz12kbgZDjsvroTR1B50t54/7GARpZQtbmHyd/42WtWdHC5AzkffbRf9ZyhEvXsQ/dnl8tl5VNKOBuTCBtjAfBgNVHSMEGDAWgBSYrxEhOTqG8/lCsR8IV8pI0hVaODAdBgNVHQ4EFgQUVCwrii2yRpt5g7/WSPWPzxrZ9rowDgYDVR0PAQH/BAQDAgeAMCMGA1UdEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgcogYxdBQECMCgGA1UdHwQhMB8wHaAboBmGF2h0dHBzOi8vY3JsLWV4YW1wbGUuY29tMAoGCCqGSM49BAMCA0cAMEQCIGNi8ymTZmJ5jbnMlV9Z6/7d0pst9zWd2l2fTKPttcE/AiAedqpYlhvEMfpYAWVXjGOt2eif1Xo4QgJAF3CrqpsqSg==\n-----END CERTIFICATE-----",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example DS",
                        "notBefore" : "2025-12-04T08:20:38Z",
                        "notAfter" : "2027-03-06T08:20:38Z",
                        "crlDistributionPointUri" : "https://crl-example.com"
                      }
                    }
                  },
                  "All data fields, with attached X.509 stores" : {
                    "value" : {
                      "storedCertificateIds" : [ "org.tenant.x509-store-1.cert-id-01", "org.tenant.x509-store-2.cert-id-01" ],
                      "certificatePEM" : "-----BEGIN CERTIFICATE-----\nMIICVDCCAfqgAwIBAgIUIKVfFvdkEANKevGJRNXRRw/cDNAwCgYIKoZIzj0EAwIwNTELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTEPMA0GA1UECAwGQWlkYWhvMB4XDTI1MTEwMTAwMDAwMFoXDTI3MDEwMTAwMDAwMFowYzELMAkGA1UEBhMCVVMxEzARBgNVBAMMCkV4YW1wbGUgRFMxDzANBgNVBAgMBkFpZGFobzEWMBQGA1UECgwNQ29vbCBPcmcgTmFtZTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFr0g3PaGAvgZvIasHhKktdcPE3AsdoJG1uvFFFk6id8Z1wO15bUmcrvJczOyWQj7T7LGsNhYnQBqkfTvfNnhIGjgbkwgbYwHwYDVR0jBBgwFoAUmK8RITk6hvP5QrEfCFfKSNIVWjgwHQYDVR0OBBYEFOQ6LjkZuIDrF9mThyxfv5vkV/0gMA4GA1UdDwEB/wQEAwIHgDAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5jb20wFQYDVR0lAQH/BAswCQYHKIGMXQUBAjAoBgNVHR8EITAfMB2gG6AZhhdodHRwczovL2NybC1leGFtcGxlLmNvbTAKBggqhkjOPQQDAgNIADBFAiEA7b48Ri2VD1RJk7PAz7IMKDJhXRPykc+/p7vAgkxyGrgCIDrQJUiYYd50d3z10yMUcQT77d666rrzu0BLiGKU7LWu\n-----END CERTIFICATE-----",
                      "certificateData" : {
                        "country" : "US",
                        "commonName" : "Example DS",
                        "notBefore" : "2025-11-01T00:00:00Z",
                        "notAfter" : "2027-01-01T00:00:00Z",
                        "crlDistributionPointUri" : "https://crl-example.com",
                        "stateOrProvinceName" : "Aidaho",
                        "organizationName" : "Cool Org Name",
                        "localityName" : "Mountain View"
                      }
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-store-api/certificates" : {
      "get" : {
        "tags" : [ "Service | X.509 Certificate Store" ],
        "summary" : "Retrieve stored X.509 certificate(s)",
        "description" : "Permissions: ANY OF: [ES_X509_STORE_GET_CERTIFICATES]  \nOperation: 'ES_X509_STORE_GET_CERTIFICATES'  \nAccepts targets: [X509StoreServiceReference, X509StoredCertificate]  \nRequires authentication.  \n\n---\nWhen targeting a **X509StoreServiceReference**:\n \nRetrieves all stored certificates for the targeted X.509 store.\nEach entry contains the stored certificate metadata (if any) and its PEM-encoded payload.\n\nWhen targeting a **X509StoredCertificate**:\n\nRetrieves a single stored certificate by its full target path.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "Optional sort selector. Supported values: 'createdDateTime', 'createdDateTime+', 'createdDateTime-', 'updatedDateTime', 'updatedDateTime+', 'updatedDateTime-'.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "String"
          },
          "example" : "createdDateTime"
        } ],
        "responses" : {
          "200" : {
            "description" : "Stored certificate response. Store targets return a list; certificate targets return one certificate.",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "title" : "*"
                },
                "examples" : {
                  "Store target: list of stored certificates" : {
                    "value" : [ {
                      "traversable" : false,
                      "data" : {
                        "pem" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjkw\nNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApF\neGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKg\nSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xu\nMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNV\nHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1Ud\nEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgco\ngYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNv\nbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl\n3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----"
                      },
                      "id-klVQYXI" : "org1.tenant1.x509-store-1.base-001",
                      "parent-klVQYXI" : "org1.tenant1.x509-store-1",
                      "parent-CY-75mU" : "org1.tenant1.x509-store-1",
                      "entryClassName" : "X509StoredCertificate"
                    }, {
                      "traversable" : false,
                      "data" : {
                        "pem" : "-----BEGIN CERTIFICATE-----\nMIIBtDCCAVqgAwIBAgIUTEBApuzyNump/cYzKXVdgubtZIwwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjgx\nMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxF\neGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLV\nAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5\nrEy9n+Iqo2owaDAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfKSNIVWjgwEgYDVR0T\nAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5j\nb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQCN8SX5ojwspuyL\nW/XZBSTYpFj3bqpAOWthCLoxW29pNAIgSYLq8sE43y2Bf1pDvKu5cYjtkJ8hel53\nz4eL4VJvD1A=\n-----END CERTIFICATE-----",
                        "complementaryMetadata" : {
                          "docType" : [ "org.iso.18013.5.1.mDL" ],
                          "certificateProfile" : [ "1.0.18013.5.1.7" ]
                        }
                      },
                      "id-klVQYXI" : "org1.tenant1.x509-store-1.vical-001",
                      "parent-klVQYXI" : "org1.tenant1.x509-store-1",
                      "parent-CY-75mU" : "org1.tenant1.x509-store-1",
                      "entryClassName" : "X509StoredCertificate"
                    } ]
                  },
                  "Certificate target: stored certificate" : {
                    "value" : {
                      "traversable" : false,
                      "data" : {
                        "pem" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjkw\nNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApF\neGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKg\nSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xu\nMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNV\nHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1Ud\nEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgco\ngYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNv\nbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl\n3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----"
                      },
                      "id-klVQYXI" : "org1.tenant1.x509-store-1.base-001",
                      "parent-klVQYXI" : "org1.tenant1.x509-store-1",
                      "parent-CY-75mU" : "org1.tenant1.x509-store-1",
                      "entryClassName" : "X509StoredCertificate"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Service | X.509 Certificate Store" ],
        "summary" : "Update a X.509 stored certificate",
        "description" : "Permissions: ANY OF: [ES_X509_STORE_UPDATE_CERTIFICATE]  \nOperation: 'ES_X509_STORE_UPDATE_CERTIFICATE'  \nAccepts targets: [X509StoredCertificate]  \nRequires authentication.  \n\n---\nUpdates an existing stored certificate identified by the target path.\nThe request body replaces the stored certificate data with a new certificate payload and,\nfor VICAL entries, complementary metadata.\n\n**Supported request types:**\n- `base`: Replace the stored entry with a generic X.509 certificate\n- `vical-entry`: Replace the stored entry with an IACA certificate and VICAL metadata\n\n**Type mixing:** You may update an existing `base` entry with a `vical-entry` payload (and vice versa).",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated X.509 certificate payload",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.store.models.controller.X509StoreUpdateRequest"
              },
              "examples" : {
                "Base update" : {
                  "value" : {
                    "type" : "base",
                    "certificatePem" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjkw\nNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApF\neGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKg\nSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xu\nMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNV\nHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1Ud\nEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgco\ngYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNv\nbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl\n3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----"
                  }
                },
                "VICAL entry update" : {
                  "value" : {
                    "type" : "vical-entry",
                    "certificatePem" : "-----BEGIN CERTIFICATE-----\nMIIBtDCCAVqgAwIBAgIUTEBApuzyNump/cYzKXVdgubtZIwwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjgx\nMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxF\neGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLV\nAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5\nrEy9n+Iqo2owaDAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfKSNIVWjgwEgYDVR0T\nAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5j\nb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQCN8SX5ojwspuyL\nW/XZBSTYpFj3bqpAOWthCLoxW29pNAIgSYLq8sE43y2Bf1pDvKu5cYjtkJ8hel53\nz4eL4VJvD1A=\n-----END CERTIFICATE-----",
                    "complementaryMetadata" : {
                      "docType" : [ "org.iso.18013.5.1.mDL" ],
                      "certificateProfile" : [ "1.0.18013.5.1.7" ]
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Certificate updated successfully",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Service | X.509 Certificate Store" ],
        "summary" : "Add a X.509 certificate to the store",
        "description" : "Permissions: ANY OF: [ES_X509_STORE_ADD_CERTIFICATE]  \nOperation: 'ES_X509_STORE_ADD_CERTIFICATE'  \nRequires authentication.  \n\n---\nStores a new X.509 certificate.\n             \nWhen targeting a **X509StoreServiceReference**:\n\nA unique child certificate ID is generated and its full target path is returned in the response.\n\nWhen targeting a **X509StoredCertificate**:\n\nIf the targeted certificate already exists, the existing stored certificate is returned unchanged.\nIf the target is a certificate path under the store and no such stored certificate entry exists, that\nchild certificate ID is used.\n\n**Supported request types:**\n- `base`: Store any valid X.509 certificate\n- `vical-entry`: Store an IACA certificate with required VICAL metadata:\n- `docType` must not be empty\n- `certificateProfile` (if provided) must not be empty",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "X.509 certificate payload. The stored certificate ID is derived from the target path.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.store.models.controller.X509StoreAddRequest"
              },
              "examples" : {
                "Base (generic) certificate" : {
                  "value" : {
                    "type" : "base",
                    "certificatePem" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjkw\nNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApF\neGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKg\nSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xu\nMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNV\nHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1Ud\nEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgco\ngYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNv\nbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl\n3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----"
                  }
                },
                "VICAL entry with IACA certificate and metadata" : {
                  "value" : {
                    "type" : "vical-entry",
                    "certificatePem" : "-----BEGIN CERTIFICATE-----\nMIIBtDCCAVqgAwIBAgIUTEBApuzyNump/cYzKXVdgubtZIwwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjgx\nMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxF\neGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLV\nAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5\nrEy9n+Iqo2owaDAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfKSNIVWjgwEgYDVR0T\nAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5j\nb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQCN8SX5ojwspuyL\nW/XZBSTYpFj3bqpAOWthCLoxW29pNAIgSYLq8sE43y2Bf1pDvKu5cYjtkJ8hel53\nz4eL4VJvD1A=\n-----END CERTIFICATE-----",
                    "complementaryMetadata" : {
                      "docType" : [ "org.iso.18013.5.1.mDL" ],
                      "certificateProfile" : [ "1.0.18013.5.1.7" ]
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Certificate stored successfully",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/x509-stored-certificate"
                },
                "examples" : {
                  "Stored base certificate" : {
                    "value" : {
                      "_id" : "org1.tenant1.x509-store-1.base-001",
                      "data" : {
                        "type" : "base",
                        "pem" : "-----BEGIN CERTIFICATE-----\nMIICCDCCAa2gAwIBAgIUDo8kr194t6sttt6KL3YcnMtcaYYwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjkw\nNzE4MzlaFw0yNjA4MjkwNzE4MzlaMCIxCzAJBgNVBAYTAlVTMRMwEQYDVQQDDApF\neGFtcGxlIERTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGWKpdL3jPoPJ5wKg\nSA+jxS2jgp+ZUDE6sIQbeB86vF0XfEDAf3r/FVyJXuYVCyVT95FCA/7mlJmI1/xu\nMygZ+qOBvjCBuzAfBgNVHSMEGDAWgBSMIxGx+iVN4rkOzoyo5aPk3HTUFDAdBgNV\nHQ4EFgQU7S49LSeg/e0onfT44FVbL/rSKnswDgYDVR0PAQH/BAQDAgeAMCMGA1Ud\nEgQcMBqGGGh0dHBzOi8vaWFjYS5leGFtcGxlLmNvbTAVBgNVHSUBAf8ECzAJBgco\ngYxdBQECMC0GA1UdHwQmMCQwIqAgoB6GHGh0dHBzOi8vaWFjYS5leGFtcGxlLmNv\nbS9jcmwwCgYIKoZIzj0EAwIDSQAwRgIhAMuSq75BPBXXBWGtIMd57fhRqpKf3Yzl\n3ldDdoQsK2xEAiEA/dmWLMLiJPV3UzmQS5MUHtn611z0VlL/k3YAdaVJ51c=\n-----END CERTIFICATE-----"
                      },
                      "parent" : "org1.tenant1.x509-store-1"
                    }
                  },
                  "Stored VICAL entry certificate" : {
                    "value" : {
                      "_id" : "org1.tenant1.x509-store-1.vical-001",
                      "data" : {
                        "type" : "vical-entry",
                        "pem" : "-----BEGIN CERTIFICATE-----\nMIIBtDCCAVqgAwIBAgIUTEBApuzyNump/cYzKXVdgubtZIwwCgYIKoZIzj0EAwIw\nJDELMAkGA1UEBhMCVVMxFTATBgNVBAMMDEV4YW1wbGUgSUFDQTAeFw0yNTA1Mjgx\nMjIzMDFaFw00MDA1MjQxMjIzMDFaMCQxCzAJBgNVBAYTAlVTMRUwEwYDVQQDDAxF\neGFtcGxlIElBQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrTGLbW652GQLV\nAzKR9ivI31twPHjzSIktJpEjTkJaBjYQ/tPcaq1IBNvqkrfIOYpnj4CjzzVaWKB5\nrEy9n+Iqo2owaDAdBgNVHQ4EFgQUmK8RITk6hvP5QrEfCFfKSNIVWjgwEgYDVR0T\nAQH/BAgwBgEB/wIBADAjBgNVHRIEHDAahhhodHRwczovL2lhY2EuZXhhbXBsZS5j\nb20wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQCN8SX5ojwspuyL\nW/XZBSTYpFj3bqpAOWthCLoxW29pNAIgSYLq8sE43y2Bf1pDvKu5cYjtkJ8hel53\nz4eL4VJvD1A=\n-----END CERTIFICATE-----",
                        "complementaryMetadata" : {
                          "docType" : [ "org.iso.18013.5.1.mDL" ],
                          "certificateProfile" : [ "1.0.18013.5.1.7" ]
                        }
                      },
                      "parent" : "org1.tenant1.x509-store-1"
                    }
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Service | X.509 Certificate Store" ],
        "summary" : "Delete a X.509 stored certificate",
        "description" : "Permissions: ANY OF: [ES_X509_STORE_DELETE_CERTIFICATE]  \nOperation: 'ES_X509_STORE_DELETE_CERTIFICATE'  \nAccepts targets: [X509StoredCertificate]  \nRequires authentication.  \n\n---\nDeletes a stored certificate by its full target path.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Certificate deleted successfully",
            "headers" : { }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/x509-store-api/certificates/ids" : {
      "get" : {
        "tags" : [ "Service | X.509 Certificate Store" ],
        "summary" : "Retrieve stored X.509 certificate IDs",
        "description" : "Permissions: ANY OF: [ES_X509_STORE_GET_CERTIFICATES_IDS]  \nOperation: 'ES_X509_STORE_GET_CERTIFICATES_IDS'  \nAccepts targets: [X509StoreServiceReference]  \nRequires authentication.  \n\n---\nRetrieves all certificate identifiers (paths) stored in the targeted X.509 store.\nThis endpoint returns only the IDs, making it more efficient when you do not need full payloads.",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of entries to return.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 100
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of entries to skip.",
          "required" : false,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "example" : 0
        } ],
        "responses" : {
          "200" : {
            "description" : "List of certificate IDs stored in the X.509 store",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Certificate IDs" : {
                    "value" : [ "org1.tenant1.x509-store-1.base-001", "org1.tenant1.x509-store-1.vical-001" ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/configuration/view" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - Management" ],
        "summary" : "View service configuration",
        "description" : "Permissions: ANY OF: [VIEW_SERVICE_CONFIGURATION]  \nOperation: 'view-service-configuration'  \nAccepts targets: [OidcBridgeServiceReference]  \nRequires authentication.  \n\n---\nRetrieves the current configuration for this service. Service configuration defines how the service operates, including its settings, parameters, and service-specific options.\n\n**Use Cases:**\n- Review service settings and parameters\n- Audit service configuration\n- Export configuration for backup or migration\n- Verify service setup\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "404" : {
            "description" : "Service not found at the specified target path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to view service configuration",
            "headers" : { }
          },
          "200" : {
            "description" : "The configuration for this service",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/configuration/update" : {
      "put" : {
        "tags" : [ "Service | OIDC Bridge - Management" ],
        "summary" : "Update service configuration",
        "description" : "Permissions: ANY OF: [UPDATE_SERVICE_CONFIGURATION]  \nOperation: 'update-service-configuration'  \nAccepts targets: [OidcBridgeServiceReference]  \nRequires authentication.  \n\n---\nUpdates the configuration for Oidc Bridge Service instance. This allows you to modify service settings, parameters, and options that control how the service operates.\n\n**Use Cases:**\n- Modify service settings and parameters\n- Update service configuration after initial setup\n- Adjust service behavior through configuration changes\n- Migrate service configurations between environments\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Updated service configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/oidc-bridge"
              },
              "examples" : {
                "OIDC Bridge with Keycloak (mDL verification)" : {
                  "value" : {
                    "_id" : "example.service",
                    "issuerUrl" : "https://enterprise.example.com",
                    "clients" : {
                      "keycloak" : {
                        "clientId" : "keycloak",
                        "clientSecret" : "keycloak-client-secret",
                        "clientName" : "Keycloak IAM",
                        "redirectUris" : [ "https://keycloak.example.com/realms/my-realm/broker/waltid-vc/endpoint" ]
                      }
                    },
                    "defaultClaimMappings" : [ {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"document_number\"]",
                      "oidcClaim" : "sub"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"given_name\"]",
                      "oidcClaim" : "given_name"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"family_name\"]",
                      "oidcClaim" : "family_name"
                    }, {
                      "credentialPath" : "$[\"org.iso.18013.5.1\"][\"birth_date\"]",
                      "oidcClaim" : "birthdate"
                    } ],
                    "flows" : {
                      "qr" : {
                        "enabled" : true,
                        "buttonLabel" : "Scan QR Code"
                      },
                      "dc_api" : {
                        "buttonLabel" : "Browser Wallet (DC API)"
                      },
                      "deep_link" : {
                        "enabled" : true,
                        "buttonLabel" : "Open Mobile Wallet"
                      },
                      "web_wallet" : {
                        "enabled" : true,
                        "buttonLabel" : "Open Web Wallet",
                        "targetUrl" : "https://enterprise.example.com"
                      }
                    },
                    "uiConfig" : {
                      "logoUrl" : "https://example.com/logo.png",
                      "brandName" : "My Enterprise",
                      "primaryColor" : "#3B82F6",
                      "webWalletBaseUrl" : "https://enterprise.example.com"
                    },
                    "parent" : "example"
                  }
                },
                "OIDC Bridge minimal configuration" : {
                  "value" : {
                    "_id" : "example.service",
                    "issuerUrl" : "https://enterprise.example.com",
                    "clients" : {
                      "demo-client" : {
                        "clientId" : "demo-client",
                        "clientSecret" : "demo-secret",
                        "redirectUris" : [ "https://app.example.com/callback" ]
                      }
                    },
                    "parent" : "example"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Service configuration updated successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - malformed configuration, invalid settings, or service not found",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to update service configuration",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/dependencies/list" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - Management" ],
        "summary" : "List service dependencies",
        "description" : "Permissions: ANY OF: [LIST_SERVICE_DEPENDENCIES]  \nOperation: 'list-dependencies'  \nAccepts targets: [OidcBridgeServiceReference]  \nRequires authentication.  \n\n---\nRetrieves a list of all service dependencies attached to this service. Service dependencies define which other services this service utilizes or depends on for its operations.\n\n**Use Cases:**\n- Review service dependencies and relationships\n- Audit service architecture and dependencies\n- Understand service integration points\n- Export dependency information for documentation\n\n**Important Notes:**\n- Dependencies are represented as service target paths\n- Returns an empty list if no dependencies are configured\n- Dependencies define service-to-service relationships\n- Removing a dependency may affect service functionality\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "List of service paths that this service depends on or will utilize",
            "headers" : { },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "title" : "String"
                  },
                  "title" : "ArrayList<String>"
                },
                "examples" : {
                  "Service dependencies" : {
                    "value" : [ "waltid.tenant1.kms.main", "waltid.tenant1.credential-store.production" ]
                  },
                  "No dependencies" : {
                    "value" : [ ]
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to list service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/dependencies/add" : {
      "post" : {
        "tags" : [ "Service | OIDC Bridge - Management" ],
        "summary" : "Attach new service dependency",
        "description" : "Permissions: ANY OF: [ADD_SERVICE_DEPENDENCY]  \nOperation: 'add-dependency'  \nAccepts targets: [OidcBridgeServiceReference]  \nRequires authentication.  \n\n---\nAttaches a new service dependency to this service. This establishes a relationship where this service will utilize or depend on the specified service for its operations.\n\n**Use Cases:**\n- Configure service-to-service relationships\n- Set up service integration points\n- Define service dependencies for orchestration\n- Link services for composite functionality\n\n**Important Notes:**\n- Requires permissions to add dependencies to this service\n- Requires permissions to delegate the dependency service as a dependency\n- The dependency service must exist and be accessible\n- Adding a dependency does not automatically configure integration\n- Duplicate dependencies may be handled based on service implementation\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to attach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                },
                "Credential store dependency" : {
                  "value" : "waltid.tenant1.credential-store.production"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Service dependency attached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found, invalid path, or dependency cannot be added",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to add service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/dependencies/remove" : {
      "post" : {
        "tags" : [ "Service | OIDC Bridge - Management" ],
        "summary" : "Detach service dependency",
        "description" : "Permissions: ANY OF: [REMOVE_SERVICE_DEPENDENCY]  \nOperation: 'remove-dependency'  \nAccepts targets: [OidcBridgeServiceReference]  \nRequires authentication.  \n\n---\nRemoves a service dependency from this service. This breaks the relationship between this service and the specified dependency service.\n\n**Use Cases:**\n- Remove unused or obsolete service dependencies\n- Restructure service relationships\n- Clean up service architecture\n- Disconnect services that are no longer needed\n\n**Important Notes:**\n- Removing a dependency may affect service functionality\n- The dependency service itself is not affected\n- Removing a non-existent dependency is handled gracefully\n- Service operations may fail if they depend on the removed service\n\nFor more information, see: <a href='https://docs.walt.id/enterprise-stack/administration/services/overview'>the docs</a>",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Path to service to detach as dependency",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string",
                "title" : "String"
              },
              "examples" : {
                "Remove KMS dependency" : {
                  "value" : "waltid.tenant1.kms.main"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Service dependency detached successfully",
            "headers" : { }
          },
          "400" : {
            "description" : "Invalid request - service not found or invalid path",
            "headers" : { }
          },
          "401" : {
            "description" : "Authentication required",
            "headers" : { }
          },
          "403" : {
            "description" : "Insufficient permissions to remove service dependencies",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/clients" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - Management" ],
        "summary" : "List registered OIDC clients",
        "description" : "Permissions: ANY OF: [VIEW_METADATA]  \nOperation: 'list-clients'  \nAccepts targets: [OidcBridgeServiceReference]  \nRequires authentication.  \n",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : {
          "401" : {
            "description" : "Invalid authentication",
            "headers" : { }
          }
        },
        "deprecated" : false,
        "security" : [ {
          "auth-cookie" : [ ]
        }, {
          "auth-bearer" : [ ]
        } ]
      }
    },
    "/v1/{target}/oidc-bridge-api/.well-known/openid-configuration" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "OIDC Discovery Document",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nReturns OpenID Provider metadata for client configuration",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/oidc-bridge-api/jwks" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "JSON Web Key Set",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nReturns public keys for token verification",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/oidc-bridge-api/authorize" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "OIDC Authorization Endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nInitiates the authorization flow with credential presentation",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/oidc-bridge-api/sessions/{sessionId}/status" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "Check session status",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nPoll for verification session completion",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/oidc-bridge-api/sessions/create" : {
      "post" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "Create verification session",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nCreate a verification session for a specific flow type (lazy session creation)",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "requestBody" : {
          "description" : "Requires body of JSON value for Create Session Http Request.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.oidcbridge.models.CreateSessionHttpRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/oidc-bridge-api/token" : {
      "post" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "OIDC Token Endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nExchange authorization code for tokens",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : { },
        "deprecated" : false
      }
    },
    "/v1/{target}/oidc-bridge-api/userinfo" : {
      "get" : {
        "tags" : [ "Service | OIDC Bridge - OIDC" ],
        "summary" : "OIDC UserInfo Endpoint",
        "description" : "Permissions: None required  \nNo target restriction.  \n\n---\nReturns claims about the authenticated user",
        "parameters" : [ {
          "name" : "target",
          "in" : "path",
          "description" : "Target to use / apply service operation on",
          "required" : true,
          "deprecated" : false,
          "explode" : false,
          "schema" : {
            "type" : "string",
            "title" : "Target"
          }
        } ],
        "responses" : { },
        "deprecated" : false
      }
    }
  },
  "components" : {
    "schemas" : {
      "id.walt.commons.web.modules.FeatureFlagInformationModule.FeatureFlagInformation" : {
        "type" : "object",
        "properties" : {
          "features" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "total" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "required" : [ "features", "total" ],
        "title" : "FeatureFlagInformationModule.FeatureFlagInformation"
      },
      "id.walt.commons.web.modules.FeatureFlagInformationModule.FeatureFlagInformations" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "$ref" : "#/components/schemas/id.walt.commons.web.modules.FeatureFlagInformationModule.FeatureFlagInformation"
          },
          "disabled" : {
            "$ref" : "#/components/schemas/id.walt.commons.web.modules.FeatureFlagInformationModule.FeatureFlagInformation"
          },
          "defaultedDisabled" : {
            "$ref" : "#/components/schemas/id.walt.commons.web.modules.FeatureFlagInformationModule.FeatureFlagInformation"
          }
        },
        "required" : [ "defaultedDisabled", "disabled", "enabled" ],
        "title" : "FeatureFlagInformationModule.FeatureFlagInformations"
      },
      "id.walt.ktorauthnz.methods.EmailPass.EmailPassCredentials" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "title" : "String"
          },
          "password" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "email", "password" ],
        "title" : "EmailPass.EmailPassCredentials"
      },
      "id.walt.ktorauthnz.sessions.AuthSessionStatus" : {
        "type" : "string",
        "enum" : [ "INIT", "OK", "SUCCESS", "CONTINUE_NEXT_FLOW", "CONTINUE_NEXT_STEP", "FAILURE" ],
        "title" : "AuthSessionStatus"
      },
      "id.walt.ktorauthnz.sessions.AuthSessionNextStep" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/custom"
        }, {
          "$ref" : "#/components/schemas/redirect"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "AuthSessionNextStep"
      },
      "custom" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "data" ],
        "title" : ""
      },
      "kotlinx.serialization.json.JsonElement" : {
        "type" : "object",
        "title" : "JsonElement"
      },
      "redirect" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "title" : "Url"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "url" ],
        "title" : ""
      },
      "id.walt.ktorauthnz.sessions.AuthSessionInformation" : {
        "type" : "object",
        "properties" : {
          "session_id" : {
            "type" : "string",
            "title" : "String"
          },
          "status" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.sessions.AuthSessionStatus"
          },
          "current_method" : {
            "type" : "string",
            "title" : "String"
          },
          "next_method" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "next_step" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.sessions.AuthSessionNextStep"
          },
          "next_step_description" : {
            "type" : "string",
            "title" : "String"
          },
          "next_step_informational_message" : {
            "type" : "string",
            "title" : "String"
          },
          "token" : {
            "type" : "string",
            "title" : "String"
          },
          "expiration" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          }
        },
        "required" : [ "session_id", "status" ],
        "title" : "AuthSessionInformation"
      },
      "id.walt.enterprise.global.account.Account.AccountProfile" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "email" : {
            "type" : "string",
            "title" : "String"
          },
          "addressCountry" : {
            "type" : "string",
            "title" : "String"
          },
          "address" : {
            "type" : "string",
            "title" : "String"
          },
          "phone" : {
            "type" : "string",
            "title" : "String"
          },
          "profileImage" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "address", "addressCountry", "email", "name" ],
        "title" : "Account.AccountProfile"
      },
      "id.walt.enterprise.global.account.Account.AccountPreferences" : {
        "type" : "object",
        "properties" : {
          "timeZone" : {
            "type" : "string",
            "title" : "String"
          },
          "languagePreference" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "languagePreference", "timeZone" ],
        "title" : "Account.AccountPreferences"
      },
      "id.walt.ktorauthnz.methods.initalauth.AuthMethodRegistration" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "identifier" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.accounts.identifiers.methods.AccountIdentifier"
          },
          "data" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.storeddata.AuthMethodStoredData"
          },
          "config" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.config.AuthMethodConfiguration"
          }
        },
        "required" : [ "identifier", "type" ],
        "title" : "AuthMethodRegistration"
      },
      "id.walt.ktorauthnz.accounts.identifiers.methods.AccountIdentifier" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/email"
        }, {
          "$ref" : "#/components/schemas/jwt"
        }, {
          "$ref" : "#/components/schemas/ldap"
        }, {
          "$ref" : "#/components/schemas/oidc"
        }, {
          "$ref" : "#/components/schemas/radius"
        }, {
          "$ref" : "#/components/schemas/userpass"
        }, {
          "$ref" : "#/components/schemas/web3"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "AccountIdentifier"
      },
      "email" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "email" ],
        "title" : ""
      },
      "jwt" : {
        "type" : "object",
        "properties" : {
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "subject" ],
        "title" : ""
      },
      "ldap" : {
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "host", "name" ],
        "title" : ""
      },
      "oidc" : {
        "type" : "object",
        "properties" : {
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "issuer", "subject" ],
        "title" : ""
      },
      "radius" : {
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "host", "name" ],
        "title" : ""
      },
      "userpass" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "name" ],
        "title" : ""
      },
      "web3" : {
        "type" : "object",
        "properties" : {
          "address" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "address" ],
        "title" : ""
      },
      "id.walt.ktorauthnz.methods.storeddata.AuthMethodStoredData" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/email"
        }, {
          "$ref" : "#/components/schemas/totp"
        }, {
          "$ref" : "#/components/schemas/userpass"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "AuthMethodStoredData"
      },
      "totp" : {
        "type" : "object",
        "properties" : {
          "secret" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "secret" ],
        "title" : ""
      },
      "id.walt.ktorauthnz.methods.config.AuthMethodConfiguration" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/jwt-config"
        }, {
          "$ref" : "#/components/schemas/ldap-config"
        }, {
          "$ref" : "#/components/schemas/oidc-config"
        }, {
          "$ref" : "#/components/schemas/radius-config"
        }, {
          "$ref" : "#/components/schemas/vc-auth"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "AuthMethodConfiguration"
      },
      "jwt-config" : {
        "type" : "object",
        "properties" : {
          "verifyKey" : {
            "type" : "string",
            "title" : "String"
          },
          "identifyClaim" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "identifyClaim", "verifyKey" ],
        "title" : ""
      },
      "ldap-config" : {
        "type" : "object",
        "properties" : {
          "ldapServerUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "userDNFormat" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "ldapServerUrl", "userDNFormat" ],
        "title" : ""
      },
      "oidc-config" : {
        "type" : "object",
        "properties" : {
          "openIdConfigurationUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "openIdConfiguration" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.OIDC.OpenIdConfiguration"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "clientSecret" : {
            "type" : "string",
            "title" : "String"
          },
          "callbackUri" : {
            "type" : "string",
            "title" : "String"
          },
          "pkceEnabled" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "redirectAfterLogin" : {
            "type" : "string",
            "title" : "Url"
          },
          "allowedRedirectUrls" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "postLogoutRedirectUri" : {
            "type" : "string",
            "title" : "Url"
          },
          "allowedPostLogoutRedirectUrls" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "accountIdentifierClaim" : {
            "type" : "string",
            "title" : "String"
          },
          "externalRoleExtraction" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.config.OidcExternalRoleExtractionConfiguration"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "accountIdentifierClaim", "allowedPostLogoutRedirectUrls", "allowedRedirectUrls", "callbackUri", "clientId", "clientSecret", "externalRoleExtraction", "pkceEnabled" ],
        "title" : ""
      },
      "id.walt.ktorauthnz.methods.OIDC.OpenIdConfiguration" : {
        "type" : "object",
        "properties" : {
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "authorization_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "token_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "userinfo_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "jwks_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "end_session_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "backchannel_logout_supported" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "frontchannel_logout_supported" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "response_types_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "subject_types_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "id_token_signing_alg_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "scopes_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "token_endpoint_auth_methods_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "claims_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "authorization_endpoint", "backchannel_logout_supported", "claims_supported", "frontchannel_logout_supported", "id_token_signing_alg_values_supported", "issuer", "jwks_uri", "response_types_supported", "scopes_supported", "subject_types_supported", "token_endpoint", "token_endpoint_auth_methods_supported" ],
        "title" : "OIDC.OpenIdConfiguration"
      },
      "id.walt.ktorauthnz.methods.config.OidcExternalRoleExtractionConfiguration" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "realmRolesClaimPath" : {
            "type" : "string",
            "title" : "String"
          },
          "clientRolesClaimPath" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clientRolesClaimPath", "enabled", "realmRolesClaimPath" ],
        "title" : "OidcExternalRoleExtractionConfiguration"
      },
      "radius-config" : {
        "type" : "object",
        "properties" : {
          "radiusServerHost" : {
            "type" : "string",
            "title" : "String"
          },
          "radiusServerPort" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "radiusServerSecret" : {
            "type" : "string",
            "title" : "String"
          },
          "radiusNasIdentifier" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "radiusServerHost", "radiusServerPort", "radiusServerSecret" ],
        "title" : ""
      },
      "vc-auth" : {
        "type" : "object",
        "properties" : {
          "verification" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "verification" ],
        "title" : ""
      },
      "id.walt.enterprise.global.account.AccountService.UnwrappedAccountRegistrationRequest" : {
        "type" : "object",
        "properties" : {
          "profile" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account.AccountProfile"
          },
          "preferences" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account.AccountPreferences"
          },
          "initialAuth" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.initalauth.AuthMethodRegistration"
          }
        },
        "required" : [ "initialAuth", "preferences", "profile" ],
        "title" : "AccountService.UnwrappedAccountRegistrationRequest"
      },
      "id.walt.enterprise.global.account.AccountType" : {
        "type" : "string",
        "enum" : [ "USER", "API" ],
        "title" : "AccountType"
      },
      "id.walt.enterprise.global.account.Account" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "format" : "uuid",
            "title" : "AccountId"
          },
          "type" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.AccountType"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "profile" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account.AccountProfile"
          },
          "accountPreferences" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.Account.AccountPreferences"
          },
          "flags" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "roles" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "LinkedHashMap<String,ArrayList<String>>"
          }
        },
        "required" : [ "_id", "accountPreferences", "flags", "profile", "roles", "type" ],
        "title" : "Account"
      },
      "id.walt.enterprise.global.organization.Organization" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "OrganizationId"
          },
          "profile" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization.OrganizationProfile"
          },
          "billing" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.Organization.OrganizationBilling"
          },
          "configuration" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.organization.OrganizationConfiguration"
          }
        },
        "required" : [ "_id", "configuration", "profile" ],
        "title" : "Organization"
      },
      "id.walt.enterprise.global.organization.Organization.OrganizationProfile" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "name" ],
        "title" : "Organization.OrganizationProfile"
      },
      "id.walt.enterprise.global.organization.Organization.OrganizationBilling" : {
        "type" : "object",
        "properties" : {
          "billingCountry" : {
            "type" : "string",
            "title" : "String"
          },
          "billingAddress" : {
            "type" : "string",
            "title" : "String"
          },
          "vatNr" : {
            "type" : "string",
            "title" : "String"
          },
          "iban" : {
            "type" : "string",
            "title" : "String"
          },
          "swift" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "billingAddress", "billingCountry" ],
        "title" : "Organization.OrganizationBilling"
      },
      "id.walt.enterprise.global.organization.OrganizationConfiguration" : {
        "type" : "object",
        "properties" : {
          "rootDidRegistry" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "title" : "OrganizationConfiguration"
      },
      "id.walt.ktorauthnz.methods.storeddata.IdentifiedStoredData" : {
        "type" : "object",
        "properties" : {
          "identifier" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.accounts.identifiers.methods.AccountIdentifier"
          },
          "data" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.methods.storeddata.AuthMethodStoredData"
          }
        },
        "required" : [ "data", "identifier" ],
        "title" : "IdentifiedStoredData"
      },
      "id.walt.enterprise.authnz.AuthenticationService.IdentifiedMethod" : {
        "type" : "object",
        "properties" : {
          "identifier" : {
            "$ref" : "#/components/schemas/id.walt.ktorauthnz.accounts.identifiers.methods.AccountIdentifier"
          },
          "method" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "identifier", "method" ],
        "title" : "AuthenticationService.IdentifiedMethod"
      },
      "id.walt.enterprise.persistence.interfaces.DataStoreMigrationService.MigrationRunInformation" : {
        "type" : "object",
        "properties" : {
          "runId" : {
            "type" : "string",
            "title" : "String"
          },
          "action" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.persistence.interfaces.DataStoreMigrationService.MigrationAction"
          },
          "remark" : {
            "type" : "string",
            "title" : "String"
          },
          "startedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "completedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "totalItems" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "processedItems" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "success" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "messages" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "errorMessage" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "action", "messages", "runId" ],
        "title" : "DataStoreMigrationService.MigrationRunInformation"
      },
      "id.walt.enterprise.persistence.interfaces.DataStoreMigrationService.MigrationAction" : {
        "type" : "string",
        "enum" : [ "APPLY", "RUN", "DRY_RUN", "VALIDATE_PRECONDITIONS", "ROLLBACK" ],
        "title" : "DataStoreMigrationService.MigrationAction"
      },
      "id.walt.enterprise.persistence.migration.DataStoreMigrationController.MigrationActionRequest" : {
        "type" : "object",
        "properties" : {
          "action" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.persistence.interfaces.DataStoreMigrationService.MigrationAction"
          },
          "remark" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "action" ],
        "title" : "DataStoreMigrationController.MigrationActionRequest"
      },
      "id.walt.enterprise.clusterstatus.EnterpriseClusterNodeStatus" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "String"
          },
          "heartbeat" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "dbVersion" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "required" : [ "_id", "dbVersion", "heartbeat" ],
        "title" : "EnterpriseClusterNodeStatus"
      },
      "id.walt.enterprise.global.account.MinimalAccount" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "format" : "uuid",
            "title" : "AccountId"
          },
          "type" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.AccountType"
          },
          "profile" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.global.account.MinimalAccount.MinimalProfile"
          }
        },
        "required" : [ "_id", "profile", "type" ],
        "title" : "MinimalAccount"
      },
      "id.walt.enterprise.global.account.MinimalAccount.MinimalProfile" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "email" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "email", "name" ],
        "title" : "MinimalAccount.MinimalProfile"
      },
      "id.walt.commons.events.EventType" : {
        "type" : "string",
        "enum" : [ "IssuanceEvent", "VerificationEvent", "KeyEvent", "DIDEvent", "CredentialWalletEvent", "IssuanceWalletEvent", "PresentationWalletEvent" ],
        "title" : "EventType"
      },
      "id.walt.commons.events.filter.IssuanceEventFilter" : {
        "type" : "object",
        "properties" : {
          "credentialConfigurationId" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "format" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "sessionId" : {
            "type" : "string",
            "title" : "String"
          },
          "proofType" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "holder" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          }
        },
        "title" : "IssuanceEventFilter"
      },
      "id.walt.commons.events.filter.VerificationEventFilter" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "signatureAlgorithm" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "sessionId" : {
            "type" : "string",
            "title" : "String"
          },
          "holder" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "credentialType" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "ecosystem" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "walletId" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "protocol" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "deviceFlow" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.commons.events.DeviceFlow"
            },
            "title" : "LinkedHashSet<DeviceFlow>"
          },
          "asyncFlow" : {
            "type" : "array",
            "items" : {
              "type" : "boolean",
              "title" : "Boolean"
            },
            "title" : "LinkedHashSet<Boolean>"
          }
        },
        "title" : "VerificationEventFilter"
      },
      "id.walt.commons.events.DeviceFlow" : {
        "type" : "string",
        "enum" : [ "Multi", "Single" ],
        "title" : "DeviceFlow"
      },
      "id.walt.commons.events.filter.KeyEventFilter" : {
        "type" : "object",
        "properties" : {
          "keyEventType" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.commons.events.KeyEventType"
            },
            "title" : "LinkedHashSet<KeyEventType>"
          },
          "keyAlgorithm" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          }
        },
        "title" : "KeyEventFilter"
      },
      "id.walt.commons.events.KeyEventType" : {
        "type" : "string",
        "enum" : [ "Create", "Import", "Export", "Rotation" ],
        "title" : "KeyEventType"
      },
      "id.walt.commons.events.filter.DidEventFilter" : {
        "type" : "object",
        "properties" : {
          "didEventType" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.commons.events.DidEventType"
            },
            "title" : "LinkedHashSet<DidEventType>"
          },
          "didMethod" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          }
        },
        "title" : "DidEventFilter"
      },
      "id.walt.commons.events.DidEventType" : {
        "type" : "string",
        "enum" : [ "Create", "Update", "Delete", "Resolve" ],
        "title" : "DidEventType"
      },
      "id.walt.commons.events.filter.EventFilter" : {
        "type" : "object",
        "properties" : {
          "eventType" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.commons.events.EventType"
            },
            "title" : "LinkedHashSet<EventType>"
          },
          "status" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "action" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "fromTimestamp" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "toTimestamp" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "callId" : {
            "type" : "string",
            "title" : "String"
          },
          "target" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>"
          },
          "issuanceEventFilter" : {
            "$ref" : "#/components/schemas/id.walt.commons.events.filter.IssuanceEventFilter"
          },
          "verificationEventFilter" : {
            "$ref" : "#/components/schemas/id.walt.commons.events.filter.VerificationEventFilter"
          },
          "keyEventFilter" : {
            "$ref" : "#/components/schemas/id.walt.commons.events.filter.KeyEventFilter"
          },
          "didEventFilter" : {
            "$ref" : "#/components/schemas/id.walt.commons.events.filter.DidEventFilter"
          }
        },
        "title" : "EventFilter"
      },
      "kotlinx.serialization.json.JsonObject" : {
        "type" : "object",
        "title" : "JsonObject"
      },
      "id.walt.permissions.Permission" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "PermissionedResourceTarget"
          },
          "action" : {
            "type" : "string",
            "title" : "String"
          },
          "operation" : {
            "$ref" : "#/components/schemas/id.walt.permissions.PermissionOperation"
          }
        },
        "required" : [ "action", "operation", "target" ],
        "title" : "Permission"
      },
      "id.walt.permissions.PermissionOperation" : {
        "type" : "string",
        "enum" : [ "ADD", "REMOVE" ],
        "title" : "PermissionOperation"
      },
      "id.walt.enterprise.services.tenants.TenantConfiguration" : {
        "type" : "object",
        "properties" : {
          "didRegistry" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "title" : "TenantConfiguration"
      },
      "id.walt.enterprise.resource.resources.NewTenantRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "configuration" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.tenants.TenantConfiguration"
          }
        },
        "title" : "NewTenantRequest"
      },
      "tenant" : {
        "type" : "object",
        "properties" : {
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "configuration" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.tenants.TenantConfiguration"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "configuration", "parent", "traversable" ],
        "title" : ""
      },
      "did-registry" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent" ],
        "title" : ""
      },
      "x509-service" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent" ],
        "title" : ""
      },
      "certificate-store" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "client-attester" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "signingKeyId" : {
            "type" : "string",
            "title" : "Target"
          },
          "attestationValiditySeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "attestationValiditySeconds", "dependencies", "parent", "signingKeyId", "traversable" ],
        "title" : ""
      },
      "credential-status" : {
        "type" : "object",
        "properties" : {
          "argument" : {
            "$ref" : "#/components/schemas/id.walt.policies2.vc.policies.status.model.StatusPolicyArgument"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "argument", "id" ],
        "title" : ""
      },
      "id.walt.enterprise.services.revocation.models.service.CredentialStatusServiceConfiguration" : {
        "type" : "object",
        "properties" : {
          "registry" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.service.ObjectStorageConfiguration"
          },
          "bucketUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "configRef" : {
            "type" : "string",
            "title" : "String"
          },
          "capacity" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.service.StatusListCapacityConfiguration"
          }
        },
        "title" : "CredentialStatusServiceConfiguration"
      },
      "id.walt.enterprise.services.revocation.models.service.ObjectStorageConfiguration" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/aws"
        }, {
          "$ref" : "#/components/schemas/azure"
        }, {
          "$ref" : "#/components/schemas/gcp"
        }, {
          "$ref" : "#/components/schemas/in-memory"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "ObjectStorageConfiguration"
      },
      "aws" : {
        "type" : "object",
        "properties" : {
          "bucketName" : {
            "type" : "string",
            "title" : "String"
          },
          "region" : {
            "type" : "string",
            "title" : "String"
          },
          "accessKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "secretKey" : {
            "type" : "string",
            "title" : "String"
          },
          "endpointUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "bucketName", "region" ],
        "title" : ""
      },
      "azure" : {
        "type" : "object",
        "properties" : {
          "bucketName" : {
            "type" : "string",
            "title" : "String"
          },
          "connectionString" : {
            "type" : "string",
            "title" : "String"
          },
          "accountUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "bucketName" ],
        "title" : ""
      },
      "gcp" : {
        "type" : "object",
        "properties" : {
          "bucketName" : {
            "type" : "string",
            "title" : "String"
          },
          "projectId" : {
            "type" : "string",
            "title" : "String"
          },
          "serviceAccountKeyJson" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "bucketName", "projectId", "serviceAccountKeyJson" ],
        "title" : ""
      },
      "in-memory" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : ""
      },
      "id.walt.enterprise.services.revocation.models.service.StatusListCapacityConfiguration" : {
        "type" : "object",
        "properties" : {
          "maxEntries" : {
            "type" : "integer",
            "title" : "ULong"
          },
          "warningThresholdPercent" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "criticalThresholdPercent" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "autoRollover" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "rolloverSuffix" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "autoRollover", "criticalThresholdPercent", "maxEntries", "rolloverSuffix", "warningThresholdPercent" ],
        "title" : "StatusListCapacityConfiguration"
      },
      "credential-store" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "did" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "did-store" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "idcacheservice" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "issuerUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "issuerUrl", "parent", "traversable" ],
        "title" : ""
      },
      "issuer" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "supportedCredentialTypes" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "tokenKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "kms" : {
            "type" : "string",
            "title" : "String"
          },
          "baseUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "displayConfigurations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerDisplayConfiguration"
            },
            "title" : "ArrayList<IssuerDisplayConfiguration>"
          },
          "authProviderConfiguration" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.AuthProviderConfiguration"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "kms", "parent", "supportedCredentialTypes", "tokenKeyId", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.IssuerDisplayConfiguration" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "locale" : {
            "type" : "string",
            "title" : "String"
          },
          "logo" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuerLogoConfiguration"
          }
        },
        "title" : "IssuerDisplayConfiguration"
      },
      "id.walt.enterprise.resource.resources.IssuerLogoConfiguration" : {
        "type" : "object",
        "properties" : {
          "uri" : {
            "type" : "string",
            "title" : "String"
          },
          "alt_text" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "uri" ],
        "title" : "IssuerLogoConfiguration"
      },
      "id.walt.enterprise.resource.resources.AuthProviderConfiguration" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "authorizeUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "accessTokenUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "clientSecret" : {
            "type" : "string",
            "title" : "String"
          },
          "defaultScopes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "accessTokenUrl", "authorizeUrl", "clientId", "clientSecret", "defaultScopes", "name" ],
        "title" : "AuthProviderConfiguration"
      },
      "issuer2" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "baseUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "tokenKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "kms" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialConfigurations" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialConfiguration"
            },
            "title" : "LinkedHashMap<String,CredentialConfiguration>"
          },
          "issuerDisplayConfiguration" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.IssuerDisplay"
            },
            "title" : "ArrayList<IssuerDisplay>"
          },
          "authProviderConfiguration" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.AuthProviderConfiguration2"
          },
          "sdJwtVcTypeMetadataConfiguration" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.sdjwt.metadata.type.SdJwtVcTypeMetadataDraft04"
            },
            "title" : "LinkedHashMap<String,SdJwtVcTypeMetadataDraft04>"
          },
          "clientAuthenticationConfig" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.clientauth.ClientAuthenticationConfig"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "credentialConfigurations", "dependencies", "kms", "parent", "tokenKeyId", "traversable" ],
        "title" : ""
      },
      "id.walt.openid4vci.metadata.issuer.CredentialConfiguration" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.CredentialFormat"
          },
          "scope" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_definition" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialDefinition"
          },
          "doctype" : {
            "type" : "string",
            "title" : "String"
          },
          "vct" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_signing_alg_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "SigningAlgId"
            },
            "title" : "LinkedHashSet<SigningAlgId>"
          },
          "cryptographic_binding_methods_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "CryptographicBindingMethod"
            },
            "title" : "LinkedHashSet<CryptographicBindingMethod>"
          },
          "proof_types_supported" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.ProofType"
            },
            "title" : "LinkedHashMap<String,ProofType>"
          },
          "credential_metadata" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialMetadata"
          }
        },
        "required" : [ "format" ],
        "title" : "CredentialConfiguration"
      },
      "id.walt.openid4vci.CredentialFormat" : {
        "type" : "string",
        "enum" : [ "jwt_vc_json", "jwt_vc_json-ld", "ldp_vc", "jwt_vc", "dc+sd-jwt", "mso_mdoc" ],
        "title" : "CredentialFormat"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialDefinition" : {
        "type" : "object",
        "properties" : {
          "@context" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "type" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "title" : "CredentialDefinition"
      },
      "id.walt.openid4vci.metadata.issuer.ProofType" : {
        "type" : "object",
        "properties" : {
          "proof_signing_alg_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "key_attestations_required" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.KeyAttestationsRequired"
          }
        },
        "required" : [ "proof_signing_alg_values_supported" ],
        "title" : "ProofType"
      },
      "id.walt.openid4vci.metadata.issuer.KeyAttestationsRequired" : {
        "type" : "object",
        "properties" : {
          "key_storage" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "user_authentication" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          }
        },
        "title" : "KeyAttestationsRequired"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialMetadata" : {
        "type" : "object",
        "properties" : {
          "display" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialDisplay"
            },
            "title" : "ArrayList<CredentialDisplay>"
          },
          "claims" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.ClaimDescription"
            },
            "title" : "ArrayList<ClaimDescription>"
          }
        },
        "title" : "CredentialMetadata"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialDisplay" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "locale" : {
            "type" : "string",
            "title" : "String"
          },
          "logo" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialDisplayLogo"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "background_color" : {
            "type" : "string",
            "title" : "String"
          },
          "background_image" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialDisplayBackgroundImage"
          },
          "text_color" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "name" ],
        "title" : "CredentialDisplay"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialDisplayLogo" : {
        "type" : "object",
        "properties" : {
          "uri" : {
            "type" : "string",
            "title" : "String"
          },
          "alt_text" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "uri" ],
        "title" : "CredentialDisplayLogo"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialDisplayBackgroundImage" : {
        "type" : "object",
        "properties" : {
          "uri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "uri" ],
        "title" : "CredentialDisplayBackgroundImage"
      },
      "id.walt.openid4vci.metadata.issuer.ClaimDescription" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "mandatory" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "display" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.ClaimDisplay"
            },
            "title" : "ArrayList<ClaimDisplay>"
          }
        },
        "required" : [ "path" ],
        "title" : "ClaimDescription"
      },
      "id.walt.openid4vci.metadata.issuer.ClaimDisplay" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "locale" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "ClaimDisplay"
      },
      "id.walt.openid4vci.metadata.issuer.IssuerDisplay" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "locale" : {
            "type" : "string",
            "title" : "String"
          },
          "logo" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.IssuerLogo"
          }
        },
        "title" : "IssuerDisplay"
      },
      "id.walt.openid4vci.metadata.issuer.IssuerLogo" : {
        "type" : "object",
        "properties" : {
          "uri" : {
            "type" : "string",
            "title" : "String"
          },
          "alt_text" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "uri" ],
        "title" : "IssuerLogo"
      },
      "id.walt.enterprise.resource.resources.AuthProviderConfiguration2" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "authorizeUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "accessTokenUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "clientSecret" : {
            "type" : "string",
            "title" : "String"
          },
          "defaultScopes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "forwardIssuerStateToAuthorizationServer" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "accessTokenUrl", "authorizeUrl", "clientId", "clientSecret", "defaultScopes", "forwardIssuerStateToAuthorizationServer", "name" ],
        "title" : "AuthProviderConfiguration2"
      },
      "id.walt.sdjwt.metadata.type.SdJwtVcTypeMetadataDraft04" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "vct" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "extends" : {
            "type" : "string",
            "title" : "String"
          },
          "extends#integrity" : {
            "type" : "string",
            "title" : "String"
          },
          "schema" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "schema_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "schema_uri#integrity" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "SdJwtVcTypeMetadataDraft04"
      },
      "id.walt.enterprise.services.issuer2.clientauth.ClientAuthenticationConfig" : {
        "type" : "object",
        "properties" : {
          "supportedMethods" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.clientauth.ClientAuthenticationMethod"
            },
            "title" : "ArrayList<ClientAuthenticationMethod>"
          }
        },
        "required" : [ "supportedMethods" ],
        "title" : "ClientAuthenticationConfig"
      },
      "id.walt.enterprise.services.issuer2.clientauth.ClientAuthenticationMethod" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/client-attestation"
        }, {
          "$ref" : "#/components/schemas/preauth-anonymous"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "ClientAuthenticationMethod"
      },
      "client-attestation" : {
        "type" : "object",
        "properties" : {
          "config" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.clientauth.ClientAttestationConfig"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "config" ],
        "title" : ""
      },
      "id.walt.enterprise.services.issuer2.clientauth.ClientAttestationConfig" : {
        "type" : "object",
        "properties" : {
          "verificationMethod" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.clientauth.AttestationVerificationMethod"
          },
          "clockSkewSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "replayWindowSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "clockSkewSeconds", "replayWindowSeconds", "verificationMethod" ],
        "title" : "ClientAttestationConfig"
      },
      "id.walt.enterprise.services.issuer2.clientauth.AttestationVerificationMethod" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/kms-key"
        }, {
          "$ref" : "#/components/schemas/static-jwk"
        }, {
          "$ref" : "#/components/schemas/x509-chain"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "AttestationVerificationMethod"
      },
      "kms-key" : {
        "type" : "object",
        "properties" : {
          "keyReference" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "keyReference" ],
        "title" : ""
      },
      "static-jwk" : {
        "type" : "object",
        "properties" : {
          "jwk" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "jwk" ],
        "title" : ""
      },
      "x509-chain" : {
        "type" : "object",
        "properties" : {
          "trustedRootCertificatesPem" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "trustedRootCertificatesPem" ],
        "title" : ""
      },
      "preauth-anonymous" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : ""
      },
      "kms" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "defaultKeyGenerationRequests" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
            },
            "title" : "LinkedHashMap<String,JsonObject>"
          },
          "configRef" : {
            "type" : "string",
            "title" : "String"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "defaultKeyGenerationRequests", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "oidc-bridge" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "issuerUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "enabled" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "clients" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.OidcClientConfig"
            },
            "title" : "LinkedHashMap<String,OidcClientConfig>"
          },
          "defaultClaimMappings" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ClaimMapping"
            },
            "title" : "ArrayList<ClaimMapping>"
          },
          "flows" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.OidcBridgeFlowsConfig"
          },
          "defaultVerificationSetup" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.VerificationSessionSetup"
          },
          "tokenLifetime" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.TokenLifetimeConfig"
          },
          "presentationTimeoutSeconds" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "uiConfig" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.PresentationUiConfig"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "clients", "defaultClaimMappings", "dependencies", "enabled", "issuerUrl", "parent", "presentationTimeoutSeconds", "tokenLifetime", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.OidcClientConfig" : {
        "type" : "object",
        "properties" : {
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "clientSecret" : {
            "type" : "string",
            "title" : "String"
          },
          "clientName" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "allowedScopes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "claimMappings" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ClaimMapping"
            },
            "title" : "ArrayList<ClaimMapping>"
          },
          "verificationSetup" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.VerificationSessionSetup"
          }
        },
        "required" : [ "allowedScopes", "clientId", "clientSecret", "redirectUris" ],
        "title" : "OidcClientConfig"
      },
      "id.walt.enterprise.resource.resources.ClaimMapping" : {
        "type" : "object",
        "properties" : {
          "credentialPath" : {
            "type" : "string",
            "title" : "String"
          },
          "oidcClaim" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialId" : {
            "type" : "string",
            "title" : "String"
          },
          "transform" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ClaimTransform"
          }
        },
        "required" : [ "credentialPath", "oidcClaim", "transform" ],
        "title" : "ClaimMapping"
      },
      "id.walt.enterprise.resource.resources.ClaimTransform" : {
        "type" : "string",
        "enum" : [ "NONE", "LOWERCASE", "UPPERCASE", "hash_sha256" ],
        "title" : "ClaimTransform"
      },
      "id.walt.verifier2.data.VerificationSessionSetup" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/dc_api-annex-c"
        }, {
          "$ref" : "#/components/schemas/dc_api"
        }, {
          "$ref" : "#/components/schemas/cross_device"
        }, {
          "$ref" : "#/components/schemas/same_device"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "VerificationSessionSetup"
      },
      "dc_api-annex-c" : {
        "type" : "object",
        "properties" : {
          "core_flow" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.GeneralFlowConfig"
          },
          "requestedElements" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "array",
                "items" : {
                  "type" : "string",
                  "title" : "String"
                },
                "title" : "ArrayList<String>"
              },
              "title" : "LinkedHashMap<String,ArrayList<String>>"
            },
            "title" : "LinkedHashMap<String,LinkedHashMap<String,ArrayList<String>>>"
          },
          "origin" : {
            "type" : "string",
            "title" : "String"
          },
          "generatedCore" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.GeneralFlowConfig"
          },
          "core" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.GeneralFlowConfig"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "core", "generatedCore", "origin", "requestedElements" ],
        "title" : ""
      },
      "id.walt.verifier2.data.GeneralFlowConfig" : {
        "type" : "object",
        "properties" : {
          "dcql_query" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.DcqlQuery"
          },
          "signed_request" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "encrypted_response" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "expiration_duration" : {
            "type" : "string",
            "title" : "Duration"
          },
          "expiration_date" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "policies" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.DefinedVerificationPolicies"
          },
          "client_metadata" : {
            "$ref" : "#/components/schemas/ClientMetadata"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "sessionId" : {
            "type" : "string",
            "title" : "String"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "x5c" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "verifier_info" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.VerifierInfoItem"
            },
            "title" : "ArrayList<VerifierInfoItem>"
          }
        },
        "required" : [ "encrypted_response", "policies", "signed_request" ],
        "title" : "GeneralFlowConfig"
      },
      "id.walt.dcql.models.DcqlQuery" : {
        "type" : "object",
        "properties" : {
          "credentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.dcql.models.CredentialQuery"
            },
            "title" : "ArrayList<CredentialQuery>"
          },
          "credential_sets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.dcql.models.CredentialSetQuery"
            },
            "title" : "ArrayList<CredentialSetQuery>"
          }
        },
        "required" : [ "credentials" ],
        "title" : "DcqlQuery"
      },
      "id.walt.dcql.models.CredentialQuery" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.CredentialFormat"
          },
          "multiple" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "meta" : {
            "$ref" : "#/components/schemas/CredentialQueryMeta"
          },
          "trusted_authorities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.dcql.models.TrustedAuthoritiesQuery"
            },
            "title" : "ArrayList<TrustedAuthoritiesQuery>"
          },
          "require_cryptographic_holder_binding" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "claims" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.dcql.models.ClaimsQuery"
            },
            "title" : "ArrayList<ClaimsQuery>"
          },
          "claim_sets" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "ArrayList<ArrayList<String>>"
          }
        },
        "required" : [ "format", "id", "meta", "multiple", "require_cryptographic_holder_binding" ],
        "title" : "CredentialQuery"
      },
      "id.walt.dcql.models.CredentialFormat" : {
        "type" : "string",
        "enum" : [ "jwt_vc_json", "ldp_vc", "mso_mdoc", "dc+sd-jwt", "ac_vp" ],
        "title" : "CredentialFormat"
      },
      "CredentialQueryMeta" : {
        "type" : "object",
        "properties" : { },
        "title" : "CredentialQueryMeta"
      },
      "id.walt.dcql.models.TrustedAuthoritiesQuery" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.TrustedAuthorityType"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "type", "values" ],
        "title" : "TrustedAuthoritiesQuery"
      },
      "id.walt.dcql.models.TrustedAuthorityType" : {
        "type" : "string",
        "enum" : [ "aki", "etsi_tl", "openid_federation" ],
        "title" : "TrustedAuthorityType"
      },
      "id.walt.dcql.models.ClaimsQuery" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "path" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "ArrayList<JsonElement>"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "JsonPrimitive"
            },
            "title" : "ArrayList<JsonPrimitive>"
          },
          "intent_to_retain" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "path" ],
        "title" : "ClaimsQuery"
      },
      "id.walt.dcql.models.CredentialSetQuery" : {
        "type" : "object",
        "properties" : {
          "options" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "ArrayList<ArrayList<String>>"
          },
          "required" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "options", "required" ],
        "title" : "CredentialSetQuery"
      },
      "id.walt.ktornotifications.core.KtorSessionNotifications" : {
        "type" : "object",
        "properties" : {
          "webhook" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications.VerificationSessionWebhookNotification"
          }
        },
        "title" : "KtorSessionNotifications"
      },
      "id.walt.ktornotifications.core.KtorSessionNotifications.VerificationSessionWebhookNotification" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "title" : "Url"
          },
          "basic_auth_username" : {
            "type" : "string",
            "title" : "String"
          },
          "basic_auth_password" : {
            "type" : "string",
            "title" : "String"
          },
          "bearer_token" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "url" ],
        "title" : "KtorSessionNotifications.VerificationSessionWebhookNotification"
      },
      "id.walt.verifier2.data.Verification2Session.DefinedVerificationPolicies" : {
        "type" : "object",
        "properties" : {
          "vp_policies" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2"
            },
            "title" : "ArrayList<VPPolicy2>"
          },
          "vc_policies" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.policies2.vc.policies.CredentialVerificationPolicy2"
            },
            "title" : "ArrayList<CredentialVerificationPolicy2>"
          },
          "specific_vc_policies" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/id.walt.policies2.vc.policies.CredentialVerificationPolicy2"
              },
              "title" : "ArrayList<CredentialVerificationPolicy2>"
            },
            "title" : "LinkedHashMap<String,ArrayList<CredentialVerificationPolicy2>>"
          }
        },
        "title" : "Verification2Session.DefinedVerificationPolicies"
      },
      "id.walt.policies2.vp.policies.VPPolicy2" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/dc+sd-jwt.audience-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.exp-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.kb-jwt_iat-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.kb-jwt_signature"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.nbf-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.nonce-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.sd_hash-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.transaction-data-hash-check"
        }, {
          "$ref" : "#/components/schemas/dc+sd-jwt.transaction-data-hashes-check"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json.audience-check"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json.exp-check"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json.nbf-check"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json.nonce-check"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json.envelope_signature"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc.device-auth"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc.device_key_auth"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc.issuer_auth"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc.issuer_signed_integrity"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc.mso"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc.transaction-data-hash-check"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "VPPolicy2"
      },
      "dc+sd-jwt.audience-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.exp-check" : {
        "type" : "object",
        "properties" : {
          "clockSkewSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clockSkewSeconds", "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.kb-jwt_iat-check" : {
        "type" : "object",
        "properties" : {
          "maxAgeMinutes" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id", "maxAgeMinutes" ],
        "title" : ""
      },
      "dc+sd-jwt.kb-jwt_signature" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.nbf-check" : {
        "type" : "object",
        "properties" : {
          "clockSkewSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clockSkewSeconds", "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.nonce-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.sd_hash-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.transaction-data-hash-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "dc+sd-jwt.transaction-data-hashes-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "jwt_vc_json.audience-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "jwt_vc_json.exp-check" : {
        "type" : "object",
        "properties" : {
          "clockSkewSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clockSkewSeconds", "description", "id" ],
        "title" : ""
      },
      "jwt_vc_json.nbf-check" : {
        "type" : "object",
        "properties" : {
          "clockSkewSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clockSkewSeconds", "description", "id" ],
        "title" : ""
      },
      "jwt_vc_json.nonce-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "jwt_vc_json.envelope_signature" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "mso_mdoc.device-auth" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "mso_mdoc.device_key_auth" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "mso_mdoc.issuer_auth" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "mso_mdoc.issuer_signed_integrity" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "mso_mdoc.mso" : {
        "type" : "object",
        "properties" : {
          "strict_etsi_precision" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id", "strict_etsi_precision" ],
        "title" : ""
      },
      "mso_mdoc.transaction-data-hash-check" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "description", "id" ],
        "title" : ""
      },
      "id.walt.policies2.vc.policies.CredentialVerificationPolicy2" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/allowed-issuer"
        }, {
          "$ref" : "#/components/schemas/signature"
        }, {
          "$ref" : "#/components/schemas/etsi-trust-list"
        }, {
          "$ref" : "#/components/schemas/expiration"
        }, {
          "$ref" : "#/components/schemas/schema"
        }, {
          "$ref" : "#/components/schemas/not-before"
        }, {
          "$ref" : "#/components/schemas/regex"
        }, {
          "$ref" : "#/components/schemas/revoked-status-list"
        }, {
          "$ref" : "#/components/schemas/credential-status"
        }, {
          "$ref" : "#/components/schemas/vct-integrity"
        }, {
          "$ref" : "#/components/schemas/vical"
        }, {
          "$ref" : "#/components/schemas/webhook"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "CredentialVerificationPolicy2"
      },
      "allowed-issuer" : {
        "type" : "object",
        "properties" : {
          "allowed_issuer" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "allowed_issuer", "id" ],
        "title" : ""
      },
      "signature" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id" ],
        "title" : ""
      },
      "etsi-trust-list" : {
        "type" : "object",
        "properties" : {
          "trustRegistryUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "trustLists" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "expectedEntityType" : {
            "type" : "string",
            "title" : "String"
          },
          "expectedServiceType" : {
            "type" : "string",
            "title" : "String"
          },
          "allowStaleSource" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "requireAuthenticated" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "validateSignatures" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "allowStaleSource", "id", "requireAuthenticated", "validateSignatures" ],
        "title" : ""
      },
      "expiration" : {
        "type" : "object",
        "properties" : {
          "requireField" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id", "requireField" ],
        "title" : ""
      },
      "schema" : {
        "type" : "object",
        "properties" : {
          "schema" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "schemaUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "defaultType" : {
            "$ref" : "#/components/schemas/io.github.optimumcode.json.schema.SchemaType"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id" ],
        "title" : ""
      },
      "io.github.optimumcode.json.schema.SchemaType" : {
        "type" : "string",
        "enum" : [ "DRAFT_4", "DRAFT_6", "DRAFT_7", "DRAFT_2019_09", "DRAFT_2020_12" ],
        "title" : "SchemaType"
      },
      "not-before" : {
        "type" : "object",
        "properties" : {
          "requireField" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id", "requireField" ],
        "title" : ""
      },
      "regex" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "regex" : {
            "type" : "string",
            "title" : "String"
          },
          "regex_options" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/kotlin.text.RegexOption"
            },
            "title" : "LinkedHashSet<RegexOption>"
          },
          "allowNull" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "allowNull", "id", "path", "regex" ],
        "title" : ""
      },
      "kotlin.text.RegexOption" : {
        "type" : "string",
        "enum" : [ "IGNORE_CASE", "MULTILINE", "LITERAL", "UNIX_LINES", "COMMENTS", "DOT_MATCHES_ALL", "CANON_EQ" ],
        "title" : "RegexOption"
      },
      "revoked-status-list" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id" ],
        "title" : ""
      },
      "vct-integrity" : {
        "type" : "object",
        "properties" : {
          "skipValueVerification" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id", "skipValueVerification" ],
        "title" : ""
      },
      "vical" : {
        "type" : "object",
        "properties" : {
          "vical" : {
            "type" : "string",
            "title" : "String"
          },
          "vicalUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "enableDocumentTypeValidation" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "enableTrustedChainRoot" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "enableSystemTrustAnchors" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "enableRevocation" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "enableDocumentTypeValidation", "enableRevocation", "enableSystemTrustAnchors", "enableTrustedChainRoot", "id", "vical" ],
        "title" : ""
      },
      "webhook" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "title" : "String"
          },
          "basicauth_username" : {
            "type" : "string",
            "title" : "String"
          },
          "basicauth_password" : {
            "type" : "string",
            "title" : "String"
          },
          "bearerauth_token" : {
            "type" : "string",
            "title" : "String"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id", "url" ],
        "title" : ""
      },
      "ClientMetadata" : {
        "type" : "object",
        "properties" : {
          "jwks" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "vp_formats_supported" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
            },
            "title" : "LinkedHashMap<String,JsonObject>"
          },
          "encrypted_response_enc_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "client_name" : {
            "type" : "string",
            "title" : "String"
          },
          "logo_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "tos_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "policy_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "client_uri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "ClientMetadata"
      },
      "id.walt.verifier.openid.models.authorization.VerifierInfoItem" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.credentials.AttestationFormat"
          },
          "data" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "data", "format" ],
        "title" : "VerifierInfoItem"
      },
      "id.walt.verifier.openid.models.credentials.AttestationFormat" : {
        "type" : "string",
        "enum" : [ "jwt" ],
        "title" : "AttestationFormat"
      },
      "dc_api" : {
        "type" : "object",
        "properties" : {
          "core" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.GeneralFlowConfig"
          },
          "openid" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.OpenId4VPConfig"
          },
          "expectedOrigins" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "haip" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "core", "expectedOrigins", "haip" ],
        "title" : ""
      },
      "id.walt.verifier2.data.OpenId4VPConfig" : {
        "type" : "object",
        "properties" : {
          "transactionData" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
            },
            "title" : "ArrayList<JsonObject>"
          }
        },
        "title" : "OpenId4VPConfig"
      },
      "cross_device" : {
        "type" : "object",
        "properties" : {
          "core_flow" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.GeneralFlowConfig"
          },
          "url_config" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.UrlConfig"
          },
          "openid" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.OpenId4VPConfig"
          },
          "redirects" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.VerificationSessionRedirects"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "core_flow", "url_config" ],
        "title" : ""
      },
      "id.walt.verifier2.data.UrlConfig" : {
        "type" : "object",
        "properties" : {
          "url_host" : {
            "type" : "string",
            "title" : "String"
          },
          "url_prefix" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "UrlConfig"
      },
      "id.walt.verifier2.data.Verification2Session.VerificationSessionRedirects" : {
        "type" : "object",
        "properties" : {
          "success_redirect_uri" : {
            "type" : "string",
            "title" : "Url"
          },
          "error_redirect_uri" : {
            "type" : "string",
            "title" : "Url"
          }
        },
        "title" : "Verification2Session.VerificationSessionRedirects"
      },
      "same_device" : {
        "type" : "object",
        "properties" : {
          "core" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.GeneralFlowConfig"
          },
          "urlConfig" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.UrlConfig"
          },
          "openid" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.OpenId4VPConfig"
          },
          "redirects" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.VerificationSessionRedirects"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "core", "redirects", "urlConfig" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.OidcBridgeFlowsConfig" : {
        "type" : "object",
        "properties" : {
          "qr" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.FlowConfig"
          },
          "dc_api" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.FlowConfig"
          },
          "deep_link" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.FlowConfig"
          },
          "web_wallet" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.FlowConfig"
          }
        },
        "required" : [ "dc_api", "deep_link", "qr", "web_wallet" ],
        "title" : "OidcBridgeFlowsConfig"
      },
      "id.walt.enterprise.resource.resources.FlowConfig" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "buttonLabel" : {
            "type" : "string",
            "title" : "String"
          },
          "verificationSetup" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.VerificationSessionSetup"
          },
          "targetUrl" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "enabled" ],
        "title" : "FlowConfig"
      },
      "id.walt.enterprise.resource.resources.TokenLifetimeConfig" : {
        "type" : "object",
        "properties" : {
          "idTokenExpirySeconds" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "accessTokenExpirySeconds" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "authCodeExpirySeconds" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "required" : [ "accessTokenExpirySeconds", "authCodeExpirySeconds", "idTokenExpirySeconds" ],
        "title" : "TokenLifetimeConfig"
      },
      "id.walt.enterprise.resource.resources.PresentationUiConfig" : {
        "type" : "object",
        "properties" : {
          "logoUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "brandName" : {
            "type" : "string",
            "title" : "String"
          },
          "primaryColor" : {
            "type" : "string",
            "title" : "String"
          },
          "webWalletBaseUrl" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "PresentationUiConfig"
      },
      "policy-store" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "trust-registry" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "validateSignaturesByDefault" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "autoRefreshIntervalSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "autoRefreshIntervalSeconds", "dependencies", "parent", "traversable", "validateSignaturesByDefault" ],
        "title" : ""
      },
      "verifier2" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "baseUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "urlHost" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "clientMetadata" : {
            "$ref" : "#/components/schemas/ClientMetadata"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "x5c" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "baseUrl", "clientMetadata", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "verifier" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "baseUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "metadataConfig" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.VerifierOpenIdMetadataConfiguration"
          },
          "jarSigningKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyAgreementKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "baseUrl", "dependencies", "jarSigningKey", "keyAgreementKey", "parent", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.VerifierOpenIdMetadataConfiguration" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "logoUri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "VerifierOpenIdMetadataConfiguration"
      },
      "vical-service" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "signingKeyId" : {
            "type" : "string",
            "title" : "Target"
          },
          "signerCertificateId" : {
            "type" : "string",
            "title" : "Target"
          },
          "signerCertificateChainIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "Target"
            },
            "title" : "ArrayList<Target>"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "signerCertificateId", "signingKeyId", "traversable" ],
        "title" : ""
      },
      "wallet" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "configuration" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.WalletServiceConfiguration"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "configuration", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.WalletServiceConfiguration" : {
        "type" : "object",
        "properties" : {
          "staticDid" : {
            "type" : "string",
            "title" : "String"
          },
          "staticKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "title" : "WalletServiceConfiguration"
      },
      "x509-store" : {
        "type" : "object",
        "properties" : {
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "dependencies", "parent", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.ServiceReference" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/did-registry"
        }, {
          "$ref" : "#/components/schemas/x509-service"
        }, {
          "$ref" : "#/components/schemas/certificate-store"
        }, {
          "$ref" : "#/components/schemas/client-attester"
        }, {
          "$ref" : "#/components/schemas/credential-status"
        }, {
          "$ref" : "#/components/schemas/credential-store"
        }, {
          "$ref" : "#/components/schemas/did"
        }, {
          "$ref" : "#/components/schemas/did-store"
        }, {
          "$ref" : "#/components/schemas/idcacheservice"
        }, {
          "$ref" : "#/components/schemas/issuer"
        }, {
          "$ref" : "#/components/schemas/issuer2"
        }, {
          "$ref" : "#/components/schemas/kms"
        }, {
          "$ref" : "#/components/schemas/oidc-bridge"
        }, {
          "$ref" : "#/components/schemas/policy-store"
        }, {
          "$ref" : "#/components/schemas/trust-registry"
        }, {
          "$ref" : "#/components/schemas/verifier2"
        }, {
          "$ref" : "#/components/schemas/verifier"
        }, {
          "$ref" : "#/components/schemas/vical-service"
        }, {
          "$ref" : "#/components/schemas/wallet"
        }, {
          "$ref" : "#/components/schemas/x509-store"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "ServiceReference"
      },
      "id.walt.enterprise.init.models.WalletComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "kms" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.KmsComposableConfig"
          },
          "didStore" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidStoreComposableConfig"
          },
          "didService" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidServiceComposableConfig"
          },
          "credentialStore" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.CredentialStoreComposableConfig"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "WalletComposableConfig"
      },
      "id.walt.enterprise.init.models.KmsComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "key" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.KeyComposableConfig"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "KmsComposableConfig"
      },
      "id.walt.enterprise.init.models.KeyComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/id.walt.crypto.keys.KeyGenerationRequest"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "KeyComposableConfig"
      },
      "id.walt.crypto.keys.KeyGenerationRequest" : {
        "type" : "object",
        "properties" : {
          "backend" : {
            "type" : "string",
            "title" : "String"
          },
          "keyType" : {
            "$ref" : "#/components/schemas/id.walt.crypto.keys.KeyType"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "backend", "keyType" ],
        "title" : "KeyGenerationRequest"
      },
      "id.walt.crypto.keys.KeyType" : {
        "type" : "string",
        "enum" : [ "Ed25519", "secp256k1", "secp256r1", "secp384r1", "secp521r1", "RSA", "RSA3072", "RSA4096" ],
        "title" : "KeyType"
      },
      "id.walt.enterprise.init.models.DidStoreComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "DidStoreComposableConfig"
      },
      "id.walt.enterprise.init.models.DidServiceComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "dependencies" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "Target"
            },
            "title" : "ArrayList<Target>"
          },
          "did" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidComposableConfig"
          }
        },
        "required" : [ "createIfNotFound", "dependencies", "target" ],
        "title" : "DidServiceComposableConfig"
      },
      "id.walt.enterprise.init.models.DidComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "createIfNotFound", "target", "type" ],
        "title" : "DidComposableConfig"
      },
      "id.walt.enterprise.init.models.CredentialStoreComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "CredentialStoreComposableConfig"
      },
      "id.walt.enterprise.init.models.IssuerComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "kms" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.KmsComposableConfig"
          },
          "didStore" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidStoreComposableConfig"
          },
          "didService" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidServiceComposableConfig"
          },
          "profile" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ProfileComposableConfig"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "IssuerComposableConfig"
      },
      "id.walt.enterprise.init.models.ProfileComposableConfig" : {
        "type" : "object",
        "properties" : {
          "createIfNotFound" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "config" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "createIfNotFound", "target" ],
        "title" : "ProfileComposableConfig"
      },
      "id.walt.enterprise.init.models.ComposableInitRequest" : {
        "type" : "object",
        "properties" : {
          "wallet" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.WalletComposableConfig"
          },
          "issuer" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.IssuerComposableConfig"
          }
        },
        "title" : "ComposableInitRequest"
      },
      "id.walt.enterprise.init.models.WalletComposableResult" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "created" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "kms" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.KmsComposableResult"
          },
          "didStore" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ResourceComposableResult"
          },
          "didService" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidServiceComposableResult"
          },
          "credentialStore" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ResourceComposableResult"
          }
        },
        "required" : [ "created", "target" ],
        "title" : "WalletComposableResult"
      },
      "id.walt.enterprise.init.models.KmsComposableResult" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "created" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "key" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ResourceComposableResult"
          }
        },
        "required" : [ "created", "target" ],
        "title" : "KmsComposableResult"
      },
      "id.walt.enterprise.init.models.ResourceComposableResult" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "created" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "created", "target" ],
        "title" : "ResourceComposableResult"
      },
      "id.walt.enterprise.init.models.DidServiceComposableResult" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "created" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "did" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidComposableResult"
          }
        },
        "required" : [ "created", "target" ],
        "title" : "DidServiceComposableResult"
      },
      "id.walt.enterprise.init.models.DidComposableResult" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "created" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "created", "did" ],
        "title" : "DidComposableResult"
      },
      "id.walt.enterprise.init.models.IssuerComposableResult" : {
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "title" : "Target"
          },
          "created" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "kms" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.KmsComposableResult"
          },
          "didStore" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ResourceComposableResult"
          },
          "didService" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.DidServiceComposableResult"
          },
          "profile" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.ResourceComposableResult"
          }
        },
        "required" : [ "created", "target" ],
        "title" : "IssuerComposableResult"
      },
      "id.walt.enterprise.init.models.ComposableInitResponse" : {
        "type" : "object",
        "properties" : {
          "wallet" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.WalletComposableResult"
          },
          "issuer" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.init.models.IssuerComposableResult"
          }
        },
        "title" : "ComposableInitResponse"
      },
      "id.walt.enterprise.services.hostalias.HostAliasService.HostAliasCreationRequest" : {
        "type" : "object",
        "properties" : {
          "domain" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "domain" ],
        "title" : "HostAliasService.HostAliasCreationRequest"
      },
      "host-alias" : {
        "type" : "object",
        "properties" : {
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "domain" : {
            "type" : "string",
            "title" : "String"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "domain", "parent", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyCreationRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "expiration" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "name" ],
        "title" : "ApiKeyService.ApiKeyCreationRequest"
      },
      "id.walt.enterprise.services.apikeys.ApiKeyService.ApiKeyInformation" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "token" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "_id", "token" ],
        "title" : "ApiKeyService.ApiKeyInformation"
      },
      "api-key" : {
        "type" : "object",
        "properties" : {
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "accountId" : {
            "type" : "string",
            "format" : "uuid",
            "title" : "AccountId"
          },
          "token" : {
            "type" : "string",
            "title" : "String"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "tokenExpiration" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "expireAtEpochMs" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "KotlinInstantAsBsonDateTime"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "accountId", "parent", "token", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.services.apikeys.ApiKeyDataTransferObject" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "created" : {
            "type" : "string",
            "title" : "String"
          },
          "expiration" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "created", "path" ],
        "title" : "ApiKeyDataTransferObject"
      },
      "id.walt.enterprise.resource.resources.ExternalMapping" : {
        "type" : "object",
        "properties" : {
          "externalRole" : {
            "type" : "string",
            "title" : "String"
          },
          "providerId" : {
            "type" : "string",
            "title" : "String"
          },
          "conditions" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.MappingConditions"
          },
          "enabled" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "enabled", "externalRole" ],
        "title" : "ExternalMapping"
      },
      "id.walt.enterprise.resource.resources.MappingConditions" : {
        "type" : "object",
        "properties" : {
          "emailDomains" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "requiredClaims" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "title" : "MappingConditions"
      },
      "id.walt.enterprise.services.roles.RoleService.RoleCreationRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "permissions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.permissions.Permission"
            },
            "title" : "ArrayList<Permission>"
          },
          "externalMappings" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ExternalMapping"
            },
            "title" : "ArrayList<ExternalMapping>"
          }
        },
        "required" : [ "externalMappings", "permissions" ],
        "title" : "RoleService.RoleCreationRequest"
      },
      "role" : {
        "type" : "object",
        "properties" : {
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "permissions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.permissions.Permission"
            },
            "title" : "ArrayList<Permission>"
          },
          "externalMappings" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ExternalMapping"
            },
            "title" : "ArrayList<ExternalMapping>"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "externalMappings", "parent", "permissions", "traversable" ],
        "title" : ""
      },
      "id.walt.enterprise.services.roles.RoleService.UserRoleAssigningRequest" : {
        "type" : "object",
        "properties" : {
          "assigneeEmail" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "assigneeEmail" ],
        "title" : "RoleService.UserRoleAssigningRequest"
      },
      "id.walt.enterprise.services.roles.RoleService.ApiKeyRoleAssigningRequest" : {
        "type" : "object",
        "properties" : {
          "apikey" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "apikey" ],
        "title" : "RoleService.ApiKeyRoleAssigningRequest"
      },
      "id.walt.enterprise.services.roles.RoleService.UpdateExternalMappingsRequest" : {
        "type" : "object",
        "properties" : {
          "externalMappings" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ExternalMapping"
            },
            "title" : "ArrayList<ExternalMapping>"
          }
        },
        "required" : [ "externalMappings" ],
        "title" : "RoleService.UpdateExternalMappingsRequest"
      },
      "id.walt.enterprise.services.roles.RoleService.UpsertSingleMappingRequest" : {
        "type" : "object",
        "properties" : {
          "providerId" : {
            "type" : "string",
            "title" : "String"
          },
          "conditions" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.MappingConditions"
          },
          "enabled" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "enabled" ],
        "title" : "RoleService.UpsertSingleMappingRequest"
      },
      "id.walt.enterprise.services.roles.RoleService.ExternalMappingListItem" : {
        "type" : "object",
        "properties" : {
          "roleId" : {
            "type" : "string",
            "title" : "String"
          },
          "roleName" : {
            "type" : "string",
            "title" : "String"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.ExternalMapping"
          }
        },
        "required" : [ "mapping", "roleId" ],
        "title" : "RoleService.ExternalMappingListItem"
      },
      "id.walt.enterprise.services.roles.RoleService.ResolveExternalRolesRequest" : {
        "type" : "object",
        "properties" : {
          "externalRoles" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "providerId" : {
            "type" : "string",
            "title" : "String"
          },
          "userEmail" : {
            "type" : "string",
            "title" : "String"
          },
          "userClaims" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "externalRoles" ],
        "title" : "RoleService.ResolveExternalRolesRequest"
      },
      "id.walt.enterprise.services.roles.RoleService.ResolvedRole" : {
        "type" : "object",
        "properties" : {
          "roleId" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "matchedExternalRole" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "matchedExternalRole", "roleId" ],
        "title" : "RoleService.ResolvedRole"
      },
      "id.walt.enterprise.services.roles.RoleService.ResolveExternalRolesResponse" : {
        "type" : "object",
        "properties" : {
          "resolvedRoles" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.roles.RoleService.ResolvedRole"
            },
            "title" : "ArrayList<RoleService.ResolvedRole>"
          }
        },
        "required" : [ "resolvedRoles" ],
        "title" : "RoleService.ResolveExternalRolesResponse"
      },
      "id.walt.status.domain.credential.statuslist.StatusCredentialConfigurationBase" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/TokenStatusList"
        }, {
          "$ref" : "#/components/schemas/BitstringStatusList"
        }, {
          "$ref" : "#/components/schemas/RevocationList2020"
        }, {
          "$ref" : "#/components/schemas/StatusList2021"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "StatusCredentialConfigurationBase"
      },
      "TokenStatusList" : {
        "type" : "object",
        "properties" : {
          "statusSize" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "statuses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.Status"
            },
            "title" : "ArrayList<Status>"
          },
          "format" : {
            "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.StatusCredentialFormat"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "format", "statusSize", "statuses" ],
        "title" : "TokenStatusList"
      },
      "id.walt.status.domain.credential.statuslist.Status" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "message", "type" ],
        "title" : "Status"
      },
      "id.walt.status.domain.credential.statuslist.StatusCredentialFormat" : {
        "type" : "string",
        "enum" : [ "JWT", "CWT" ],
        "title" : "StatusCredentialFormat"
      },
      "BitstringStatusList" : {
        "type" : "object",
        "properties" : {
          "statusSize" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "statuses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.Status"
            },
            "title" : "ArrayList<Status>"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "purpose", "statusSize", "statuses" ],
        "title" : "BitstringStatusList"
      },
      "RevocationList2020" : {
        "type" : "object",
        "properties" : {
          "statusSize" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "statuses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.Status"
            },
            "title" : "ArrayList<Status>"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "purpose", "statusSize", "statuses" ],
        "title" : "RevocationList2020"
      },
      "StatusList2021" : {
        "type" : "object",
        "properties" : {
          "statusSize" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "statuses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.Status"
            },
            "title" : "ArrayList<Status>"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "purpose", "statusSize", "statuses" ],
        "title" : "StatusList2021"
      },
      "id.walt.enterprise.services.revocation.models.StatusCredentialConfig" : {
        "type" : "object",
        "properties" : {
          "kid" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "config" : {
            "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.StatusCredentialConfigurationBase"
          }
        },
        "required" : [ "config", "kid" ],
        "title" : "StatusCredentialConfig"
      },
      "id.walt.enterprise.services.revocation.models.CredentialStatusCreateRequest" : {
        "type" : "object",
        "properties" : {
          "initialStatus" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "initialStatus" ],
        "title" : "CredentialStatusCreateRequest"
      },
      "id.walt.status.domain.entry.IetfStatusEntry" : {
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "statusList" : {
            "$ref" : "#/components/schemas/id.walt.status.domain.entry.IetfStatusEntry.StatusListField"
          }
        },
        "required" : [ "index", "statusList" ],
        "title" : "IetfStatusEntry"
      },
      "id.walt.status.domain.entry.IetfStatusEntry.StatusListField" : {
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "uri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "index", "uri" ],
        "title" : "IetfStatusEntry.StatusListField"
      },
      "id.walt.status.domain.entry.W3cStatusEntry" : {
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "statusListCredential" : {
            "type" : "string",
            "title" : "String"
          },
          "statusListIndex" : {
            "type" : "string",
            "title" : "String"
          },
          "statusMessage" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.status.domain.credential.statuslist.Status"
            },
            "title" : "List<Status>"
          },
          "statusPurpose" : {
            "type" : "string",
            "title" : "String"
          },
          "statusReference" : {
            "type" : "string",
            "title" : "String"
          },
          "statusSize" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "id", "index", "statusListCredential", "statusListIndex", "statusPurpose", "statusSize", "type" ],
        "title" : "W3cStatusEntry"
      },
      "id.walt.status.domain.entry.StatusEntry" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/id.walt.status.domain.entry.IetfStatusEntry"
        }, {
          "$ref" : "#/components/schemas/id.walt.status.domain.entry.W3cStatusEntry"
        } ],
        "title" : "StatusEntry"
      },
      "id.walt.enterprise.services.revocation.models.CredentialStatusUpdateRequest" : {
        "type" : "object",
        "properties" : {
          "session" : {
            "type" : "string",
            "title" : "String"
          },
          "status" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "session", "status" ],
        "title" : "CredentialStatusUpdateRequest"
      },
      "id.walt.enterprise.services.revocation.models.CredentialStatusUpdateResponse" : {
        "type" : "object",
        "properties" : {
          "successful" : {
            "type" : "boolean",
            "title" : "StatusUpdateResult"
          }
        },
        "required" : [ "successful" ],
        "title" : "CredentialStatusUpdateResponse"
      },
      "credential" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "credential" : {
            "$ref" : "#/components/schemas/id.walt.credentials.formats.DigitalCredential"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "credential", "parent" ],
        "title" : ""
      },
      "id.walt.credentials.formats.DigitalCredential" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/vc-w3c_1_1"
        }, {
          "$ref" : "#/components/schemas/vc-w3c_2"
        }, {
          "$ref" : "#/components/schemas/vc-mdocs"
        }, {
          "$ref" : "#/components/schemas/vc-sd_jwt"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "DigitalCredential"
      },
      "vc-w3c_1_1" : {
        "type" : "object",
        "properties" : {
          "disclosables" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "LinkedHashSet<String>",
              "uniqueItems" : true
            },
            "title" : "LinkedHashMap<String,LinkedHashSet<String>>"
          },
          "disclosures" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.credentials.signatures.sdjwt.SdJwtSelectiveDisclosure"
            },
            "title" : "ArrayList<SdJwtSelectiveDisclosure>"
          },
          "signedWithDisclosures" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "originalCredentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "signature" : {
            "$ref" : "#/components/schemas/id.walt.credentials.signatures.CredentialSignature"
          },
          "signed" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credentialData", "format" ],
        "title" : ""
      },
      "id.walt.credentials.signatures.sdjwt.SdJwtSelectiveDisclosure" : {
        "type" : "object",
        "properties" : {
          "salt" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "value" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "location" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "ArrayList<JsonElement>"
          },
          "encoded" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "encoded", "salt", "value" ],
        "title" : "SdJwtSelectiveDisclosure"
      },
      "id.walt.credentials.signatures.CredentialSignature" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/signature-cose"
        }, {
          "$ref" : "#/components/schemas/signature-dip"
        }, {
          "$ref" : "#/components/schemas/signature-jwt"
        }, {
          "$ref" : "#/components/schemas/signature-sd_jwt"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "CredentialSignature"
      },
      "signature-cose" : {
        "type" : "object",
        "properties" : {
          "signerKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "x5cList" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "X5CCertificateString"
            },
            "title" : "X5CList"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "signerKey" ],
        "title" : ""
      },
      "signature-dip" : {
        "type" : "object",
        "properties" : {
          "signature" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "signature" ],
        "title" : ""
      },
      "signature-jwt" : {
        "type" : "object",
        "properties" : {
          "signature" : {
            "type" : "string",
            "title" : "String"
          },
          "jwtHeader" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "signature" ],
        "title" : ""
      },
      "signature-sd_jwt" : {
        "type" : "object",
        "properties" : {
          "signature" : {
            "type" : "string",
            "title" : "String"
          },
          "jwtHeader" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "providedDisclosures" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.credentials.signatures.sdjwt.SdJwtSelectiveDisclosure"
            },
            "title" : "ArrayList<SdJwtSelectiveDisclosure>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "signature" ],
        "title" : ""
      },
      "vc-w3c_2" : {
        "type" : "object",
        "properties" : {
          "disclosables" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "LinkedHashSet<String>",
              "uniqueItems" : true
            },
            "title" : "LinkedHashMap<String,LinkedHashSet<String>>"
          },
          "disclosures" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.credentials.signatures.sdjwt.SdJwtSelectiveDisclosure"
            },
            "title" : "ArrayList<SdJwtSelectiveDisclosure>"
          },
          "signedWithDisclosures" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "originalCredentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "signature" : {
            "$ref" : "#/components/schemas/id.walt.credentials.signatures.CredentialSignature"
          },
          "signed" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credentialData", "format" ],
        "title" : ""
      },
      "vc-mdocs" : {
        "type" : "object",
        "properties" : {
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "signed" : {
            "type" : "string",
            "title" : "String"
          },
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "signature" : {
            "$ref" : "#/components/schemas/id.walt.credentials.signatures.CredentialSignature"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "type" : "string",
            "title" : "String"
          },
          "mso" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.MobileSecurityObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credentialData", "docType", "format" ],
        "title" : ""
      },
      "id.walt.mdoc.objects.mso.MobileSecurityObject" : {
        "type" : "object",
        "properties" : {
          "version" : {
            "type" : "string",
            "title" : "String"
          },
          "digestAlgorithm" : {
            "type" : "string",
            "title" : "String"
          },
          "valueDigests" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.ContextualSerializer<ValueDigestList>"
            },
            "title" : "LinkedHashMap<String,ContextualSerializer<ValueDigestList>>"
          },
          "deviceKeyInfo" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.DeviceKeyInfo"
          },
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "validityInfo" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.ValidityInfo"
          },
          "status" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.Status"
          }
        },
        "required" : [ "deviceKeyInfo", "digestAlgorithm", "docType", "validityInfo", "valueDigests", "version" ],
        "title" : "MobileSecurityObject"
      },
      "kotlinx.serialization.ContextualSerializer<ValueDigestList>" : {
        "type" : "object",
        "properties" : { },
        "title" : "ContextualSerializer<ValueDigestList>"
      },
      "id.walt.mdoc.objects.mso.DeviceKeyInfo" : {
        "type" : "object",
        "properties" : {
          "deviceKey" : {
            "$ref" : "#/components/schemas/id.walt.cose.CoseKey"
          },
          "keyAuthorizations" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.KeyAuthorization"
          },
          "keyInfo" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<Int,String>"
          }
        },
        "required" : [ "deviceKey" ],
        "title" : "DeviceKeyInfo"
      },
      "id.walt.cose.CoseKey" : {
        "type" : "object",
        "properties" : {
          "kty" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "kid" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          },
          "alg" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "key_ops" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32",
              "title" : "Int"
            },
            "title" : "ArrayList<Int>"
          },
          "Base IV" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          },
          "crv" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "x" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          },
          "y" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          },
          "d" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          }
        },
        "required" : [ "kty" ],
        "title" : "CoseKey"
      },
      "id.walt.mdoc.objects.mso.KeyAuthorization" : {
        "type" : "object",
        "properties" : {
          "nameSpaces" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "dataElements" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "LinkedHashMap<String,ArrayList<String>>"
          }
        },
        "title" : "KeyAuthorization"
      },
      "id.walt.mdoc.objects.mso.ValidityInfo" : {
        "type" : "object",
        "properties" : {
          "signed" : {
            "type" : "string",
            "title" : "MdocTDateInstant"
          },
          "validFrom" : {
            "type" : "string",
            "title" : "MdocTDateInstant"
          },
          "validUntil" : {
            "type" : "string",
            "title" : "MdocTDateInstant"
          },
          "expectedUpdate" : {
            "type" : "string",
            "title" : "MdocTDateInstant"
          }
        },
        "required" : [ "signed", "validFrom", "validUntil" ],
        "title" : "ValidityInfo"
      },
      "id.walt.mdoc.objects.mso.Status" : {
        "type" : "object",
        "properties" : {
          "identifier_list" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.Status.IdentifierListInfo"
          },
          "status_list" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.objects.mso.Status.StatusListInfo"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "uri" : {
            "type" : "string",
            "title" : "UniformResourceIdentifier"
          }
        },
        "title" : "Status"
      },
      "id.walt.mdoc.objects.mso.Status.IdentifierListInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          },
          "uri" : {
            "type" : "string",
            "title" : "UniformResourceIdentifier"
          },
          "certificate" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 127,
              "minimum" : -128,
              "title" : "Byte"
            },
            "title" : "ByteArray<Byte>"
          }
        },
        "required" : [ "id", "uri" ],
        "title" : "Status.IdentifierListInfo"
      },
      "id.walt.mdoc.objects.mso.Status.StatusListInfo" : {
        "type" : "object",
        "properties" : {
          "idx" : {
            "type" : "integer",
            "title" : "ULong"
          },
          "uri" : {
            "type" : "string",
            "title" : "UniformResourceIdentifier"
          }
        },
        "required" : [ "idx", "uri" ],
        "title" : "Status.StatusListInfo"
      },
      "vc-sd_jwt" : {
        "type" : "object",
        "properties" : {
          "dmtype" : {
            "$ref" : "#/components/schemas/id.walt.credentials.CredentialDetectorTypes.SDJWTVCSubType"
          },
          "disclosables" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "LinkedHashSet<String>",
              "uniqueItems" : true
            },
            "title" : "LinkedHashMap<String,LinkedHashSet<String>>"
          },
          "disclosures" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.credentials.signatures.sdjwt.SdJwtSelectiveDisclosure"
            },
            "title" : "ArrayList<SdJwtSelectiveDisclosure>"
          },
          "signedWithDisclosures" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "originalCredentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "signature" : {
            "$ref" : "#/components/schemas/id.walt.credentials.signatures.CredentialSignature"
          },
          "signed" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credentialData", "dmtype", "format" ],
        "title" : ""
      },
      "id.walt.credentials.CredentialDetectorTypes.SDJWTVCSubType" : {
        "type" : "string",
        "enum" : [ "sdjwtvcdm", "sdjwtvc" ],
        "title" : "CredentialDetectorTypes.SDJWTVCSubType"
      },
      "id.walt.definitionparser.PresentationDefinition.InputDescriptor.Constraints.Field" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "optional" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "path" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "intent_to_retain" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "filter" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "predicate" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "path" ],
        "title" : "PresentationDefinition.InputDescriptor.Constraints.Field"
      },
      "id.walt.enterprise.services.clientattestation.models.ClientAttestationRequest" : {
        "type" : "object",
        "properties" : {
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "instancePublicKeyJwk" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "expirationSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "clientId", "expirationSeconds", "instancePublicKeyJwk" ],
        "title" : "ClientAttestationRequest"
      },
      "id.walt.enterprise.services.clientattestation.models.ClientAttestationResponse" : {
        "type" : "object",
        "properties" : {
          "clientAttestationJwt" : {
            "type" : "string",
            "title" : "String"
          },
          "expiresAt" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "clientAttestationJwt", "expiresAt" ],
        "title" : "ClientAttestationResponse"
      },
      "id.walt.enterprise.services.didservice.DidEnterpriseService.DidResult" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "Target"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "document" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "did", "document" ],
        "title" : "DidEnterpriseService.DidResult"
      },
      "did-entry" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "document" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "did", "document", "parent" ],
        "title" : ""
      },
      "id.walt.enterprise.resource.resources.DidToStore" : {
        "type" : "object",
        "properties" : {
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "document" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "did", "document" ],
        "title" : "DidToStore"
      },
      "id.walt.enterprise.services.didservice.models.CreateDidKeyRequest" : {
        "type" : "object",
        "properties" : {
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "useJwkJcsPub" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "didId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "keyId", "useJwkJcsPub" ],
        "title" : "CreateDidKeyRequest"
      },
      "id.walt.enterprise.services.didservice.models.CreateDidJwkRequest" : {
        "type" : "object",
        "properties" : {
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "didId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "keyId" ],
        "title" : "CreateDidJwkRequest"
      },
      "id.walt.enterprise.services.didservice.models.CreateDidWebKeyIdSetRequest" : {
        "type" : "object",
        "properties" : {
          "didId" : {
            "type" : "string",
            "title" : "String"
          },
          "context" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "domain" : {
            "type" : "string",
            "title" : "String"
          },
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "rootCustomProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "Map<String,JsonElement>"
          },
          "serviceConfigurationSet" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.did.dids.registrar.dids.ServiceConfiguration"
            },
            "title" : "Set<ServiceConfiguration>"
          },
          "keyIdSet" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>",
            "uniqueItems" : true
          }
        },
        "required" : [ "domain", "keyIdSet" ],
        "title" : "CreateDidWebKeyIdSetRequest"
      },
      "id.walt.did.dids.registrar.dids.ServiceConfiguration" : {
        "type" : "object",
        "properties" : {
          "customProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "Map<String,JsonElement>"
          },
          "serviceEndpoint" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.did.dids.document.models.service.ServiceEndpoint"
            },
            "title" : "Set<ServiceEndpoint>",
            "uniqueItems" : true
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "serviceEndpoint", "type" ],
        "title" : "ServiceConfiguration"
      },
      "id.walt.did.dids.document.models.service.ServiceEndpoint" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/id.walt.did.dids.document.models.service.ServiceEndpointObject"
        }, {
          "$ref" : "#/components/schemas/id.walt.did.dids.document.models.service.ServiceEndpointURL"
        } ],
        "title" : "ServiceEndpoint"
      },
      "id.walt.did.dids.document.models.service.ServiceEndpointObject" : {
        "type" : "object",
        "properties" : {
          "jsonObject" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "jsonObject" ],
        "title" : "ServiceEndpointObject"
      },
      "id.walt.did.dids.document.models.service.ServiceEndpointURL" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "url" ],
        "title" : "ServiceEndpointURL"
      },
      "id.walt.enterprise.services.didservice.models.CreateDidWebSingleKeyIdRequest" : {
        "type" : "object",
        "properties" : {
          "didId" : {
            "type" : "string",
            "title" : "String"
          },
          "context" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "domain" : {
            "type" : "string",
            "title" : "String"
          },
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "rootCustomProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "Map<String,JsonElement>"
          },
          "serviceConfigurationSet" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.did.dids.registrar.dids.ServiceConfiguration"
            },
            "title" : "Set<ServiceConfiguration>"
          },
          "keyId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "domain", "keyId" ],
        "title" : "CreateDidWebSingleKeyIdRequest"
      },
      "id.walt.enterprise.services.didservice.models.CreateDidWebVerificationKeyIdSetConfigRequest" : {
        "type" : "object",
        "properties" : {
          "didId" : {
            "type" : "string",
            "title" : "String"
          },
          "context" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "domain" : {
            "type" : "string",
            "title" : "String"
          },
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "rootCustomProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "Map<String,JsonElement>"
          },
          "serviceConfigurationSet" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.did.dids.registrar.dids.ServiceConfiguration"
            },
            "title" : "Set<ServiceConfiguration>"
          },
          "verificationKeyIdSetConfiguration" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "Set<String>",
              "uniqueItems" : true
            },
            "title" : "Map<VerificationRelationshipType,Set<String>>"
          }
        },
        "required" : [ "domain", "verificationKeyIdSetConfiguration" ],
        "title" : "CreateDidWebVerificationKeyIdSetConfigRequest"
      },
      "id.walt.enterprise.services.didservice.models.CreateDidWebBaseRequest" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.models.CreateDidWebKeyIdSetRequest"
        }, {
          "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.models.CreateDidWebSingleKeyIdRequest"
        }, {
          "$ref" : "#/components/schemas/id.walt.enterprise.services.didservice.models.CreateDidWebVerificationKeyIdSetConfigRequest"
        } ],
        "title" : "CreateDidWebBaseRequest"
      },
      "id.walt.oid4vc.data.AuthenticationMethod" : {
        "type" : "string",
        "enum" : [ "PRE_AUTHORIZED", "PWD", "VP_TOKEN", "ID_TOKEN", "NONE" ],
        "title" : "AuthenticationMethod"
      },
      "id.walt.oid4vc.data.CredentialFormat" : {
        "type" : "string",
        "enum" : [ "jwt_vc_json", "jwt_vc_json_ld", "ldp_vc", "sd_jwt_dc", "sd_jwt_vc", "mso_mdoc", "jwt_vp_json", "jwt_vp_json_ld", "ldp_vp", "jwt_vc", "jwt_vp" ],
        "title" : "CredentialFormat"
      },
      "id.walt.mdoc.dataelement.json.JsonObjectToCborMappingConfig" : {
        "type" : "object",
        "properties" : {
          "entriesConfigMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.JsonElementToCborMappingConfig"
            },
            "title" : "Map<String,JsonElementToCborMappingConfig>"
          }
        },
        "required" : [ "entriesConfigMap" ],
        "title" : "JsonObjectToCborMappingConfig"
      },
      "id.walt.mdoc.dataelement.json.JsonElementToCborMappingConfig" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.JsonArrayToCborMappingConfig"
        }, {
          "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.JsonObjectToCborMappingConfig"
        }, {
          "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.JsonStringToCborMappingConfig"
        } ],
        "title" : "JsonElementToCborMappingConfig"
      },
      "id.walt.mdoc.dataelement.json.JsonArrayToCborMappingConfig" : {
        "type" : "object",
        "properties" : {
          "arrayConfig" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.JsonElementToCborMappingConfig"
            },
            "title" : "List<JsonElementToCborMappingConfig>"
          }
        },
        "required" : [ "arrayConfig" ],
        "title" : "JsonArrayToCborMappingConfig"
      },
      "id.walt.mdoc.dataelement.json.JsonStringToCborMappingConfig" : {
        "type" : "object",
        "properties" : {
          "conversionType" : {
            "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.StringToCborTypeConversion"
          }
        },
        "required" : [ "conversionType" ],
        "title" : "JsonStringToCborMappingConfig"
      },
      "id.walt.mdoc.dataelement.json.StringToCborTypeConversion" : {
        "type" : "string",
        "enum" : [ "STRING_TO_FULL_DATE", "STRING_TO_T_DATE", "BASE64_STRING_TO_BYTE_STRING", "BASE64URL_STRING_TO_BYTE_STRING" ],
        "title" : "StringToCborTypeConversion"
      },
      "id.walt.sdjwt.SDMap" : {
        "type" : "object",
        "title" : "SDMap"
      },
      "id.walt.oid4vc.OpenID4VCIVersion" : {
        "type" : "string",
        "enum" : [ "DRAFT11", "DRAFT13", "V1" ],
        "title" : "OpenID4VCIVersion"
      },
      "id.walt.enterprise.services.revocation.models.StatusParameter" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.StatusParameter.Multiple"
        }, {
          "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.StatusParameter.Single"
        } ],
        "title" : "StatusParameter"
      },
      "id.walt.enterprise.services.revocation.models.StatusParameter.Multiple" : {
        "type" : "object",
        "properties" : {
          "statuses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.CredentialStatusParameter"
            },
            "title" : "List<CredentialStatusParameter>"
          }
        },
        "required" : [ "statuses" ],
        "title" : "StatusParameter.Multiple"
      },
      "id.walt.enterprise.services.revocation.models.CredentialStatusParameter" : {
        "type" : "object",
        "properties" : {
          "initialStatus" : {
            "type" : "string",
            "title" : "String"
          },
          "signingMaterial" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.SigningMaterial"
          },
          "statusCredentialConfig" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "initialStatus", "statusCredentialConfig" ],
        "title" : "CredentialStatusParameter"
      },
      "id.walt.enterprise.services.revocation.models.SigningMaterial" : {
        "type" : "object",
        "properties" : {
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "kidRef" : {
            "type" : "string",
            "title" : "Target"
          },
          "x5Chain" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          }
        },
        "required" : [ "kidRef" ],
        "title" : "SigningMaterial"
      },
      "id.walt.enterprise.services.revocation.models.StatusParameter.Single" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.CredentialStatusParameter"
          }
        },
        "required" : [ "status" ],
        "title" : "StatusParameter.Single"
      },
      "id.walt.oid4vc.data.OpenId4VPProfile" : {
        "type" : "string",
        "enum" : [ "DEFAULT", "ISO_18013_7_MDOC", "EBSIV3", "HAIP" ],
        "title" : "OpenId4VPProfile"
      },
      "id.walt.w3c.CredentialBuilderType" : {
        "type" : "string",
        "enum" : [ "W3CV11", "W3CV2", "MdocsCredentialBuilder" ],
        "title" : "CredentialBuilderType"
      },
      "id.walt.enterprise.services.issuer.models.IssuanceRequest" : {
        "type" : "object",
        "properties" : {
          "authenticationMethod" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.AuthenticationMethod"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "credentialFormat" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialFormat"
          },
          "expiresInSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "idTokenClaimsToCredentialDataJsonPathMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Map<String,String>"
          },
          "issuerDid" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "mDocNameSpacesDataMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.mdoc.dataelement.json.JsonObjectToCborMappingConfig"
            },
            "title" : "Map<String,JsonObjectToCborMappingConfig>"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "selectiveDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.sdjwt.SDMap"
          },
          "sessionId" : {
            "type" : "string",
            "title" : "String"
          },
          "standardVersion" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.OpenID4VCIVersion"
          },
          "status" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.revocation.models.StatusParameter"
          },
          "useJar" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "vct" : {
            "type" : "string",
            "title" : "String"
          },
          "vpProfile" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.OpenId4VPProfile"
          },
          "vpRequestValue" : {
            "type" : "string",
            "title" : "String"
          },
          "w3cVersion" : {
            "$ref" : "#/components/schemas/id.walt.w3c.CredentialBuilderType"
          },
          "x5Chain" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          }
        },
        "required" : [ "credentialConfigurationId", "credentialData", "expiresInSeconds", "issuerKeyId" ],
        "title" : "IssuanceRequest"
      },
      "X509CertificateDescriptorList" : {
        "type" : "object",
        "properties" : { },
        "title" : "X509CertificateDescriptorList"
      },
      "object" : {
        "type" : "object",
        "properties" : {
          "entriesConfigMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.JsonElementToCborMappingConfig"
            },
            "title" : "LinkedHashMap<String,JsonElementToCborMappingConfig>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "entriesConfigMap", "type" ],
        "title" : ""
      },
      "id.walt.enterprise.services.issuer2.models.JsonElementToCborMappingConfig" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/array"
        }, {
          "$ref" : "#/components/schemas/object"
        }, {
          "$ref" : "#/components/schemas/string"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "JsonElementToCborMappingConfig"
      },
      "array" : {
        "type" : "object",
        "properties" : {
          "arrayConfig" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.JsonElementToCborMappingConfig"
            },
            "title" : "ArrayList<JsonElementToCborMappingConfig>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "arrayConfig" ],
        "title" : ""
      },
      "string" : {
        "type" : "object",
        "properties" : {
          "conversionType" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.StringToCborTypeConversion"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "conversionType" ],
        "title" : ""
      },
      "id.walt.enterprise.services.issuer2.models.StringToCborTypeConversion" : {
        "type" : "string",
        "enum" : [ "stringToFullDate", "stringToTDate", "base64StringToByteString", "base64UrlStringToByteString" ],
        "title" : "StringToCborTypeConversion"
      },
      "StatusParameter" : {
        "type" : "object",
        "properties" : { },
        "title" : "StatusParameter"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialProfileCreateRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerDid" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "$ref" : "#/components/schemas/X509CertificateDescriptorList"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "selectiveDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.sdjwt.SDMap"
          },
          "idTokenClaimsMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "mDocNameSpacesDataMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/object"
            },
            "title" : "LinkedHashMap<String,>"
          },
          "credentialStatus" : {
            "$ref" : "#/components/schemas/StatusParameter"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "w3cVersion" : {
            "$ref" : "#/components/schemas/id.walt.w3c.CredentialBuilderType"
          }
        },
        "required" : [ "credentialConfigurationId", "credentialData", "issuerKeyId", "name" ],
        "title" : "CredentialProfileCreateRequest"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialProfile" : {
        "type" : "object",
        "properties" : {
          "profileId" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "version" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerDid" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "$ref" : "#/components/schemas/X509CertificateDescriptorList"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "selectiveDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.sdjwt.SDMap"
          },
          "idTokenClaimsMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "mDocNameSpacesDataMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/object"
            },
            "title" : "LinkedHashMap<String,>"
          },
          "credentialStatus" : {
            "$ref" : "#/components/schemas/StatusParameter"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "w3cVersion" : {
            "$ref" : "#/components/schemas/id.walt.w3c.CredentialBuilderType"
          },
          "createdAt" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "updatedAt" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "createdAt", "credentialConfigurationId", "credentialData", "issuerKeyId", "name", "profileId", "updatedAt", "version" ],
        "title" : "CredentialProfile"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialProfileUpdateRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerDid" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "$ref" : "#/components/schemas/X509CertificateDescriptorList"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "selectiveDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.sdjwt.SDMap"
          },
          "idTokenClaimsMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "mDocNameSpacesDataMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/object"
            },
            "title" : "LinkedHashMap<String,>"
          },
          "credentialStatus" : {
            "$ref" : "#/components/schemas/StatusParameter"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "w3cVersion" : {
            "$ref" : "#/components/schemas/id.walt.w3c.CredentialBuilderType"
          },
          "profileId" : {
            "type" : "string",
            "title" : "String"
          },
          "version" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "createdAt" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "updatedAt" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "credentialConfigurationId", "credentialData", "issuerKeyId", "name" ],
        "title" : "CredentialProfileUpdateRequest"
      },
      "stored-issuance-session2" : {
        "type" : "object",
        "properties" : {
          "traversable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "issuanceSession" : {
            "$ref" : "#/components/schemas/issuance-session2"
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "expireAtEpochMs" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "KotlinInstantAsBsonDateTime"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "issuanceSession", "parent", "timestamp", "traversable" ],
        "title" : ""
      },
      "issuance-session2" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "issuanceRequest" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.IssuanceRequest"
          },
          "credentialProfileId" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialProfileVersion" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "credentialOffer" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.CredentialOffer"
          },
          "authorizationRequest" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.AuthorizationRequestParameters"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "expirationTimestamp" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "txCode" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.TxCode"
          },
          "txCodeValue" : {
            "type" : "string",
            "title" : "String"
          },
          "authServerState" : {
            "type" : "string",
            "title" : "String"
          },
          "cNonce" : {
            "type" : "string",
            "title" : "String"
          },
          "isClosed" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "status" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.resource.resources.IssuanceSessionStatus"
          },
          "statusReason" : {
            "type" : "string",
            "title" : "String"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "credentialConfigurationScopes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "issuedCredentialId" : {
            "type" : "string",
            "title" : "String"
          },
          "issuedCredentialFormat" : {
            "type" : "string",
            "title" : "String"
          },
          "issuedCredentialStatusEntry" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          }
        },
        "required" : [ "createdAt", "credentialConfigurationScopes", "expirationTimestamp", "id", "isClosed", "issuanceRequest", "status" ],
        "title" : ""
      },
      "id.walt.enterprise.services.issuer2.models.IssuanceRequest" : {
        "type" : "object",
        "properties" : {
          "issuerKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerDid" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "$ref" : "#/components/schemas/X509CertificateDescriptorList"
          },
          "subjectId" : {
            "type" : "string",
            "title" : "String"
          },
          "authenticationMethod" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.AuthenticationMethod"
          },
          "expiresInSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "validUntil" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "vct" : {
            "type" : "string",
            "title" : "String"
          },
          "selectiveDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.sdjwt.SDMap"
          },
          "idTokenClaimsToCredentialDataJsonPathMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "mDocNameSpacesDataMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/object"
            },
            "title" : "LinkedHashMap<String,>"
          },
          "status" : {
            "$ref" : "#/components/schemas/StatusParameter"
          },
          "w3cVersion" : {
            "$ref" : "#/components/schemas/id.walt.w3c.CredentialBuilderType"
          }
        },
        "required" : [ "credentialConfigurationId", "credentialData", "expiresInSeconds", "issuerKeyId" ],
        "title" : "IssuanceRequest"
      },
      "id.walt.enterprise.services.issuer2.models.AuthenticationMethod" : {
        "type" : "string",
        "enum" : [ "PRE_AUTHORIZED", "AUTHORIZED" ],
        "title" : "AuthenticationMethod"
      },
      "id.walt.openid4vci.offers.CredentialOffer" : {
        "type" : "object",
        "properties" : {
          "credential_issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_configuration_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "grants" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.CredentialOfferGrants"
          }
        },
        "required" : [ "credential_configuration_ids", "credential_issuer" ],
        "title" : "CredentialOffer"
      },
      "id.walt.openid4vci.offers.CredentialOfferGrants" : {
        "type" : "object",
        "properties" : {
          "authorization_code" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.AuthorizationCodeGrant"
          },
          "urn:ietf:params:oauth:grant-type:pre-authorized_code" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.PreAuthorizedCodeGrant"
          }
        },
        "title" : "CredentialOfferGrants"
      },
      "id.walt.openid4vci.offers.AuthorizationCodeGrant" : {
        "type" : "object",
        "properties" : {
          "issuer_state" : {
            "type" : "string",
            "title" : "String"
          },
          "authorization_server" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "AuthorizationCodeGrant"
      },
      "id.walt.openid4vci.offers.PreAuthorizedCodeGrant" : {
        "type" : "object",
        "properties" : {
          "pre-authorized_code" : {
            "type" : "string",
            "title" : "String"
          },
          "tx_code" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.TxCode"
          },
          "interval" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "authorization_server" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "pre-authorized_code" ],
        "title" : "PreAuthorizedCodeGrant"
      },
      "id.walt.openid4vci.offers.TxCode" : {
        "type" : "object",
        "properties" : {
          "input_mode" : {
            "type" : "string",
            "title" : "String"
          },
          "length" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "value" : {
            "type" : "string",
            "title" : "JsonPrimitive"
          }
        },
        "title" : "TxCode"
      },
      "id.walt.enterprise.services.issuer2.models.AuthorizationRequestParameters" : {
        "type" : "object",
        "properties" : {
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "LinkedHashMap<String,ArrayList<String>>"
          }
        },
        "required" : [ "parameters" ],
        "title" : "AuthorizationRequestParameters"
      },
      "id.walt.enterprise.resource.resources.IssuanceSessionStatus" : {
        "type" : "string",
        "enum" : [ "ACTIVE", "SUCCESSFUL", "UNSUCCESSFUL", "REJECTED_BY_USER", "EXPIRED" ],
        "title" : "IssuanceSessionStatus"
      },
      "id.walt.enterprise.services.issuer2.models.IssuerStateMode" : {
        "type" : "string",
        "enum" : [ "INCLUDE", "OMIT" ],
        "title" : "IssuerStateMode"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialOfferValueMode" : {
        "type" : "string",
        "enum" : [ "BY_REFERENCE", "BY_VALUE" ],
        "title" : "CredentialOfferValueMode"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialOfferRuntimeOverrides" : {
        "type" : "object",
        "properties" : {
          "issuerDid" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "$ref" : "#/components/schemas/X509CertificateDescriptorList"
          },
          "subjectId" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialData" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "mapping" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "selectiveDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.sdjwt.SDMap"
          },
          "idTokenClaimsMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "mDocNameSpacesDataMappingConfig" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/object"
            },
            "title" : "LinkedHashMap<String,>"
          },
          "credentialStatus" : {
            "$ref" : "#/components/schemas/StatusParameter"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "w3cVersion" : {
            "$ref" : "#/components/schemas/id.walt.w3c.CredentialBuilderType"
          }
        },
        "title" : "CredentialOfferRuntimeOverrides"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialOfferCreateRequest" : {
        "type" : "object",
        "properties" : {
          "authMethod" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.AuthenticationMethod"
          },
          "issuerStateMode" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.IssuerStateMode"
          },
          "valueMode" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialOfferValueMode"
          },
          "expiresInSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "txCode" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.TxCode"
          },
          "txCodeValue" : {
            "type" : "string",
            "title" : "String"
          },
          "runtimeOverrides" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.CredentialOfferRuntimeOverrides"
          },
          "sessionId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "authMethod", "expiresInSeconds", "valueMode" ],
        "title" : "CredentialOfferCreateRequest"
      },
      "id.walt.enterprise.services.issuer2.models.CredentialOfferCreateResponse" : {
        "type" : "object",
        "properties" : {
          "offerId" : {
            "type" : "string",
            "title" : "String"
          },
          "profileId" : {
            "type" : "string",
            "title" : "String"
          },
          "profileVersion" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "authMethod" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.AuthenticationMethod"
          },
          "issuerStateMode" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.issuer2.models.IssuerStateMode"
          },
          "expiresAt" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "txCodeValue" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialOffer" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "authMethod", "credentialOffer", "expiresAt", "offerId", "profileId", "profileVersion" ],
        "title" : "CredentialOfferCreateResponse"
      },
      "id.walt.openid4vci.responses.par.PushedAuthorizationResponse" : {
        "type" : "object",
        "properties" : {
          "request_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "expires_in" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "required" : [ "expires_in", "request_uri" ],
        "title" : "PushedAuthorizationResponse"
      },
      "id.walt.openid4vci.errors.OAuthError" : {
        "type" : "object",
        "properties" : {
          "error" : {
            "type" : "string",
            "title" : "String"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "error" ],
        "title" : "OAuthError"
      },
      "kotlinx.serialization.Polymorphic" : {
        "type" : "object",
        "title" : "Polymorphic"
      },
      "key" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "key", "parent" ],
        "title" : ""
      },
      "id.walt.enterprise.services.kms.models.KeyManagementSignRequest" : {
        "type" : "object",
        "properties" : {
          "plaintext" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "plaintext" ],
        "title" : "KeyManagementSignRequest"
      },
      "id.walt.enterprise.services.kms.models.KeyManagementSignResponse" : {
        "type" : "object",
        "properties" : {
          "signature" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "signature" ],
        "title" : "KeyManagementSignResponse"
      },
      "policy-entry" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "policy" : {
            "$ref" : "#/components/schemas/id.walt.holderpolicies.HolderPolicy"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "parent", "policy" ],
        "title" : ""
      },
      "id.walt.holderpolicies.HolderPolicy" : {
        "type" : "object",
        "properties" : {
          "priority" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "direction" : {
            "$ref" : "#/components/schemas/id.walt.holderpolicies.HolderPolicy.HolderPolicyDirection"
          },
          "apply" : {
            "$ref" : "#/components/schemas/id.walt.holderpolicies.checks.HolderPolicyCheck"
          },
          "check" : {
            "$ref" : "#/components/schemas/id.walt.holderpolicies.checks.HolderPolicyCheck"
          },
          "action" : {
            "$ref" : "#/components/schemas/id.walt.holderpolicies.HolderPolicy.HolderPolicyAction"
          }
        },
        "required" : [ "action", "priority" ],
        "title" : "HolderPolicy"
      },
      "id.walt.holderpolicies.HolderPolicy.HolderPolicyDirection" : {
        "type" : "string",
        "enum" : [ "RECEIVE", "PRESENT" ],
        "title" : "HolderPolicy.HolderPolicyDirection"
      },
      "id.walt.holderpolicies.checks.HolderPolicyCheck" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/all"
        }, {
          "$ref" : "#/components/schemas/basic"
        }, {
          "$ref" : "#/components/schemas/dcql"
        }, {
          "$ref" : "#/components/schemas/schema"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "HolderPolicyCheck"
      },
      "all" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : ""
      },
      "basic" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "string",
            "title" : "String"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "claims_present" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "claims_values" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : ""
      },
      "dcql" : {
        "type" : "object",
        "properties" : {
          "dcql_query" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.DcqlQuery"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "dcql_query" ],
        "title" : ""
      },
      "id.walt.holderpolicies.HolderPolicy.HolderPolicyAction" : {
        "type" : "string",
        "enum" : [ "ALLOW", "BLOCK" ],
        "title" : "HolderPolicy.HolderPolicyAction"
      },
      "id.walt.enterprise.services.verifier.openapi.models.VerifierServiceSwaggerResponseMode" : {
        "type" : "string",
        "enum" : [ "direct_post", "direct_post.jwt" ],
        "title" : "VerifierServiceSwaggerResponseMode"
      },
      "id.walt.enterprise.services.verifier.models.common.RequestedCredential" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.w3c.utils.VCFormat"
          },
          "vct" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "doc_type" : {
            "type" : "string",
            "title" : "String"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "input_descriptor" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.InputDescriptor"
          },
          "policies" : {
            "type" : "array",
            "title" : "JsonArray"
          }
        },
        "title" : "RequestedCredential"
      },
      "id.walt.w3c.utils.VCFormat" : {
        "type" : "string",
        "enum" : [ "jwt", "jwt_vc", "jwt_vp", "ldp_vc", "ldp_vp", "ldp", "jwt_vc_json", "jwt_vp_json", "mso_mdoc", "dc+sd-jwt", "vc+sd-jwt" ],
        "title" : "VCFormat"
      },
      "id.walt.oid4vc.data.dif.InputDescriptor" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "constraints" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.InputDescriptorConstraints"
          },
          "format" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.VCFormatDefinition"
            },
            "title" : "Map<VCFormat,VCFormatDefinition>"
          },
          "group" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>",
            "uniqueItems" : true
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "schema" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.InputDescriptorSchema"
            },
            "title" : "List<InputDescriptorSchema>"
          }
        },
        "required" : [ "id" ],
        "title" : "InputDescriptor"
      },
      "id.walt.oid4vc.data.dif.VCFormatDefinition" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "alg" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>",
            "uniqueItems" : true
          },
          "proof_type" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>",
            "uniqueItems" : true
          }
        },
        "title" : "VCFormatDefinition"
      },
      "id.walt.oid4vc.data.dif.InputDescriptorConstraints" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "fields" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.InputDescriptorField"
            },
            "title" : "List<InputDescriptorField>"
          },
          "limitDisclosure" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.DisclosureLimitation"
          }
        },
        "title" : "InputDescriptorConstraints"
      },
      "id.walt.oid4vc.data.dif.InputDescriptorField" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "filter" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "intentToRetain" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "optional" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "path" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "path" ],
        "title" : "InputDescriptorField"
      },
      "id.walt.oid4vc.data.dif.DisclosureLimitation" : {
        "type" : "string",
        "enum" : [ "required", "preferred" ],
        "title" : "DisclosureLimitation"
      },
      "id.walt.oid4vc.data.dif.InputDescriptorSchema" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "uri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "uri" ],
        "title" : "InputDescriptorSchema"
      },
      "id.walt.enterprise.services.verifier.models.common.X509SanDnsClientIdentifierSchemeConfiguration" : {
        "type" : "object",
        "properties" : {
          "jarSigningKeyId" : {
            "type" : "string",
            "title" : "String"
          },
          "x5Chain" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "jarSigningKeyId", "x5Chain" ],
        "title" : "X509SanDnsClientIdentifierSchemeConfiguration"
      },
      "id.walt.enterprise.services.verifier.models.controller.verify.CredentialsVerifyRequestBody" : {
        "type" : "object",
        "properties" : {
          "request_credentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.common.RequestedCredential"
            },
            "title" : "ArrayList<RequestedCredential>"
          },
          "vp_policies" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "vc_policies" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "openid_profile" : {
            "type" : "string",
            "title" : "String"
          },
          "trusted_root_cas" : {
            "type" : "array",
            "title" : "JsonArray"
          },
          "expires_in_seconds" : {
            "type" : "string",
            "title" : "Duration"
          },
          "x509SanDnsConfig" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.common.X509SanDnsClientIdentifierSchemeConfiguration"
          }
        },
        "required" : [ "request_credentials" ],
        "title" : "CredentialsVerifyRequestBody"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentedCredentialsViewMode" : {
        "type" : "string",
        "enum" : [ "simple", "verbose" ],
        "title" : "PresentedCredentialsViewMode"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentedCredentialView" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/jwt_vc_json_view_simple"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json_view_verbose"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc_view_simple"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc_view_verbose"
        }, {
          "$ref" : "#/components/schemas/sd_jwt_vc_view_simple"
        }, {
          "$ref" : "#/components/schemas/sd_jwt_vc_view_verbose"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "PresentedCredentialView"
      },
      "jwt_vc_json_view_simple" : {
        "type" : "object",
        "properties" : {
          "holder" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "verifiableCredentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwt"
            },
            "title" : "ArrayList<ParsedJwt>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "verifiableCredentials" ],
        "title" : ""
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwt" : {
        "type" : "object",
        "properties" : {
          "header" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "payload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "header", "payload" ],
        "title" : "ParsedJwt"
      },
      "jwt_vc_json_view_verbose" : {
        "type" : "object",
        "properties" : {
          "vp" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedVerifiablePresentation"
          },
          "verifiableCredentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwtVcJsonVerbose"
            },
            "title" : "ArrayList<ParsedJwtVcJsonVerbose>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "verifiableCredentials", "vp" ],
        "title" : ""
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedVerifiablePresentation" : {
        "type" : "object",
        "properties" : {
          "raw" : {
            "type" : "string",
            "title" : "String"
          },
          "header" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "payload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "header", "payload", "raw" ],
        "title" : "ParsedVerifiablePresentation"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwtVcJsonVerbose" : {
        "type" : "object",
        "properties" : {
          "raw" : {
            "type" : "string",
            "title" : "String"
          },
          "header" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "fullPayload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "undisclosedPayload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "disclosures" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedDisclosure"
            },
            "title" : "LinkedHashMap<String,ParsedDisclosure>"
          }
        },
        "required" : [ "fullPayload", "header", "raw", "undisclosedPayload" ],
        "title" : "ParsedJwtVcJsonVerbose"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedDisclosure" : {
        "type" : "object",
        "properties" : {
          "disclosure" : {
            "type" : "string",
            "title" : "String"
          },
          "salt" : {
            "type" : "string",
            "title" : "String"
          },
          "key" : {
            "type" : "string",
            "title" : "String"
          },
          "value" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          }
        },
        "required" : [ "disclosure", "salt", "value" ],
        "title" : "ParsedDisclosure"
      },
      "mso_mdoc_view_simple" : {
        "type" : "object",
        "properties" : {
          "version" : {
            "type" : "string",
            "title" : "String"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "documents" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.MdocSimpleViewMode"
            },
            "title" : "ArrayList<MdocSimpleViewMode>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "documents", "status", "version" ],
        "title" : ""
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.MdocSimpleViewMode" : {
        "type" : "object",
        "properties" : {
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "nameSpaces" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
              },
              "title" : "LinkedHashMap<String,JsonElement>"
            },
            "title" : "LinkedHashMap<String,LinkedHashMap<String,JsonElement>>"
          },
          "certificateChain" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "validityInfo" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "deviceKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "certificateChain", "deviceKey", "docType", "nameSpaces", "validityInfo" ],
        "title" : "MdocSimpleViewMode"
      },
      "mso_mdoc_view_verbose" : {
        "type" : "object",
        "properties" : {
          "raw" : {
            "type" : "string",
            "title" : "String"
          },
          "version" : {
            "type" : "string",
            "title" : "String"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "documents" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.MdocVerboseViewMode"
            },
            "title" : "ArrayList<MdocVerboseViewMode>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "documents", "raw", "status", "version" ],
        "title" : ""
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.MdocVerboseViewMode" : {
        "type" : "object",
        "properties" : {
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerSigned" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.IssuerSignedParsed"
          },
          "deviceSigned" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.DeviceSignedParsed"
          },
          "errors" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          }
        },
        "required" : [ "docType", "issuerSigned" ],
        "title" : "MdocVerboseViewMode"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.IssuerSignedParsed" : {
        "type" : "object",
        "properties" : {
          "nameSpaces" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
              },
              "title" : "LinkedHashMap<String,JsonElement>"
            },
            "title" : "LinkedHashMap<String,LinkedHashMap<String,JsonElement>>"
          },
          "issuerAuth" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.IssuerAuthParsed"
          }
        },
        "required" : [ "issuerAuth", "nameSpaces" ],
        "title" : "IssuerSignedParsed"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.IssuerAuthParsed" : {
        "type" : "object",
        "properties" : {
          "x5c" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "algorithm" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "protectedHeader" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "payload" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.MsoParsed"
          }
        },
        "required" : [ "algorithm", "payload", "protectedHeader", "x5c" ],
        "title" : "IssuerAuthParsed"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.MsoParsed" : {
        "type" : "object",
        "properties" : {
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "version" : {
            "type" : "string",
            "title" : "String"
          },
          "digestAlgorithm" : {
            "type" : "string",
            "title" : "String"
          },
          "valueDigests" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "validityInfo" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "deviceKeyInfo" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "status" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          }
        },
        "required" : [ "deviceKeyInfo", "digestAlgorithm", "docType", "validityInfo", "valueDigests", "version" ],
        "title" : "MsoParsed"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.DeviceSignedParsed" : {
        "type" : "object",
        "properties" : {
          "nameSpaces" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "deviceAuth" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          }
        },
        "required" : [ "deviceAuth", "nameSpaces" ],
        "title" : "DeviceSignedParsed"
      },
      "sd_jwt_vc_view_simple" : {
        "type" : "object",
        "properties" : {
          "vc" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwt"
          },
          "keyBinding" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwt"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "vc" ],
        "title" : ""
      },
      "sd_jwt_vc_view_verbose" : {
        "type" : "object",
        "properties" : {
          "raw" : {
            "type" : "string",
            "title" : "String"
          },
          "vc" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedSdJwtVerbose"
          },
          "keyBinding" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedJwt"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "raw", "vc" ],
        "title" : ""
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedSdJwtVerbose" : {
        "type" : "object",
        "properties" : {
          "header" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "fullPayload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "undisclosedPayload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "disclosures" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.ParsedDisclosure"
            },
            "title" : "LinkedHashMap<String,ParsedDisclosure>"
          }
        },
        "required" : [ "fullPayload", "header", "undisclosedPayload" ],
        "title" : "ParsedSdJwtVerbose"
      },
      "id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentationSessionPresentedCredentials" : {
        "type" : "object",
        "properties" : {
          "credentialsByFormat" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentedCredentialView"
              },
              "title" : "ArrayList<PresentedCredentialView>"
            },
            "title" : "LinkedHashMap<VCFormat,ArrayList<PresentedCredentialView>>"
          },
          "viewMode" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.verifier.models.controller.presentedcredentials.PresentedCredentialsViewMode"
          }
        },
        "required" : [ "credentialsByFormat", "viewMode" ],
        "title" : "PresentationSessionPresentedCredentials"
      },
      "id.walt.commons.config.list.TransactionDataProfile" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "displayName" : {
            "type" : "string",
            "title" : "String"
          },
          "fields" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "displayName", "fields", "type" ],
        "title" : "TransactionDataProfile"
      },
      "id.walt.policies2.vc.policies.status.model.StatusPolicyArgument" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/ietf"
        }, {
          "$ref" : "#/components/schemas/w3c"
        }, {
          "$ref" : "#/components/schemas/w3c-list"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "StatusPolicyArgument"
      },
      "ietf" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "integer",
            "maximum" : 4294967295,
            "minimum" : 0,
            "title" : "UInt"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 4294967295,
              "minimum" : 0,
              "title" : "UInt"
            },
            "title" : "ArrayList<UInt>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : ""
      },
      "w3c" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "integer",
            "maximum" : 4294967295,
            "minimum" : 0,
            "title" : "UInt"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "maximum" : 4294967295,
              "minimum" : 0,
              "title" : "UInt"
            },
            "title" : "ArrayList<UInt>"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "purpose", "type" ],
        "title" : ""
      },
      "w3c-list" : {
        "type" : "object",
        "properties" : {
          "list" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/w3c"
            },
            "title" : "ArrayList<>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "list" ],
        "title" : ""
      },
      "id.walt.verifier2.handlers.sessioncreation.VerificationSessionCreationResponse" : {
        "type" : "object",
        "properties" : {
          "sessionId" : {
            "type" : "string",
            "title" : "String"
          },
          "bootstrapAuthorizationRequestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "fullAuthorizationRequestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "creationTarget" : {
            "type" : "string",
            "title" : "String"
          },
          "data" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          }
        },
        "required" : [ "sessionId" ],
        "title" : "VerificationSessionCreationResponse"
      },
      "verifier2-session" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "session" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session"
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "expireAtEpochMs" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "KotlinInstantAsBsonDateTime"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "parent", "session", "timestamp" ],
        "title" : ""
      },
      "id.walt.verifier2.data.Verification2Session" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "setup" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.VerificationSessionSetup"
          },
          "data" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "expirationDate" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "retentionDate" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "status" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.VerificationSessionStatus"
          },
          "attempted" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "notifications" : {
            "$ref" : "#/components/schemas/id.walt.ktornotifications.core.KtorSessionNotifications"
          },
          "reattemptable" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "bootstrapAuthorizationRequest" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.AuthorizationRequest"
          },
          "bootstrapAuthorizationRequestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "authorizationRequest" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.AuthorizationRequest"
          },
          "authorizationRequestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "signedAuthorizationRequestJwt" : {
            "type" : "string",
            "title" : "String"
          },
          "ephemeralDecryptionKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "jwkThumbprint" : {
            "type" : "string",
            "title" : "String"
          },
          "requestMode" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.RequestMode"
          },
          "policies" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.DefinedVerificationPolicies"
          },
          "policy_results" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.verification2.Verifier2PolicyResults"
          },
          "presentation_validation_results" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2.PolicyRunResult"
              },
              "title" : "LinkedHashMap<String,VPPolicy2.PolicyRunResult>"
            },
            "title" : "LinkedHashMap<String,LinkedHashMap<String,VPPolicy2.PolicyRunResult>>"
          },
          "redirects" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.VerificationSessionRedirects"
          },
          "presented_raw_data" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.Verification2Session.PresentedRawData"
          },
          "presented_presentations" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.credentials.presentations.formats.VerifiablePresentation"
            },
            "title" : "LinkedHashMap<String,VerifiablePresentation>"
          },
          "presented_credentials" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/id.walt.credentials.formats.DigitalCredential"
              },
              "title" : "ArrayList<DigitalCredential>"
            },
            "title" : "LinkedHashMap<String,ArrayList<DigitalCredential>>"
          },
          "statusReason" : {
            "type" : "string",
            "title" : "String"
          },
          "response_code" : {
            "type" : "string",
            "title" : "String"
          },
          "failure" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.SessionFailure"
          }
        },
        "required" : [ "attempted", "authorizationRequest", "creationDate", "id", "policies", "reattemptable", "requestMode", "retentionDate", "setup", "status" ],
        "title" : "Verification2Session"
      },
      "id.walt.verifier2.data.Verification2Session.VerificationSessionStatus" : {
        "type" : "string",
        "enum" : [ "UNKNOWN", "ACTIVE", "UNUSED", "IN_USE", "VALIDATING_RECEIVED_REQUEST", "PROCESSING_FLOW", "EXPIRED", "SUCCESSFUL", "FAILED" ],
        "title" : "Verification2Session.VerificationSessionStatus"
      },
      "id.walt.verifier.openid.models.authorization.AuthorizationRequest" : {
        "type" : "object",
        "properties" : {
          "response_type" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.openid.OpenID4VPResponseType"
          },
          "client_id" : {
            "type" : "string",
            "title" : "String"
          },
          "redirect_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "scope" : {
            "type" : "string",
            "title" : "String"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "response_mode" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.openid.OpenID4VPResponseMode"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "request" : {
            "type" : "string",
            "title" : "String"
          },
          "request_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "response_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "dcql_query" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.DcqlQuery"
          },
          "client_metadata" : {
            "$ref" : "#/components/schemas/ClientMetadata"
          },
          "request_uri_method" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.RequestUriHttpMethod"
          },
          "transaction_data" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "verifier_info" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.VerifierInfoItem"
            },
            "title" : "ArrayList<VerifierInfoItem>"
          },
          "id_token_type" : {
            "type" : "string",
            "title" : "String"
          },
          "wallet_nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "expected_origins" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "title" : "AuthorizationRequest"
      },
      "id.walt.verifier.openid.models.openid.OpenID4VPResponseType" : {
        "type" : "string",
        "enum" : [ "vp_token", "vp_token id_token", "code" ],
        "title" : "OpenID4VPResponseType"
      },
      "id.walt.verifier.openid.models.openid.OpenID4VPResponseMode" : {
        "type" : "string",
        "enum" : [ "fragment", "query", "direct_post", "direct_post.jwt", "dc_api", "dc_api.jwt", "form_post" ],
        "title" : "OpenID4VPResponseMode"
      },
      "id.walt.verifier.openid.models.authorization.RequestUriHttpMethod" : {
        "type" : "string",
        "enum" : [ "get", "post" ],
        "title" : "RequestUriHttpMethod"
      },
      "id.walt.verifier2.data.Verification2Session.RequestMode" : {
        "type" : "string",
        "enum" : [ "URL_ENCODED", "URL_ENCODED_SIGNED", "REQUEST_URI", "REQUEST_URI_SIGNED", "DC_API" ],
        "title" : "Verification2Session.RequestMode"
      },
      "id.walt.verifier2.verification2.Verifier2PolicyResults" : {
        "type" : "object",
        "properties" : {
          "vp_policies" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2.PolicyRunResult"
              },
              "title" : "LinkedHashMap<String,VPPolicy2.PolicyRunResult>"
            },
            "title" : "LinkedHashMap<String,LinkedHashMap<String,VPPolicy2.PolicyRunResult>>"
          },
          "vc_policies" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.policies2.vc.CredentialPolicyResult"
            },
            "title" : "ArrayList<CredentialPolicyResult>"
          },
          "specific_vc_policies" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/id.walt.policies2.vc.CredentialPolicyResult"
              },
              "title" : "ArrayList<CredentialPolicyResult>"
            },
            "title" : "LinkedHashMap<String,ArrayList<CredentialPolicyResult>>"
          },
          "overallSuccess" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "overallSuccess", "specific_vc_policies", "vc_policies", "vp_policies" ],
        "title" : "Verifier2PolicyResults"
      },
      "id.walt.policies2.vp.policies.VPPolicy2.PolicyRunResult" : {
        "type" : "object",
        "properties" : {
          "policy_executed" : {
            "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2"
          },
          "success" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "results" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
            },
            "title" : "LinkedHashMap<String,JsonElement>"
          },
          "errors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2.PolicyRunError"
            },
            "title" : "ArrayList<VPPolicy2.PolicyRunError>"
          },
          "execution_time" : {
            "type" : "string",
            "title" : "Duration"
          }
        },
        "required" : [ "errors", "execution_time", "policy_executed", "results", "success" ],
        "title" : "VPPolicy2.PolicyRunResult"
      },
      "id.walt.policies2.vp.policies.VPPolicy2.PolicyRunError" : {
        "type" : "object",
        "properties" : {
          "error" : {
            "type" : "string",
            "title" : "String"
          },
          "message" : {
            "type" : "string",
            "title" : "String"
          },
          "cause" : {
            "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2.PolicyRunError"
          }
        },
        "required" : [ "error" ],
        "title" : "VPPolicy2.PolicyRunError"
      },
      "id.walt.policies2.vc.CredentialPolicyResult" : {
        "type" : "object",
        "properties" : {
          "policy" : {
            "$ref" : "#/components/schemas/id.walt.policies2.vc.policies.CredentialVerificationPolicy2"
          },
          "success" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "result" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "error" : {
            "type" : "string",
            "title" : "String"
          },
          "query_id" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_index" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "required" : [ "policy", "success" ],
        "title" : "CredentialPolicyResult"
      },
      "id.walt.verifier2.data.Verification2Session.PresentedRawData" : {
        "type" : "object",
        "properties" : {
          "vpToken" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "LinkedHashMap<String,ArrayList<String>>"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "vpToken" ],
        "title" : "Verification2Session.PresentedRawData"
      },
      "id.walt.credentials.presentations.formats.VerifiablePresentation" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/dc+sd-jwt"
        }, {
          "$ref" : "#/components/schemas/jwt_vc_json"
        }, {
          "$ref" : "#/components/schemas/ldp_vc"
        }, {
          "$ref" : "#/components/schemas/mso_mdoc"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "VerifiablePresentation"
      },
      "dc+sd-jwt" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.credentials.presentations.PresentationFormat"
          },
          "sdJwt" : {
            "type" : "string",
            "title" : "String"
          },
          "disclosures" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "keyBindingJwt" : {
            "type" : "string",
            "title" : "String"
          },
          "credential" : {
            "$ref" : "#/components/schemas/id.walt.credentials.formats.DigitalCredential"
          },
          "audience" : {
            "type" : "string",
            "title" : "String"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "sdHash" : {
            "type" : "string",
            "title" : "String"
          },
          "transactionDataHashes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "transactionDataHashesAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "presentationStringHashable" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credential", "disclosures", "format", "keyBindingJwt", "presentationStringHashable", "sdJwt" ],
        "title" : ""
      },
      "id.walt.credentials.presentations.PresentationFormat" : {
        "type" : "string",
        "enum" : [ "jwt_vc_json", "dc+sd-jwt", "ldp_vc", "mso_mdoc" ],
        "title" : "PresentationFormat"
      },
      "jwt_vc_json" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.credentials.presentations.PresentationFormat"
          },
          "jwt" : {
            "type" : "string",
            "title" : "String"
          },
          "payload" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "audience" : {
            "type" : "string",
            "title" : "String"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "vp" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "credentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.credentials.formats.DigitalCredential"
            },
            "title" : "ArrayList<DigitalCredential>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "format", "jwt", "payload" ],
        "title" : ""
      },
      "ldp_vc" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.credentials.presentations.PresentationFormat"
          },
          "presentation" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "format", "presentation" ],
        "title" : ""
      },
      "mso_mdoc" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "$ref" : "#/components/schemas/id.walt.credentials.presentations.PresentationFormat"
          },
          "mdoc" : {
            "$ref" : "#/components/schemas/vc-mdocs"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "format", "mdoc" ],
        "title" : ""
      },
      "id.walt.verifier2.data.SessionFailure" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/dcql_fulfillment"
        }, {
          "$ref" : "#/components/schemas/presentation_validation"
        }, {
          "$ref" : "#/components/schemas/vc_policy_violations"
        }, {
          "$ref" : "#/components/schemas/wallet_error_response"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "SessionFailure"
      },
      "dcql_fulfillment" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string",
            "title" : "String"
          },
          "failure" : {
            "$ref" : "#/components/schemas/id.walt.verifier2.data.DcqlFulfillmentFailure"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "failure", "reason" ],
        "title" : ""
      },
      "id.walt.verifier2.data.DcqlFulfillmentFailure" : {
        "type" : "object",
        "properties" : {
          "missing_query_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "unsatisfied_sets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.verifier2.data.UnsatisfiedSet"
            },
            "title" : "ArrayList<UnsatisfiedSet>"
          },
          "successfully_validated_query_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          }
        },
        "required" : [ "missing_query_ids", "successfully_validated_query_ids", "unsatisfied_sets" ],
        "title" : "DcqlFulfillmentFailure"
      },
      "id.walt.verifier2.data.UnsatisfiedSet" : {
        "type" : "object",
        "properties" : {
          "options" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "ArrayList<ArrayList<String>>"
          }
        },
        "required" : [ "options" ],
        "title" : "UnsatisfiedSet"
      },
      "presentation_validation" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string",
            "title" : "String"
          },
          "failed_policies" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/id.walt.policies2.vp.policies.VPPolicy2.PolicyRunResult"
              },
              "title" : "LinkedHashMap<String,VPPolicy2.PolicyRunResult>"
            },
            "title" : "LinkedHashMap<String,LinkedHashMap<String,VPPolicy2.PolicyRunResult>>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "failed_policies", "reason" ],
        "title" : ""
      },
      "vc_policy_violations" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string",
            "title" : "String"
          },
          "violations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.policies2.vc.CredentialPolicyResult"
            },
            "title" : "ArrayList<CredentialPolicyResult>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "reason", "violations" ],
        "title" : ""
      },
      "wallet_error_response" : {
        "type" : "object",
        "properties" : {
          "reason" : {
            "type" : "string",
            "title" : "String"
          },
          "error" : {
            "type" : "string",
            "title" : "String"
          },
          "error_description" : {
            "type" : "string",
            "title" : "String"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "error", "reason" ],
        "title" : ""
      },
      "id.walt.enterprise.services.wallet.InitWalletTenantRequest" : {
        "type" : "object",
        "properties" : {
          "kms" : {
            "type" : "string",
            "title" : "Target"
          },
          "createKms" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "kmsName" : {
            "type" : "string",
            "title" : "String"
          },
          "createKeyInKms" : {
            "$ref" : "#/components/schemas/id.walt.crypto.keys.KeyGenerationRequest"
          },
          "createdKeyName" : {
            "type" : "string",
            "title" : "String"
          },
          "didStore" : {
            "type" : "string",
            "title" : "Target"
          },
          "createDidStore" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "didStoreName" : {
            "type" : "string",
            "title" : "String"
          },
          "didRegistry" : {
            "type" : "string",
            "title" : "Target"
          },
          "createDidRegistry" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "didRegistryName" : {
            "type" : "string",
            "title" : "String"
          },
          "didService" : {
            "type" : "string",
            "title" : "Target"
          },
          "createDidService" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "didServiceName" : {
            "type" : "string",
            "title" : "String"
          },
          "createDidWithDidService" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialStore" : {
            "type" : "string",
            "title" : "Target"
          },
          "createCredentialStore" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "credentialStoreName" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "createCredentialStore", "createDidRegistry", "createDidService", "createDidStore", "createKms", "createdKeyName", "credentialStoreName", "didRegistryName", "didServiceName", "didStoreName", "kmsName" ],
        "title" : "InitWalletTenantRequest"
      },
      "id.walt.enterprise.services.wallet.CreatedResources" : {
        "type" : "object",
        "properties" : {
          "keyId" : {
            "type" : "string",
            "title" : "Target"
          },
          "didId" : {
            "type" : "string",
            "title" : "Target"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "CreatedResources"
      },
      "id.walt.enterprise.services.wallet.InitWalletTenantResponse" : {
        "type" : "object",
        "properties" : {
          "wallet" : {
            "$ref" : "#/components/schemas/wallet"
          },
          "createdResources" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.CreatedResources"
          }
        },
        "required" : [ "wallet" ],
        "title" : "InitWalletTenantResponse"
      },
      "id.walt.oid4vc.data.CredentialOffer" : {
        "type" : "object",
        "properties" : { },
        "title" : "CredentialOffer"
      },
      "id.walt.enterprise.resource.descriptor.VicalArtifactDescriptor" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/enterprise-hosted-vical-artifact-descriptor"
        }, {
          "$ref" : "#/components/schemas/hex-encoded-signed-vical-artifact-descriptor"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "VicalArtifactDescriptor"
      },
      "enterprise-hosted-vical-artifact-descriptor" : {
        "type" : "object",
        "properties" : {
          "versionDirectoryId" : {
            "type" : "string",
            "title" : "Target"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "versionDirectoryId" ],
        "title" : ""
      },
      "hex-encoded-signed-vical-artifact-descriptor" : {
        "type" : "object",
        "properties" : {
          "signedVicalHex" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "signedVicalHex" ],
        "title" : ""
      },
      "id.walt.enterprise.services.wallet.receive.WalletReceiveRequest" : {
        "type" : "object",
        "properties" : {
          "offerUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "offer" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialOffer"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "didReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "runPolicies" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "useClientAttestation" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "txCode" : {
            "type" : "string",
            "title" : "String"
          },
          "trustedVicals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.resource.descriptor.VicalArtifactDescriptor"
            },
            "title" : "ArrayList<VicalArtifactDescriptor>"
          }
        },
        "required" : [ "useClientAttestation" ],
        "title" : "WalletReceiveRequest"
      },
      "id.walt.enterprise.services.wallet.present.WalletPresentSelectedCredential" : {
        "type" : "object",
        "properties" : {
          "credential" : {
            "type" : "string",
            "title" : "Target"
          },
          "disclosures" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "credential" ],
        "title" : "WalletPresentSelectedCredential"
      },
      "id.walt.enterprise.services.wallet.present.WalletPresentRequest" : {
        "type" : "object",
        "properties" : {
          "requestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "didReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "runPolicies" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "credentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.present.WalletPresentSelectedCredential"
            },
            "title" : "ArrayList<WalletPresentSelectedCredential>"
          }
        },
        "required" : [ "requestUrl" ],
        "title" : "WalletPresentRequest"
      },
      "id.walt.enterprise.services.wallet.attestation.ObtainClientAttestationRequest" : {
        "type" : "object",
        "properties" : {
          "clientAttesterServiceRef" : {
            "type" : "string",
            "title" : "Target"
          },
          "instanceKeyReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "expirationSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "clientAttesterServiceRef", "instanceKeyReference" ],
        "title" : "ObtainClientAttestationRequest"
      },
      "id.walt.crypto.keys.DirectSerializedKey" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "$ref" : "#/components/schemas/id.walt.crypto.keys.Key"
          }
        },
        "required" : [ "key" ],
        "title" : "DirectSerializedKey"
      },
      "id.walt.crypto.keys.Key" : {
        "type" : "object",
        "properties" : {
          "hasPrivateKey" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "keyType" : {
            "$ref" : "#/components/schemas/id.walt.crypto.keys.KeyType"
          }
        },
        "required" : [ "hasPrivateKey", "keyType" ],
        "title" : "Key"
      },
      "id.walt.oid4vc.requests.AuthorizationRequest" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "String"
          },
          "responseMode" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.ResponseMode"
          },
          "responseType" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.ResponseType"
            },
            "title" : "Set<ResponseType>",
            "uniqueItems" : true
          },
          "scope" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>",
            "uniqueItems" : true
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "authorizationDetails" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.AuthorizationDetails"
            },
            "title" : "List<AuthorizationDetails>"
          },
          "claims" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "clientIdScheme" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.ClientIdScheme"
          },
          "clientMetadata" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.OpenIDClientMetadata"
          },
          "clientMetadataUri" : {
            "type" : "string",
            "title" : "String"
          },
          "codeChallenge" : {
            "type" : "string",
            "title" : "String"
          },
          "codeChallengeMethod" : {
            "type" : "string",
            "title" : "String"
          },
          "idTokenHint" : {
            "type" : "string",
            "title" : "String"
          },
          "isReferenceToPAR" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "issuerState" : {
            "type" : "string",
            "title" : "String"
          },
          "presentationDefinition" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.PresentationDefinition"
          },
          "presentationDefinitionUri" : {
            "type" : "string",
            "title" : "String"
          },
          "request" : {
            "type" : "string",
            "title" : "String"
          },
          "requestUri" : {
            "type" : "string",
            "title" : "String"
          },
          "requireSignedRequestObject" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "responseUri" : {
            "type" : "string",
            "title" : "String"
          },
          "userHint" : {
            "type" : "string",
            "title" : "String"
          },
          "walletIssuer" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clientId", "isReferenceToPAR", "responseType", "scope" ],
        "title" : "AuthorizationRequest"
      },
      "id.walt.oid4vc.data.ResponseMode" : {
        "type" : "string",
        "enum" : [ "query", "fragment", "form_post", "direct_post", "direct_post_jwt", "post" ],
        "title" : "ResponseMode"
      },
      "id.walt.oid4vc.data.ResponseType" : {
        "type" : "string",
        "enum" : [ "IdToken", "Token", "Code", "VpToken" ],
        "title" : "ResponseType"
      },
      "id.walt.oid4vc.data.AuthorizationDetails" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "claims" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/id.walt.oid4vc.data.ClaimDescriptor"
              },
              "title" : "Map<String,ClaimDescriptor>"
            },
            "title" : "Map<String,Map<String,ClaimDescriptor>>"
          },
          "credentialDefinition" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialDefinition"
          },
          "credentialSubject" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.ClaimDescriptor"
            },
            "title" : "Map<String,ClaimDescriptor>"
          },
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialFormat"
          },
          "locations" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "types" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "vct" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "type" ],
        "title" : "AuthorizationDetails"
      },
      "id.walt.oid4vc.data.ClaimDescriptor" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "display" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.DisplayProperties"
            },
            "title" : "List<DisplayProperties>"
          },
          "mandatory" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "nestedClaims" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.ClaimDescriptor"
            },
            "title" : "Map<String,ClaimDescriptor>"
          },
          "valueType" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "nestedClaims" ],
        "title" : "ClaimDescriptor"
      },
      "id.walt.oid4vc.data.DisplayProperties" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "backgroundColor" : {
            "type" : "string",
            "title" : "String"
          },
          "backgroundImage" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.LogoProperties"
          },
          "description" : {
            "type" : "string",
            "title" : "String"
          },
          "locale" : {
            "type" : "string",
            "title" : "String"
          },
          "logo" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.LogoProperties"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "secondaryImage" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.LogoProperties"
          },
          "textColor" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "name" ],
        "title" : "DisplayProperties"
      },
      "id.walt.oid4vc.data.LogoProperties" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "altText" : {
            "type" : "string",
            "title" : "String"
          },
          "url" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "LogoProperties"
      },
      "id.walt.oid4vc.data.CredentialDefinition" : {
        "type" : "object",
        "properties" : {
          "credentialSubject" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          }
        },
        "title" : "CredentialDefinition"
      },
      "id.walt.oid4vc.data.ClientIdScheme" : {
        "type" : "string",
        "enum" : [ "PreRegistered", "RedirectUri", "EntityId", "Did", "VerifierAttestation", "X509SanDns", "X509SanUri" ],
        "title" : "ClientIdScheme"
      },
      "id.walt.oid4vc.data.OpenIDClientMetadata" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "applicationType" : {
            "type" : "string",
            "title" : "String"
          },
          "authorizationEncryptedResponseAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "authorizationEncryptedResponseEnc" : {
            "type" : "string",
            "title" : "String"
          },
          "clientName" : {
            "type" : "string",
            "title" : "String"
          },
          "clientUri" : {
            "type" : "string",
            "title" : "String"
          },
          "contacts" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "defaultAcrValues" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "defaultMaxAge" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "grantTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.GrantType"
            },
            "title" : "List<GrantType>"
          },
          "idTokenEncryptedResponseAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "idTokenEncryptedResponseEnc" : {
            "type" : "string",
            "title" : "String"
          },
          "idTokenSignedResponseAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "initiateLoginUri" : {
            "type" : "string",
            "title" : "String"
          },
          "jwks" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "jwksUri" : {
            "type" : "string",
            "title" : "String"
          },
          "logoUri" : {
            "type" : "string",
            "title" : "String"
          },
          "policyUri" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "requestObjectEncryptionAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "requestObjectEncryptionEnc" : {
            "type" : "string",
            "title" : "String"
          },
          "requestObjectSigningAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "requestUris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "requireAuthTime" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "responseTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "sectorIdentifierUri" : {
            "type" : "string",
            "title" : "String"
          },
          "subjectType" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.SubjectType"
          },
          "tokenEndpointAuthMethod" : {
            "type" : "string",
            "title" : "String"
          },
          "tokenEndpointAuthSigningAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "tosUri" : {
            "type" : "string",
            "title" : "String"
          },
          "userinfoEncryptedResponseAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "userinfoEncryptedResponseEnc" : {
            "type" : "string",
            "title" : "String"
          },
          "userinfoSignedResponseAlg" : {
            "type" : "string",
            "title" : "String"
          },
          "vpFormats" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "array",
                "items" : {
                  "type" : "string",
                  "title" : "String"
                },
                "title" : "List<String>"
              },
              "title" : "Map<String,List<String>>"
            },
            "title" : "Map<String,Map<String,List<String>>>"
          }
        },
        "title" : "OpenIDClientMetadata"
      },
      "id.walt.oid4vc.data.GrantType" : {
        "type" : "string",
        "enum" : [ "implicit", "authorization_code", "pre_authorized_code" ],
        "title" : "GrantType"
      },
      "id.walt.oid4vc.data.SubjectType" : {
        "type" : "string",
        "enum" : [ "pairwise", "public" ],
        "title" : "SubjectType"
      },
      "id.walt.oid4vc.data.dif.PresentationDefinition" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "format" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.VCFormatDefinition"
            },
            "title" : "Map<VCFormat,VCFormatDefinition>"
          },
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "inputDescriptors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.InputDescriptor"
            },
            "title" : "List<InputDescriptor>"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "submissionRequirements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.SubmissionRequirement"
            },
            "title" : "List<SubmissionRequirement>"
          }
        },
        "required" : [ "id", "inputDescriptors" ],
        "title" : "PresentationDefinition"
      },
      "id.walt.oid4vc.data.dif.SubmissionRequirement" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "from" : {
            "type" : "string",
            "title" : "String"
          },
          "fromNested" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.SubmissionRequirement"
            },
            "title" : "List<SubmissionRequirement>"
          },
          "max" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "min" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "name" : {
            "type" : "string",
            "title" : "String"
          },
          "purpose" : {
            "type" : "string",
            "title" : "String"
          },
          "rule" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.SubmissionRequirementRule"
          }
        },
        "required" : [ "rule" ],
        "title" : "SubmissionRequirement"
      },
      "id.walt.oid4vc.data.dif.SubmissionRequirementRule" : {
        "type" : "string",
        "enum" : [ "pick", "all" ],
        "title" : "SubmissionRequirementRule"
      },
      "id.walt.enterprise.services.wallet.present.IsolatedWalletPresentRequest" : {
        "type" : "object",
        "properties" : {
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "didReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "key" : {
            "$ref" : "#/components/schemas/id.walt.crypto.keys.DirectSerializedKey"
          },
          "keyReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "credentials" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "request" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.requests.AuthorizationRequest"
          },
          "requestUrl" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "IsolatedWalletPresentRequest"
      },
      "id.walt.enterprise.services.wallet.present.WalletCredentialsPresent.VerifierDisplayMetadata" : {
        "type" : "object",
        "properties" : {
          "clientName" : {
            "type" : "string",
            "title" : "String"
          },
          "clientNameI18n" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "logoUri" : {
            "type" : "string",
            "title" : "String"
          },
          "logoUriI18n" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "tosUri" : {
            "type" : "string",
            "title" : "String"
          },
          "tosUriI18n" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "policyUri" : {
            "type" : "string",
            "title" : "String"
          },
          "policyUriI18n" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          },
          "clientUri" : {
            "type" : "string",
            "title" : "String"
          },
          "clientUriI18n" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "clientNameI18n", "clientUriI18n", "logoUriI18n", "policyUriI18n", "tosUriI18n" ],
        "title" : "WalletCredentialsPresent.VerifierDisplayMetadata"
      },
      "id.walt.enterprise.services.wallet.present.WalletCredentialsPresent.ResolvedAuthorizationRequest" : {
        "type" : "object",
        "properties" : {
          "authorizationRequest" : {
            "$ref" : "#/components/schemas/id.walt.verifier.openid.models.authorization.AuthorizationRequest"
          },
          "verifierMetadata" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.wallet.present.WalletCredentialsPresent.VerifierDisplayMetadata"
          }
        },
        "required" : [ "authorizationRequest" ],
        "title" : "WalletCredentialsPresent.ResolvedAuthorizationRequest"
      },
      "id.walt.oid4vc.data.OpenIDProviderMetadata" : {
        "type" : "object",
        "properties" : { },
        "title" : "OpenIDProviderMetadata"
      },
      "id.walt.enterprise.services.wallet.core.CoreWalletOpenId4VCI.ResolvedOfferWithProviderMetadata" : {
        "type" : "object",
        "properties" : {
          "offerUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "resolvedOffer" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialOffer"
          },
          "providerMetadata" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.OpenIDProviderMetadata"
          }
        },
        "title" : "CoreWalletOpenId4VCI.ResolvedOfferWithProviderMetadata"
      },
      "id.walt.oid4vc.data.OfferedCredential" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "credentialDefinition" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialDefinition"
          },
          "cryptographicBindingMethodsSupported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>"
          },
          "display" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.DisplayProperties"
            },
            "title" : "List<DisplayProperties>"
          },
          "docType" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.CredentialFormat"
          },
          "proofTypesSupported" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.ProofTypeMetadata"
            },
            "title" : "Map<ProofType,ProofTypeMetadata>"
          },
          "types" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "List<String>"
          },
          "vct" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "format" ],
        "title" : "OfferedCredential"
      },
      "id.walt.oid4vc.data.ProofTypeMetadata" : {
        "type" : "object",
        "properties" : {
          "proofSigningAlgValuesSupported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "Set<String>"
          }
        },
        "required" : [ "proofSigningAlgValuesSupported" ],
        "title" : "ProofTypeMetadata"
      },
      "id.walt.oid4vc.data.dif.PresentationSubmission" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "definition_id" : {
            "type" : "string",
            "title" : "String"
          },
          "descriptor_map" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.DescriptorMapping"
            },
            "title" : "ArrayList<DescriptorMapping>"
          }
        },
        "required" : [ "definition_id", "descriptor_map", "id" ],
        "title" : "PresentationSubmission"
      },
      "id.walt.oid4vc.data.dif.DescriptorMapping" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "$ref" : "#/components/schemas/id.walt.w3c.utils.VCFormat"
          },
          "path" : {
            "type" : "string",
            "title" : "String"
          },
          "path_nested" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.DescriptorMapping"
          }
        },
        "required" : [ "path" ],
        "title" : "DescriptorMapping"
      },
      "id.walt.oid4vc.responses.TokenResponse" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "access_token" : {
            "type" : "string",
            "title" : "String"
          },
          "token_type" : {
            "type" : "string",
            "title" : "String"
          },
          "expires_in" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "refresh_token" : {
            "type" : "string",
            "title" : "String"
          },
          "vp_token" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "id_token" : {
            "type" : "string",
            "title" : "String"
          },
          "scope" : {
            "type" : "string",
            "title" : "String"
          },
          "c_nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "c_nonce_expires_in" : {
            "type" : "string",
            "title" : "Duration"
          },
          "authorization_pending" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "interval" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "presentation_submission" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.dif.PresentationSubmission"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "error" : {
            "type" : "string",
            "title" : "String"
          },
          "error_description" : {
            "type" : "string",
            "title" : "String"
          },
          "error_uri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "TokenResponse"
      },
      "id.walt.enterprise.services.wallet.receive.IsolatedSignProofOfPossession" : {
        "type" : "object",
        "properties" : {
          "holderKey" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "credentialIssuerUrl" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "proofKeyId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credentialIssuerUrl", "holderKey" ],
        "title" : "IsolatedSignProofOfPossession"
      },
      "id.walt.oid4vc.data.ProofType" : {
        "type" : "string",
        "enum" : [ "jwt", "cwt", "ldp_vp" ],
        "title" : "ProofType"
      },
      "id.walt.oid4vc.data.ProofOfPossession" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "proof_type" : {
            "$ref" : "#/components/schemas/id.walt.oid4vc.data.ProofType"
          },
          "jwt" : {
            "type" : "string",
            "title" : "String"
          },
          "cwt" : {
            "type" : "string",
            "title" : "String"
          },
          "ldp_vp" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "proof_type" ],
        "title" : "ProofOfPossession"
      },
      "id.waltid.openid4vci.wallet.token.TokenRequestBuilder.TokenResponse" : {
        "type" : "object",
        "properties" : {
          "access_token" : {
            "type" : "string",
            "title" : "String"
          },
          "token_type" : {
            "type" : "string",
            "title" : "String"
          },
          "expires_in" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "refresh_token" : {
            "type" : "string",
            "title" : "String"
          },
          "scope" : {
            "type" : "string",
            "title" : "String"
          },
          "c_nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "c_nonce_expires_in" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          },
          "authorization_details" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.requests.authorization.AuthorizationDetail"
            },
            "title" : "ArrayList<AuthorizationDetail>"
          }
        },
        "required" : [ "access_token", "token_type" ],
        "title" : "TokenRequestBuilder.TokenResponse"
      },
      "id.walt.openid4vci.requests.authorization.AuthorizationDetail" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_configuration_id" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_identifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "claims" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          }
        },
        "required" : [ "credential_configuration_id", "type" ],
        "title" : "AuthorizationDetail"
      },
      "id.walt.enterprise.services.wallet.receive.WalletCredentialsReceiveNew.ReceiveCredentialNewRequest" : {
        "type" : "object",
        "properties" : {
          "credentialEndpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "tokenResponse" : {
            "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.token.TokenRequestBuilder.TokenResponse"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "didReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyReference" : {
            "type" : "string",
            "title" : "Target"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "credentialConfigurationId", "credentialEndpoint", "tokenResponse" ],
        "title" : "WalletCredentialsReceiveNew.ReceiveCredentialNewRequest"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialRequestEncryption" : {
        "type" : "object",
        "properties" : {
          "jwks" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "enc_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "zip_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "encryption_required" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "enc_values_supported", "encryption_required", "jwks" ],
        "title" : "CredentialRequestEncryption"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialResponseEncryption" : {
        "type" : "object",
        "properties" : {
          "alg_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "enc_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "zip_values_supported" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "encryption_required" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "alg_values_supported", "enc_values_supported", "encryption_required" ],
        "title" : "CredentialResponseEncryption"
      },
      "id.walt.openid4vci.metadata.issuer.BatchCredentialIssuance" : {
        "type" : "object",
        "properties" : {
          "batch_size" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          }
        },
        "required" : [ "batch_size" ],
        "title" : "BatchCredentialIssuance"
      },
      "id.walt.openid4vci.metadata.issuer.CredentialIssuerMetadata" : {
        "type" : "object",
        "additionalProperties" : { },
        "properties" : {
          "credential_issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "authorization_servers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "credential_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "nonce_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "deferred_credential_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "notification_endpoint" : {
            "type" : "string",
            "title" : "String"
          },
          "credential_request_encryption" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialRequestEncryption"
          },
          "credential_response_encryption" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialResponseEncryption"
          },
          "batch_credential_issuance" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.BatchCredentialIssuance"
          },
          "display" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.IssuerDisplay"
            },
            "title" : "ArrayList<IssuerDisplay>"
          },
          "credential_configurations_supported" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialConfiguration"
            },
            "title" : "LinkedHashMap<String,CredentialConfiguration>"
          }
        },
        "required" : [ "credential_configurations_supported", "credential_endpoint", "credential_issuer" ],
        "title" : "CredentialIssuerMetadata"
      },
      "id.walt.enterprise.services.wallet.core2.WalletCoreOpenid4vciNew.ResolvedOfferWithMetadata" : {
        "type" : "object",
        "properties" : {
          "offer" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.offers.CredentialOffer"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialIssuerMetadata"
          }
        },
        "required" : [ "metadata", "offer" ],
        "title" : "WalletCoreOpenid4vciNew.ResolvedOfferWithMetadata"
      },
      "id.waltid.openid4vci.wallet.metadata.OfferedCredentialResolver.ResolvedCredentialOffer" : {
        "type" : "object",
        "properties" : {
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "configuration" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialConfiguration"
          }
        },
        "required" : [ "configuration", "credentialConfigurationId" ],
        "title" : "OfferedCredentialResolver.ResolvedCredentialOffer"
      },
      "id.walt.enterprise.services.wallet.receive.WalletCredentialsReceiveNew.ResolveAuthorizationUrlRequestV2" : {
        "type" : "object",
        "properties" : {
          "offer" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "offer" ],
        "title" : "WalletCredentialsReceiveNew.ResolveAuthorizationUrlRequestV2"
      },
      "id.waltid.openid4vci.wallet.oauth.PKCEManager.PKCEData" : {
        "type" : "object",
        "properties" : {
          "codeVerifier" : {
            "type" : "string",
            "title" : "String"
          },
          "codeChallenge" : {
            "type" : "string",
            "title" : "String"
          },
          "codeChallengeMethod" : {
            "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.oauth.PKCEManager.CodeChallengeMethod"
          }
        },
        "required" : [ "codeChallenge", "codeChallengeMethod", "codeVerifier" ],
        "title" : "PKCEManager.PKCEData"
      },
      "id.waltid.openid4vci.wallet.oauth.PKCEManager.CodeChallengeMethod" : {
        "type" : "string",
        "enum" : [ "PLAIN", "S256" ],
        "title" : "PKCEManager.CodeChallengeMethod"
      },
      "id.waltid.openid4vci.wallet.authorization.AuthorizationRequestBuilder.AuthorizationRequest" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "title" : "String"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "pkceData" : {
            "$ref" : "#/components/schemas/id.waltid.openid4vci.wallet.oauth.PKCEManager.PKCEData"
          }
        },
        "required" : [ "state", "url" ],
        "title" : "AuthorizationRequestBuilder.AuthorizationRequest"
      },
      "id.walt.enterprise.services.wallet.receive.WalletCredentialsReceiveNew.ExchangeTokenWithAuthorizationCodeRequest" : {
        "type" : "object",
        "properties" : {
          "metadata" : {
            "$ref" : "#/components/schemas/id.walt.openid4vci.metadata.issuer.CredentialIssuerMetadata"
          },
          "code" : {
            "type" : "string",
            "title" : "String"
          },
          "pkceVerifier" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "code", "metadata" ],
        "title" : "WalletCredentialsReceiveNew.ExchangeTokenWithAuthorizationCodeRequest"
      },
      "id.walt.wallet2.data.WalletKeyInfo" : {
        "type" : "object",
        "properties" : {
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "keyType" : {
            "type" : "string",
            "title" : "String"
          },
          "algorithm" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "keyId", "keyType" ],
        "title" : "WalletKeyInfo"
      },
      "id.walt.wallet2.data.WalletDidEntry" : {
        "type" : "object",
        "properties" : {
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "document" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "did", "document" ],
        "title" : "WalletDidEntry"
      },
      "id.walt.wallet2.data.StoredCredentialMetadata" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "format" : {
            "type" : "string",
            "title" : "String"
          },
          "issuer" : {
            "type" : "string",
            "title" : "String"
          },
          "subject" : {
            "type" : "string",
            "title" : "String"
          },
          "label" : {
            "type" : "string",
            "title" : "String"
          },
          "addedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          }
        },
        "required" : [ "format", "id" ],
        "title" : "StoredCredentialMetadata"
      },
      "id.walt.wallet2.data.StoredCredential" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "title" : "String"
          },
          "credential" : {
            "$ref" : "#/components/schemas/id.walt.credentials.formats.DigitalCredential"
          },
          "label" : {
            "type" : "string",
            "title" : "String"
          },
          "addedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          }
        },
        "required" : [ "credential", "id" ],
        "title" : "StoredCredential"
      },
      "id.walt.wallet2.handlers.ReceiveCredentialRequest" : {
        "type" : "object",
        "properties" : {
          "offerUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "offerJson" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "txCode" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "Url"
          },
          "tokenRequestHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "clientId", "redirectUri", "tokenRequestHeaders" ],
        "title" : "ReceiveCredentialRequest"
      },
      "id.walt.wallet2.handlers.ReceiveCredentialResult" : {
        "type" : "object",
        "properties" : {
          "credentialIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "deferredTransactionIds" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashMap<String,String>"
          }
        },
        "required" : [ "credentialIds", "deferredTransactionIds" ],
        "title" : "ReceiveCredentialResult"
      },
      "id.walt.enterprise.services.wallet2.Wallet2PreAuthorizedReceiveRequest" : {
        "type" : "object",
        "properties" : {
          "offerUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "offerJson" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "txCode" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "Url"
          },
          "useClientAttestation" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "clientId", "redirectUri", "useClientAttestation" ],
        "title" : "Wallet2PreAuthorizedReceiveRequest"
      },
      "id.walt.enterprise.services.wallet2.Wallet2AuthorizedReceiveRequest" : {
        "type" : "object",
        "properties" : {
          "tokenEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "code" : {
            "type" : "string",
            "title" : "String"
          },
          "codeVerifier" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialIssuer" : {
            "type" : "string",
            "title" : "String"
          },
          "nonceEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "credentialEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "Url"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "clientId", "code", "credentialConfigurationId", "credentialEndpoint", "credentialIssuer", "redirectUri", "tokenEndpoint" ],
        "title" : "Wallet2AuthorizedReceiveRequest"
      },
      "id.walt.wallet2.handlers.PresentCredentialRequest" : {
        "type" : "object",
        "properties" : {
          "requestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "requestObject" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          },
          "runPolicies" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "title" : "PresentCredentialRequest"
      },
      "id.waltid.openid4vp.wallet.WalletPresentFunctionality2.WalletPresentResult" : {
        "type" : "object",
        "properties" : {
          "get_url" : {
            "type" : "string",
            "title" : "String"
          },
          "form_post_html" : {
            "type" : "string",
            "title" : "String"
          },
          "transmission_success" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "verifier_response" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonElement"
          },
          "redirect_to" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "WalletPresentFunctionality2.WalletPresentResult"
      },
      "id.walt.wallet2.handlers.PresentCredentialIsolatedRequest" : {
        "type" : "object",
        "properties" : {
          "requestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "requestObject" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "credentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.wallet2.data.StoredCredential"
            },
            "title" : "ArrayList<StoredCredential>"
          },
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "credentials" ],
        "title" : "PresentCredentialIsolatedRequest"
      },
      "id.walt.wallet2.handlers.ResolveVpRequestRequest" : {
        "type" : "object",
        "properties" : {
          "requestUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "requestObject" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "title" : "ResolveVpRequestRequest"
      },
      "id.walt.wallet2.handlers.ResolveVpRequestResult" : {
        "type" : "object",
        "properties" : {
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "responseUri" : {
            "type" : "string",
            "title" : "Url"
          },
          "hasRequestUri" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "hasRequestUri" ],
        "title" : "ResolveVpRequestResult"
      },
      "id.walt.wallet2.handlers.MatchCredentialsRequest" : {
        "type" : "object",
        "properties" : {
          "dcqlQuery" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.DcqlQuery"
          },
          "credentials" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.wallet2.data.StoredCredential"
            },
            "title" : "ArrayList<StoredCredential>"
          }
        },
        "required" : [ "credentials", "dcqlQuery" ],
        "title" : "MatchCredentialsRequest"
      },
      "id.walt.wallet2.handlers.MatchCredentialsResult" : {
        "type" : "object",
        "properties" : {
          "matchedQueryIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "matchCount" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "matchedCredentialIds" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string",
                "title" : "String"
              },
              "title" : "ArrayList<String>"
            },
            "title" : "LinkedHashMap<String,ArrayList<String>>"
          }
        },
        "required" : [ "matchCount", "matchedCredentialIds", "matchedQueryIds" ],
        "title" : "MatchCredentialsResult"
      },
      "id.walt.wallet2.handlers.MatchCredentialsFromStoreRequest" : {
        "type" : "object",
        "properties" : {
          "dcqlQuery" : {
            "$ref" : "#/components/schemas/id.walt.dcql.models.DcqlQuery"
          }
        },
        "required" : [ "dcqlQuery" ],
        "title" : "MatchCredentialsFromStoreRequest"
      },
      "id.walt.wallet2.handlers.ResolveOfferRequest" : {
        "type" : "object",
        "properties" : {
          "offerUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "offerJson" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "title" : "ResolveOfferRequest"
      },
      "id.walt.wallet2.handlers.ResolveOfferResult" : {
        "type" : "object",
        "properties" : {
          "credentialIssuer" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialConfigurationIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "grantType" : {
            "type" : "string",
            "title" : "String"
          },
          "txCodeRequired" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "credentialEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "offeredCredentials" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "credentialConfigurationIds", "credentialEndpoint", "credentialIssuer", "offeredCredentials", "txCodeRequired" ],
        "title" : "ResolveOfferResult"
      },
      "id.walt.wallet2.handlers.RequestTokenRequest" : {
        "type" : "object",
        "properties" : {
          "tokenEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "preAuthorizedCode" : {
            "type" : "string",
            "title" : "String"
          },
          "txCode" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "Url"
          }
        },
        "required" : [ "clientId", "preAuthorizedCode", "redirectUri", "tokenEndpoint" ],
        "title" : "RequestTokenRequest"
      },
      "id.walt.wallet2.handlers.RequestTokenResult" : {
        "type" : "object",
        "properties" : {
          "accessToken" : {
            "type" : "string",
            "title" : "String"
          },
          "cNonce" : {
            "type" : "string",
            "title" : "String"
          },
          "expiresIn" : {
            "type" : "integer",
            "format" : "int64",
            "title" : "Long"
          }
        },
        "required" : [ "accessToken" ],
        "title" : "RequestTokenResult"
      },
      "id.walt.wallet2.handlers.SignProofRequest" : {
        "type" : "object",
        "properties" : {
          "issuerUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "key" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "keyId" : {
            "type" : "string",
            "title" : "String"
          },
          "did" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "issuerUrl", "nonce" ],
        "title" : "SignProofRequest"
      },
      "id.walt.wallet2.handlers.SignProofResult" : {
        "type" : "object",
        "properties" : {
          "proofJwt" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "proofJwt" ],
        "title" : "SignProofResult"
      },
      "id.walt.wallet2.handlers.FetchCredentialRequest" : {
        "type" : "object",
        "properties" : {
          "credentialEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "accessToken" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          },
          "proofJwt" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "accessToken", "clientId", "credentialConfigurationId", "credentialEndpoint" ],
        "title" : "FetchCredentialRequest"
      },
      "id.walt.wallet2.handlers.FetchCredentialResult" : {
        "type" : "object",
        "properties" : {
          "rawCredentials" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "rawCredentials" ],
        "title" : "FetchCredentialResult"
      },
      "id.walt.wallet2.handlers.GenerateAuthorizationUrlRequest" : {
        "type" : "object",
        "properties" : {
          "offerUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "offerJson" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "Url"
          },
          "usePkce" : {
            "type" : "boolean",
            "title" : "Boolean"
          }
        },
        "required" : [ "clientId", "redirectUri", "usePkce" ],
        "title" : "GenerateAuthorizationUrlRequest"
      },
      "id.walt.wallet2.handlers.GenerateAuthorizationUrlResult" : {
        "type" : "object",
        "properties" : {
          "authorizationUrl" : {
            "type" : "string",
            "title" : "Url"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "codeVerifier" : {
            "type" : "string",
            "title" : "String"
          },
          "credentialConfigurationId" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "authorizationUrl", "credentialConfigurationId", "state" ],
        "title" : "GenerateAuthorizationUrlResult"
      },
      "id.walt.wallet2.handlers.ExchangeCodeRequest" : {
        "type" : "object",
        "properties" : {
          "tokenEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "code" : {
            "type" : "string",
            "title" : "String"
          },
          "codeVerifier" : {
            "type" : "string",
            "title" : "String"
          },
          "clientId" : {
            "type" : "string",
            "title" : "String"
          },
          "redirectUri" : {
            "type" : "string",
            "title" : "Url"
          }
        },
        "required" : [ "clientId", "code", "redirectUri", "tokenEndpoint" ],
        "title" : "ExchangeCodeRequest"
      },
      "id.walt.wallet2.handlers.PollDeferredRequest" : {
        "type" : "object",
        "properties" : {
          "deferredCredentialEndpoint" : {
            "type" : "string",
            "title" : "Url"
          },
          "transactionId" : {
            "type" : "string",
            "title" : "String"
          },
          "accessToken" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "accessToken", "deferredCredentialEndpoint", "transactionId" ],
        "title" : "PollDeferredRequest"
      },
      "iso-document-signer" : {
        "type" : "object",
        "properties" : {
          "subjectKeyDescriptor" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCertificateRequestData"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "certificateData", "subjectKeyDescriptor" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.service.models.KeyDescriptor" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/jwk-encoded-key-descriptor"
        }, {
          "$ref" : "#/components/schemas/kms-hosted-key-descriptor"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "KeyDescriptor"
      },
      "jwk-encoded-key-descriptor" : {
        "type" : "object",
        "properties" : {
          "jwk" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "jwk" ],
        "title" : ""
      },
      "kms-hosted-key-descriptor" : {
        "type" : "object",
        "properties" : {
          "keyIdPath" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "keyIdPath" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCertificateRequestData" : {
        "type" : "object",
        "properties" : {
          "country" : {
            "type" : "string",
            "title" : "String"
          },
          "commonName" : {
            "type" : "string",
            "title" : "String"
          },
          "crlDistributionPointUri" : {
            "type" : "string",
            "title" : "String"
          },
          "stateOrProvinceName" : {
            "type" : "string",
            "title" : "String"
          },
          "organizationName" : {
            "type" : "string",
            "title" : "String"
          },
          "localityName" : {
            "type" : "string",
            "title" : "String"
          },
          "notBefore" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "notAfter" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          }
        },
        "required" : [ "commonName", "country", "crlDistributionPointUri" ],
        "title" : "DocumentSignerCertificateRequestData"
      },
      "generic" : {
        "type" : "object",
        "properties" : {
          "subjectKeyDescriptor" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "subjectName" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData"
          },
          "subjectAlternativeNames" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509SubjectAlternativeNamesData"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "subjectKeyDescriptor", "subjectName" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData" : {
        "type" : "object",
        "properties" : {
          "commonName" : {
            "type" : "string",
            "title" : "String"
          },
          "country" : {
            "type" : "string",
            "title" : "String"
          },
          "stateOrProvinceName" : {
            "type" : "string",
            "title" : "String"
          },
          "organizationName" : {
            "type" : "string",
            "title" : "String"
          },
          "localityName" : {
            "type" : "string",
            "title" : "String"
          },
          "organizationalUnitName" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "commonName" ],
        "title" : "X509DistinguishedNameData"
      },
      "id.walt.enterprise.services.x509.service.models.common.X509SubjectAlternativeNamesData" : {
        "type" : "object",
        "properties" : {
          "dnsNames" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "uris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "emails" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "ipAddresses" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "dnsNames", "emails", "ipAddresses", "uris" ],
        "title" : "X509SubjectAlternativeNamesData"
      },
      "id.walt.enterprise.services.x509.service.models.csr.CreateCsrRequest" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/iso-document-signer"
        }, {
          "$ref" : "#/components/schemas/generic"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "CreateCsrRequest"
      },
      "id.walt.enterprise.services.x509.service.models.csr.CsrData" : {
        "type" : "object",
        "properties" : {
          "subjectName" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData"
          },
          "subjectAlternativeNames" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509SubjectAlternativeNamesData"
          },
          "publicKeyJwk" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "publicKeyJwk", "subjectName" ],
        "title" : "CsrData"
      },
      "id.walt.enterprise.services.x509.service.models.csr.CreateCsrResponse" : {
        "type" : "object",
        "properties" : {
          "csrPEM" : {
            "type" : "string",
            "title" : "String"
          },
          "csrData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.csr.CsrData"
          }
        },
        "required" : [ "csrData", "csrPEM" ],
        "title" : "CreateCsrResponse"
      },
      "id.walt.enterprise.services.x509.service.models.generic.GenericCertificateRequestData" : {
        "type" : "object",
        "properties" : {
          "subjectName" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData"
          },
          "issuerName" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData"
          },
          "notBefore" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "notAfter" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "isCertificateAuthority" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "pathLengthConstraint" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "keyUsage" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509KeyUsageData"
            },
            "title" : "LinkedHashSet<X509KeyUsageData>",
            "uniqueItems" : true
          },
          "extendedKeyUsageOids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "subjectAlternativeNames" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509SubjectAlternativeNamesData"
          },
          "crlDistributionPointUri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "extendedKeyUsageOids", "isCertificateAuthority", "keyUsage", "subjectName" ],
        "title" : "GenericCertificateRequestData"
      },
      "id.walt.enterprise.services.x509.service.models.common.X509KeyUsageData" : {
        "type" : "string",
        "enum" : [ "DigitalSignature", "NonRepudiation", "KeyEncipherment", "DataEncipherment", "KeyAgreement", "KeyCertSign", "CRLSign", "EncipherOnly", "DecipherOnly" ],
        "title" : "X509KeyUsageData"
      },
      "id.walt.enterprise.services.x509.service.models.generic.GenericSubjectPublicKeySource" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/csr"
        }, {
          "$ref" : "#/components/schemas/key-descriptor"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "GenericSubjectPublicKeySource"
      },
      "csr" : {
        "type" : "object",
        "properties" : {
          "csrPEM" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "csrPEM" ],
        "title" : ""
      },
      "key-descriptor" : {
        "type" : "object",
        "properties" : {
          "keyDescriptor" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "keyDescriptor" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.service.models.generic.GenericIssuerDescriptor" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/ca-signed"
        }, {
          "$ref" : "#/components/schemas/self-signed"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "GenericIssuerDescriptor"
      },
      "ca-signed" : {
        "type" : "object",
        "properties" : {
          "issuerKeyDescriptor" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "issuerKeyDescriptor" ],
        "title" : ""
      },
      "self-signed" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : ""
      },
      "id.walt.enterprise.services.x509.service.models.generic.GenericCreateCertificateRequest" : {
        "type" : "object",
        "properties" : {
          "storedCertificateId" : {
            "type" : "string",
            "title" : "String"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.generic.GenericCertificateRequestData"
          },
          "subjectPublicKeySource" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.generic.GenericSubjectPublicKeySource"
          },
          "issuer" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.generic.GenericIssuerDescriptor"
          }
        },
        "required" : [ "certificateData", "issuer", "subjectPublicKeySource" ],
        "title" : "GenericCreateCertificateRequest"
      },
      "id.walt.enterprise.services.x509.service.models.generic.GenericCertificateData" : {
        "type" : "object",
        "properties" : {
          "subjectName" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData"
          },
          "issuerName" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509DistinguishedNameData"
          },
          "notBefore" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "notAfter" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "isCertificateAuthority" : {
            "type" : "boolean",
            "title" : "Boolean"
          },
          "pathLengthConstraint" : {
            "type" : "integer",
            "format" : "int32",
            "title" : "Int"
          },
          "keyUsage" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509KeyUsageData"
            },
            "title" : "LinkedHashSet<X509KeyUsageData>",
            "uniqueItems" : true
          },
          "extendedKeyUsageOids" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "LinkedHashSet<String>",
            "uniqueItems" : true
          },
          "subjectAlternativeNames" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.common.X509SubjectAlternativeNamesData"
          },
          "crlDistributionPointUri" : {
            "type" : "string",
            "title" : "String"
          },
          "publicKeyJwk" : {
            "$ref" : "#/components/schemas/kotlinx.serialization.json.JsonObject"
          }
        },
        "required" : [ "extendedKeyUsageOids", "isCertificateAuthority", "issuerName", "keyUsage", "notAfter", "notBefore", "publicKeyJwk", "subjectName" ],
        "title" : "GenericCertificateData"
      },
      "id.walt.enterprise.services.x509.service.models.generic.GenericCreateCertificateResponse" : {
        "type" : "object",
        "properties" : {
          "storedCertificateIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "Target"
            },
            "title" : "ArrayList<Target>"
          },
          "certificatePEM" : {
            "type" : "string",
            "title" : "String"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.generic.GenericCertificateData"
          }
        },
        "required" : [ "certificateData", "certificatePEM" ],
        "title" : "GenericCreateCertificateResponse"
      },
      "id.walt.enterprise.services.x509.service.models.iaca.IACACertificateRequestData" : {
        "type" : "object",
        "properties" : {
          "country" : {
            "type" : "string",
            "title" : "String"
          },
          "commonName" : {
            "type" : "string",
            "title" : "String"
          },
          "issuerAlternativeNameConf" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACAIssuerAlternativeNameConfiguration"
          },
          "stateOrProvinceName" : {
            "type" : "string",
            "title" : "String"
          },
          "organizationName" : {
            "type" : "string",
            "title" : "String"
          },
          "notBefore" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "notAfter" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "crlDistributionPointUri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "commonName", "country", "issuerAlternativeNameConf" ],
        "title" : "IACACertificateRequestData"
      },
      "id.walt.enterprise.services.x509.service.models.iaca.IACAIssuerAlternativeNameConfiguration" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "title" : "String"
          },
          "uri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "title" : "IACAIssuerAlternativeNameConfiguration"
      },
      "id.walt.enterprise.services.x509.store.models.common.VicalEntryCertificateInfoComplementaryMetadata" : {
        "type" : "object",
        "properties" : {
          "docType" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          },
          "certificateProfile" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "String"
            },
            "title" : "ArrayList<String>"
          }
        },
        "required" : [ "docType" ],
        "title" : "VicalEntryCertificateInfoComplementaryMetadata"
      },
      "id.walt.enterprise.services.x509.service.models.iaca.IACACreateCertificateRequest" : {
        "type" : "object",
        "properties" : {
          "storedCertificateId" : {
            "type" : "string",
            "title" : "String"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACACertificateRequestData"
          },
          "iacaKeyDesc" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "vicalEntryComplementaryMetadata" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.store.models.common.VicalEntryCertificateInfoComplementaryMetadata"
          }
        },
        "required" : [ "certificateData", "iacaKeyDesc" ],
        "title" : "IACACreateCertificateRequest"
      },
      "id.walt.enterprise.services.x509.service.models.iaca.IACACertificateData" : {
        "type" : "object",
        "properties" : {
          "country" : {
            "type" : "string",
            "title" : "String"
          },
          "commonName" : {
            "type" : "string",
            "title" : "String"
          },
          "notBefore" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "notAfter" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "issuerAlternativeNameConf" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACAIssuerAlternativeNameConfiguration"
          },
          "stateOrProvinceName" : {
            "type" : "string",
            "title" : "String"
          },
          "organizationName" : {
            "type" : "string",
            "title" : "String"
          },
          "crlDistributionPointUri" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "commonName", "country", "issuerAlternativeNameConf", "notAfter", "notBefore" ],
        "title" : "IACACertificateData"
      },
      "id.walt.enterprise.services.x509.service.models.iaca.IACACreateCertificateResponse" : {
        "type" : "object",
        "properties" : {
          "storedCertificateIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "Target"
            },
            "title" : "ArrayList<Target>"
          },
          "certificatePEM" : {
            "type" : "string",
            "title" : "String"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACACertificateData"
          }
        },
        "required" : [ "certificateData", "certificatePEM" ],
        "title" : "IACACreateCertificateResponse"
      },
      "id.walt.enterprise.services.x509.service.models.iaca.IACASignerDescriptor" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/iaca-cert-data-descriptor"
        }, {
          "$ref" : "#/components/schemas/iaca-pem-cert-descriptor"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "IACASignerDescriptor"
      },
      "iaca-cert-data-descriptor" : {
        "type" : "object",
        "properties" : {
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACACertificateData"
          },
          "iacaKeyDesc" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "certificateData", "iacaKeyDesc" ],
        "title" : ""
      },
      "iaca-pem-cert-descriptor" : {
        "type" : "object",
        "properties" : {
          "iacaPemEncodedCertificate" : {
            "type" : "string",
            "title" : "String"
          },
          "iacaKeyDesc" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "iacaKeyDesc", "iacaPemEncodedCertificate" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerSubjectPublicKeySource" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/csr"
        }, {
          "$ref" : "#/components/schemas/key-descriptor"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "DocumentSignerSubjectPublicKeySource"
      },
      "id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCreateCertificateRequest" : {
        "type" : "object",
        "properties" : {
          "storedCertificateId" : {
            "type" : "string",
            "title" : "String"
          },
          "iacaSigner" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.iaca.IACASignerDescriptor"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCertificateRequestData"
          },
          "dsKeyDescriptor" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.KeyDescriptor"
          },
          "dsPublicKeySource" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerSubjectPublicKeySource"
          }
        },
        "required" : [ "certificateData", "iacaSigner" ],
        "title" : "DocumentSignerCreateCertificateRequest"
      },
      "id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCertificateData" : {
        "type" : "object",
        "properties" : {
          "country" : {
            "type" : "string",
            "title" : "String"
          },
          "commonName" : {
            "type" : "string",
            "title" : "String"
          },
          "notBefore" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "notAfter" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "crlDistributionPointUri" : {
            "type" : "string",
            "title" : "String"
          },
          "stateOrProvinceName" : {
            "type" : "string",
            "title" : "String"
          },
          "organizationName" : {
            "type" : "string",
            "title" : "String"
          },
          "localityName" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "commonName", "country", "crlDistributionPointUri", "notAfter", "notBefore" ],
        "title" : "DocumentSignerCertificateData"
      },
      "id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCreateCertificateResponse" : {
        "type" : "object",
        "properties" : {
          "storedCertificateIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "title" : "Target"
            },
            "title" : "ArrayList<Target>"
          },
          "certificatePEM" : {
            "type" : "string",
            "title" : "String"
          },
          "certificateData" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.service.models.documentsigner.DocumentSignerCertificateData"
          }
        },
        "required" : [ "certificateData", "certificatePEM" ],
        "title" : "DocumentSignerCreateCertificateResponse"
      },
      "base" : {
        "type" : "object",
        "properties" : {
          "certificatePem" : {
            "type" : "string",
            "title" : "String"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "certificatePem" ],
        "title" : ""
      },
      "vical-entry" : {
        "type" : "object",
        "properties" : {
          "certificatePem" : {
            "type" : "string",
            "title" : "String"
          },
          "complementaryMetadata" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.store.models.common.VicalEntryCertificateInfoComplementaryMetadata"
          },
          "type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "certificatePem", "complementaryMetadata" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.store.models.controller.X509StoreAddRequest" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/base"
        }, {
          "$ref" : "#/components/schemas/vical-entry"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "X509StoreAddRequest"
      },
      "id.walt.enterprise.services.x509.store.models.service.X509CertificateData" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/base"
        }, {
          "$ref" : "#/components/schemas/vical-entry"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "X509CertificateData"
      },
      "x509-stored-certificate" : {
        "type" : "object",
        "properties" : {
          "_id" : {
            "type" : "string",
            "title" : "Target"
          },
          "data" : {
            "$ref" : "#/components/schemas/id.walt.enterprise.services.x509.store.models.service.X509CertificateData"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time",
            "title" : "Instant"
          },
          "parent" : {
            "type" : "string",
            "title" : "Target"
          }
        },
        "required" : [ "_id", "data", "parent" ],
        "title" : ""
      },
      "id.walt.enterprise.services.x509.store.models.controller.X509StoreUpdateRequest" : {
        "anyOf" : [ {
          "$ref" : "#/components/schemas/base"
        }, {
          "$ref" : "#/components/schemas/vical-entry"
        } ],
        "discriminator" : {
          "propertyName" : "type"
        },
        "title" : "X509StoreUpdateRequest"
      },
      "id.walt.enterprise.services.oidcbridge.models.CreateSessionHttpRequest" : {
        "type" : "object",
        "properties" : {
          "client_id" : {
            "type" : "string",
            "title" : "String"
          },
          "redirect_uri" : {
            "type" : "string",
            "title" : "String"
          },
          "response_type" : {
            "type" : "string",
            "title" : "String"
          },
          "scope" : {
            "type" : "string",
            "title" : "String"
          },
          "state" : {
            "type" : "string",
            "title" : "String"
          },
          "nonce" : {
            "type" : "string",
            "title" : "String"
          },
          "code_challenge" : {
            "type" : "string",
            "title" : "String"
          },
          "code_challenge_method" : {
            "type" : "string",
            "title" : "String"
          },
          "flow_type" : {
            "type" : "string",
            "title" : "String"
          }
        },
        "required" : [ "client_id", "flow_type", "redirect_uri", "response_type", "scope" ],
        "title" : "CreateSessionHttpRequest"
      }
    },
    "examples" : { },
    "securitySchemes" : {
      "auth-cookie" : {
        "type" : "apiKey",
        "name" : "Session-Cookie Authentication",
        "in" : "cookie"
      },
      "auth-bearer" : {
        "type" : "http",
        "description" : "Set as \"Authorization: Bearer %token-here%\" to authenticate.",
        "scheme" : "bearer"
      }
    }
  },
  "webhooks" : { }
}