Skip to content

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.