Oid4vp

Endpoints for creating and managing Open ID for verifiable presentations

Get all presentation definitions.

get

This endpoint gets all presentation definitions.

Authorizations
Responses
200
Ok
application/json
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"
  }
]

Create a presentation definition.

post

This endpoint creates a presentation definition.

Authorizations
Body
pres_defobjectOptional
Responses
200
Ok
application/json
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"
}

Get a presentation definition by pres_def_id.

get

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
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"
}

Delete a presentation definition.

delete

This endpoint deletes a presentation definition

Authorizations
Path parameters
pres_def_idstringRequired

The pres_def_id you would like to delete

Responses
200
Ok
delete
DELETE /api/v1/oid4vp/presentation-definitions/{pres_def_id} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*

No content

Gets all presentations.

get

This endpoint gets all presentations

Authorizations
Responses
200
Ok
application/json
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"
  }
]

Get a presentation record by presentation_id.

get

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
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"
}

Delete a presentation.

delete

This endpoint deletes a presentation.

Authorizations
Path parameters
presentation_idstringRequired

The presentation_id for the presentation you would like to delete

Responses
200
Ok
delete
DELETE /api/v1/oid4vp/presentations/{presentation_id} HTTP/1.1
Host: 
x-api-key: YOUR_API_KEY
Accept: */*

No content

Create a presentation request.

post

This endpoint creates a presentation request.

Authorizations
Body
pres_def_idstringOptional
vp_formatsobjectOptional
Responses
200
Ok
application/json
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?