Card Action API
Welcome to the Card Action API — a secure, efficient, and extensible solution for determining allowed actions on Credit, Debit, and Prepaid banking cards.
Built with production standards in mind: - Modern, modular architecture (.NET 8) - Strong validation and security by default - Flexible configuration for any environment - Fully tested and ready for real-world integration
This project was created for a technical recruitment process, but delivers everything you'd expect from a professional-grade API.
In this documentation you will find: - Step-by-step usage instructions - Complete architecture breakdown - Request/response examples - Configuration and deployment tips
Get started below and discover how to integrate, test, and extend the Card Action API for your needs.
Requirements
The API is designed to meet real-world standards for banking systems, with the following core requirements:
- Expose a REST endpoint that returns allowed actions for a banking card based on its type, status, and flags
- Enforce input validation and consistent error responses
- Require API key authentication
- Use matrix-driven business logic, fully separated from infrastructure
- Support multiple environments (Development, Staging, Production)
- Apply clean, layered architecture (API, Application, Domain, Infrastructure)
- Include comprehensive unit and integration test coverage
- Provide documentation (Swagger, MkDocs)
- Enable easy deployment and containerization (Docker support)
These requirements ensure the API is robust, secure, and easy to extend or adapt to production needs.