WrpPayload

@Serializable
data class WrpPayload(val name: String? = null, val subjectLegalNames: List<String>? = null, val subjectGivenName: String? = null, val subjectFamilyName: String? = null, val subjectIdentifier: String, val country: String, val registryUri: String, val serviceDescription: List<WrpLangString>, val entitlements: List<String>, val privacyPolicy: String, val infoUris: List<String>? = null, val supportUris: List<String>, val supervisoryAuthority: WrpSupervisoryAuthority, val policyId: List<String>, val certificatePolicy: String, val iat: Instant, val status: WrpStatus, val purpose: List<WrpLangString>? = null, val credentials: List<WrpCredential>? = null, val intendedUseId: String? = null, val providesAttestations: List<WrpCredential>? = null, val publicBody: Boolean? = null, val intermediary: WrpIntermediary? = null, val exp: Instant? = null)(source)

ETSI TS 119 475 V1.2.1 Annex C WRPRC payload.

Constructors

Link copied to clipboard
constructor(name: String? = null, subjectLegalNames: List<String>? = null, subjectGivenName: String? = null, subjectFamilyName: String? = null, subjectIdentifier: String, country: String, registryUri: String, serviceDescription: List<WrpLangString>, entitlements: List<String>, privacyPolicy: String, infoUris: List<String>? = null, supportUris: List<String>, supervisoryAuthority: WrpSupervisoryAuthority, policyId: List<String>, certificatePolicy: String, iat: Instant, status: WrpStatus, purpose: List<WrpLangString>? = null, credentials: List<WrpCredential>? = null, intendedUseId: String? = null, providesAttestations: List<WrpCredential>? = null, publicBody: Boolean? = null, intermediary: WrpIntermediary? = null, exp: Instant? = null)

Properties

Link copied to clipboard
@SerialName(value = "certificate_policy")
val certificatePolicy: String

URL of the certificate policy and certification practice statement (Table 7).

Link copied to clipboard
@SerialName(value = "country")
val country: String

ISO 3166-1 alpha-2 country of establishment, or "EU" for providers operating at European level (clause B.2.2).

Link copied to clipboard
@SerialName(value = "credentials")
val credentials: List<WrpCredential>?

Credential queries describing what the relying party may request, used for over-asking validation, only for service providers (Table 9, GEN-5.2.4-06); non-empty when present (credential [1..*], clause B.2.7).

Link copied to clipboard
@SerialName(value = "entitlements")
val entitlements: List<String>

Entitlement identifiers assigned to the relying party as specified in Annex A (Table 7).

Link copied to clipboard
@SerialName(value = "exp")
@Serializable(with = InstantLongSerializer::class)
val exp: Instant?

WRPRC expiration time, at most 12 months after iat, encoded as a Unix timestamp (Table 10; GEN-5.2.4-08).

Link copied to clipboard
@SerialName(value = "iat")
@Serializable(with = InstantLongSerializer::class)
val iat: Instant

Time the WRPRC was issued, encoded as a Unix timestamp (Table 7).

Link copied to clipboard
Link copied to clipboard
@SerialName(value = "info_uri")
@Serializable(with = WrpStringListSerializer::class)
val infoUris: List<String>?

General-purpose URLs providing public information about the relying party (Table 7), absent when the registry provides none (infoURI [0..*], clause B.2.2), always encoded as an array, see WrpStringListSerializer.

Link copied to clipboard
@SerialName(value = "intended_use_id")
val intendedUseId: String?

Registry-provided unique identifier used to retrieve the intended use from the registry (Table 9).

Link copied to clipboard
@SerialName(value = "intermediary")
val intermediary: WrpIntermediary?

Intermediary acting on behalf of the relying party in intermediated interactions (Table 10).

Link copied to clipboard
@SerialName(value = "name")
val name: String?

Trade name, common name or service name of the relying party (Table 7; clause B.2.1).

Link copied to clipboard
@SerialName(value = "policy_id")
val policyId: List<String>

Certificate policy identifiers applicable to the WRPRC (Table 7), which include WrpConstants.POLICY_IDENTIFIER (clause 6.1.3, OVR-6.1.3-01). Without a default, so that it is always encoded and never assumed when absent.

Link copied to clipboard
@SerialName(value = "privacy_policy")
val privacyPolicy: String

URL of the privacy policy explaining data processing and storage practices, mapped from the single policyURI of the Policy class (Table 7; policyURI [1..1], clause B.2.8; Annex C; CIR (EU) 2025/848 Article 8(2)(g) and Annex V point 3).

Link copied to clipboard
@SerialName(value = "provides_attestations")
val providesAttestations: List<WrpCredential>?

Credentials issued by the relying party with attestation-provider entitlements (Table 8), present only for them (providesAttestations [0..*], clause B.2.1).

Link copied to clipboard
@SerialName(value = "public_body")
val publicBody: Boolean?

Whether the relying party is a public sector body (Table 10).

Link copied to clipboard
@SerialName(value = "purpose")
val purpose: List<WrpLangString>?

Localized descriptions of data processing associated with the intended use, only for service providers (Table 9, GEN-5.2.4-06); non-empty when present (purpose [1..*], clause B.2.7).

Link copied to clipboard
@SerialName(value = "registry_uri")
val registryUri: String

URL of the national registry API endpoint for the registered relying party (Table 7).

Link copied to clipboard
@SerialName(value = "srv_description")
val serviceDescription: List<WrpLangString>

Localized versions of the description of the service the WRPRC is issued for (Table 7; clause B.2.1), encoded as an array, and also decoded from an array of arrays, see WrpServiceDescriptionSerializer.

Link copied to clipboard
Link copied to clipboard
@SerialName(value = "status")
val status: WrpStatus

Status list reference conveying the validity of the WRPRC (Table 7; Annex C).

Link copied to clipboard
@SerialName(value = "sub_fn")
val subjectFamilyName: String?

Officially recorded family names or surnames for a natural person (Table 7; clause B.2.4).

Link copied to clipboard
@SerialName(value = "sub_gn")
val subjectGivenName: String?

Officially recorded given names, including middle names, for a natural person (Table 7; clause B.2.4).

Link copied to clipboard
@SerialName(value = "sub")
val subjectIdentifier: String

Registered identifier of the relying party on whose behalf data access occurs, even via an intermediary (Table 7).

Link copied to clipboard
Link copied to clipboard
@SerialName(value = "sub_ln")
@Serializable(with = WrpStringListSerializer::class)
val subjectLegalNames: List<String>?

Officially recorded legal names, when the relying party is a legal person (Table 7; legalName [1..*], clause B.2.3), always encoded as an array, see WrpStringListSerializer.

Link copied to clipboard
@SerialName(value = "supervisory_authority")
val supervisoryAuthority: WrpSupervisoryAuthority

Contact details of the competent data protection supervisory authority (Table 7; supervisoryAuthority [1..1], clause B.2.1).

Link copied to clipboard
Link copied to clipboard
@SerialName(value = "support_uri")
@Serializable(with = WrpStringListSerializer::class)
val supportUris: List<String>

URLs or email addresses for data deletion or portability requests (Table 7; supportURI [1..*], clause B.2.1), always encoded as an array, see WrpStringListSerializer.