Oid4vp
Endpoints for creating and managing Open ID for verifiable presentations
This endpoint gets all presentation definitions.
Authorizations
Responses
200
Ok
application/json
400
Bad request
500
Internal server error
get
GET /api/v1/oid4vp/presentation-definitions HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Accept: */*
[
{
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
"pres_def": {
"id": "162bbcb2-a4dc-4d71-9afa-9dc317f259e0",
"purpose": "Present basic profile info",
"input_descriptors": [
{
"id": "ID Card",
"name": "Profile",
"format": {
"vc+sd-jwt": {}
},
"purpose": "Present basic profile info",
"constraints": {
"fields": [
{
"path": [
"$.vct"
],
"filter": {
"type": "string"
}
},
{
"path": [
"$.family_name"
]
},
{
"path": [
"$.given_name"
]
},
{
"path": [
"$.something_nested.key1.key2.key3"
]
}
],
"limit_disclosure": "required"
}
}
]
},
"created_at": "2025-06-23T22:01:09.009Z",
"updated_at": "2025-06-23T22:01:09.009Z"
},
{
"pres_def_id": "67ed21a1-69be-4df5-8d42-2f5ee32ec887",
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
"pres_def": {
"id": "2fcd3bc5-320a-4a51-ab33-ec7b70a8a29d",
"format": {
"jwt_vc": {
"alg": [
"ES256"
]
},
"jwt_vp": {
"alg": [
"ES256"
]
},
"jwt_vc_json": {
"alg": [
"ES256"
]
},
"jwt_vp_json": {
"alg": [
"ES256"
]
}
},
"purpose": "Present basic profile info",
"input_descriptors": [
{
"id": "4ce7aff1-0234-4f35-9d21-251668a60950",
"name": "Profile",
"purpose": "Present basic profile info",
"constraints": {
"fields": [
{
"name": "name",
"path": [
"$.vc.credentialSubject.first_name",
"$.credentialSubject.first_name"
],
"filter": {
"type": "string",
"pattern": "^.{1,64}$"
}
},
{
"name": "lastname",
"path": [
"$.vc.credentialSubject.last_name",
"$.credentialSubject.last_name"
],
"filter": {
"type": "string",
"pattern": "^.{1,64}$"
}
}
]
}
}
]
},
"created_at": "2025-06-23T22:01:14.085Z",
"updated_at": "2025-06-23T22:01:14.085Z"
}
]
This endpoint creates a presentation definition.
Authorizations
Body
pres_defobjectOptional
Responses
200
Ok
application/json
400
Bad request
500
Internal server error
post
POST /api/v1/oid4vp/presentation-definitions HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 421
{
"pres_def": {
"id": "0c400131-dce5-4a59-8a70-a17ef31f8903",
"purpose": "Present basic profile info",
"input_descriptors": [
{
"format": {
"vc+sd-jwt": {}
},
"id": "ID Card",
"name": "Profile",
"purpose": "Present basic profile info",
"constraints": {
"limit_disclosure": "required",
"fields": [
{
"path": [
"$.vct"
],
"filter": {
"type": "string"
}
},
{
"path": [
"$.family_name"
]
},
{
"path": [
"$.given_name"
]
},
{
"path": [
"$.something_nested.key1.key2.key3"
]
}
]
}
}
]
}
}
{
"created_at": "2025-06-23T22:01:09.009Z",
"updated_at": "2025-06-23T22:01:09.009Z",
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"pres_def": {
"id": "162bbcb2-a4dc-4d71-9afa-9dc317f259e0",
"purpose": "Present basic profile info",
"input_descriptors": [
{
"id": "ID Card",
"name": "Profile",
"format": {
"vc+sd-jwt": {}
},
"purpose": "Present basic profile info",
"constraints": {
"fields": [
{
"path": [
"$.vct"
],
"filter": {
"type": "string"
}
},
{
"path": [
"$.family_name"
]
},
{
"path": [
"$.given_name"
]
},
{
"path": [
"$.something_nested.key1.key2.key3"
]
}
],
"limit_disclosure": "required"
}
}
]
},
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff"
}
This endpoint gets a presentation definition by pres_def_id.
Authorizations
Path parameters
pres_def_idstringRequired
The pres_def_id for the presentation you would like to get
Responses
200
Ok
application/json
400
Bad request
404
Not found
500
Internal server error
get
GET /api/v1/oid4vp/presentation-definitions/{pres_def_id} HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Accept: */*
{
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
"pres_def": {
"id": "162bbcb2-a4dc-4d71-9afa-9dc317f259e0",
"purpose": "Present basic profile info",
"input_descriptors": [
{
"id": "ID Card",
"name": "Profile",
"format": {
"vc+sd-jwt": {}
},
"purpose": "Present basic profile info",
"constraints": {
"fields": [
{
"path": [
"$.vct"
],
"filter": {
"type": "string"
}
},
{
"path": [
"$.family_name"
]
},
{
"path": [
"$.given_name"
]
},
{
"path": [
"$.something_nested.key1.key2.key3"
]
}
],
"limit_disclosure": "required"
}
}
]
},
"created_at": "2025-06-23T22:01:09.009Z",
"updated_at": "2025-06-23T22:01:09.009Z"
}
This endpoint deletes a presentation definition
Authorizations
Path parameters
pres_def_idstringRequired
The pres_def_id you would like to delete
Responses
200
Ok
400
Bad request
500
Internal server error
delete
DELETE /api/v1/oid4vp/presentation-definitions/{pres_def_id} HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Accept: */*
No content
This endpoint gets all presentations
Authorizations
Responses
200
Ok
application/json
400
Bad request
500
Internal server error
get
GET /api/v1/oid4vp/presentations HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Accept: */*
[
{
"presentation_id": "852ab8c5-2938-40d3-8ea5-02cfc4b91552",
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"request_id": "6c3c3638-5076-4d25-b5a2-d6e06d0ea4be",
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
"state": "request-created",
"matched_credentials": {},
"verified": null,
"created_at": "2025-06-23T22:06:36.327Z",
"updated_at": "2025-06-23T22:06:36.327Z"
},
{
"presentation_id": "ef545064-f2f7-4c8b-aee6-4511c24db85f",
"pres_def_id": "1dcacd31-533a-4246-9b4b-75d501f32576",
"request_id": "9a0a052e-6f07-49f0-9456-2d57b2365673",
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
"state": "request-created",
"matched_credentials": {},
"verified": null,
"created_at": "2025-06-23T22:06:50.799Z",
"updated_at": "2025-06-23T22:06:50.799Z"
}
]
This endpoint gets a presentation record by presentation_id.
Authorizations
Path parameters
presentation_idstringRequired
The presentation_id for the presentation you would like to get
Responses
200
Ok
application/json
400
Bad request
404
Not found
500
Internal server error
get
GET /api/v1/oid4vp/presentations/{presentation_id} HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Accept: */*
{
"presentation_id": "852ab8c5-2938-40d3-8ea5-02cfc4b91552",
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"request_id": "6c3c3638-5076-4d25-b5a2-d6e06d0ea4be",
"wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
"state": "request-created",
"matched_credentials": {},
"verified": null,
"created_at": "2025-06-23T22:06:36.327Z",
"updated_at": "2025-06-23T22:06:36.327Z"
}
This endpoint deletes a presentation.
Authorizations
Path parameters
presentation_idstringRequired
The presentation_id for the presentation you would like to delete
Responses
200
Ok
400
Bad request
500
Internal server error
delete
DELETE /api/v1/oid4vp/presentations/{presentation_id} HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Accept: */*
No content
This endpoint creates a presentation request.
Authorizations
Body
pres_def_idstringOptional
vp_formatsobjectOptional
Responses
200
Ok
application/json
400
Bad request
500
Internal server error
post
POST /api/v1/oid4vp/request HTTP/1.1
Host:
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 159
{
"pres_def_id": "c782ad57-d550-4fef-b588-93d8b2dc0662",
"vp_formats": {
"vc+sd-jwt": {
"sd-jwt_alg_values": [
"ES256",
"ES384"
],
"kb-jwt_alg_values": [
"ES256",
"ES384"
]
}
}
}
{
"request_uri": "openid://?request_uri=https%3A//example/oid4vc/tenant/c286d1c7-c548-48d1-8580-76d3fe317bff/oid4vp/request/6c3c3638-5076-4d25-b5a2-d6e06d0ea4be",
"request": {
"created_at": "2025-06-23T22:06:36.321837Z",
"updated_at": "2025-06-23T22:06:36.321837Z",
"request_id": "6c3c3638-5076-4d25-b5a2-d6e06d0ea4be",
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"vp_formats": {
"vc+sd-jwt": {
"sd-jwt_alg_values": [
"ES256",
"ES384"
],
"kb-jwt_alg_values": [
"ES256",
"ES384"
]
}
}
},
"presentation": {
"state": "request-created",
"created_at": "2025-06-23T22:06:36.327233Z",
"updated_at": "2025-06-23T22:06:36.327233Z",
"presentation_id": "852ab8c5-2938-40d3-8ea5-02cfc4b91552",
"pres_def_id": "500d4c56-5aed-4753-8add-383833335f5c",
"request_id": "6c3c3638-5076-4d25-b5a2-d6e06d0ea4be"
}
}
Was this helpful?