Keymint IconKeymint IconKEYMINTdocs
DocumentationAPI Reference
BlogDashboard
Keymint IconKeymint IconKEYMINT
SectionsDocumentationAPI Reference

Getting Started

  • Keymint Documentation
  • Introduction
  • Getting Started
  • License Keys
  • Changelog

SDK References

  • Software Development Kits (SDKs)
  • Node.js SDK
  • Go SDK
  • Python SDK
  • C# SDK

Integration Guides

  • Integration Guides
  • Customer Portal for Vendors
  • Team Roles & Permissions
  • Radar Alert Destinations
  • Payment Provider Integrations
  • Stripe Subscription Licensing
  • Email Delivery
  • API Key Management
  • Webhook Deliveries
  • Analytics and Retention
  • Dashboard Workflows
  • Electron Licensing
  • PyQt Licensing
  • Tauri Licensing
  • Next.js SaaS Licensing

Licensing Guides

  • Licensing Concepts
  • Node-Locking & Machine Identifiers
  • Floating Licenses
  • Offline Verification
  • License Radar
  • Public Key Management and Rotation
  • Feature Flags
  • Webhooks & Events

Templates

  • Starter Templates
  • Electron License Starter
  • PyQt License Starter
  • Tauri License Starter
  • Next.js SaaS License Starter

Security & Trust

  • Security & Trust

Support

  • Frequently Asked Questions
  • Customer Portal
  • Using the Customer Portal
  • Team Settings and Roles

Legal

  • Privacy Policy
  • Subprocessors
  • Data Processing Agreement
  • Security Overview
  • Terms of Service
  • Service Level Agreement (SLA)
  • GDPR Compliance
Go to Dashboard

Getting Started

  • Keymint Documentation
  • Introduction
  • Getting Started
  • License Keys
  • Changelog

SDK References

  • Software Development Kits (SDKs)
  • Node.js SDK
  • Go SDK
  • Python SDK
  • C# SDK

Integration Guides

  • Integration Guides
  • Customer Portal for Vendors
  • Team Roles & Permissions
  • Radar Alert Destinations
  • Payment Provider Integrations
  • Stripe Subscription Licensing
  • Email Delivery
  • API Key Management
  • Webhook Deliveries
  • Analytics and Retention
  • Dashboard Workflows
  • Electron Licensing
  • PyQt Licensing
  • Tauri Licensing
  • Next.js SaaS Licensing

Licensing Guides

  • Licensing Concepts
  • Node-Locking & Machine Identifiers
  • Floating Licenses
  • Offline Verification
  • License Radar
  • Public Key Management and Rotation
  • Feature Flags
  • Webhooks & Events

Templates

  • Starter Templates
  • Electron License Starter
  • PyQt License Starter
  • Tauri License Starter
  • Next.js SaaS License Starter

Security & Trust

  • Security & Trust

Support

  • Frequently Asked Questions
  • Customer Portal
  • Using the Customer Portal
  • Team Settings and Roles

Legal

  • Privacy Policy
  • Subprocessors
  • Data Processing Agreement
  • Security Overview
  • Terms of Service
  • Service Level Agreement (SLA)
  • GDPR Compliance

Customer Portal for Vendors

Give your customers a self-service license dashboard: passwordless login with your team slug, Standard-plan availability, and a team-level off switch.

Overview

The Customer Portal is a hosted, self-service dashboard where your customers view licenses, monitor activated devices, release seats when moving machines, and update their contact information — without emailing you. Login is passwordless: customers enter your vendor code plus their registered email, then a 6-digit code emailed to them.

Send your customers to app.keymint.dev with the Customer tab selected, and share the customer login walkthrough: Customer Portal.

Vendor Code

Your vendor code is your team slug — the same slug in your dashboard URLs. It cannot be changed after team creation, and it doubles as a public login identifier, so treat it as shareable (not secret). Find it in Team Settings under Vendor Code, with a copy button.

Availability

The portal requires both:

  1. An active Standard plan or above on your workspace.
  2. The Customer portal toggle switched on in Team Settings (requires settings:write; on by default).

If either is missing, your customers see "Customer portal isn't available for this vendor code." — one message for every cause, so plan and toggle state can't be probed. If a customer reports that error and you believe it's wrong, check your plan status and toggle before contacting support.

Deactivating an individual customer blocks their login independently of these settings.

Login Security

  • Codes are 6 digits, expire after 10 minutes, and are single-use.
  • Verification is rate-limited with brute-force protection; repeated failures temporarily lock further attempts.
  • Unknown emails get the same success response as real ones, so your customer list can't be enumerated.
  • Warn your customers never to share verification codes.

Troubleshooting (for your support macros)

Customer reportCause / fix
"Customer portal isn't available for this vendor code"Plan below Standard, or toggle off — check both in Team Settings
No verification emailSpam/junk, misspelled email, or email not registered to any active customer under your workspace
Code doesn't workExpired (10 min) — ask them to request a new one
Can't log in at allVendor code typo (it's the team slug, case-insensitive) or customer record deactivated

On this page

  • Overview
  • Vendor Code
  • Availability
  • Login Security
  • Troubleshooting (for your support macros)