Documentation

Guides, API reference, and examples for integrating with VU Credentials.

Getting Started

Create your account, configure credential types, and issue your first credential in under 5 minutes.

Authentication

VU Credentials uses API keys for server-to-server authentication. Create and manage keys in the dashboard.

OIDC4VCI Issuance Flow

The credential issuance follows the OIDC4VCI pre-authorized code flow: create an offer, wallet exchanges for a token, then fetches the signed credential.

Verifying Credentials

Relying parties verify JWT VCs by fetching the issuer public key from /jwks and checking the ES256 signature, expiration, and credentialSubject.type.

Webhooks

Receive HMAC-SHA256 signed HTTP POST callbacks when credentials are issued. Configure your endpoint in Settings.

Discovery Endpoints

Public endpoints for wallet and verifier discovery. No authentication required.

API Endpoints

Core endpoints for credential issuance and verification

MethodPathDescription
POST/v1/offersCreate a credential offer
POST/tokenExchange pre-authorized code for access token
POST/credentialIssue a signed JWT VC
GET/.well-known/openid-credential-issuer/:slugIssuer metadata
GET/.well-known/did.jsonDID Web document
GET/jwksJSON Web Key Set

Create Offer Request

POST /v1/offers with your API key

curl -X POST https://issuer.vucredentials.com/v1/offers \
  -H "X-Api-Key: vu_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "credentialTypeSlug": "kyc-level-2",
    "subjectId": "user-123",
    "claims": {
      "firstName": "Jane",
      "lastName": "Doe",
      "country": "GB",
      "kycProvider": "Onfido",
      "kycStatus": "approved",
      "kycApprovedAt": "2026-03-15T10:00:00Z"
    }
  }'

# Response:
# { "offerUri": "openid-credential-offer://...?credential_offer=..." }