🛠️
Technical Documentation
  • Introduction
    • About Empeiria
  • Empe Blockchain
    • Overview
    • Chain Architecture
      • Auth
      • Authz
      • Bank
      • Distribution
      • Governance
      • Staking
      • IBC
      • DidDoc
      • Vesting
      • Minter
      • Stablefee
      • LinkedResources
  • EVDI
    • EVDI Architecture
    • Self-Sovereign Identity
      • Technical Foundations
      • Roles in the SSI framework
      • Protocols and Standards
  • User Guide
    • Empe DID Wallet
      • Intro
      • Download and first launch
      • Create or import did
      • Main screen overview
      • How to claim credential from issuer
      • How to use credential with verifier
      • Settings and other options
    • Keplr Wallet and Blockchain Operations
      • How to Connect Keplr Wallet
    • Ping Pub operation
    • Staking Tokens Guide
    • Voting on Governance Proposals Guide
    • Sending Tokens Guide
  • Developer Guide
    • Tutorial: Credential Issuance & Verification
      • Overview
      • Understanding Key Concepts
      • Project Setup
      • Deploying the Issuer
      • Uploading the Credential Schema
      • Issuing Credentials
      • Frontend for Credential Issuance
      • Testing Credential Issuance
      • Deploying the Verifier
      • Setting Up the Verification Flow
      • Creating a Verification Endpoint
      • Creating a Protected Dashboard
      • Testing the Verification Flow
      • Summary & Next Steps
    • One-click deployment
      • Introduction
      • Registration
      • Login
      • Creating an Issuer
      • Issuer Data Description
      • Creating a Verifier
      • Verifier Data Description
    • Issuer
      • Terminology and Concepts
      • DID Document Management
      • Schema Management
      • Issuing Credentials and Interacting With Wallets
      • Revocations
      • Security Considerations
      • Error Handling and Troubleshooting
      • Future Enhancements
      • References and Standards
      • FAQ
    • Verifier
      • Terminology and Concepts
      • Architecture Overview
      • Core Responsibilities
      • Query Language
      • Client Configuration
      • Frontend Integration
      • Revocations
      • Server-Side VP Queries
      • Security Considerations
      • Error Handling and Troubleshooting
      • Future Enhancements
      • References and Standards
      • FAQ
    • Wallet SDK (Coming soon)
    • Introduction to cosmwasm
  • Validator Guide
    • Important links
    • Validators Guide
      • New validator
      • Hardware requirements
      • Required software installation
      • Go installation
      • Install prebuild binary
      • Install binary from source code (option B)
      • Configure a node
      • Cosmovisor setup
      • Install wasmvm
      • Sync with state-sync
      • Full state sync from archive snapshot
      • Latest snapshot
      • Run a Validator
      • Migration to v0.2.2
      • Migration to v0.3.0
      • Migration to v0.4.0
    • FAQ
  • Airdrop
    • On-Chain Testnet Airdrop
    • Faucet Guide: How to Claim Testnet Tokens?
  • Appendix
    • Glossary
Powered by GitBook
On this page
  • Overview
  • Create VP Query Request
  • Request Body
  • Controller Endpoints
  1. Developer Guide
  2. Verifier

Server-Side VP Queries

This page explains how the Verifier Service allows you to create, retrieve, and delete Verifiable Presentation (VP) query configurations. A VP query configuration defines what credentials and fields a verifier requests from a user. These configurations live on the server side so they can be reused across multiple authorization flows.


Overview

  • VP query configurations are managed by the Verifier Service itself, not only by client code.

  • Each configuration is stored as a JSON array of query parameters that specify which parts of a credential to request and any constraints on those values.

  • Once created, a configuration is assigned a unique identifier and can be fetched or removed by its ID.


Create VP Query Request

Type: CreateVpQueryRequestDto

Request Body

  • query (array of VPQueryParams, required) A non-empty array where each element defines a set of parameters for a Verifiable Presentation (VP) query. Each VPQueryParams element contains:

    • fields (array of InputDescriptorField, required) A list of descriptor fields specifying which parts of a credential to inspect and how to validate them. Each InputDescriptorField includes:

      • path (array of strings, required) One or more JSONPath expressions indicating where in the credential to extract a value.

      • filter (object, optional) A JSON Schema (Draft 7) that the extracted value(s) must conform to.


Controller Endpoints

All VP query–related endpoints are under the /api/v1/verifier/vp-queries path. Every endpoint requires a valid client‐secret bearer token for authentication.

  1. Create a VP Query Configuration

    • Method: POST

    • Path: /api/v1/verifier/vp-queries

    • Request Body: A JSON object with a query property, which is a non-empty array of VP query parameter sets.

    • Success Response (201 Created): Returns the newly created VP query configuration, including its ID, the full query array, and the creation timestamp.

    • Error Response (400 Bad Request): If the query array is missing, empty, or fails validation.

  2. Retrieve All VP Query Configurations

    • Method: GET

    • Path: /api/v1/verifier/vp-queries

    • Success Response (200 OK): Returns a JSON array of all stored VP query configurations (each with its ID, query body, and creation timestamp).

    • Error Response (400 Bad Request): If something goes wrong with the request format.

  3. Retrieve a VP Query Configuration by ID

    • Method: GET

    • Path: /api/v1/verifier/vp-queries/{id}

      • Replace {id} with the UUID of the configuration you want.

    • Success Response (200 OK): Returns the single VP query configuration matching that ID.

    • Error Response (400 Bad Request): If the provided ID is not a valid UUID.

    • Error Response (404 Not Found): If no configuration exists with the given ID.

  4. Delete a VP Query Configuration by ID

    • Method: DELETE

    • Path: /api/v1/verifier/vp-queries/{id}

      • Replace {id} with the UUID of the configuration you want to delete.

    • Success Response (204 No Content): The specified configuration was successfully removed from the database.

    • Error Response (400 Bad Request): If the provided ID is malformed.

    • Error Response (404 Not Found): If no configuration exists with that ID.


Because these VP queries live on the server side, you can standardize and manage them centrally rather than building the same query structure repeatedly in each client application.

PreviousRevocationsNextSecurity Considerations

Last updated 4 days ago