Display

The issuer metadata display options enable the issuer service to expose details such as issuer name and logo in a standardized way with other services such as digital wallets. These services can then use this information to display a human-readable issuer name and logo to the end-user during credential exchange.

Learn more about the display options in the OID4VCI standard here.

The display info is exposed via the public endpoints /.well-known/openid-credential-issuer, /.well-known/oauth-authorization-server, /.well-known/openid-configuration

Example of Display Options

Here is an example of how display options can be provided in the issuer service.

[
  {
    "name": "walt.id Enterprise Issuer Service",
    "locale": "en-US",
    "logo": {
      "uri": "http://cdn.walt.id/issuer/logo.png"
    }
  }
]

This allows the issuer to specify localized names and logos, ensuring that users in different regions can view the information in their preferred language and format.

Get Display Options

CURL

Endpoint: /v1/{target}/issuer-service-api/configuration/openid-metadata/display/view | API Reference

Example Request

curl -X 'GET' \
  'http://waltid.enterprise.localhost:8000/v1/{target}/issuer-service-api/configuration/openid-metadata/display/view' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {yourToken}'

Path Parameters

  • orgID: - When performing operations within an organization, it is essential to use the organization's Base URL or another valid host alias. For example, if your organization is named test, your default Base URL will be test.enterprise-sandbox.walt.dev when using the sandbox environment.
  • target: resourceIdentifier - The target indicates the organization + tenant + issuer from which to retrieve the issuer display info ({organizationID}.{tenantID}.[NewIssuerServiceID]), e.g. waltid.tenant1.issuer1

Response

  • 200 - Config retrieved successfully.
[
  {
    "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 - Invalid authentication

Update Display Options

CURL

Endpoint: /v1/{target}/issuer-service-api/configuration/openid-metadata/display/update | API Reference

Example Request

curl -X 'PUT' \
  'http://waltid.enterprise.localhost:8000/v1/{target}/issuer-service-api/configuration/openid-metadata/display/update' \
  -H 'accept: */*' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {yourToken}' \
  -d '[
  {
    "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"
    }
  }
]'

Path Parameters

  • orgID: - When performing operations within an organization, it is essential to use the organization's Base URL or another valid host alias. For example, if your organization is named test, your default Base URL will be test.enterprise-sandbox.walt.dev when using the sandbox environment.
  • target: resourceIdentifier - The target indicates the organization + tenant + issuer in which to update the issuer display info ({organizationID}.{tenantID}.[NewIssuerServiceID]), e.g. waltid.tenant1.issuer1

Body

[
  {
    "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"
    }
  }
]

Body Parameters

The body is structured as a list of objects, with each object offering specific display information for different languages. Providing the local option is optional, so it is enough to specify just one object if no localization is needed.

Display Config Object

{
  "name": "walt.id Enterprise Issuer Service",
  "locale": "en-US",
  "logo": {
    "uri": "http://cdn.walt.id/issuer/logo.png",
    "alt_text": "Logo of walt.id Enterprise Issuer Service"
  }
}
  • name (optional) String: String value of a display name for the Credential Issuer.
  • locale (optional) String: String value that identifies the language of this object represented as a language tag taken from values defined in BCP47 RFC5646. There MUST be only one object for each language identifier. Example values are: en-US, de-DE, or fr-FR.
  • logo (optional) Object: Object with information about the logo of the Credential Issuer.
    • uri String: String value that contains a URI where the Wallet can obtain the logo of the Credential Issuer.
    • alt_text (optional) String: String value of the alternative text for the logo image.

Response

  • 200 - Config updated successfully.
[
  {
    "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"
    }
  }
]
  • 401 - Invalid authentication

Delete Display Options

CURL

Endpoint: /v1/{target}/issuer-service-api/configuration/openid-metadata/display/delete | API Reference

Example Request

curl -X 'DELETE' \
  'http://waltid.enterprise.localhost:8000/v1/{target}/issuer-service-api/configuration/openid-metadata/display/delete' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer {yourToken}'

Path Parameters

  • orgID: - When performing operations within an organization, it is essential to use the organization's Base URL or another valid host alias. For example, if your organization is named test, your default Base URL will be test.enterprise-sandbox.walt.dev when using the sandbox environment.
  • target: resourceIdentifier - The target indicates the organization + tenant + issuer in which to delete the issuer display info ({organizationID}.{tenantID}.[NewIssuerServiceID]), e.g. waltid.tenant1.issuer1

Response

  • 200 - Config deleted successfully.
  • 401 - Invalid authentication