---
title: "Get Request Object"
method: GET
path: "/oid4vp/api/request-object/{request_id}"
tags: ["Verfifier OID4VP API"]
---

# Get Request Object

`GET /oid4vp/api/request-object/{request_id}`

Can return a RequestObjectDto as JSON Object or a SignedJWT String depending on JAR (JWT secured authorization request) flag in verifier management

## Path parameters

- `request_id` string, uuid, required

## Response `200`

Request object either as plaintext or signed JWT.

The 'application/oauth-authz-req+jwt' representation is a compact serialized JWS (optionally nested JWE) representing the Request Object claims. As this is a JWT and not a JSON object, its structural requirements cannot be expressed as a JSON Schema and are documented here instead:
- The JOSE header MUST require the 'profile_version' parameter to indicate the Swiss Profile version.
- The JWT Claims Set corresponds to the [RequestObject](#/components/schemas/RequestObject) schema documented for the 'application/json' representation below, with 'request' and 'request_uri' claims strictly prohibited.

The 'application/json' representation is kept for documentation purposes only, mirroring the JWT Claims Set of the 'application/oauth-authz-req+jwt' representation; it is not actually returned when JAR (JWT-secured Authorization Request) is enabled.

- RequestObject — OID4VP Request Object sent to the Wallet as response after receiving an Authorization Request. Contains either a Presentation Exchange (PE) presentation_definition or a DCQL query (dcql_query), depending on the verification request format. - If the verification was initiated using the older PE format, the presentation_definition field is used. - If the verification was initiated using the new DCQL format, the dcql_query field is used.
  - `client_id` string
  - `response_type` string
  - `response_mode` 'direct_post' | 'direct_post.jwt' — Supported response_mode as defined in OID4VP
  - `response_uri` string
  - `nonce` string
  - `version` string
  - `dcql_query` DcqlQueryDto — Represents the Digital Credentials Query Language (DCQL) query according to https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6 **⚠️ Not yet implemented**
    - `credentials` DcqlCredentialDto[], required — A non-empty array of Credential Queries that specify the requested Credentials. According to OpenID for Verifiable Presentations 1.0, Section 6, property 'credentials'.
      - `id` string, required — A string identifying the Credential in the response and, if provided, the constraints in credential_sets. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the Authorization Request, the same id MUST NOT be present more than once. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'id'.
      - `format` string, required — A string that specifies the format of the requested Credential. Valid Credential Format Identifier values are defined in Appendix B. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'format'.
      - `meta` DcqlCredentialMetaDto, required — Represents metadata parameters within a Credential Query according to https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6.1
        - `type_values` array[] — For W3C Verifiable Credentials: A non-empty array of arrays of strings that specifies allowed values for the 'type' of the requested Verifiable Credential. According to OpenID for Verifiable Presentations 1.0, Appendix B.1.1, property 'type_values'.
          - string[]
        - `vct_values` string[] — For IETF SD-JWT VC: A non-empty array of strings that specifies allowed values for the type of the requested Verifiable Credential. According to OpenID for Verifiable Presentations 1.0, Appendix B.3.5, property 'vct_values'.
        - `doctype_value` string — For ISO mdoc: A string that specifies an allowed value for the 'doctype' of the requested Verifiable Credential. It MUST be a valid doctype identifier. According to OpenID for Verifiable Presentations 1.0, Appendix B.2.3, property 'doctype_value'.
      - `claims` DcqlClaimDto[] — An optional non-empty array of Claims Query objects, specifying individual claims. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'claims'.
        - `id` string — REQUIRED if claim_sets is present in the Credential Query; OPTIONAL otherwise. A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_), or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.
        - `path` unknown[], required — The path to the claim within the credential. According to OpenID for Verifiable Presentations 1.0, Section 6.3, property 'path'.https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#claims_path_pointer
          - unknown
        - `values` unknown[], nullable — OPTIONAL. A non-empty array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match exactly for at least one of the elements in the array. Details of the processing rules are defined in Section 6.4.1.
          - unknown
      - `require_cryptographic_holder_binding` boolean — A boolean indicating if cryptographic holder binding is required. If true, the Wallet MUST return a Verifiable Presentation of a Verifiable Credential. If false, a Verifiable Credential without Holder Binding MAY be returned. If omitted, the default is to require cryptographic holder binding. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'require_cryptographic_holder_binding'. Also referenced in Appendix B.1. See <a href="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6.1">Section 6.1</a> and <a href="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-w3c-verifiable-credentials">Appendix B.1</a>.
    - `credential_sets` DcqlCredentialSetDto[] — An optional non-empty array of Credential Set Queries that specifies additional constraints on which of the requested Credentials to return. According to OpenID for Verifiable Presentations 1.0, Section 6, property 'credential_sets'.
      - `options` array[], required — A non-empty array, where each value in the array is a list of Credential Query identifiers representing one set of Credentials that satisfies the use case. According to OpenID for Verifiable Presentations 1.0, 6.2 Credential Set Query, property 'options'.
        - string[]
      - `required` boolean — A boolean indicating if this credential set is required. (default is true)According to OpenID for Verifiable Presentations 1.0, 6.2. Credential Set Query, property 'required'.
  - `scope` string — OAuth2 scope value identifying the DCQL query registered in the vqPS. MUST be present when a vqPS is injected into verifier_info. Mutually exclusive with dcql_query.
  - `client_metadata` OpenidClientMetadataDto — Verifier metadata values. Additional Verifier metadata parameters MAY be defined and used, as described in [RFC7591]. The Wallet MUST ignore any unrecognized parameters.
    - `jwks` JWKSet, required
      - `keys` JsonWebKey[]
        - `kty` string
        - `kid` string
        - `use` string
        - `alg` string
        - `n` string
        - `e` string
        - `crv` string
        - `x` string
        - `y` string
    - `encrypted_response_enc_values_supported` string[], required — If present, should be non-empty array of JWE algorithms as in RFC7516. When a response_mode requiring encryption of the Response (such as direct_post.jwt) is specified, one of the specified algorithms is to be used.
    - `vp_formats_supported` OpenIdClientMetadataVpFormatsSupported, required
      - `dc+sd-jwt` OpenIdClientMetadataVpFormatSdJwt
        - `sd-jwt_alg_values` string[], nullable
        - `kb-jwt_alg_values` string[], nullable
    - `additionalProperties` object
  - `state` string — An opaque value used by the client to maintain state between the request and callback. The authorization server includes this value when redirecting the user-agent back to the client.
  - `aud` string — Audience ("aud") JWT claim identifying the intended recipient of this Request Object. As the verifier cannot identify the wallet the Static Discovery metadata is used. MUST be "https://self-issued.me/v2"
  - `profile_version` string, required — JWT header parameter indicating the Swiss Profile version used to produce this Request Object.
  - `encrypted_response_enc_values_supported` string[], required — JWE 'enc' algorithms accepted by the Verifier for an encrypted Authorization Response.
  - `verifier_info` VerifierInfoEntryDto[] — Trust Protocol 2.0 trust statements embedded as JWT objects.
    - `format` string
    - `data` string

## Other responses

- `400` — Bad Request
- `404` — Request Object not found

---

[API](https://skmtc.net/swiyu/apis/verifier-api.md) · [All operations](https://skmtc.net/swiyu/apis/verifier-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/swiyu/verifier-api/versions/7217acac713d/schema)
