Verifying

OpenAPI documentation for the "Verifying" module

Retrieve info about definitionId to execute subsequent requests.

Endpoint facilitates the retrieval of a correlationId, definitionId, authStatusURIand authRequestURI. The correlationId is a unique identifier for the request. The definitionId is a name that's passed in the request and represents name of credential (characterCredential). The authStatusURI is a URI that shows where auth-status endpoint is located. The authRequestURI contains info that is put in QR data and is used to scan with mobile wallet app.Claim-based access control: Verifier_Admin, Verifier_User

POST../private/webapp/definitions/{definitionId}/auth-requests
Authorization
Path parameters
definitionId*string
Response
Body
correlationId*string

A UUID value that is bound to the VP

Example: "f9dbff8e-6dba-4955-bd7f-61c083db290d"
definitionId*string

The definitionId defines the credential to ask for, eg: emailCredential. The value should start with lowercase and continue using camelCase pattern

Example: "emailCredential"
authRequestURI*string

Verification URL the wallet needs to consume to start SIOP communications

Example: "openid-vc://?request_uri=https%3A%2F%2Fverifier-api-url%2Fprivate%2Fsiop%2Fdefinitions%2FcharacterCredential%2Fauth-requests%2Fc35f4780-8570-4346-9252-6941747107b5"
authStatusURI*string

The url to use to fetch the status of the verification

Example: "https://verifier-api-url/private/webapp/auth-status"
Request
const response = await fetch('../private/webapp/definitions/{definitionId}/auth-requests', {
    method: 'POST',
    headers: {
      "Authorization": "Bearer JWT"
    },
});
const data = await response.json();
Response
{
  "correlationId": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
  "definitionId": "emailCredential",
  "authRequestURI": "openid-vc://?request_uri=https%3A%2F%2Fverifier-api-url%2Fprivate%2Fsiop%2Fdefinitions%2FcharacterCredential%2Fauth-requests%2Fc35f4780-8570-4346-9252-6941747107b5",
  "authStatusURI": "https://verifier-api-url/private/webapp/auth-status"
}

Retrieve info about definitionId to execute subsequent requests.

Returns the status of the auth request. The correlationId is a unique identifier for the request that was passed in the request. The definitionId is a name that's passed in the request and represents name of credential (characterCredential). The lastUpdated is the time the request was last updated and the status indicates if the request was verified and shared or not. status can be any of created, sent and verified. When it is verified, the payload contains details about the credential. The id_token is a JWT token that contains the nonce and state ids. The vp_token is a JWT token that contains the verifiableCredential JWT token. That token contains all the info about the credential being verified.Claim-based access control: Verifier_Admin, Verifier_User

POST../private/webapp/auth-status
Authorization
Body
correlationId*string

A UUID value that is bound to the VP

Example: "f9dbff8e-6dba-4955-bd7f-61c083db290d"
definitionId*string

The definitionId defines the credential to ask for, eg: emailCredential. The value should start with lowercase and continue using camelCase pattern

Example: "emailCredential"
Response
Body
correlationId*string

A UUID value that is bound to the VP

Example: "f9dbff8e-6dba-4955-bd7f-61c083db290d"
definitionId*string

The definitionId defines the credential to ask for, eg: emailCredential. The value should start with lowercase and continue using camelCase pattern

Example: "emailCredential"
status*enum

The status of the verification. If status property is set verified the payload property should be defined!

Example: "verified"
createdsentreceivedverifiederror
lastUpdated*number
Example: 1732184934133
payloadnullable all of

Verifiable Presentation object. If set means the client successfully provided its credentials

verifiedData*nullable object

Additional claims part of the verifiable presentation

error*nullable string

A detail description of the error

