dexhunter/activepieces · Archived

add-endpoint

Use when adding a new API endpoint, route, or HTTP handler. ALWAYS use for new Fastify controller endpoints.

First seen Jul 15, 2026

Installation

$ npx skills add dexhunter/activepieces --skill add-endpoint

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from dexhunter/activepieces · top by installs.

npx skills add dexhunter/activepieces

Browse all from dexhunter/activepieces

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,028 B
  • docs SUMMARY.md 128 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Add API Endpoint

Create endpoint for $ARGUMENTS.

Steps

  1. Read the pattern: Open packages/server/api/src/app/tables/table/table.controller.ts as reference.
  1. Create or update controller using FastifyPluginAsyncZod:

``typescript export const myController: FastifyPluginAsyncZod = async (fastify) => { fastify.post('/', CreateRequest, async (request) => { return myService(request.log).create({ projectId: request.projectId, request: request.body, }) }) } ``

  1. Define route config AFTER the controller (not inline):

``typescript const CreateRequest = { config: { security: securityAccess.project( [PrincipalType.USER, PrincipalType.ENGINE, PrincipalType.SERVICE], Permission.WRITEMYFEATURE, { type: ProjectResourceType.BODY }, ), }, schema: { tags: ['my-feature'], body: CreateMyFeatureRequest, // Zod schema from @activepieces/shared response: { [StatusCodes.CREATED]: MyFeature }, }, } ``

  1. Security access (pick one):

- securityAccess.project(principals, permission, { type: ProjectResourceType.X }) — project-scoped - securityAccess.platformAdminOnly(principals) — admin only - securityAccess.publicPlatform(principals) — any platform member - securityAccess.public() — no auth

  1. Create module and register in app.ts:

``typescript export const myModule: FastifyPluginAsyncZod = async (app) => { app.addHook('preSerialization', entitiesMustBeOwnedByCurrentProject) await app.register(myController, { prefix: '/v1/my-features' }) } ``

  1. Add Permission if new: add to Permission enum in @activepieces/shared.
  1. Verify: npm run lint-dev