generate_presentation_request
Create secure, wallet-ready presentation requests using DIF PEX v2.0 standards, with human-readable instructions, multiple format support, and verifiable credential validation.
Instructions
Generate complete presentation request flows with DIF PEX v2.0 definitions. Creates wallet-ready requests with security features, human-readable instructions, and multiple format support.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
callbackUrl | No | URL where presentation should be submitted | |
challenge | No | Challenge nonce for presentation security | |
domain | No | Domain for presentation binding | |
expiresIn | No | Request expiration time in seconds (1 minute to 24 hours) | |
includeInstructions | No | Whether to include human-readable instructions | |
presentationDefinition | Yes | DIF PEX Presentation Definition | |
requestFormat | No | Format for the presentation request | json |
verifierDid | No | DID of the verifier requesting the presentation |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"definitions": {},
"properties": {
"callbackUrl": {
"description": "URL where presentation should be submitted",
"format": "uri",
"type": "string"
},
"challenge": {
"description": "Challenge nonce for presentation security",
"type": "string"
},
"domain": {
"description": "Domain for presentation binding",
"type": "string"
},
"expiresIn": {
"default": 3600,
"description": "Request expiration time in seconds (1 minute to 24 hours)",
"maximum": 86400,
"minimum": 60,
"type": "integer"
},
"includeInstructions": {
"default": true,
"description": "Whether to include human-readable instructions",
"type": "boolean"
},
"presentationDefinition": {
"additionalProperties": false,
"description": "DIF PEX Presentation Definition",
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"input_descriptors": {
"items": {
"additionalProperties": false,
"description": "DIF PEX Input Descriptor",
"properties": {
"constraints": {
"additionalProperties": false,
"description": "DIF PEX Constraints",
"properties": {
"fields": {
"items": {
"additionalProperties": false,
"description": "DIF PEX Field constraint",
"properties": {
"filter": {
"additionalProperties": true,
"properties": {},
"type": "object"
},
"name": {
"type": "string"
},
"path": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"predicate": {
"enum": [
"required",
"preferred"
],
"type": "string"
},
"purpose": {
"type": "string"
}
},
"required": [
"path"
],
"type": "object"
},
"type": "array"
},
"limit_disclosure": {
"enum": [
"required",
"preferred"
],
"type": "string"
},
"statuses": {
"additionalProperties": false,
"properties": {
"active": {
"additionalProperties": false,
"properties": {
"directive": {
"enum": [
"required",
"allowed",
"disallowed"
],
"type": "string"
}
},
"required": [
"directive"
],
"type": "object"
},
"revoked": {
"additionalProperties": false,
"properties": {
"directive": {
"enum": [
"required",
"allowed",
"disallowed"
],
"type": "string"
}
},
"required": [
"directive"
],
"type": "object"
},
"suspended": {
"additionalProperties": false,
"properties": {
"directive": {
"enum": [
"required",
"allowed",
"disallowed"
],
"type": "string"
}
},
"required": [
"directive"
],
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"id": {
"minLength": 1,
"type": "string"
},
"name": {
"type": "string"
},
"purpose": {
"type": "string"
},
"schema": {
"items": {
"additionalProperties": false,
"properties": {
"required": {
"type": "boolean"
},
"uri": {
"format": "uri",
"type": "string"
}
},
"required": [
"uri"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"name": {
"type": "string"
},
"purpose": {
"type": "string"
},
"submission_requirements": {
"items": {
"additionalProperties": true,
"properties": {},
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"input_descriptors"
],
"type": "object"
},
"requestFormat": {
"default": "json",
"description": "Format for the presentation request",
"enum": [
"jwt",
"json"
],
"type": "string"
},
"verifierDid": {
"description": "DID of the verifier requesting the presentation",
"type": "string"
}
},
"required": [
"presentationDefinition"
],
"type": "object"
}