ServiceStack
Simple, versatile, evolvable, resilient high-performance message-based APIs
ServiceStack
Docs
Overview
- Why ServiceStack
- Architecture Overview
- Servicify existing Systems: Instantly Servicify existing Systems
- Explore ServiceStack
Releases
- Latest Release Notes: ServiceStack v10
- Release Notes History
- Pre-release NuGet Packages: Pre Release NuGet Packages
Getting Started
- Create your first WebService
- Your first WebService explained: Your first Web Service Explained
- Service API Design: ServiceStack API design
- Service Return Types
- Design RESTful Services
- Design Message-based APIs
- Modular Startup
- dotnet tool - Win/Mac/Linux Utils: ServiceStack's .NET Core Utility Belt
- npx get-dtos: Add ServiceStack Reference using npx get-dtos
- x new - Project Template: Create Projects with 'x new'
- app tool - .NET Windows Desktop: .NET Core Windows Desktop Apps
- mix tool - Mix n' Match .NET Apps: Mix features into ASP.NET Core Projects from Gists
- Post Command - Inspect HTTP APIs: Post Command - HTTP API Command Line Utils
Background Concepts
- What is a Message-based Web Service: What is a Message-based WebService
- Advantages of message-based Services: Advantages of message-based WebServices
- Why Remote Services should use DTOs
- Complexity, Services and Role of DTOs
- API First Development
UIs
- Auto HTML API: Auto HTML API Page
- API Explorer
- Locode
- Admin UI
- Admin RDBMS Analytics UI: Admin UI Analytics for RDBMS
- Admin SQLite Analytics UI: Admin UI Analytics for SQLite
- Admin Identity Users UI: Identity User Admin Feature
- Admin Identity Roles UI: Identity Roles & Claims UI
- Admin Manage Users UI: User Admin Feature
- Admin Redis: Redis Admin
- Admin Database: Database Admin
- Admin DB Validation UI: Admin UI Validation
- Admin Logging & Profiling UI: Logging & Profiling UI
- Admin UI Features
AI
- AI Chat
- AI Chat - ChatGPT-like UI: AI Chat UI
- AI Chat - Admin UI Analytics: Admin UI Analytics for AI Chat
- Custom API Explorer UI: Custom Explorer UI for Chat
Reference
- AppHost: AppHost Configuration
- IOC: ServiceStack's IOC
- ASP.NET Core IOC
- Routing
- Endpoint Routing
- Rate Limiting
- Order of Operations
- Customize HTTP Responses
- Customize JSON Responses
- Configuration & AppSettings
- Metadata Pages
- ServiceStack.AI
- SVG Support
- REST, SOAP & default endpoints
- SOAP support
Error Handling
- Overview: Error Handling
- Validation: Validation and Error Handling
- World Validation
- Declarative Validation
- Debugging
Clients
- Overview: Service Clients Overview
- C#/.NET Client: C#/.NET Service Clients
- TypeScript Client
- JavaScript Client: JsonServiceClient
- Java Client
- Swift Client
- Dart Client
- Service Gateway
- MQ Clients
Add ServiceStack Reference
- Overview: Add ServiceStack Reference
- C# Add Reference: C# Add ServiceStack Reference
- TypeScript Add Reference: TypeScript Add ServiceStack Reference
- JavaScript Add Reference: ES6 Class Add ServiceStack Reference
- Python Add Reference: Python Add ServiceStack Reference
- PHP Add Reference: PHP Add ServiceStack Reference
- Swift Add Reference: Swift Add ServiceStack Reference
- Java Add Reference: Java Add ServiceStack Reference
- Kotlin Add Reference: Kotlin Add ServiceStack Reference
- Dart Add Reference: Dart Add ServiceStack Reference
- F# Add Reference: F# Add ServiceStack Reference
- VB.NET Add Reference: VB.NET Add ServiceStack Reference
- ES3 Common.js Add Reference: ES3 Common.js Add ServiceStack Reference
Server Events
- Overview: Server Events
- C# Client: C# Server Events Client
- TypeScript Client: TypeScript Server Events Client
- Java Client: Java Server Events Client
- JavaScript Client: JavaScript Server Events Client
- gRPC Clients: gRPC Server Events
- Redis Server Events: Redis ServerEvents
Background Jobs
- RDBMS Background Jobs
- SQLite Background Jobs: Background Jobs
- Schedule Recurring Tasks
- Commands: Commands Feature
MQ Messaging
- Overview: Messaging API
- Background MQ: Background MQ Service
- Rabbit MQ
- Redis MQ
- Amazon SQS MQ
- Azure Service Bus MQ
Jupyter Notebooks
- Overview: Jupyter Notebooks
- Python Jupyter Notebooks
- C# Jupyter Notebooks
- F# Jupyter Notebooks
- Jupyter Reporting: Jupyter Notebooks for Reporting
GitHub Action Templates
- Overview: GitHub Action Templates for Faster CI Setup
- GitHub GHR & SSH Docker Compose: GitHub Action Docker Compose deployments via SSH
- Kamal with GitHub Actions: Deploying with Kamal
- GitHub GHR & Digital Ocean: Deploying to Digital Ocean via GitHub Actions and SSH
- AWS ECR & ECS with NGINX: GitHub Actions mix template - Deploy to AWS ECS
Encrypted Messaging
Advanced
- Logging: An implementation-free logging API for .NET
- Request & Response filters
- Filter attributes: Filter Attributes
- Access HTTP features in services: Access HTTP-specific Features in Services
- Serialization & Deserialization: Serialization and Deserialization
- Auto-Mapping: Auto Mapping
- Auto Batched Requests
- Virtual File System
- Multitenancy
- Physical Project Structure
- Modularizing Services
- Built-in profiling: Built-in Mini Profiler
- Hot Reloading
- HTML, CSS and JS Minifiers: HTML, CSS and JavaScript Minification
- Unified Navigation
- App Tasks
- MVC Integration: ASP.NET MVC Integration
- ServiceStack Integration
- Run side-by-side with another fx: Run side-by-side with another Framework
- Versioning
- Config API
- Concurrency Model
- Form Hijacking Prevention
- Create a WebService from scratch: Creating a WebService from scratch
Formats
- Overview: Content Types
- JSON Format
- System.Text.Json APIs
- CSV Format
- JSV Format
- JSON Lines Format: JSON Lines Data Format
- MessagePack Format: MsgPack Format
- ProtoBuf Format
- HTML5 Report Format: HTML5 JSON Report Format
.NET Core
- Overview: .NET Core Overview
- .NET Core Redis: ServiceStack.Redis on .NET Core
- Configure localhost dev cert: Configure localhost development dev certificate
- Deploy to Amazon Linux 2 AMI: Deploying .NET Core Apps to Amazon Linux 2 AMI
- Deploy .NET Core Apps to AWS ECS: Deploy .NET Core with Docker to EC2 Container Service
- Deploy .NET Core Apps using rsync: Deploying .NET Core Apps to Ubuntu with rsync
Utils
- Text Utils: ServiceStack.Text
- HTTP Utils
- Dump Utils
- Reflection Utils
- JS Utils: JavaScript Utils
- Adhoc Utils
- Simple IOC: Simple Container
Caching
- Overview: Caching Providers
- HTTP Caching
- CacheResponse Attribute
- Cache Aware Clients: Cache Aware Service Clients
- Compression
Plugins
- Overview: Plugins
- Open API v3
- Open API v2: Open API
- CORS Feature
- Proxy Feature
- Request logger: Request Loggers
- SQLite Request Logs
- Lisp TCP REPL Server
- Postman
- Sitemaps
- Cancellable Requests
- Webhooks: Web Hooks
View Engines
- ServiceStack Razor: Smart MVC Razor Pages
- Razor UI Controls
- Razor Notes
- View and Template Selection: View & Template Selection
- Compiled Razor Views
- Razor Views vs Content Pages
JavaScript Web Apps
Hosts
- IIS: IIS Hosting
- Self-hosting: Self-Hosting
Tests
- Testing
- HowTo write unit & integration tests: How to write Unit & Integration tests
Blazor
- Blazor WASM Tailwind: Blazor Tailwind Templates
- Blazor Server Tailwind: .NET 10 Blazor Tailwind Templates
- Blazor WASM Bootstrap
- Blazor Components: Blazor Tailwind Components
- Blazor Diffusion
- File Blazor Demo: Files Blazor
Java
- Java ServiceStack Resources: Java Resources
- Android Studio & IntelliJ
Other Languages
Deployment
- Deploy Multiple Sites to single AWS: Deploy Multiple Sites to a single AWS EC2 instance
- Simple Deployments with WebDeploy: Deploy multiple ASP.NET Websites to AWS with WebDeploy
- Deployments with OctopusDeploy: Advanced Deployments with Octopus Deploy
Amazon Web Services
- Overview: ServiceStack.Aws
- PocoDynamo
- Getting Started with AWS: Getting started with AWS + ServiceStack
Azure
- Overview: Azure Resources
Stripe
- Overview: ServiceStack.Stripe
Install 3rd Party Products
- Redis on Windows: Install Redis on Windows
- RabbitMQ on Windows: Install RabbitMQ on Windows and .NET
- Redis SSL on Azure: Secure SSL Redis connections
- RHEL 9 Cryptography: Support for RHEL 9's hardened cryptography policy
Performance
- Real world performance: Real World Performance
Future
AI Server
- Quick Start
- Configuration: Configuring AI Server
- Ollama: Self-hosted AI Providers with Ollama
- llama.cpp llama-server: Self-host LLMs in production with llama.cpp llama-server
- ComfyUI Agent
- OpenAI Chat in 11 languages: Typed Open AI Chat & Ollama APIs in 11 Languages
Usage
- Chat: AI Server API Usage
- Text to Image
- Image to Text
- Image to Image
- Image with Mask
- Image Upscale
- Speech to Text
- Text to Speech
Transform
- Image Transforms: Image Transform Endpoints
- Video Transforms: Video Transform Endpoints
Auth
- Client Authentication: Service Clients Authentication
- Restricting Services
- Encrypted Messaging
ASP.NET Core Identity Auth
- Overview: ASP.NET Core Identity Auth
- JWT Identity Auth
- API Keys
- Simple Admin Auth with API Keys: Simple Auth for .NET 10 Apps
- Migrate to Identity Auth: Migrate to ASP.NET Core Identity Auth
ServiceStack Auth
- Overview: Authentication and Authorization
- Auth Repository
- Using ServiceStack Auth in MVC
- Sessions
- JWT AuthProvider: JWT Auth Provider
- API Key AuthProvider: API Key Auth Provider
- Sign in with Apple AuthProvider: Sign in with Apple Auth Provider
- Anti Forgery
AutoQuery
- AutoQuery RDBMS
- AutoQuery Data
- AutoQuery Data Memory: AutoQuery Memory Data Source
- AutoQuery Data Service: AutoQuery Service Data Source
- AutoQuery Data DynamoDB: AutoQuery DynamoDB Data Source
- AutoQuery CRUD
- AutoQuery Audit Log: AutoQuery CRUD Executable Audit Log
- AutoGen: AutoQuery AutoGen CRUD Services
- AutoQuery CRUD Bookings Demo
- Why Not OData: Why not OData?
CRUD APIs & UI Generator
- Text to Blazor CRUD App
- TypeScript Data Models: Generate CRUD APIs + UI
- Generate from Existing DBs: Generate CRUD APIs and UIs for existing DBs
- Free LLM Chat Models: Free LLM Chat Prompts
ServiceStack gRPC
- SSL Configuration: gRPC SSL Configuration
- C#/F#/VB.NET Generic Clients: Smart Generic C# / F# / VB.NET Service Client
- gRPC Flutter: gRPC protoc Flutter Dart Client
- gRPC Android: gRPC protoc Android Java Client
- gRPC C#: gRPC protoc C# Client
- gRPC Swift: gRPC protoc Swift Client
- gRPC Java: gRPC protoc Java Client
- gRPC Dart: gRPC protoc Dart Client
- gRPC GO: gRPC protoc GO Client
- gRPC Node.js: gRPC protoc Node.js Client
- gRPC Python: gRPC protoc Python Client
- gRPC Ruby: gRPC protoc Ruby Client
- gRPC PHP: gRPC protoc PHP Client
Locode
- Database-First: Locode - Database-First
- Code-First: Locode - Code-First
C# Development Model
- Declarative Attributes: Declarative Dev Model using Attributes
- Code Customizations: Programmatic Dev Model
- Branding & Appearance: Appearance & Branding
- Format Functions
Custom HTML/JS
- Overview: Custom Locode Apps
- Custom AutoQueryGrid
- Custom Forms
- Custom Components: Custom HTML Components
File Management
- Overview: Managed Files Uploads
- File Blazor Demo: Files Blazor
- File System: File System Managed File Uploads
- AWS: AWS S3 Managed File Uploads
- Azure: Azure Blob Storage Managed File Uploads
Features
OrmLite
- Installation: OrmLite Installation
- Getting Started: Getting started with OrmLite
- API Overview: OrmLite API Overview
- Async APIs: OrmLite Async API
- DB Migrations: Code-First DB Migrations
- Litestream
- Install Postgres, MySql & MSSQL: Install PostgreSQL, MySql and SQL Server with Docker
- Multiple App Databases
- Scalable SQLite
OrmLite APIs
- Select APIs: OrmLite SELECT APIs
- Insert APIs: OrmLite INSERT APIs
- Update APIs: OrmLite UPDATE APIs
- Delete APIs: OrmLite DELETE APIs
- Schema APIs: Schema, Table & Column APIs
Advanced Topics
- Bulk Inserts
- Async Tasks Builder: RDBMS Async Tasks Builder
- Reference Support: Reference Support, POCO style
- Typed Join Expressions: Typed SqlExpression support for JOINs
- Dynamic Result Sets
- Database Transactions
- Type Converters: OrmLite Type Converters
- OrmLite Utils
- Ensure APIs: OrmLite Ensure APIs
- Logging & Introspection: OrmLite Logging and Introspection
- Complex Type Serializers: Pluggable Complex Type Serializers
- Insert & Update Filters: OrmLite Filters
- Custom SQL
- SQL Customizations: Customized SQL Features
- Dictionary APIs
RDBMS specific features
Background Info
- Optimistic Concurrency
- Untyped APIs: OrmLite Untyped API and T4 Templates
- AutoGen & T4 templates: AutoGen & T4 Templates
- Stored Procedures: OrmLite Stored Procedure Usage
- Multi database connections: Multi-nested database connections example
- OrmLite Shippers example: OrmLite walk through example
- Customer Orders example: Customer & Order example
- AWS & RDS Support: OrmLite support for AWS & RDS Managed Databases
- Limitations
Introduction
- What is Razor Press?
- Structure
- Static Site Generation: Static Site Generation (SSG)
- Deployments
Markdown
- Markdown Syntax
- Markdown Containers: Custom Markdown Containers
- Using Vue in Markdown
Features
React
Component Gallery
- AutoQueryGrid
- DataGrid
- Auto Forms
- Custom Auto Forms
- Form Inputs
- FileInput
- TagInput
- Combobox
- Autocomplete
- Markdown Editor
- Custom Inputs
- Modals
- Navigation
- Alerts
- Formats
Library
Redis
- Getting Started: Getting Started with Redis in .NET
- Redis Client Managers: Managing connections
- Redis Client Usage: Getting Started with Redis Client APIs
- Redis Async: Redis Async APIs
Redis - Advanced
- Redis Generic Custom Commands: Redis Custom Commands
- Redis PubSub: Redis Managed Pub/Sub Server
- Redis Sentinel
- Redis Lua: RedisClient LUA APIs
- Redis Distributed Locking
- Redis Troubleshooting: Troubleshooting issues
Redis - Related Docs
- Redis Client
- Redis Typed Client
- Redis Transactions
- Redis Typed Transactions
- Redis Stats
- Redis Profiling
- Redis Admin Desktop: Redis Admin Desktop App
- Automatic Retries
- Designing a NoSql Database: Design a Blog with Redis
- Data migrations with Redis
Project Templates
- React Templates
- Vue Tailwind Template: Vue Tailwind Templates
- Blazor Tailwind Templates
- Angular Tailwind Template: .NET 10 Angular 21 Tailwind Template
- Jamstack Templates: C# Jamstack Project Templates
- Empty Templates: Empty Project Templates
- MVC Templates: MVC Project Templates
- React SPA Template: React SPA Project Template
- Razor Press
- Creator Kit
Vue
- Install: Installation
Component Gallery
- AutoQueryGrid: AutoQueryGrid Component
- DataGrid: DataGrid Component
- Auto Forms: Auto Form Components
- Custom Auto Forms
- Form Inputs: Form Inputs Components
- FileInput: FileInput Component
- TagInput: TagInput Component
- Combobox: Combobox Component
- Autocomplete: Autocomplete Component
- Markdown Editor: Markdown Input Component
- Custom Inputs: Custom Input Components
- Modals: Modal Components
- Navigation: Navigation Components
- Alerts: Alert Components
- Formats: Format Examples
Library
- useMetadata: App Metadata
- useClient: JSON API Client Features
- useAuth: Auth Features
- useFormatters: Formatting Functions and Methods
- useFiles: File Utils
- useConfig: Vue Tailwind Global Configuration
- useUtils: General Utils
Workflow automation software for everyone. Automate your work across 7,000+ app integrations—no developers, no IT tickets, no delays.
Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.
We help modern software companies drive more up-sells, cross-sells and renewals through industry leading product onboarding, engagement, and adoption.
Respond to customers on any channel, sync with your entire team and turn support conversations into product strategy.
Platform for businesses to send gifts to customers/employees.
Loops makes email marketing for modern SaaS companies easy. It's the best way to create, send and track beautiful email campaigns.
Drive pipeline with 10+ intent data sources, AI, and automation. Scale prospecting, personalization, engagement in one unified workflow.