---
id: data-space-post-verification-request
title: "Post verification request"
description: "Gives a verification request to the organisation wallet of a data using service (the `post_verification_request_endpoint` of its access point configuration). Use it to pass on the request from `POST .../get-verification-request` of a data source: the organisation wallet receives the OpenID4VP request, and its answer signs the data disclosure agreement record as the data using service. A data source sends the request here itself for a connected organisation (`autoSend: true`)."
sidebar_label: "Post verification request"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "post api-method"
info_path: docs/datamarketplace-individual-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>Post verification request</h1>

<MethodEndpoint method={"post"} path={"/v4/service/consent/data-space/{organisationId}/post-verification-request"}></MethodEndpoint>



Gives a verification request to the organisation wallet of a data using service (the `post_verification_request_endpoint` of its access point configuration). Use it to pass on the request from `POST .../get-verification-request` of a data source: the organisation wallet receives the OpenID4VP request, and its answer signs the data disclosure agreement record as the data using service. A data source sends the request here itself for a connected organisation (`autoSend: true`).

Send an access token from the token endpoint of the same organisation (`POST .../token`) as `Authorization: Bearer <token>`. No API key.

The answer is `200` with an empty body when the service accepted the request, also when the wallet then fails to receive it.

Errors:
- `400`: the organisation does not exist, or `verificationRequest` is missing.
- `401`: the access token is missing, unknown or expired (`Bearer access token is not valid`).
- `403`: the organisation is suspended (`organisation_suspended`).


## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"The ID of the organisation","in":"path","name":"organisationId","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><MimeTabs className={"openapi-tabs__mime"}><TabItem label={"application/json"} value={"application/json-schema"}><details style={{}} className={"openapi-markdown__details mime"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-mime"}><h3 className={"openapi-markdown__details-summary-header-body"}>Body</h3><strong className={"openapi-schema__required"}>required</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"verificationRequest"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The OpenID4VP verification request URL, the `verificationRequest` of the data source."}}></SchemaItem></ul></details></TabItem></MimeTabs><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

The service accepted the request. The body is empty.

</div><div></div></TabItem><TabItem label={"400"} value={"400"}><div>

The organisation does not exist, or the request is not valid.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

The access token is missing, unknown or expired.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"403"} value={"403"}><div>

The organisation is suspended (`organisation_suspended`).

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem><TabItem label={"Example"} value={"Example"}><ResponseSamples responseExample={"{\n  \"errorCode\": 403,\n  \"errorDescription\": \"organisation_suspended\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem><SchemaItem collapsible={false} name={"errorKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A text code of the refusal that does not change when the text changes. Only some refusals have it, for example `organisation_suspended`, `feature_disabled` or `purpose_exists`."}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\",\n  \"errorKey\": \"string\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      