Loading search index…

Browse documentationReceive a wallet presentation | API Reference
OID4VP

Receive a wallet presentation

POST/v1/oid4vp/response/{sessionId}

Public wallet callback. Accepts JSON or application/x-www-form-urlencoded direct_post; jar responses may carry an encrypted response field.

Backend integrationNo tenant API key is required for this public protocol operation.
Try itAvailable for creating, reading, and deleting verification sessions in Test. Other operations are reference-only; API-key protected routes require a tenant API key on your backend. Open a session request
Parameters
Parameters for POST /v1/oid4vp/response/{sessionId}
NameLocationRequiredSchemaDescription
sessionIdpathYesstringSession ID
Request bodyRequired
Request fields
vp_tokenobjectrequired

DCQL credential query id to one or more presentations

statestringrequired
View JSON schema
{
  "type": "object",
  "required": [
    "vp_token",
    "state"
  ],
  "properties": {
    "vp_token": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "description": "DCQL credential query id to one or more presentations"
    },
    "state": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
Raw JSON schema
{
  "type": "object",
  "required": [
    "vp_token",
    "state"
  ],
  "properties": {
    "vp_token": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "description": "DCQL credential query id to one or more presentations"
    },
    "state": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Responses

Response 200

Wallet response processed; read the terminal verification outcome from the session

application/json · Response schema
statusanyrequired
redirect_uristring · urioptional

Present only when the session configured a same-device callback. Its fragment contains a one-time response_code and session_id.

browserstringoptional

Optional AltID browser-return hint, present only with redirect_uri when configured at session creation. It is not a verification result.

Allowed valuesappsafaribraveduckchromeedgefirefoxoperasamsung
View JSON schema
{
  "type": "object",
  "required": [
    "status"
  ],
  "properties": {
    "status": {
      "const": "ok"
    },
    "redirect_uri": {
      "type": "string",
      "format": "uri",
      "description": "Present only when the session configured a same-device callback. Its fragment contains a one-time response_code and session_id."
    },
    "browser": {
      "type": "string",
      "enum": [
        "app",
        "safari",
        "brave",
        "duck",
        "chrome",
        "edge",
        "firefox",
        "opera",
        "samsung"
      ],
      "description": "Optional AltID browser-return hint, present only with redirect_uri when configured at session creation. It is not a verification result."
    }
  }
}
Response 400

Presentation rejected

application/json · Response schema
errorstringrequired
messagestringrequired
View JSON schema
{
  "type": "object",
  "required": [
    "error",
    "message"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
Response 409

Session is no longer pending

application/json · Response schema
errorstringrequired
messagestringrequired
View JSON schema
{
  "type": "object",
  "required": [
    "error",
    "message"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
Response 413

Payload too large

application/json · Response schema
errorstringrequired
messagestringrequired
View JSON schema
{
  "type": "object",
  "required": [
    "error",
    "message"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
Response 429

Rate limit exceeded

application/json · Response schema
errorstringrequired
messagestringrequired
View JSON schema
{
  "type": "object",
  "required": [
    "error",
    "message"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
← All public operations
© DLBR · API documentationv0.1.0 · a1293c1