Documentation

Everything you need to know about digital credentialing with Badgy.

Current MVP Capabilities

Badgy provides a complete digital credentialing platform. Here is what the current release includes.

Authentication & User Management

Secure identity management for issuers and administrators.

  • User registration with email verification
  • Secure sign-in with JWT + cookie authentication
  • Password reset flow
  • Session management

Badge Templates

Design and manage the blueprints for your digital credentials.

  • Create and manage badge templates
  • Template versioning system
  • Multiple badge shapes (Circle, Shield, etc.)
  • Custom field definitions per template

Credential Issuance

Award credentials individually or in bulk with full lifecycle management.

  • Issue individual credentials to recipients
  • Bulk issuance capability
  • Credential status management (Active, Revoked, Expired)
  • Unique verification URLs

Recipient Management

Organize and manage your credential recipients efficiently.

  • Add and manage recipients
  • CSV bulk import
  • Recipient search and filtering
  • Duplicate detection

Verification System

Instant, public verification that anyone can access without signing in.

  • Public verification page (no auth required)
  • Credential verification by ID
  • Real-time status display

Billing & Subscriptions

Simple subscription tiers with usage-based billing and invoice history.

  • Subscription tiers: Basic ($19/mo) and Premium ($49/mo)
  • Usage-based billing (unique recipient counting)
  • Billing cycle management
  • Invoice history

Blockchain Anchoring

Tamper-proof credential integrity through blockchain-anchored hashes.

  • Merkle tree hash computation
  • Blockchain anchoring for credential integrity
  • Verification of anchored credentials

Sharing

Share credentials via email and track engagement across channels.

  • Share credentials via email
  • Share event tracking
  • Social sharing links

API Reference

Badgy exposes a RESTful API for all credentialing operations. All authenticated endpoints require a valid JWT Bearer token.

/api/auth Authentication 7 endpoints

Method Endpoint Description Auth
POST /api/auth/register Register new account No
POST /api/auth/login Sign in No
POST /api/auth/logout Sign out Yes
POST /api/auth/refresh Refresh token No
POST /api/auth/verify-email Verify email address No
POST /api/auth/forgot-password Request password reset No
POST /api/auth/reset-password Reset password No

/api/templates Templates 5 endpoints

Method Endpoint Description Auth
POST /api/templates Create template Yes
GET /api/templates List templates Yes
GET /api/templates/{id} Get template Yes
PUT /api/templates/{id} Update template Yes
DELETE /api/templates/{id} Archive template Yes

/api/credentials Credentials 5 endpoints

Method Endpoint Description Auth
POST /api/credentials Issue credential Yes
POST /api/credentials/bulk Bulk issue credentials Yes
GET /api/credentials List credentials Yes
GET /api/credentials/{id} Get credential Yes
POST /api/credentials/{id}/revoke Revoke credential Yes

/api/recipients Recipients 6 endpoints

Method Endpoint Description Auth
POST /api/recipients Create recipient Yes
GET /api/recipients List recipients Yes
GET /api/recipients/{id} Get recipient Yes
PUT /api/recipients/{id} Update recipient Yes
POST /api/recipients/import Import CSV Yes
GET /api/recipients/import/{jobId} Check import status Yes

/api/billing Billing 8 endpoints

Method Endpoint Description Auth
GET /api/billing/plans List plans No
POST /api/billing/subscribe Subscribe to plan Yes
POST /api/billing/upgrade Upgrade plan Yes
GET /api/billing/usage Get usage stats Yes
GET /api/billing/invoices List invoices Yes
GET /api/billing/payment-methods List payment methods Yes
POST /api/billing/payment-methods Add payment method Yes
DELETE /api/billing/payment-methods/{id} Remove payment method Yes

/api/verify Verification 1 endpoint

Method Endpoint Description Auth
GET /api/verify/{credentialId} Verify credential No

/api/credentials Sharing 2 endpoints

Method Endpoint Description Auth
GET /api/credentials/{id}/share Get share link Yes
POST /api/credentials/{id}/share/track Track share event Yes

/api/credentials Blockchain 2 endpoints

Method Endpoint Description Auth
GET /api/credentials/{id}/blockchain Get blockchain status Yes
POST /api/credentials/{id}/blockchain/verify Verify on blockchain Yes

Architecture Overview

Badgy follows Clean Architecture with four layers. Dependencies point inward, keeping the domain logic independent of infrastructure concerns.

Web
Blazor Server, API Controllers, Razor Pages
Infrastructure
EF Core, Repositories, External Services
Core
Domain Entities, Use Cases, Interfaces
Shared
DTOs, Constants, Extensions

Technology Stack

Runtime ASP.NET 9
UI Blazor Server
ORM Entity Framework Core
Database SQL Server 2022
Auth JWT + Cookie dual auth
Patterns Repository, Unit of Work, CQRS-lite

Roadmap

Where Badgy is headed. Each milestone builds on the last to deliver a complete credentialing platform.

Current

v0.3.x — MVP

  • Core credentialing workflow
  • Basic billing
  • Public verification
  • Demo environment

v0.4.0 — Enhanced UX

  • Email notifications
  • Template designer WYSIWYG
  • Advanced search and filtering
  • Bulk operations improvements

v0.5.0 — Integrations

  • API key management for third parties
  • Webhook support
  • LMS integrations (Canvas, Moodle)
  • SSO (SAML, OAuth)

v0.6.0 — Enterprise

  • Multi-tenant white labeling
  • Advanced analytics dashboard
  • Custom domain support
  • SLA and dedicated support
GA

v1.0.0 — General Availability

  • Full blockchain integration
  • Compliance certifications
  • Complete API documentation with Swagger
  • Mobile-responsive credential wallet

Getting Started

Follow these guides to start issuing and verifying digital credentials with Badgy.

1

Create Your First Badge Template

  1. Sign in to your Badgy account.
  2. Navigate to Templates from the dashboard.
  3. Click Create Template and choose a badge shape.
  4. Fill in the template name, description, and criteria.
  5. Add any custom fields you need (e.g., course name, date).
  6. Save your template.
2

Issue Credentials

  1. Open a badge template from your Templates list.
  2. Click Issue Credential.
  3. Enter the recipient's name and email, or choose from your recipients list.
  4. Fill in any template-specific fields.
  5. For bulk issuance, use Bulk Issue and upload a CSV file.
  6. Confirm and issue. Recipients receive a notification.
3

Verify Credentials

  1. Every issued credential has a unique verification URL.
  2. Share the URL or visit /verify on this site.
  3. Enter the credential ID to see its real-time status.
  4. The verification page shows issuer, recipient, criteria, and status.
  5. No account or sign-in is required to verify.
4

API Authentication

  1. Call POST /api/auth/login with your email and password.
  2. The response includes a JWT access token and a refresh token.
  3. Include the access token in the Authorization: Bearer <token> header.
  4. When the access token expires, call POST /api/auth/refresh with your refresh token.
  5. Use POST /api/auth/logout to invalidate your session.