Request
const response = await fetch('../private/webapp/auth-status', {
    method: 'POST',
    headers: {
      "Authorization": "Bearer JWT",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "correlationId": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
      "definitionId": "emailCredential"
    }),
});
const data = await response.json();
Response
{
  "correlationId": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
  "definitionId": "emailCredential",
  "status": "verified",
  "lastUpdated": 1732184934133,
  "payload": {
    "access_token": "text",
    "token_type": "text",
    "expires_in": 1732184934200,
    "state": "f9dbff8e-6dba-4955-bd7f-61c083db290d",
    "vp_token": "eyJraWQiOiJkaWQ6YnN2OjdmZDllM2E1YjEzNGUyODFlZjU5Yjk5NDZlNTFlYmVjMjAwYmUwMzI0OTVjNmVhYTIwZDZkNjU1NDYxYTE5NjMjc3ViamVjdC1rZXkiLCJhbGciOiJFUzI1NksiLCJ0eXAiOiJKV1QifQ.eyJpYXQiOjE3MzIxODQ4MDMsImV4cCI6MTczMjE4NTUyMywidnAiOnsiaG9sZGVyIjoiZGlkOmJzdjo3ZmQ5ZTNhNWIxMzRlMjgxZWY1OWI5OTQ2ZTUxZWJlYzIwMGJlMDMyNDk1YzZlYWEyMGQ2ZDY1NTQ2MWExOTYzIiwiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SmhiR2NpT2lKRlV6STFOa3NpTENKMGVYQWlPaUpLVjFRaWZRLmV5SmxlSEFpT2pFM05qTTJNekU0TXpNc0luWmpJanA3SWtCamIyNTBaWGgwSWpwYkltaDBkSEJ6T2k4dmQzZDNMbmN6TG05eVp5OHlNREU0TDJOeVpXUmxiblJwWVd4ekwzWXhJbDBzSW5SNWNHVWlPbHNpVm1WeWFXWnBZV0pzWlVOeVpXUmxiblJwWVd3aUxDSkZiV0ZwYkVOeVpXUmxiblJwWVd3aVhTd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpWlcxaGFXd2lPaUo2TG5CaGJtZHljMmxqUUc1amFHRnBiaTVqYjIwaUxDSjBlWEJsSWpvaVJXMWhhV3dnUTNKbFpHVnVkR2xoYkNJc0ltbGtJam9pWkdsa09tSnpkam8zWm1RNVpUTmhOV0l4TXpSbE1qZ3haV1kxT1dJNU9UUTJaVFV4WldKbFl6SXdNR0psTURNeU5EazFZelpsWVdFeU1HUTJaRFkxTlRRMk1XRXhPVFl6SW4wc0ltTnlaV1JsYm5ScFlXeFRkR0YwZFhNaU9uc2lhV1FpT2lJM05HVTFOVFEyT1dNellUUTRaamt6TnpNME9UTTJZbVJqT0dOaE5qbGpOMkk1WmpJNE5XRTFOV1kwTlROa1pqQXdabVJqTkdWbU9XSmlaV1EzTmpWbUlpd2lkSGx3WlNJNkltNURhR0ZwYmtsa1pXNTBhWFI1UTNKbFpHVnVkR2xoYkZKbGRtOWpZWFJwYjI1VGRHRjBkWE15TURJMEluMTlMQ0pBWTI5dWRHVjRkQ0k2V3lKb2RIUndjem92TDNkM2R5NTNNeTV2Y21jdk1qQXhPQzlqY21Wa1pXNTBhV0ZzY3k5Mk1TSmRMQ0owZVhCbElqcGJJbFpsY21sbWFXRmliR1ZEY21Wa1pXNTBhV0ZzSWl3aVJXMWhhV3hEY21Wa1pXNTBhV0ZzSWwwc0ltVjRjR2x5WVhScGIyNUVZWFJsSWpvaU1qQXlOUzB4TVMweU1GUXdPVG8wTXpvMU15NHpPRE5hSWl3aVkzSmxaR1Z1ZEdsaGJGTjFZbXBsWTNRaU9uc2laVzFoYVd3aU9pSjZMbkJoYm1keWMybGpRRzVqYUdGcGJpNWpiMjBpTENKMGVYQmxJam9pUlcxaGFXd2dRM0psWkdWdWRHbGhiQ0lzSW1sa0lqb2laR2xrT21KemRqbzNabVE1WlROaE5XSXhNelJsTWpneFpXWTFPV0k1T1RRMlpUVXhaV0psWXpJd01HSmxNRE15TkRrMVl6WmxZV0V5TUdRMlpEWTFOVFEyTVdFeE9UWXpJbjBzSW1sa0lqb2lkWEp1T25WMWFXUTZOek5oWTJObVlqa3RaV1poTVMwME1tTmhMV0kwTURVdFlUQm1ObU13WVRoaVpHUm1JaXdpWTNKbFpHVnVkR2xoYkZOMFlYUjFjeUk2ZXlKcFpDSTZJamMwWlRVMU5EWTVZek5oTkRobU9UTTNNelE1TXpaaVpHTTRZMkUyT1dNM1lqbG1NamcxWVRVMVpqUTFNMlJtTURCbVpHTTBaV1k1WW1KbFpEYzJOV1lpTENKMGVYQmxJam9pYmtOb1lXbHVTV1JsYm5ScGRIbERjbVZrWlc1MGFXRnNVbVYyYjJOaGRHbHZibE4wWVhSMWN6SXdNalFpZlN3aWFYTnpkV1Z5SWpwN0ltbGtJam9pWkdsa09tSnpkam8wT1RJME1UbG1OV1l5TnpReVl6bGpNV0ZtWkdFeU16QmtZV05tT1dJMU56QTFabUZqTWpNNE5ETmtOVFU0WlRRd1ltTTFZakZpWVdJM09HTmtZalJoSW4wc0ltbHpjM1ZoYm1ObFJHRjBaU0k2SWpJd01qUXRNVEV0TWpCVU1EazZORE02TlRNdU5EUTRXaUlzSW5OMVlpSTZJbVJwWkRwaWMzWTZOMlprT1dVellUVmlNVE0wWlRJNE1XVm1OVGxpT1RrME5tVTFNV1ZpWldNeU1EQmlaVEF6TWpRNU5XTTJaV0ZoTWpCa05tUTJOVFUwTmpGaE1UazJNeUlzSW1wMGFTSTZJblZ5YmpwMWRXbGtPamN6WVdOalptSTVMV1ZtWVRFdE5ESmpZUzFpTkRBMUxXRXdaalpqTUdFNFltUmtaaUlzSW01aVppSTZNVGN6TWpBNU5UZ3pNeXdpYVhOeklqb2laR2xrT21KemRqbzBPVEkwTVRsbU5XWXlOelF5WXpsak1XRm1aR0V5TXpCa1lXTm1PV0kxTnpBMVptRmpNak00TkROa05UVTRaVFF3WW1NMVlqRmlZV0kzT0dOa1lqUmhJbjAuTkVmNXRyRFNmb3g1V0tzSmE5TFZKbWJYWkZUeE5VYVRZaFBrUDRWLUZpQW1BN1I2NmpXTTBDeG1LZE9KUXRWczZRbFdNZmdiai1HNzdPaU4zZXpJWHciXX0sIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZVByZXNlbnRhdGlvbiJdLCJob2xkZXIiOiJkaWQ6YnN2OjdmZDllM2E1YjEzNGUyODFlZjU5Yjk5NDZlNTFlYmVjMjAwYmUwMzI0OTVjNmVhYTIwZDZkNjU1NDYxYTE5NjMiLCJ2ZXJpZmlhYmxlQ3JlZGVudGlhbCI6WyJleUpoYkdjaU9pSkZVekkxTmtzaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpsZUhBaU9qRTNOak0yTXpFNE16TXNJblpqSWpwN0lrQmpiMjUwWlhoMElqcGJJbWgwZEhCek9pOHZkM2QzTG5jekxtOXlaeTh5TURFNEwyTnlaV1JsYm5ScFlXeHpMM1l4SWwwc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pGYldGcGJFTnlaV1JsYm5ScFlXd2lYU3dpWTNKbFpHVnVkR2xoYkZOMVltcGxZM1FpT25zaVpXMWhhV3dpT2lKNkxuQmhibWR5YzJsalFHNWphR0ZwYmk1amIyMGlMQ0owZVhCbElqb2lSVzFoYVd3Z1EzSmxaR1Z1ZEdsaGJDSXNJbWxrSWpvaVpHbGtPbUp6ZGpvM1ptUTVaVE5oTldJeE16UmxNamd4WldZMU9XSTVPVFEyWlRVeFpXSmxZekl3TUdKbE1ETXlORGsxWXpabFlXRXlNR1EyWkRZMU5UUTJNV0V4T1RZekluMHNJbU55WldSbGJuUnBZV3hUZEdGMGRYTWlPbnNpYVdRaU9pSTNOR1UxTlRRMk9XTXpZVFE0Wmprek56TTBPVE0yWW1Sak9HTmhOamxqTjJJNVpqSTROV0UxTldZME5UTmtaakF3Wm1Sak5HVm1PV0ppWldRM05qVm1JaXdpZEhsd1pTSTZJbTVEYUdGcGJrbGtaVzUwYVhSNVEzSmxaR1Z1ZEdsaGJGSmxkbTlqWVhScGIyNVRkR0YwZFhNeU1ESTBJbjE5TENKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pvdkwzZDNkeTUzTXk1dmNtY3ZNakF4T0M5amNtVmtaVzUwYVdGc2N5OTJNU0pkTENKMGVYQmxJanBiSWxabGNtbG1hV0ZpYkdWRGNtVmtaVzUwYVdGc0lpd2lSVzFoYVd4RGNtVmtaVzUwYVdGc0lsMHNJbVY0Y0dseVlYUnBiMjVFWVhSbElqb2lNakF5TlMweE1TMHlNRlF3T1RvME16bzFNeTR6T0ROYUlpd2lZM0psWkdWdWRHbGhiRk4xWW1wbFkzUWlPbnNpWlcxaGFXd2lPaUo2TG5CaGJtZHljMmxqUUc1amFHRnBiaTVqYjIwaUxDSjBlWEJsSWpvaVJXMWhhV3dnUTNKbFpHVnVkR2xoYkNJc0ltbGtJam9pWkdsa09tSnpkam8zWm1RNVpUTmhOV0l4TXpSbE1qZ3haV1kxT1dJNU9UUTJaVFV4WldKbFl6SXdNR0psTURNeU5EazFZelpsWVdFeU1HUTJaRFkxTlRRMk1XRXhPVFl6SW4wc0ltbGtJam9pZFhKdU9uVjFhV1E2TnpOaFkyTm1Zamt0WldaaE1TMDBNbU5oTFdJME1EVXRZVEJtTm1Nd1lUaGlaR1JtSWl3aVkzSmxaR1Z1ZEdsaGJGTjBZWFIxY3lJNmV5SnBaQ0k2SWpjMFpUVTFORFk1WXpOaE5EaG1PVE0zTXpRNU16WmlaR000WTJFMk9XTTNZamxtTWpnMVlUVTFaalExTTJSbU1EQm1aR00wWldZNVltSmxaRGMyTldZaUxDSjBlWEJsSWpvaWJrTm9ZV2x1U1dSbGJuUnBkSGxEY21Wa1pXNTBhV0ZzVW1WMmIyTmhkR2x2YmxOMFlYUjFjekl3TWpRaWZTd2lhWE56ZFdWeUlqcDdJbWxrSWpvaVpHbGtPbUp6ZGpvME9USTBNVGxtTldZeU56UXlZemxqTVdGbVpHRXlNekJrWVdObU9XSTFOekExWm1Gak1qTTRORE5rTlRVNFpUUXdZbU0xWWpGaVlXSTNPR05rWWpSaEluMHNJbWx6YzNWaGJtTmxSR0YwWlNJNklqSXdNalF0TVRFdE1qQlVNRGs2TkRNNk5UTXVORFE0V2lJc0luTjFZaUk2SW1ScFpEcGljM1k2TjJaa09XVXpZVFZpTVRNMFpUSTRNV1ZtTlRsaU9UazBObVUxTVdWaVpXTXlNREJpWlRBek1qUTVOV00yWldGaE1qQmtObVEyTlRVME5qRmhNVGsyTXlJc0ltcDBhU0k2SW5WeWJqcDFkV2xrT2pjellXTmpabUk1TFdWbVlURXROREpqWVMxaU5EQTFMV0V3Wmpaak1HRTRZbVJrWmlJc0ltNWlaaUk2TVRjek1qQTVOVGd6TXl3aWFYTnpJam9pWkdsa09tSnpkam8wT1RJME1UbG1OV1l5TnpReVl6bGpNV0ZtWkdFeU16QmtZV05tT1dJMU56QTFabUZqTWpNNE5ETmtOVFU0WlRRd1ltTTFZakZpWVdJM09HTmtZalJoSW4wLk5FZjV0ckRTZm94NVdLc0phOUxWSm1iWFpGVHhOVWFUWWhQa1A0Vi1GaUFtQTdSNjZqV00wQ3htS2RPSlF0VnM2UWxXTWZnYmotRzc3T2lOM2V6SVh3Il0sImF1ZCI6ImRpZDpic3Y6NmNlZjAwZTBlMjUzNDNkMGYzNjY1YTIyNGY0MDA2ODBhMjViNjViNjVkZGVmMzE2ZWViNDhmMjFiMWY5NzFjYyIsIm5iZiI6MTczMjE4NDgwMywiaXNzdWFuY2VEYXRlIjoiMjAyNC0xMS0yMVQxMDoyODo0My4xMzNaIiwiaXNzIjoiZGlkOmJzdjo3ZmQ5ZTNhNWIxMzRlMjgxZWY1OWI5OTQ2ZTUxZWJlYzIwMGJlMDMyNDk1YzZlYWEyMGQ2ZDY1NTQ2MWExOTYzIiwibm9uY2UiOiJkYmUzMjc3ZS1lNGJmLTQzZWEtYjhjYi04Zjc2YzI0OWU0YzIifQ.",
    "nonce": "dbe3277e-e4bf-43ea-b8cb-8f76c249e4c2",
    "presentation_submission": {
      "id": "JICH94Ufz-56AlljAiKN8",
      "definition_id": "emailCredential",
      "descriptor_map": [
        {
          "id": "c77537b3-4f81-4cda-af11-7f7118645c1f",
          "format": "jwt_vp",
          "path": "$",
          "path_nested": {
            "id": "c77537b3-4f81-4cda-af11-7f7118645c1f",
            "format": "jwt_vc",
            "path": "$.vp.verifiableCredential[0]"
          }
        }
      ]
    }
  },
  "error": "text"
}

Last updated