# Verifier Metadata (OpenID4VP)

{% hint style="info" %}
Specifications and best practice implementations for Verifiable Credentials are currently being developed. This page is expected to be updated, closely following these developments.
{% endhint %}

The `GET` request to the `/.well-known/openid-verifier` endpoint provides discovery information about the verifier, including supported presentation request formats, presentation endpoint URL, authorization endpoint URL, and other metadata required for OpenID4VP verifiable presentation flows.

{% hint style="info" %}
The `GET` request to the `/.well-known/openid-verifier` is an **OPTIONAL** endpoint and is part of iSHARE Framework's Verifiable Credentials support in line with **OpenID for Verifiable Presentations (OpenID4VP)**.
{% endhint %}

### Endpoint

```
GET /.well-known/openid-verifier
```

The base URL for this endpoint may be published in the [capabilities endpoint](https://dev.ishare.eu/all-roles-common-endpoints/capabilities) under `publicServices` with identifier `"OpenID4VPVerifierBaseUrl"` for verifier roles.

### Request model

There are no request parameters defined.

### Example request

```
GET /.well-known/openid-verifier
Host: verifier.ishare.eu
```

### Response model

The response is a JSON object containing the Verifier Metadata as specified in [OpenID4VP Section 6](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-verifier-metadata).

* `verifier`\
  **String**. <mark style="color:red;">(Required)</mark>\
  The URL of the Verifier. This MUST be the base URL used to construct verifier endpoints.
* `authorization_endpoint`\
  **String**. <mark style="color:red;">(Required)</mark>\
  The URL of the Authorization Endpoint where presentation requests are initiated.
* `presentation_endpoint`\
  **String**. <mark style="color:red;">(Required)</mark>\
  The URL of the Presentation Endpoint where verifiable presentations are submitted.
* `presentation_definition_supported`\
  **Array of Objects**.\
  Array of supported presentation definition formats.
* `vp_formats_supported`\
  **Object**.\
  Object containing supported verifiable presentation formats (e.g., `vc+sd-jwt`, `mso_mdoc`).

### Example response

```json
{
  "verifier": "https://verifier.ishare.eu",
  "authorization_endpoint": "https://verifier.ishare.eu/authorize",
  "presentation_endpoint": "https://verifier.ishare.eu/presentation",
  "presentation_definition_supported": [
    {
      "format": "vp_token",
      "presentation_definition_uri_supported": true
    }
  ],
  "vp_formats_supported": {
    "vc+sd-jwt": {
      "cryptographic_binding_methods_supported": [
        "did:web"
      ],
      "cryptographic_suites_supported": [
        "ES256"
      ]
    }
  }
}
```
