Verification Requests

In the context of Self-Sovereign Identity (SSI), verification requests are a crucial part of the verification process. They are used to confirm the authenticity of the claims made by an holder.

When a holder presents their credentials, the verifier (which could be a service, an organization, or an individual) sends a verification request. This request is to validate the information contained in the credentials. The verification request can be for one or more specific attributes or for the entire set of credentials.

The verification process involves checking the digital signatures on the credentials against the public keys of the issuer. This ensures that the credentials were indeed issued by the claimed issuer and that they haven't been tampered with.

The verification request model

The verification request model contains all information which was requested from the verifier to the holder, such as the requested template and the holders did.

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the verification request.

  • Name
    verifier
    Type
    string
    Description

    Verifier did of the request (usually the initiator of the request)

  • Name
    holder
    Type
    string
    Description

    Holder did of the request.

  • Name
    data
    Type
    string
    Description

    JSON payload of the request

  • Name
    nonce
    Type
    string
    Description

    Unique identifier of the verification request (included in the proofs)

  • Name
    state
    Type
    string
    Description

    Current state of the request


GET/verification-requests?organizationId=:organizationId

List all requests

This endpoint allows you to retrieve a paginated list of all verification requests. By default, a maximum of 20 requests are shown per page.

Required attributes

  • Name
    organizationId
    Type
    string
    Description

    id of the organization

Optional attributes

  • Name
    take
    Type
    integer
    Description

    Take the number of verification requests returned.

  • Name
    skip
    Type
    integer
    Description

    Skip the number of verification requests returned.

Response

{
    "meta": {},
    "data": [{
        "id": "0ab1d747-29d9-44f3-ace5-b974cd4836de",
        "createdAt": "2024-01-11T13:37:27.188Z",
        "updatedAt": "2024-01-11T13:37:27.188Z",
        "data": {},
        "verifier": "did:ethr:0x022e10f219c3c9fe6932912198b124c3f9d7acc99d30c943e83b09d587a2362552",
        "holder": "did:ethr:0x038f5185bd3a9d07be70d5bb329d74a6bf6ba5f19c2b583c93a3e533780635d973",
        "walletId": "f91f845a-f218-4dae-b16c-773319282b42",
        "organizationId": "b278b70e-385b-4b58-90f5-50ba2d7913b3",
        "templateId": "f16989f6-ef97-48b2-a446-b85fd3575f19",
        "nonce": "963a13aa-8d98-41bc-946c-d21d8c2654ce",
        "state": "Received"
    }]
}

GET/verification-requests/:uuid?organizationId=:organizationId

Get single request

This endpoint allows you to retrieve a single verification request based on his id.

Required attributes

  • Name
    uuid
    Type
    string
    Description

    uuid of the requested verification request

  • Name
    organizationId
    Type
    string
    Description

    id of the organization

Response

{
    "meta": {},
    "data": {
        "id": "0ab1d747-29d9-44f3-ace5-b974cd4836de",
        "createdAt": "2024-01-11T13:37:27.188Z",
        "updatedAt": "2024-01-11T13:37:27.188Z",
        "data": {},
        "verifier": "did:ethr:0x022e10f219c3c9fe6932912198b124c3f9d7acc99d30c943e83b09d587a2362552",
        "holder": "did:ethr:0x038f5185bd3a9d07be70d5bb329d74a6bf6ba5f19c2b583c93a3e533780635d973",
        "walletId": "f91f845a-f218-4dae-b16c-773319282b42",
        "organizationId": "b278b70e-385b-4b58-90f5-50ba2d7913b3",
        "templateId": "f16989f6-ef97-48b2-a446-b85fd3575f19",
        "nonce": "963a13aa-8d98-41bc-946c-d21d8c2654ce",
        "state": "Received"
    }
}

POST/verification-requests?organizationId=:organizationId

Create a verification-request

This endpoint allows you to create a new verification request.

Required URL attributes

  • Name
    organizationId
    Type
    string
    Description

    id of the organization

Required payload body (application/json)

{
    "walletId": "VERIFIER_WALLET_UUID",
    "templateId": "REQUESTED_TEMPLATE_UUID",
    "holder": "HOLDER_DID"
}

Response

{
    "meta": {},
    "data": {
        "id": "6b7cf58b-cdb6-41e0-a798-93b44f9e1efd",
        "createdAt": "2024-01-11T13:14:44.980Z",
        "updatedAt": "2024-01-11T13:14:44.980Z",
        "data": {},
        "verifier": "did:ethr:0x022e10f219c3c9fe6932912198b124c3f9d7acc99d30c943e83b09d587a2362552",
        "holder": "did:ethr:0x038f5185bd3a9d07be70d5bb329d74a6bf6ba5f19c2b583c93a3e533780635d973",
        "walletId": "67d97d8a-e252-4870-841f-ed4339cb3fc1",
        "organizationId": "b278b70e-385b-4b58-90f5-50ba2d7913b3",
        "templateId": "f16989f6-ef97-48b2-a446-b85fd3575f19",
        "nonce": "2a747704-8238-4a8b-b578-75f7813bd277",
        "state": "Created"
    }
}

Was this page helpful?