abp-api-implementation

Implement REST CRUD APIs in ABP using AppServices, DTOs, pagination, filtering, authorization, and FluentValidation.

Updated Jan 23, 2026
One-click install
npx skills add https://github.com/alexsandrocruz/DominusLeads --skill abp-api-implementation-alexsandrocruz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: abp-api-implementation
Source: https://github.com/alexsandrocruz/DominusLeads/tree/main/backend/Sapienza.Leads/.claude/skills/abp-api-implementation
Command: npx skills add https://github.com/alexsandrocruz/DominusLeads --skill abp-api-implementation-alexsandrocruz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a proven blueprint to implement REST APIs in ABP Framework using AppServices, DTOs, pagination, and authorization patterns, accelerating backend API development.

Core Features & Use Cases

  • AppService CRUD: Expose standard Create, Read, Update, Delete endpoints with proper authorization.
  • DTO Mapping & Validation: Use mapped DTOs and FluentValidation to enforce input rules.
  • Dynamic Queries: Support filtering, paging, and sorting via WhereIf and PagedResultDto.
  • Use Case: Build an ABP-based API for managing domain entities like Customers or Orders with multi-tenant support.

Quick Start

Create an AppService for your aggregate and expose endpoints GetAsync, GetListAsync, CreateAsync, UpdateAsync, and DeleteAsync; wire up permissions and validators; run the ABP app and call the endpoints.

Frequently Asked Questions about abp-api-implementation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement CRUD REST APIs in ABP Framework using AppServices?

To implement CRUD REST APIs in ABP, you create an AppService for your aggregate and expose GetAsync, GetListAsync, CreateAsync, UpdateAsync, and DeleteAsync endpoints. You then wire up permissions and validators before running the ABP app to call the endpoints.

How does dynamic query filtering work with pagination in ABP AppServices?

Dynamic query filtering and pagination in ABP AppServices work by using the WhereIf extension method for conditional filtering and returning a PagedResultDto. This pattern supports sorting and paging operations safely across your domain entities.

Can I use FluentValidation for DTO input validation in ABP REST APIs?

Yes, you can use FluentValidation for DTO input validation in ABP REST APIs. The skill enforces input rules using mapped DTOs and FluentValidation to ensure data integrity before processing requests within your AppService endpoints.

Does ABP support programmatic authorization checks for secure multi-tenant scenarios?

ABP supports programmatic authorization checks for secure multi-tenant scenarios using its built-in authorization primitives. You wire up permissions and apply custom actions to enforce security across your multi-tenant API operations.

What is the best way to handle DTO mapping and error handling in ABP APIs?

The best way to handle DTO mapping and error handling in ABP APIs is by enforcing patterns for mapped DTOs and utilizing FluentValidation. This approach ensures proper data transformation and validation rules across all CRUD endpoints.

When do I need custom actions in ABP AppServices beyond standard CRUD operations?

You need custom actions in ABP AppServices when your API requires business logic beyond standard Create, Read, Update, and Delete operations. The skill covers optional custom actions alongside programmatic authorization checks for specialized endpoint requirements.