---
title: "Receive Verification Presentation (from e.g. Wallet)"
method: POST
path: "/oid4vp/api/request-object/{request_id}/response-data"
tags: ["Verfifier OID4VP API"]
---

# Receive Verification Presentation (from e.g. Wallet)

`POST /oid4vp/api/request-object/{request_id}/response-data`

## Request

- Base URL: `https://astra-vz-verifier-service-d.apps.p-szb-ros-shrd-npr-01.cloud.admin.ch`
- URL: `https://astra-vz-verifier-service-d.apps.p-szb-ros-shrd-npr-01.cloud.admin.ch/oid4vp/api/request-object/{request_id}/response-data`
- Auth: none declared

Handles various types of verification presentations including standard presentations, rejections, DCQL presentations, and encrypted DCQL presentations. The method automatically determines the request type based on the provided parameters.

## Path parameters

- `request_id` string, uuid, required

## Headers

- `SWIYU-API-Version` '1' | '2'

## Request body `application/x-www-form-urlencoded`

- VerificationPresentationUnion: Union DTO that contains all possible parameters from all verification presentation types. Only the relevant fields should be populated based on the request type.
  - `vp_token` union: VP token that can be either a string for standard presentations or a JSON object for DCQL presentations. For standard/PE presentations: JWT token string. For DCQL presentations: Object containing credential query results where keys are query IDs and values are arrays of presentations.
    - string
    - unknown
  - `presentation_submission` string: The presentation submission as defined in DIF presentation submission (used for Standard and PE presentations)
  - `error` 'invalid_scope' | 'invalid_request' | 'invalid_client' | 'vp_formats_not_supported' | 'invalid_presentation_definition_uri' | 'invalid_presentation_definition_reference' | 'client_rejected' | 'access_denied': Error code for rejection (used for REJECTION)
  - `error_description` string: Error description for rejection (used for REJECTION)
  - `response` string: Encrypted response JWE string (used for DCQLE)

## Response `200`

Verification Presentation received and processed successfully

## Other responses

- `400`: Bad Request. The request body is not valid

## Changes

- **2026-04-17** `09f9d38e5544`: 2 breaking, 1 warning, 8 info
  - request body became required
  - the response property `error` became optional for the status `400`
  - removed the optional property `error_code` from the response with the `400` status
  - added the new optional `header` request parameter `SWIYU-API-Version`
  - …7 more

[Operation history](https://skmtc.dev/swiyu/apis/verifier-api-2/changes/oid4vp/api/request-object/:request_id/response-data/post.md)

---

[API](https://skmtc.dev/swiyu/apis/verifier-api-2.md) - [All operations](https://skmtc.dev/swiyu/apis/verifier-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/swiyu/apis/verifier-api-2/revisions/07f55530c3bc?raw)
