Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
create-api-endpoint
alizharb/agent-skills
claude-code
api-endpoints
form-requests
api-resources
validation
authorization
dtos
api-testing

Use when creating or changing Laravel API routes, controllers, requests, resources, or endpoint behavior.

Install
php artisan boost:add-skill alizharb/agent-skills

Save this content to: .claude/skills/create-api-endpoint/SKILL.md

# Create API Endpoint

## When To Use

Use this skill for HTTP API behavior, mobile or third-party client support, JSON resources, and public or private API contracts.

## Inputs Needed

- Version, route, method, authentication, authorization, request fields, response shape, Action, resource, errors, and tests.

## Workflow

1. Inspect existing API route conventions.
2. Use versioned API routes unless the project has an established alternative.
3. Validate input with a Form Request or reusable rules.
4. Convert input to a DTO when behavior is meaningful.
5. Authorize with a policy, gate, or Laravel 13 `#[Authorize]` controller attribute.
6. Use Laravel 13 `#[Middleware]` controller attributes when they make endpoint protection clearer than route-level middleware.
7. Call an Action for business behavior.
8. Return a Resource or consistent JSON shape.
9. Prefer enums, DTOs, typed constants, and `json_validate()` where they improve API contracts.
10. Add API tests for success, validation, authorization, and error paths.

## Files That May Be Created

- API route file entries.
- Controllers, Form Requests, Resources, DTOs, Actions, Policies, and tests.

## Files That May Be Modified

- Routes, policies, providers, Actions, Resources, and tests.

## Architecture Rules

- No duplicated logic from Livewire or web layers.
- No business logic in routes or controllers.
- API output must not accidentally expose private model fields.
- Attribute metadata may protect or describe the endpoint, but business behavior remains in reusable classes.

## Testing Requirements

- Test status codes, JSON shape, validation, authorization, authentication, and side effects.

## Security Requirements

- Use authentication, authorization, throttling, safe validation, and escaped or serialized output.

## Review Checklist

- Is the route versioned?
- Is the response contract stable?
- Is the Action reusable?
- Are failures safe and tested?

## Common Mistakes

- Returning raw Eloquent models.
- Creating API-only business logic.
- Accepting `$request->all()` into models.

Create API Endpoint

When To Use

Use this skill for HTTP API behavior, mobile or third-party client support, JSON resources, and public or private API contracts.

Inputs Needed

  • Version, route, method, authentication, authorization, request fields, response shape, Action, resource, errors, and tests.

Workflow

  1. Inspect existing API route conventions.
  2. Use versioned API routes unless the project has an established alternative.
  3. Validate input with a Form Request or reusable rules.
  4. Convert input to a DTO when behavior is meaningful.
  5. Authorize with a policy, gate, or Laravel 13 #[Authorize] controller attribute.
  6. Use Laravel 13 #[Middleware] controller attributes when they make endpoint protection clearer than route-level middleware.
  7. Call an Action for business behavior.
  8. Return a Resource or consistent JSON shape.
  9. Prefer enums, DTOs, typed constants, and json_validate() where they improve API contracts.
  10. Add API tests for success, validation, authorization, and error paths.

Files That May Be Created

  • API route file entries.
  • Controllers, Form Requests, Resources, DTOs, Actions, Policies, and tests.

Files That May Be Modified

  • Routes, policies, providers, Actions, Resources, and tests.

Architecture Rules

  • No duplicated logic from Livewire or web layers.
  • No business logic in routes or controllers.
  • API output must not accidentally expose private model fields.
  • Attribute metadata may protect or describe the endpoint, but business behavior remains in reusable classes.

Testing Requirements

  • Test status codes, JSON shape, validation, authorization, authentication, and side effects.

Security Requirements

  • Use authentication, authorization, throttling, safe validation, and escaped or serialized output.

Review Checklist

  • Is the route versioned?
  • Is the response contract stable?
  • Is the Action reusable?
  • Are failures safe and tested?

Common Mistakes

  • Returning raw Eloquent models.
  • Creating API-only business logic.
  • Accepting $request->all() into models.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource