All runtime configuration for Alphabet lives inDocumentation Index
Fetch the complete documentation index at: https://alphabet-06152314.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
appsettings.json at the API gateway. You can override any value with environment-specific files (appsettings.Development.json, appsettings.Production.json), environment variables, or .NET user secrets. The sections below document every key you are likely to need as a consumer of this API.
Database provider
TheDatabase section controls which persistence backend EF Core uses.
Selects the EF Core database provider. Accepted values:
| Value | Provider |
|---|---|
SqlServer | Microsoft SQL Server via UseSqlServer |
PostgreSql or Postgres | PostgreSQL via UseNpgsql |
InMemory | In-memory database — useful for local development without Docker |
The ADO.NET connection string for SQL Server or PostgreSQL. Not used when
Provider is InMemory.- Set
Database.ProvidertoPostgreSql. - Update
Database.ConnectionStringwith your PostgreSQL connection string. - Apply any pending migrations using the EF Core CLI or your deployment pipeline.
- Restart the API.
Cache provider
TheCache section controls caching behavior across the application.
Selects the cache backend. Accepted values:
| Value | Description |
|---|---|
Memory | In-process memory cache. No external dependency required. |
Redis | Distributed Redis cache. Requires a reachable Redis instance. |
Connection string for Redis, e.g.
localhost:6379. Only used when Provider is Redis.How long cached entries are kept before expiring. Default:
5.Cache.Provider to Redis, set Cache.RedisConnectionString, ensure Redis is reachable, and restart the API. Application code does not change — the cache backend is swappable without modifying any feature code.
JWT settings
TheJwt section controls how access and refresh tokens are issued and validated.
| Field | Default | Description |
|---|---|---|
Issuer | Alphabet | The iss claim value in every token. Must match the value your client validates against. |
Audience | Alphabet.Clients | The aud claim value. |
SecretKey | (placeholder) | The HMAC signing key. Must be at least 32 characters and treated as a secret. |
AccessTokenExpiryMinutes | 15 | How long an access token remains valid before clients must refresh. |
RefreshTokenExpiryDays | 7 | How long a refresh token can be used to obtain new access tokens. |
MfaTokenExpiryMinutes | 5 | Validity window for short-lived MFA challenge tokens. |
SigningAlgorithm | HS256 | JWT signing algorithm. HMAC-SHA256 by default. |
Account lockout
TheLockoutSettings section controls how Alphabet responds to repeated failed login attempts.
Number of consecutive failed login attempts before the account is locked. Default:
5.How long (in minutes) an account stays locked after the threshold is reached. Default:
5.Email settings
TheEmailSettings section configures the SMTP sender used for transactional emails such as email confirmation and password reset.
The address that appears in the
From field of outgoing emails.The display name shown alongside
FromEmail.Hostname of the SMTP relay. The default points to SendGrid’s SMTP endpoint.
SMTP port. Default:
587 (STARTTLS).API key for your SMTP provider. Store this in user secrets or an environment variable — do not commit it.
SMS settings
TheSmsSettings section configures outbound SMS through Twilio.
Your Twilio Account SID. Store in user secrets or an environment variable.
Your Twilio Auth Token. Store in user secrets or an environment variable.
The Twilio phone number messages are sent from, in E.164 format (e.g.,
+10000000000).CORS
TheCors section controls which origins the API accepts cross-origin requests from.
Array of allowed origins. The default allows only The CORS policy allows any header and any HTTP method from the listed origins and permits credentials (cookies).
https://localhost:3000. Add your production frontend origin before deploying:Frontend URLs
TheFrontendUrls section controls the base URLs embedded in email links sent to users.
The URL your frontend handles for email confirmation. Alphabet appends a token query parameter when generating the confirmation link.
The URL your frontend handles for password resets. Update this to your production domain before going live.
These values must point to pages in your frontend application that know how to read the token from the query string and call the corresponding Alphabet API endpoint to complete the action.