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.
Technology Stack
Roadmap
Where Badgy is headed. Each milestone builds on the last to deliver a complete credentialing platform.
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
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.
Create Your First Badge Template
- Sign in to your Badgy account.
- Navigate to Templates from the dashboard.
- Click Create Template and choose a badge shape.
- Fill in the template name, description, and criteria.
- Add any custom fields you need (e.g., course name, date).
- Save your template.
Issue Credentials
- Open a badge template from your Templates list.
- Click Issue Credential.
- Enter the recipient's name and email, or choose from your recipients list.
- Fill in any template-specific fields.
- For bulk issuance, use Bulk Issue and upload a CSV file.
- Confirm and issue. Recipients receive a notification.
Verify Credentials
- Every issued credential has a unique verification URL.
- Share the URL or visit /verify on this site.
- Enter the credential ID to see its real-time status.
- The verification page shows issuer, recipient, criteria, and status.
- No account or sign-in is required to verify.
API Authentication
- Call
POST /api/auth/loginwith your email and password. - The response includes a JWT access token and a refresh token.
- Include the access token in the
Authorization: Bearer <token>header. - When the access token expires, call
POST /api/auth/refreshwith your refresh token. - Use
POST /api/auth/logoutto invalidate your session.