APM

>Agent Skill

@gregbaron/add-admin-api-endpoint

skilltesting

Add a new endpoint or endpoints to Ghost's Admin API at `ghost/api/admin/**`.

javascripttestingapi-design
apm::install
$apm install @gregbaron/add-admin-api-endpoint
apm::skill.md
---
name: Add Admin API Endpoint
description: Add a new endpoint or endpoints to Ghost's Admin API at `ghost/api/admin/**`.
---

# Create Admin API Endpoint

## Instructions

1. If creating an endpoint for an entirely new resource, create a new endpoint file in `ghost/core/core/server/api/endpoints/`. Otherwise, locate the existing endpoint file in the same directory.
2. The endpoint file should create a controller object using the JSDoc type from (@tryghost/api-framework).Controller, including at minimum a `docName` and a single endpoint definition, i.e. `browse`. 
3. Add routes for each endpoint to `ghost/core/core/server/web/api/endpoints/admin/routes.js`.
4. Add basic `e2e-api` tests for the endpoint in `ghost/core/test/e2e-api/admin` to ensure the new endpoints function as expected.
5. Run the tests and iterate until they pass: `cd ghost/core && yarn test:single test/e2e-api/admin/{test-file-name}`.

## Reference
For a detailed reference on Ghost's API framework and how to create API controllers, see [reference.md](reference.md).